mirror of
https://github.com/storytold/placeholder-artcraft.git
synced 2026-10-27 08:46:48 +00:00
0daf83dba9
Need to remove secrets before entire repo can be made public.
101328 lines
2.9 MiB
Plaintext
101328 lines
2.9 MiB
Plaintext
import { jsx as K, jsxs as Te, Fragment as rn } from "react/jsx-runtime";
|
|
import * as V from "react";
|
|
import ae, { createContext as zt, useState as de, useRef as ne, useEffect as ue, isValidElement as Fi, cloneElement as Li, useContext as nt, useMemo as Ie, useLayoutEffect as pi, forwardRef as sf, useCallback as Ne, useId as ua, Fragment as Ut, useReducer as D4, createElement as vb, useSyncExternalStore as hoe, memo as goe } from "react";
|
|
import * as jd from "react-dom";
|
|
import LW, { unstable_batchedUpdates as Of, createPortal as C0, flushSync as wu } from "react-dom";
|
|
function Ql(e, t, { checkForDefaultPrevented: r = !0 } = {}) {
|
|
return function(n) {
|
|
if (e == null || e(n), r === !1 || !n.defaultPrevented)
|
|
return t == null ? void 0 : t(n);
|
|
};
|
|
}
|
|
function gN(e, t) {
|
|
if (typeof e == "function")
|
|
return e(t);
|
|
e != null && (e.current = t);
|
|
}
|
|
function zW(...e) {
|
|
return (t) => {
|
|
let r = !1;
|
|
const n = e.map((o) => {
|
|
const a = gN(o, t);
|
|
return !r && typeof a == "function" && (r = !0), a;
|
|
});
|
|
if (r)
|
|
return () => {
|
|
for (let o = 0; o < n.length; o++) {
|
|
const a = n[o];
|
|
typeof a == "function" ? a() : gN(e[o], null);
|
|
}
|
|
};
|
|
};
|
|
}
|
|
function lf(...e) {
|
|
return V.useCallback(zW(...e), e);
|
|
}
|
|
function boe(e, t) {
|
|
const r = V.createContext(t), n = (a) => {
|
|
const { children: i, ...s } = a, u = V.useMemo(() => s, Object.values(s));
|
|
return /* @__PURE__ */ K(r.Provider, { value: u, children: i });
|
|
};
|
|
n.displayName = e + "Provider";
|
|
function o(a) {
|
|
const i = V.useContext(r);
|
|
if (i) return i;
|
|
if (t !== void 0) return t;
|
|
throw new Error(`\`${a}\` must be used within \`${e}\``);
|
|
}
|
|
return [n, o];
|
|
}
|
|
function yoe(e, t = []) {
|
|
let r = [];
|
|
function n(a, i) {
|
|
const s = V.createContext(i), u = r.length;
|
|
r = [...r, i];
|
|
const c = (l) => {
|
|
var f;
|
|
const { scope: p, children: y, ...m } = l, h = ((f = p == null ? void 0 : p[e]) == null ? void 0 : f[u]) || s, w = V.useMemo(() => m, Object.values(m));
|
|
return /* @__PURE__ */ K(h.Provider, { value: w, children: y });
|
|
};
|
|
c.displayName = a + "Provider";
|
|
function d(l, f) {
|
|
var p;
|
|
const y = ((p = f == null ? void 0 : f[e]) == null ? void 0 : p[u]) || s, m = V.useContext(y);
|
|
if (m) return m;
|
|
if (i !== void 0) return i;
|
|
throw new Error(`\`${l}\` must be used within \`${a}\``);
|
|
}
|
|
return [c, d];
|
|
}
|
|
const o = () => {
|
|
const a = r.map((i) => V.createContext(i));
|
|
return function(i) {
|
|
const s = (i == null ? void 0 : i[e]) || a;
|
|
return V.useMemo(
|
|
() => ({ [`__scope${e}`]: { ...i, [e]: s } }),
|
|
[i, s]
|
|
);
|
|
};
|
|
};
|
|
return o.scopeName = e, [n, voe(o, ...t)];
|
|
}
|
|
function voe(...e) {
|
|
const t = e[0];
|
|
if (e.length === 1) return t;
|
|
const r = () => {
|
|
const n = e.map((o) => ({
|
|
useScope: o(),
|
|
scopeName: o.scopeName
|
|
}));
|
|
return function(o) {
|
|
const a = n.reduce((i, { useScope: s, scopeName: u }) => {
|
|
const c = s(o)[`__scope${u}`];
|
|
return { ...i, ...c };
|
|
}, {});
|
|
return V.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]);
|
|
};
|
|
};
|
|
return r.scopeName = t.scopeName, r;
|
|
}
|
|
var bg = globalThis != null && globalThis.document ? V.useLayoutEffect : () => {
|
|
}, xoe = V[" useId ".trim().toString()] || (() => {
|
|
}), woe = 0;
|
|
function Lw(e) {
|
|
const [t, r] = V.useState(xoe());
|
|
return bg(() => {
|
|
r((n) => n ?? String(woe++));
|
|
}, [e]), e || (t ? `radix-${t}` : "");
|
|
}
|
|
var $oe = V[" useInsertionEffect ".trim().toString()] || bg;
|
|
function koe({
|
|
prop: e,
|
|
defaultProp: t,
|
|
onChange: r = () => {
|
|
},
|
|
caller: n
|
|
}) {
|
|
const [o, a, i] = _oe({
|
|
defaultProp: t,
|
|
onChange: r
|
|
}), s = e !== void 0, u = s ? e : o;
|
|
{
|
|
const d = V.useRef(e !== void 0);
|
|
V.useEffect(() => {
|
|
const l = d.current;
|
|
l !== s && console.warn(
|
|
`${n} is changing from ${l ? "controlled" : "uncontrolled"} to ${s ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
|
|
), d.current = s;
|
|
}, [s, n]);
|
|
}
|
|
const c = V.useCallback(
|
|
(d) => {
|
|
var l;
|
|
if (s) {
|
|
const f = Ooe(d) ? d(e) : d;
|
|
f !== e && ((l = i.current) == null || l.call(i, f));
|
|
} else
|
|
a(d);
|
|
},
|
|
[s, e, a, i]
|
|
);
|
|
return [u, c];
|
|
}
|
|
function _oe({
|
|
defaultProp: e,
|
|
onChange: t
|
|
}) {
|
|
const [r, n] = V.useState(e), o = V.useRef(r), a = V.useRef(t);
|
|
return $oe(() => {
|
|
a.current = t;
|
|
}, [t]), V.useEffect(() => {
|
|
var i;
|
|
o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r);
|
|
}, [r, o]), [r, n, a];
|
|
}
|
|
function Ooe(e) {
|
|
return typeof e == "function";
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function WW(e) {
|
|
const t = /* @__PURE__ */ Soe(e), r = V.forwardRef((n, o) => {
|
|
const { children: a, ...i } = n, s = V.Children.toArray(a), u = s.find(Aoe);
|
|
if (u) {
|
|
const c = u.props.children, d = s.map((l) => l === u ? V.Children.count(c) > 1 ? V.Children.only(null) : V.isValidElement(c) ? c.props.children : null : l);
|
|
return /* @__PURE__ */ K(t, { ...i, ref: o, children: V.isValidElement(c) ? V.cloneElement(c, void 0, d) : null });
|
|
}
|
|
return /* @__PURE__ */ K(t, { ...i, ref: o, children: a });
|
|
});
|
|
return r.displayName = `${e}.Slot`, r;
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function Soe(e) {
|
|
const t = V.forwardRef((r, n) => {
|
|
const { children: o, ...a } = r;
|
|
if (V.isValidElement(o)) {
|
|
const i = Coe(o), s = Poe(a, o.props);
|
|
return o.type !== V.Fragment && (s.ref = n ? zW(n, i) : i), V.cloneElement(o, s);
|
|
}
|
|
return V.Children.count(o) > 1 ? V.Children.only(null) : null;
|
|
});
|
|
return t.displayName = `${e}.SlotClone`, t;
|
|
}
|
|
var Eoe = Symbol("radix.slottable");
|
|
function Aoe(e) {
|
|
return V.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Eoe;
|
|
}
|
|
function Poe(e, t) {
|
|
const r = { ...t };
|
|
for (const n in t) {
|
|
const o = e[n], a = t[n];
|
|
/^on[A-Z]/.test(n) ? o && a ? r[n] = (...i) => {
|
|
const s = a(...i);
|
|
return o(...i), s;
|
|
} : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...a } : n === "className" && (r[n] = [o, a].filter(Boolean).join(" "));
|
|
}
|
|
return { ...e, ...r };
|
|
}
|
|
function Coe(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
|
|
return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var Noe = [
|
|
"a",
|
|
"button",
|
|
"div",
|
|
"form",
|
|
"h2",
|
|
"h3",
|
|
"img",
|
|
"input",
|
|
"label",
|
|
"li",
|
|
"nav",
|
|
"ol",
|
|
"p",
|
|
"select",
|
|
"span",
|
|
"svg",
|
|
"ul"
|
|
], mi = Noe.reduce((e, t) => {
|
|
const r = /* @__PURE__ */ WW(`Primitive.${t}`), n = V.forwardRef((o, a) => {
|
|
const { asChild: i, ...s } = o, u = i ? r : t;
|
|
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ K(u, { ...s, ref: a });
|
|
});
|
|
return n.displayName = `Primitive.${t}`, { ...e, [t]: n };
|
|
}, {});
|
|
function Toe(e, t) {
|
|
e && jd.flushSync(() => e.dispatchEvent(t));
|
|
}
|
|
function yg(e) {
|
|
const t = V.useRef(e);
|
|
return V.useEffect(() => {
|
|
t.current = e;
|
|
}), V.useMemo(() => (...r) => {
|
|
var n;
|
|
return (n = t.current) == null ? void 0 : n.call(t, ...r);
|
|
}, []);
|
|
}
|
|
function Ioe(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = yg(e);
|
|
V.useEffect(() => {
|
|
const n = (o) => {
|
|
o.key === "Escape" && r(o);
|
|
};
|
|
return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 });
|
|
}, [r, t]);
|
|
}
|
|
var joe = "DismissableLayer", Z_ = "dismissableLayer.update", Roe = "dismissableLayer.pointerDownOutside", Moe = "dismissableLayer.focusOutside", bN, VW = V.createContext({
|
|
layers: /* @__PURE__ */ new Set(),
|
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
branches: /* @__PURE__ */ new Set()
|
|
}), HW = V.forwardRef(
|
|
(e, t) => {
|
|
const {
|
|
disableOutsidePointerEvents: r = !1,
|
|
onEscapeKeyDown: n,
|
|
onPointerDownOutside: o,
|
|
onFocusOutside: a,
|
|
onInteractOutside: i,
|
|
onDismiss: s,
|
|
...u
|
|
} = e, c = V.useContext(VW), [d, l] = V.useState(null), f = (d == null ? void 0 : d.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, p] = V.useState({}), y = lf(t, (z) => l(z)), m = Array.from(c.layers), [h] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), w = m.indexOf(h), $ = d ? m.indexOf(d) : -1, _ = c.layersWithOutsidePointerEventsDisabled.size > 0, S = $ >= w, b = Loe((z) => {
|
|
const q = z.target, Y = [...c.branches].some((B) => B.contains(q));
|
|
!S || Y || (o == null || o(z), i == null || i(z), z.defaultPrevented || s == null || s());
|
|
}, f), F = zoe((z) => {
|
|
const q = z.target;
|
|
[...c.branches].some((Y) => Y.contains(q)) || (a == null || a(z), i == null || i(z), z.defaultPrevented || s == null || s());
|
|
}, f);
|
|
return Ioe((z) => {
|
|
$ === c.layers.size - 1 && (n == null || n(z), !z.defaultPrevented && s && (z.preventDefault(), s()));
|
|
}, f), V.useEffect(() => {
|
|
if (d)
|
|
return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (bN = f.body.style.pointerEvents, f.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(d)), c.layers.add(d), yN(), () => {
|
|
r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (f.body.style.pointerEvents = bN);
|
|
};
|
|
}, [d, f, r, c]), V.useEffect(() => () => {
|
|
d && (c.layers.delete(d), c.layersWithOutsidePointerEventsDisabled.delete(d), yN());
|
|
}, [d, c]), V.useEffect(() => {
|
|
const z = () => p({});
|
|
return document.addEventListener(Z_, z), () => document.removeEventListener(Z_, z);
|
|
}, []), /* @__PURE__ */ K(
|
|
mi.div,
|
|
{
|
|
...u,
|
|
ref: y,
|
|
style: {
|
|
pointerEvents: _ ? S ? "auto" : "none" : void 0,
|
|
...e.style
|
|
},
|
|
onFocusCapture: Ql(e.onFocusCapture, F.onFocusCapture),
|
|
onBlurCapture: Ql(e.onBlurCapture, F.onBlurCapture),
|
|
onPointerDownCapture: Ql(
|
|
e.onPointerDownCapture,
|
|
b.onPointerDownCapture
|
|
)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
HW.displayName = joe;
|
|
var Doe = "DismissableLayerBranch", Foe = V.forwardRef((e, t) => {
|
|
const r = V.useContext(VW), n = V.useRef(null), o = lf(t, n);
|
|
return V.useEffect(() => {
|
|
const a = n.current;
|
|
if (a)
|
|
return r.branches.add(a), () => {
|
|
r.branches.delete(a);
|
|
};
|
|
}, [r.branches]), /* @__PURE__ */ K(mi.div, { ...e, ref: o });
|
|
});
|
|
Foe.displayName = Doe;
|
|
function Loe(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = yg(e), n = V.useRef(!1), o = V.useRef(() => {
|
|
});
|
|
return V.useEffect(() => {
|
|
const a = (s) => {
|
|
if (s.target && !n.current) {
|
|
let u = function() {
|
|
GW(
|
|
Roe,
|
|
r,
|
|
c,
|
|
{ discrete: !0 }
|
|
);
|
|
};
|
|
const c = { originalEvent: s };
|
|
s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = u, t.addEventListener("click", o.current, { once: !0 })) : u();
|
|
} else
|
|
t.removeEventListener("click", o.current);
|
|
n.current = !1;
|
|
}, i = window.setTimeout(() => {
|
|
t.addEventListener("pointerdown", a);
|
|
}, 0);
|
|
return () => {
|
|
window.clearTimeout(i), t.removeEventListener("pointerdown", a), t.removeEventListener("click", o.current);
|
|
};
|
|
}, [t, r]), {
|
|
// ensures we check React component tree (not just DOM tree)
|
|
onPointerDownCapture: () => n.current = !0
|
|
};
|
|
}
|
|
function zoe(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = yg(e), n = V.useRef(!1);
|
|
return V.useEffect(() => {
|
|
const o = (a) => {
|
|
a.target && !n.current && GW(Moe, r, { originalEvent: a }, {
|
|
discrete: !1
|
|
});
|
|
};
|
|
return t.addEventListener("focusin", o), () => t.removeEventListener("focusin", o);
|
|
}, [t, r]), {
|
|
onFocusCapture: () => n.current = !0,
|
|
onBlurCapture: () => n.current = !1
|
|
};
|
|
}
|
|
function yN() {
|
|
const e = new CustomEvent(Z_);
|
|
document.dispatchEvent(e);
|
|
}
|
|
function GW(e, t, r, { discrete: n }) {
|
|
const o = r.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r });
|
|
t && o.addEventListener(e, t, { once: !0 }), n ? Toe(o, a) : o.dispatchEvent(a);
|
|
}
|
|
var zw = "focusScope.autoFocusOnMount", Ww = "focusScope.autoFocusOnUnmount", vN = { bubbles: !1, cancelable: !0 }, Woe = "FocusScope", UW = V.forwardRef((e, t) => {
|
|
const {
|
|
loop: r = !1,
|
|
trapped: n = !1,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
...i
|
|
} = e, [s, u] = V.useState(null), c = yg(o), d = yg(a), l = V.useRef(null), f = lf(t, (m) => u(m)), p = V.useRef({
|
|
paused: !1,
|
|
pause() {
|
|
this.paused = !0;
|
|
},
|
|
resume() {
|
|
this.paused = !1;
|
|
}
|
|
}).current;
|
|
V.useEffect(() => {
|
|
if (n) {
|
|
let m = function(_) {
|
|
if (p.paused || !s) return;
|
|
const S = _.target;
|
|
s.contains(S) ? l.current = S : Fl(l.current, { select: !0 });
|
|
}, h = function(_) {
|
|
if (p.paused || !s) return;
|
|
const S = _.relatedTarget;
|
|
S !== null && (s.contains(S) || Fl(l.current, { select: !0 }));
|
|
}, w = function(_) {
|
|
if (document.activeElement === document.body)
|
|
for (const S of _)
|
|
S.removedNodes.length > 0 && Fl(s);
|
|
};
|
|
document.addEventListener("focusin", m), document.addEventListener("focusout", h);
|
|
const $ = new MutationObserver(w);
|
|
return s && $.observe(s, { childList: !0, subtree: !0 }), () => {
|
|
document.removeEventListener("focusin", m), document.removeEventListener("focusout", h), $.disconnect();
|
|
};
|
|
}
|
|
}, [n, s, p.paused]), V.useEffect(() => {
|
|
if (s) {
|
|
wN.add(p);
|
|
const m = document.activeElement;
|
|
if (!s.contains(m)) {
|
|
const h = new CustomEvent(zw, vN);
|
|
s.addEventListener(zw, c), s.dispatchEvent(h), h.defaultPrevented || (Voe(Yoe(BW(s)), { select: !0 }), document.activeElement === m && Fl(s));
|
|
}
|
|
return () => {
|
|
s.removeEventListener(zw, c), setTimeout(() => {
|
|
const h = new CustomEvent(Ww, vN);
|
|
s.addEventListener(Ww, d), s.dispatchEvent(h), h.defaultPrevented || Fl(m ?? document.body, { select: !0 }), s.removeEventListener(Ww, d), wN.remove(p);
|
|
}, 0);
|
|
};
|
|
}
|
|
}, [s, c, d, p]);
|
|
const y = V.useCallback(
|
|
(m) => {
|
|
if (!r && !n || p.paused) return;
|
|
const h = m.key === "Tab" && !m.altKey && !m.ctrlKey && !m.metaKey, w = document.activeElement;
|
|
if (h && w) {
|
|
const $ = m.currentTarget, [_, S] = Hoe($);
|
|
_ && S ? !m.shiftKey && w === S ? (m.preventDefault(), r && Fl(_, { select: !0 })) : m.shiftKey && w === _ && (m.preventDefault(), r && Fl(S, { select: !0 })) : w === $ && m.preventDefault();
|
|
}
|
|
},
|
|
[r, n, p.paused]
|
|
);
|
|
return /* @__PURE__ */ K(mi.div, { tabIndex: -1, ...i, ref: f, onKeyDown: y });
|
|
});
|
|
UW.displayName = Woe;
|
|
function Voe(e, { select: t = !1 } = {}) {
|
|
const r = document.activeElement;
|
|
for (const n of e)
|
|
if (Fl(n, { select: t }), document.activeElement !== r) return;
|
|
}
|
|
function Hoe(e) {
|
|
const t = BW(e), r = xN(t, e), n = xN(t.reverse(), e);
|
|
return [r, n];
|
|
}
|
|
function BW(e) {
|
|
const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
|
|
acceptNode: (n) => {
|
|
const o = n.tagName === "INPUT" && n.type === "hidden";
|
|
return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
}
|
|
});
|
|
for (; r.nextNode(); ) t.push(r.currentNode);
|
|
return t;
|
|
}
|
|
function xN(e, t) {
|
|
for (const r of e)
|
|
if (!Goe(r, { upTo: t })) return r;
|
|
}
|
|
function Goe(e, { upTo: t }) {
|
|
if (getComputedStyle(e).visibility === "hidden") return !0;
|
|
for (; e; ) {
|
|
if (t !== void 0 && e === t) return !1;
|
|
if (getComputedStyle(e).display === "none") return !0;
|
|
e = e.parentElement;
|
|
}
|
|
return !1;
|
|
}
|
|
function Uoe(e) {
|
|
return e instanceof HTMLInputElement && "select" in e;
|
|
}
|
|
function Fl(e, { select: t = !1 } = {}) {
|
|
if (e && e.focus) {
|
|
const r = document.activeElement;
|
|
e.focus({ preventScroll: !0 }), e !== r && Uoe(e) && t && e.select();
|
|
}
|
|
}
|
|
var wN = Boe();
|
|
function Boe() {
|
|
let e = [];
|
|
return {
|
|
add(t) {
|
|
const r = e[0];
|
|
t !== r && (r == null || r.pause()), e = $N(e, t), e.unshift(t);
|
|
},
|
|
remove(t) {
|
|
var r;
|
|
e = $N(e, t), (r = e[0]) == null || r.resume();
|
|
}
|
|
};
|
|
}
|
|
function $N(e, t) {
|
|
const r = [...e], n = r.indexOf(t);
|
|
return n !== -1 && r.splice(n, 1), r;
|
|
}
|
|
function Yoe(e) {
|
|
return e.filter((t) => t.tagName !== "A");
|
|
}
|
|
var qoe = "Portal", YW = V.forwardRef((e, t) => {
|
|
var r;
|
|
const { container: n, ...o } = e, [a, i] = V.useState(!1);
|
|
bg(() => i(!0), []);
|
|
const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body);
|
|
return s ? LW.createPortal(/* @__PURE__ */ K(mi.div, { ...o, ref: t }), s) : null;
|
|
});
|
|
YW.displayName = qoe;
|
|
function Koe(e, t) {
|
|
return V.useReducer((r, n) => t[r][n] ?? r, e);
|
|
}
|
|
var N0 = (e) => {
|
|
const { present: t, children: r } = e, n = Xoe(t), o = typeof r == "function" ? r({ present: n.isPresent }) : V.Children.only(r), a = lf(n.ref, Joe(o));
|
|
return typeof r == "function" || n.isPresent ? V.cloneElement(o, { ref: a }) : null;
|
|
};
|
|
N0.displayName = "Presence";
|
|
function Xoe(e) {
|
|
const [t, r] = V.useState(), n = V.useRef(null), o = V.useRef(e), a = V.useRef("none"), i = e ? "mounted" : "unmounted", [s, u] = Koe(i, {
|
|
mounted: {
|
|
UNMOUNT: "unmounted",
|
|
ANIMATION_OUT: "unmountSuspended"
|
|
},
|
|
unmountSuspended: {
|
|
MOUNT: "mounted",
|
|
ANIMATION_END: "unmounted"
|
|
},
|
|
unmounted: {
|
|
MOUNT: "mounted"
|
|
}
|
|
});
|
|
return V.useEffect(() => {
|
|
const c = cy(n.current);
|
|
a.current = s === "mounted" ? c : "none";
|
|
}, [s]), bg(() => {
|
|
const c = n.current, d = o.current;
|
|
if (d !== e) {
|
|
const l = a.current, f = cy(c);
|
|
e ? u("MOUNT") : f === "none" || (c == null ? void 0 : c.display) === "none" ? u("UNMOUNT") : u(d && l !== f ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e;
|
|
}
|
|
}, [e, u]), bg(() => {
|
|
if (t) {
|
|
let c;
|
|
const d = t.ownerDocument.defaultView ?? window, l = (p) => {
|
|
const y = cy(n.current).includes(p.animationName);
|
|
if (p.target === t && y && (u("ANIMATION_END"), !o.current)) {
|
|
const m = t.style.animationFillMode;
|
|
t.style.animationFillMode = "forwards", c = d.setTimeout(() => {
|
|
t.style.animationFillMode === "forwards" && (t.style.animationFillMode = m);
|
|
});
|
|
}
|
|
}, f = (p) => {
|
|
p.target === t && (a.current = cy(n.current));
|
|
};
|
|
return t.addEventListener("animationstart", f), t.addEventListener("animationcancel", l), t.addEventListener("animationend", l), () => {
|
|
d.clearTimeout(c), t.removeEventListener("animationstart", f), t.removeEventListener("animationcancel", l), t.removeEventListener("animationend", l);
|
|
};
|
|
} else
|
|
u("ANIMATION_END");
|
|
}, [t, u]), {
|
|
isPresent: ["mounted", "unmountSuspended"].includes(s),
|
|
ref: V.useCallback((c) => {
|
|
n.current = c ? getComputedStyle(c) : null, r(c);
|
|
}, [])
|
|
};
|
|
}
|
|
function cy(e) {
|
|
return (e == null ? void 0 : e.animationName) || "none";
|
|
}
|
|
function Joe(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
|
|
return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var Vw = 0;
|
|
function Qoe() {
|
|
V.useEffect(() => {
|
|
const e = document.querySelectorAll("[data-radix-focus-guard]");
|
|
return document.body.insertAdjacentElement("afterbegin", e[0] ?? kN()), document.body.insertAdjacentElement("beforeend", e[1] ?? kN()), Vw++, () => {
|
|
Vw === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), Vw--;
|
|
};
|
|
}, []);
|
|
}
|
|
function kN() {
|
|
const e = document.createElement("span");
|
|
return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
|
|
}
|
|
var Ta = function() {
|
|
return Ta = Object.assign || function(e) {
|
|
for (var t, r = 1, n = arguments.length; r < n; r++) {
|
|
t = arguments[r];
|
|
for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
|
|
}
|
|
return e;
|
|
}, Ta.apply(this, arguments);
|
|
};
|
|
function qW(e, t) {
|
|
var r = {};
|
|
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);
|
|
if (e != null && typeof Object.getOwnPropertySymbols == "function")
|
|
for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++)
|
|
t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]);
|
|
return r;
|
|
}
|
|
function Zoe(e, t, r) {
|
|
for (var n = 0, o = t.length, a; n < o; n++)
|
|
(a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]);
|
|
return e.concat(a || Array.prototype.slice.call(t));
|
|
}
|
|
var Ov = "right-scroll-bar-position", Sv = "width-before-scroll-bar", eae = "with-scroll-bars-hidden", tae = "--removed-body-scroll-bar-size";
|
|
function Hw(e, t) {
|
|
return typeof e == "function" ? e(t) : e && (e.current = t), e;
|
|
}
|
|
function rae(e, t) {
|
|
var r = de(function() {
|
|
return {
|
|
// value
|
|
value: e,
|
|
// last callback
|
|
callback: t,
|
|
// "memoized" public interface
|
|
facade: {
|
|
get current() {
|
|
return r.value;
|
|
},
|
|
set current(n) {
|
|
var o = r.value;
|
|
o !== n && (r.value = n, r.callback(n, o));
|
|
}
|
|
}
|
|
};
|
|
})[0];
|
|
return r.callback = t, r.facade;
|
|
}
|
|
var nae = typeof window < "u" ? V.useLayoutEffect : V.useEffect, _N = /* @__PURE__ */ new WeakMap();
|
|
function oae(e, t) {
|
|
var r = rae(null, function(n) {
|
|
return e.forEach(function(o) {
|
|
return Hw(o, n);
|
|
});
|
|
});
|
|
return nae(function() {
|
|
var n = _N.get(r);
|
|
if (n) {
|
|
var o = new Set(n), a = new Set(e), i = r.current;
|
|
o.forEach(function(s) {
|
|
a.has(s) || Hw(s, null);
|
|
}), a.forEach(function(s) {
|
|
o.has(s) || Hw(s, i);
|
|
});
|
|
}
|
|
_N.set(r, e);
|
|
}, [e]), r;
|
|
}
|
|
function aae(e) {
|
|
return e;
|
|
}
|
|
function iae(e, t) {
|
|
t === void 0 && (t = aae);
|
|
var r = [], n = !1, o = {
|
|
read: function() {
|
|
if (n)
|
|
throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
|
|
return r.length ? r[r.length - 1] : e;
|
|
},
|
|
useMedium: function(a) {
|
|
var i = t(a, n);
|
|
return r.push(i), function() {
|
|
r = r.filter(function(s) {
|
|
return s !== i;
|
|
});
|
|
};
|
|
},
|
|
assignSyncMedium: function(a) {
|
|
for (n = !0; r.length; ) {
|
|
var i = r;
|
|
r = [], i.forEach(a);
|
|
}
|
|
r = {
|
|
push: function(s) {
|
|
return a(s);
|
|
},
|
|
filter: function() {
|
|
return r;
|
|
}
|
|
};
|
|
},
|
|
assignMedium: function(a) {
|
|
n = !0;
|
|
var i = [];
|
|
if (r.length) {
|
|
var s = r;
|
|
r = [], s.forEach(a), i = r;
|
|
}
|
|
var u = function() {
|
|
var d = i;
|
|
i = [], d.forEach(a);
|
|
}, c = function() {
|
|
return Promise.resolve().then(u);
|
|
};
|
|
c(), r = {
|
|
push: function(d) {
|
|
i.push(d), c();
|
|
},
|
|
filter: function(d) {
|
|
return i = i.filter(d), r;
|
|
}
|
|
};
|
|
}
|
|
};
|
|
return o;
|
|
}
|
|
function sae(e) {
|
|
e === void 0 && (e = {});
|
|
var t = iae(null);
|
|
return t.options = Ta({ async: !0, ssr: !1 }, e), t;
|
|
}
|
|
var KW = function(e) {
|
|
var t = e.sideCar, r = qW(e, ["sideCar"]);
|
|
if (!t)
|
|
throw new Error("Sidecar: please provide `sideCar` property to import the right car");
|
|
var n = t.read();
|
|
if (!n)
|
|
throw new Error("Sidecar medium not found");
|
|
return V.createElement(n, Ta({}, r));
|
|
};
|
|
KW.isSideCarExport = !0;
|
|
function lae(e, t) {
|
|
return e.useMedium(t), KW;
|
|
}
|
|
var XW = sae(), Gw = function() {
|
|
}, T0 = V.forwardRef(function(e, t) {
|
|
var r = V.useRef(null), n = V.useState({
|
|
onScrollCapture: Gw,
|
|
onWheelCapture: Gw,
|
|
onTouchMoveCapture: Gw
|
|
}), o = n[0], a = n[1], i = e.forwardProps, s = e.children, u = e.className, c = e.removeScrollBar, d = e.enabled, l = e.shards, f = e.sideCar, p = e.noRelative, y = e.noIsolation, m = e.inert, h = e.allowPinchZoom, w = e.as, $ = w === void 0 ? "div" : w, _ = e.gapMode, S = qW(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), b = f, F = oae([r, t]), z = Ta(Ta({}, S), o);
|
|
return V.createElement(
|
|
V.Fragment,
|
|
null,
|
|
d && V.createElement(b, { sideCar: XW, removeScrollBar: c, shards: l, noRelative: p, noIsolation: y, inert: m, setCallbacks: a, allowPinchZoom: !!h, lockRef: r, gapMode: _ }),
|
|
i ? V.cloneElement(V.Children.only(s), Ta(Ta({}, z), { ref: F })) : V.createElement($, Ta({}, z, { className: u, ref: F }), s)
|
|
);
|
|
});
|
|
T0.defaultProps = {
|
|
enabled: !0,
|
|
removeScrollBar: !0,
|
|
inert: !1
|
|
};
|
|
T0.classNames = {
|
|
fullWidth: Sv,
|
|
zeroRight: Ov
|
|
};
|
|
var cae = function() {
|
|
if (typeof __webpack_nonce__ < "u")
|
|
return __webpack_nonce__;
|
|
};
|
|
function uae() {
|
|
if (!document)
|
|
return null;
|
|
var e = document.createElement("style");
|
|
e.type = "text/css";
|
|
var t = cae();
|
|
return t && e.setAttribute("nonce", t), e;
|
|
}
|
|
function fae(e, t) {
|
|
e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
|
|
}
|
|
function dae(e) {
|
|
var t = document.head || document.getElementsByTagName("head")[0];
|
|
t.appendChild(e);
|
|
}
|
|
var pae = function() {
|
|
var e = 0, t = null;
|
|
return {
|
|
add: function(r) {
|
|
e == 0 && (t = uae()) && (fae(t, r), dae(t)), e++;
|
|
},
|
|
remove: function() {
|
|
e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null);
|
|
}
|
|
};
|
|
}, mae = function() {
|
|
var e = pae();
|
|
return function(t, r) {
|
|
V.useEffect(function() {
|
|
return e.add(t), function() {
|
|
e.remove();
|
|
};
|
|
}, [t && r]);
|
|
};
|
|
}, JW = function() {
|
|
var e = mae(), t = function(r) {
|
|
var n = r.styles, o = r.dynamic;
|
|
return e(n, o), null;
|
|
};
|
|
return t;
|
|
}, hae = {
|
|
left: 0,
|
|
top: 0,
|
|
right: 0,
|
|
gap: 0
|
|
}, Uw = function(e) {
|
|
return parseInt(e || "", 10) || 0;
|
|
}, gae = function(e) {
|
|
var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], o = t[e === "padding" ? "paddingRight" : "marginRight"];
|
|
return [Uw(r), Uw(n), Uw(o)];
|
|
}, bae = function(e) {
|
|
if (e === void 0 && (e = "margin"), typeof window > "u")
|
|
return hae;
|
|
var t = gae(e), r = document.documentElement.clientWidth, n = window.innerWidth;
|
|
return {
|
|
left: t[0],
|
|
top: t[1],
|
|
right: t[2],
|
|
gap: Math.max(0, n - r + t[2] - t[0])
|
|
};
|
|
}, yae = JW(), td = "data-scroll-locked", vae = function(e, t, r, n) {
|
|
var o = e.left, a = e.top, i = e.right, s = e.gap;
|
|
return r === void 0 && (r = "margin"), `
|
|
.`.concat(eae, ` {
|
|
overflow: hidden `).concat(n, `;
|
|
padding-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
body[`).concat(td, `] {
|
|
overflow: hidden `).concat(n, `;
|
|
overscroll-behavior: contain;
|
|
`).concat([
|
|
t && "position: relative ".concat(n, ";"),
|
|
r === "margin" && `
|
|
padding-left: `.concat(o, `px;
|
|
padding-top: `).concat(a, `px;
|
|
padding-right: `).concat(i, `px;
|
|
margin-left:0;
|
|
margin-top:0;
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
`),
|
|
r === "padding" && "padding-right: ".concat(s, "px ").concat(n, ";")
|
|
].filter(Boolean).join(""), `
|
|
}
|
|
|
|
.`).concat(Ov, ` {
|
|
right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(Sv, ` {
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(Ov, " .").concat(Ov, ` {
|
|
right: 0 `).concat(n, `;
|
|
}
|
|
|
|
.`).concat(Sv, " .").concat(Sv, ` {
|
|
margin-right: 0 `).concat(n, `;
|
|
}
|
|
|
|
body[`).concat(td, `] {
|
|
`).concat(tae, ": ").concat(s, `px;
|
|
}
|
|
`);
|
|
}, ON = function() {
|
|
var e = parseInt(document.body.getAttribute(td) || "0", 10);
|
|
return isFinite(e) ? e : 0;
|
|
}, xae = function() {
|
|
V.useEffect(function() {
|
|
return document.body.setAttribute(td, (ON() + 1).toString()), function() {
|
|
var e = ON() - 1;
|
|
e <= 0 ? document.body.removeAttribute(td) : document.body.setAttribute(td, e.toString());
|
|
};
|
|
}, []);
|
|
}, wae = function(e) {
|
|
var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n;
|
|
xae();
|
|
var a = V.useMemo(function() {
|
|
return bae(o);
|
|
}, [o]);
|
|
return V.createElement(yae, { styles: vae(a, !t, o, r ? "" : "!important") });
|
|
}, eO = !1;
|
|
if (typeof window < "u")
|
|
try {
|
|
var uy = Object.defineProperty({}, "passive", {
|
|
get: function() {
|
|
return eO = !0, !0;
|
|
}
|
|
});
|
|
window.addEventListener("test", uy, uy), window.removeEventListener("test", uy, uy);
|
|
} catch {
|
|
eO = !1;
|
|
}
|
|
var ff = eO ? { passive: !1 } : !1, $ae = function(e) {
|
|
return e.tagName === "TEXTAREA";
|
|
}, QW = function(e, t) {
|
|
if (!(e instanceof Element))
|
|
return !1;
|
|
var r = window.getComputedStyle(e);
|
|
return (
|
|
// not-not-scrollable
|
|
r[t] !== "hidden" && // contains scroll inside self
|
|
!(r.overflowY === r.overflowX && !$ae(e) && r[t] === "visible")
|
|
);
|
|
}, kae = function(e) {
|
|
return QW(e, "overflowY");
|
|
}, _ae = function(e) {
|
|
return QW(e, "overflowX");
|
|
}, SN = function(e, t) {
|
|
var r = t.ownerDocument, n = t;
|
|
do {
|
|
typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host);
|
|
var o = ZW(e, n);
|
|
if (o) {
|
|
var a = eV(e, n), i = a[1], s = a[2];
|
|
if (i > s)
|
|
return !0;
|
|
}
|
|
n = n.parentNode;
|
|
} while (n && n !== r.body);
|
|
return !1;
|
|
}, Oae = function(e) {
|
|
var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, Sae = function(e) {
|
|
var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, ZW = function(e, t) {
|
|
return e === "v" ? kae(t) : _ae(t);
|
|
}, eV = function(e, t) {
|
|
return e === "v" ? Oae(t) : Sae(t);
|
|
}, Eae = function(e, t) {
|
|
return e === "h" && t === "rtl" ? -1 : 1;
|
|
}, Aae = function(e, t, r, n, o) {
|
|
var a = Eae(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, u = t.contains(s), c = !1, d = i > 0, l = 0, f = 0;
|
|
do {
|
|
if (!s)
|
|
break;
|
|
var p = eV(e, s), y = p[0], m = p[1], h = p[2], w = m - h - a * y;
|
|
(y || w) && ZW(e, s) && (l += w, f += y);
|
|
var $ = s.parentNode;
|
|
s = $ && $.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? $.host : $;
|
|
} while (
|
|
// portaled content
|
|
!u && s !== document.body || // self content
|
|
u && (t.contains(s) || t === s)
|
|
);
|
|
return (d && Math.abs(l) < 1 || !d && Math.abs(f) < 1) && (c = !0), c;
|
|
}, fy = function(e) {
|
|
return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];
|
|
}, EN = function(e) {
|
|
return [e.deltaX, e.deltaY];
|
|
}, AN = function(e) {
|
|
return e && "current" in e ? e.current : e;
|
|
}, Pae = function(e, t) {
|
|
return e[0] === t[0] && e[1] === t[1];
|
|
}, Cae = function(e) {
|
|
return `
|
|
.block-interactivity-`.concat(e, ` {pointer-events: none;}
|
|
.allow-interactivity-`).concat(e, ` {pointer-events: all;}
|
|
`);
|
|
}, Nae = 0, df = [];
|
|
function Tae(e) {
|
|
var t = V.useRef([]), r = V.useRef([0, 0]), n = V.useRef(), o = V.useState(Nae++)[0], a = V.useState(JW)[0], i = V.useRef(e);
|
|
V.useEffect(function() {
|
|
i.current = e;
|
|
}, [e]), V.useEffect(function() {
|
|
if (e.inert) {
|
|
document.body.classList.add("block-interactivity-".concat(o));
|
|
var m = Zoe([e.lockRef.current], (e.shards || []).map(AN)).filter(Boolean);
|
|
return m.forEach(function(h) {
|
|
return h.classList.add("allow-interactivity-".concat(o));
|
|
}), function() {
|
|
document.body.classList.remove("block-interactivity-".concat(o)), m.forEach(function(h) {
|
|
return h.classList.remove("allow-interactivity-".concat(o));
|
|
});
|
|
};
|
|
}
|
|
}, [e.inert, e.lockRef.current, e.shards]);
|
|
var s = V.useCallback(function(m, h) {
|
|
if ("touches" in m && m.touches.length === 2 || m.type === "wheel" && m.ctrlKey)
|
|
return !i.current.allowPinchZoom;
|
|
var w = fy(m), $ = r.current, _ = "deltaX" in m ? m.deltaX : $[0] - w[0], S = "deltaY" in m ? m.deltaY : $[1] - w[1], b, F = m.target, z = Math.abs(_) > Math.abs(S) ? "h" : "v";
|
|
if ("touches" in m && z === "h" && F.type === "range")
|
|
return !1;
|
|
var q = SN(z, F);
|
|
if (!q)
|
|
return !0;
|
|
if (q ? b = z : (b = z === "v" ? "h" : "v", q = SN(z, F)), !q)
|
|
return !1;
|
|
if (!n.current && "changedTouches" in m && (_ || S) && (n.current = b), !b)
|
|
return !0;
|
|
var Y = n.current || b;
|
|
return Aae(Y, h, m, Y === "h" ? _ : S);
|
|
}, []), u = V.useCallback(function(m) {
|
|
var h = m;
|
|
if (!(!df.length || df[df.length - 1] !== a)) {
|
|
var w = "deltaY" in h ? EN(h) : fy(h), $ = t.current.filter(function(b) {
|
|
return b.name === h.type && (b.target === h.target || h.target === b.shadowParent) && Pae(b.delta, w);
|
|
})[0];
|
|
if ($ && $.should) {
|
|
h.cancelable && h.preventDefault();
|
|
return;
|
|
}
|
|
if (!$) {
|
|
var _ = (i.current.shards || []).map(AN).filter(Boolean).filter(function(b) {
|
|
return b.contains(h.target);
|
|
}), S = _.length > 0 ? s(h, _[0]) : !i.current.noIsolation;
|
|
S && h.cancelable && h.preventDefault();
|
|
}
|
|
}
|
|
}, []), c = V.useCallback(function(m, h, w, $) {
|
|
var _ = { name: m, delta: h, target: w, should: $, shadowParent: Iae(w) };
|
|
t.current.push(_), setTimeout(function() {
|
|
t.current = t.current.filter(function(S) {
|
|
return S !== _;
|
|
});
|
|
}, 1);
|
|
}, []), d = V.useCallback(function(m) {
|
|
r.current = fy(m), n.current = void 0;
|
|
}, []), l = V.useCallback(function(m) {
|
|
c(m.type, EN(m), m.target, s(m, e.lockRef.current));
|
|
}, []), f = V.useCallback(function(m) {
|
|
c(m.type, fy(m), m.target, s(m, e.lockRef.current));
|
|
}, []);
|
|
V.useEffect(function() {
|
|
return df.push(a), e.setCallbacks({
|
|
onScrollCapture: l,
|
|
onWheelCapture: l,
|
|
onTouchMoveCapture: f
|
|
}), document.addEventListener("wheel", u, ff), document.addEventListener("touchmove", u, ff), document.addEventListener("touchstart", d, ff), function() {
|
|
df = df.filter(function(m) {
|
|
return m !== a;
|
|
}), document.removeEventListener("wheel", u, ff), document.removeEventListener("touchmove", u, ff), document.removeEventListener("touchstart", d, ff);
|
|
};
|
|
}, []);
|
|
var p = e.removeScrollBar, y = e.inert;
|
|
return V.createElement(
|
|
V.Fragment,
|
|
null,
|
|
y ? V.createElement(a, { styles: Cae(o) }) : null,
|
|
p ? V.createElement(wae, { noRelative: e.noRelative, gapMode: e.gapMode }) : null
|
|
);
|
|
}
|
|
function Iae(e) {
|
|
for (var t = null; e !== null; )
|
|
e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode;
|
|
return t;
|
|
}
|
|
const jae = lae(XW, Tae);
|
|
var tV = V.forwardRef(function(e, t) {
|
|
return V.createElement(T0, Ta({}, e, { ref: t, sideCar: jae }));
|
|
});
|
|
tV.classNames = T0.classNames;
|
|
var Rae = function(e) {
|
|
if (typeof document > "u")
|
|
return null;
|
|
var t = Array.isArray(e) ? e[0] : e;
|
|
return t.ownerDocument.body;
|
|
}, pf = /* @__PURE__ */ new WeakMap(), dy = /* @__PURE__ */ new WeakMap(), py = {}, Bw = 0, rV = function(e) {
|
|
return e && (e.host || rV(e.parentNode));
|
|
}, Mae = function(e, t) {
|
|
return t.map(function(r) {
|
|
if (e.contains(r))
|
|
return r;
|
|
var n = rV(r);
|
|
return n && e.contains(n) ? n : (console.error("aria-hidden", r, "in not contained inside", e, ". Doing nothing"), null);
|
|
}).filter(function(r) {
|
|
return !!r;
|
|
});
|
|
}, Dae = function(e, t, r, n) {
|
|
var o = Mae(t, Array.isArray(e) ? e : [e]);
|
|
py[r] || (py[r] = /* @__PURE__ */ new WeakMap());
|
|
var a = py[r], i = [], s = /* @__PURE__ */ new Set(), u = new Set(o), c = function(l) {
|
|
!l || s.has(l) || (s.add(l), c(l.parentNode));
|
|
};
|
|
o.forEach(c);
|
|
var d = function(l) {
|
|
!l || u.has(l) || Array.prototype.forEach.call(l.children, function(f) {
|
|
if (s.has(f))
|
|
d(f);
|
|
else
|
|
try {
|
|
var p = f.getAttribute(n), y = p !== null && p !== "false", m = (pf.get(f) || 0) + 1, h = (a.get(f) || 0) + 1;
|
|
pf.set(f, m), a.set(f, h), i.push(f), m === 1 && y && dy.set(f, !0), h === 1 && f.setAttribute(r, "true"), y || f.setAttribute(n, "true");
|
|
} catch (w) {
|
|
console.error("aria-hidden: cannot operate on ", f, w);
|
|
}
|
|
});
|
|
};
|
|
return d(t), s.clear(), Bw++, function() {
|
|
i.forEach(function(l) {
|
|
var f = pf.get(l) - 1, p = a.get(l) - 1;
|
|
pf.set(l, f), a.set(l, p), f || (dy.has(l) || l.removeAttribute(n), dy.delete(l)), p || l.removeAttribute(r);
|
|
}), Bw--, Bw || (pf = /* @__PURE__ */ new WeakMap(), pf = /* @__PURE__ */ new WeakMap(), dy = /* @__PURE__ */ new WeakMap(), py = {});
|
|
};
|
|
}, Fae = function(e, t, r) {
|
|
r === void 0 && (r = "data-aria-hidden");
|
|
var n = Array.from(Array.isArray(e) ? e : [e]), o = Rae(e);
|
|
return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), Dae(n, o, r, "aria-hidden")) : function() {
|
|
return null;
|
|
};
|
|
}, I0 = "Dialog", [nV, PJe] = yoe(I0), [Lae, fa] = nV(I0), oV = (e) => {
|
|
const {
|
|
__scopeDialog: t,
|
|
children: r,
|
|
open: n,
|
|
defaultOpen: o,
|
|
onOpenChange: a,
|
|
modal: i = !0
|
|
} = e, s = V.useRef(null), u = V.useRef(null), [c, d] = koe({
|
|
prop: n,
|
|
defaultProp: o ?? !1,
|
|
onChange: a,
|
|
caller: I0
|
|
});
|
|
return /* @__PURE__ */ K(
|
|
Lae,
|
|
{
|
|
scope: t,
|
|
triggerRef: s,
|
|
contentRef: u,
|
|
contentId: Lw(),
|
|
titleId: Lw(),
|
|
descriptionId: Lw(),
|
|
open: c,
|
|
onOpenChange: d,
|
|
onOpenToggle: V.useCallback(() => d((l) => !l), [d]),
|
|
modal: i,
|
|
children: r
|
|
}
|
|
);
|
|
};
|
|
oV.displayName = I0;
|
|
var aV = "DialogTrigger", zae = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = fa(aV, r), a = lf(t, o.triggerRef);
|
|
return /* @__PURE__ */ K(
|
|
mi.button,
|
|
{
|
|
type: "button",
|
|
"aria-haspopup": "dialog",
|
|
"aria-expanded": o.open,
|
|
"aria-controls": o.contentId,
|
|
"data-state": z4(o.open),
|
|
...n,
|
|
ref: a,
|
|
onClick: Ql(e.onClick, o.onOpenToggle)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
zae.displayName = aV;
|
|
var F4 = "DialogPortal", [Wae, iV] = nV(F4, {
|
|
forceMount: void 0
|
|
}), sV = (e) => {
|
|
const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = fa(F4, t);
|
|
return /* @__PURE__ */ K(Wae, { scope: t, forceMount: r, children: V.Children.map(n, (i) => /* @__PURE__ */ K(N0, { present: r || a.open, children: /* @__PURE__ */ K(YW, { asChild: !0, container: o, children: i }) })) });
|
|
};
|
|
sV.displayName = F4;
|
|
var h1 = "DialogOverlay", lV = V.forwardRef(
|
|
(e, t) => {
|
|
const r = iV(h1, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = fa(h1, e.__scopeDialog);
|
|
return a.modal ? /* @__PURE__ */ K(N0, { present: n || a.open, children: /* @__PURE__ */ K(Hae, { ...o, ref: t }) }) : null;
|
|
}
|
|
);
|
|
lV.displayName = h1;
|
|
var Vae = /* @__PURE__ */ WW("DialogOverlay.RemoveScroll"), Hae = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = fa(h1, r);
|
|
return (
|
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
// ie. when `Overlay` and `Content` are siblings
|
|
/* @__PURE__ */ K(tV, { as: Vae, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ K(
|
|
mi.div,
|
|
{
|
|
"data-state": z4(o.open),
|
|
...n,
|
|
ref: t,
|
|
style: { pointerEvents: "auto", ...n.style }
|
|
}
|
|
) })
|
|
);
|
|
}
|
|
), _u = "DialogContent", cV = V.forwardRef(
|
|
(e, t) => {
|
|
const r = iV(_u, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = fa(_u, e.__scopeDialog);
|
|
return /* @__PURE__ */ K(N0, { present: n || a.open, children: a.modal ? /* @__PURE__ */ K(Gae, { ...o, ref: t }) : /* @__PURE__ */ K(Uae, { ...o, ref: t }) });
|
|
}
|
|
);
|
|
cV.displayName = _u;
|
|
var Gae = V.forwardRef(
|
|
(e, t) => {
|
|
const r = fa(_u, e.__scopeDialog), n = V.useRef(null), o = lf(t, r.contentRef, n);
|
|
return V.useEffect(() => {
|
|
const a = n.current;
|
|
if (a) return Fae(a);
|
|
}, []), /* @__PURE__ */ K(
|
|
uV,
|
|
{
|
|
...e,
|
|
ref: o,
|
|
trapFocus: r.open,
|
|
disableOutsidePointerEvents: !0,
|
|
onCloseAutoFocus: Ql(e.onCloseAutoFocus, (a) => {
|
|
var i;
|
|
a.preventDefault(), (i = r.triggerRef.current) == null || i.focus();
|
|
}),
|
|
onPointerDownOutside: Ql(e.onPointerDownOutside, (a) => {
|
|
const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0;
|
|
(i.button === 2 || s) && a.preventDefault();
|
|
}),
|
|
onFocusOutside: Ql(
|
|
e.onFocusOutside,
|
|
(a) => a.preventDefault()
|
|
)
|
|
}
|
|
);
|
|
}
|
|
), Uae = V.forwardRef(
|
|
(e, t) => {
|
|
const r = fa(_u, e.__scopeDialog), n = V.useRef(!1), o = V.useRef(!1);
|
|
return /* @__PURE__ */ K(
|
|
uV,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
trapFocus: !1,
|
|
disableOutsidePointerEvents: !1,
|
|
onCloseAutoFocus: (a) => {
|
|
var i, s;
|
|
(i = e.onCloseAutoFocus) == null || i.call(e, a), a.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), a.preventDefault()), n.current = !1, o.current = !1;
|
|
},
|
|
onInteractOutside: (a) => {
|
|
var i, s;
|
|
(i = e.onInteractOutside) == null || i.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (o.current = !0));
|
|
const u = a.target;
|
|
(s = r.triggerRef.current) != null && s.contains(u) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault();
|
|
}
|
|
}
|
|
);
|
|
}
|
|
), uV = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = fa(_u, r), u = V.useRef(null), c = lf(t, u);
|
|
return Qoe(), /* @__PURE__ */ Te(rn, { children: [
|
|
/* @__PURE__ */ K(
|
|
UW,
|
|
{
|
|
asChild: !0,
|
|
loop: !0,
|
|
trapped: n,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
children: /* @__PURE__ */ K(
|
|
HW,
|
|
{
|
|
role: "dialog",
|
|
id: s.contentId,
|
|
"aria-describedby": s.descriptionId,
|
|
"aria-labelledby": s.titleId,
|
|
"data-state": z4(s.open),
|
|
...i,
|
|
ref: c,
|
|
onDismiss: () => s.onOpenChange(!1)
|
|
}
|
|
)
|
|
}
|
|
),
|
|
/* @__PURE__ */ Te(rn, { children: [
|
|
/* @__PURE__ */ K(Yae, { titleId: s.titleId }),
|
|
/* @__PURE__ */ K(Kae, { contentRef: u, descriptionId: s.descriptionId })
|
|
] })
|
|
] });
|
|
}
|
|
), L4 = "DialogTitle", fV = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = fa(L4, r);
|
|
return /* @__PURE__ */ K(mi.h2, { id: o.titleId, ...n, ref: t });
|
|
}
|
|
);
|
|
fV.displayName = L4;
|
|
var dV = "DialogDescription", pV = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = fa(dV, r);
|
|
return /* @__PURE__ */ K(mi.p, { id: o.descriptionId, ...n, ref: t });
|
|
}
|
|
);
|
|
pV.displayName = dV;
|
|
var mV = "DialogClose", Bae = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = fa(mV, r);
|
|
return /* @__PURE__ */ K(
|
|
mi.button,
|
|
{
|
|
type: "button",
|
|
...n,
|
|
ref: t,
|
|
onClick: Ql(e.onClick, () => o.onOpenChange(!1))
|
|
}
|
|
);
|
|
}
|
|
);
|
|
Bae.displayName = mV;
|
|
function z4(e) {
|
|
return e ? "open" : "closed";
|
|
}
|
|
var hV = "DialogTitleWarning", [CJe, gV] = boe(hV, {
|
|
contentName: _u,
|
|
titleName: L4,
|
|
docsSlug: "dialog"
|
|
}), Yae = ({ titleId: e }) => {
|
|
const t = gV(hV), r = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
|
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
|
|
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;
|
|
return V.useEffect(() => {
|
|
e && (document.getElementById(e) || console.error(r));
|
|
}, [r, e]), null;
|
|
}, qae = "DialogDescriptionWarning", Kae = ({ contentRef: e, descriptionId: t }) => {
|
|
const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${gV(qae).contentName}}.`;
|
|
return V.useEffect(() => {
|
|
var n;
|
|
const o = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby");
|
|
t && o && (document.getElementById(t) || console.warn(r));
|
|
}, [r, e, t]), null;
|
|
}, Xae = oV, Jae = sV, Qae = lV, Zae = cV, PN = fV, eie = pV;
|
|
const W4 = "-", tie = (e) => {
|
|
const t = nie(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(W4);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), bV(a, t) || rie(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, bV = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? bV(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(W4);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, CN = /^\[(.+)\]$/, rie = (e) => {
|
|
if (CN.test(e)) {
|
|
const t = CN.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, nie = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return aie(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
tO(a, n, o, t);
|
|
}), n;
|
|
}, tO = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : NN(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (oie(o)) {
|
|
tO(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
tO(i, NN(t, a), r, n);
|
|
});
|
|
});
|
|
}, NN = (e, t) => {
|
|
let r = e;
|
|
return t.split(W4).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, oie = (e) => e.isThemeGetter, aie = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, iie = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, yV = "!", sie = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(yV), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, lie = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, cie = (e) => ({
|
|
cache: iie(e.cacheSize),
|
|
parseClassName: sie(e),
|
|
...tie(e)
|
|
}), uie = /\s+/, fie = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(uie);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = lie(d).join(":"), w = l ? h + yV : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function die() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = vV(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const vV = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = vV(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function pie(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = cie(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = fie(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(die.apply(null, arguments));
|
|
};
|
|
}
|
|
const _r = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, xV = /^\[(?:([a-z-]+):)?(.+)\]$/i, mie = /^\d+\/\d+$/, hie = /* @__PURE__ */ new Set(["px", "full", "screen"]), gie = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, bie = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, yie = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, vie = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, xie = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, yi = (e) => rd(e) || hie.has(e) || mie.test(e), Js = (e) => Zd(e, "length", Aie), rd = (e) => !!e && !Number.isNaN(Number(e)), Yw = (e) => Zd(e, "number", rd), ym = (e) => !!e && Number.isInteger(Number(e)), wie = (e) => e.endsWith("%") && rd(e.slice(0, -1)), ct = (e) => xV.test(e), Qs = (e) => gie.test(e), $ie = /* @__PURE__ */ new Set(["length", "size", "percentage"]), kie = (e) => Zd(e, $ie, wV), _ie = (e) => Zd(e, "position", wV), Oie = /* @__PURE__ */ new Set(["image", "url"]), Sie = (e) => Zd(e, Oie, Cie), Eie = (e) => Zd(e, "", Pie), vm = () => !0, Zd = (e, t, r) => {
|
|
const n = xV.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, Aie = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
bie.test(e) && !yie.test(e)
|
|
), wV = () => !1, Pie = (e) => vie.test(e), Cie = (e) => xie.test(e), Nie = () => {
|
|
const e = _r("colors"), t = _r("spacing"), r = _r("blur"), n = _r("brightness"), o = _r("borderColor"), a = _r("borderRadius"), i = _r("borderSpacing"), s = _r("borderWidth"), u = _r("contrast"), c = _r("grayscale"), d = _r("hueRotate"), l = _r("invert"), f = _r("gap"), p = _r("gradientColorStops"), y = _r("gradientColorStopPositions"), m = _r("inset"), h = _r("margin"), w = _r("opacity"), $ = _r("padding"), _ = _r("saturate"), S = _r("scale"), b = _r("sepia"), F = _r("skew"), z = _r("space"), q = _r("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", ct, t], M = () => [ct, t], te = () => ["", yi, Js], G = () => ["auto", rd, ct], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", ct], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [rd, ct];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [vm],
|
|
spacing: [yi, Js],
|
|
blur: ["none", "", Qs, ct],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Qs, ct],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [wie, Js],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ct]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Qs]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), ct]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", ym, ct]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", ct]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", ym, ct]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [vm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", ym, ct]
|
|
}, ct]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [vm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [ym, ct]
|
|
}, ct]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", ct]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ct]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", ct, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ct, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ct, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Qs]
|
|
}, Qs]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ct, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ct, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ct, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ct, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Qs, Js]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", Yw]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [vm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", ct]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", rd, Yw]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", yi, ct]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ct]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ct]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", yi, Js]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", yi, ct]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ct]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", ct]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), _ie]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", kie]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, Sie]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [yi, ct]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [yi, Js]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [yi, Js]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", Qs, Eie]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [vm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Qs, ct]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ct]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ct]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ct]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [ym, ct]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", ct]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", ct]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", ct]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [yi, Js, Yw]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, Sh = /* @__PURE__ */ pie(Nie);
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function Tie(e, t, r) {
|
|
return (t = jie(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function TN(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function he(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? TN(Object(r), !0).forEach(function(n) {
|
|
Tie(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : TN(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Iie(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function jie(e) {
|
|
var t = Iie(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const IN = () => {
|
|
};
|
|
let V4 = {}, $V = {}, kV = null, _V = {
|
|
mark: IN,
|
|
measure: IN
|
|
};
|
|
try {
|
|
typeof window < "u" && (V4 = window), typeof document < "u" && ($V = document), typeof MutationObserver < "u" && (kV = MutationObserver), typeof performance < "u" && (_V = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: jN = ""
|
|
} = V4.navigator || {}, oc = V4, Mr = $V, RN = kV, my = _V;
|
|
oc.document;
|
|
const ps = !!Mr.documentElement && !!Mr.head && typeof Mr.addEventListener == "function" && typeof Mr.createElement == "function", OV = ~jN.indexOf("MSIE") || ~jN.indexOf("Trident/");
|
|
var Rie = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Mie = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, SV = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, Die = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, EV = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], vn = "classic", j0 = "duotone", Fie = "sharp", Lie = "sharp-duotone", AV = [vn, j0, Fie, Lie], zie = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, Wie = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, Vie = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), Hie = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, Gie = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], MN = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, Uie = ["kit"], Bie = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, Yie = ["fak", "fakd"], qie = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, DN = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, hy = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Kie = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Xie = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Jie = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, Qie = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, Zie = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, rO = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, ese = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], nO = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Kie, ...ese], tse = ["solid", "regular", "light", "thin", "duotone", "brands"], PV = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], rse = PV.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), nse = [...Object.keys(Zie), ...tse, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", hy.GROUP, hy.SWAP_OPACITY, hy.PRIMARY, hy.SECONDARY].concat(PV.map((e) => "".concat(e, "x"))).concat(rse.map((e) => "w-".concat(e))), ose = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const zi = "___FONT_AWESOME___", oO = 16, CV = "fa", NV = "svg-inline--fa", Ou = "data-fa-i2svg", aO = "data-fa-pseudo-element", ase = "data-fa-pseudo-element-pending", H4 = "data-prefix", G4 = "data-icon", FN = "fontawesome-i2svg", ise = "async", sse = ["HTML", "HEAD", "STYLE", "SCRIPT"], TV = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function xb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[vn];
|
|
}
|
|
});
|
|
}
|
|
const IV = he({}, SV);
|
|
IV[vn] = he(he(he(he({}, {
|
|
"fa-duotone": "duotone"
|
|
}), SV[vn]), MN.kit), MN["kit-duotone"]);
|
|
const lse = xb(IV), iO = he({}, Hie);
|
|
iO[vn] = he(he(he(he({}, {
|
|
duotone: "fad"
|
|
}), iO[vn]), DN.kit), DN["kit-duotone"]);
|
|
const LN = xb(iO), sO = he({}, rO);
|
|
sO[vn] = he(he({}, sO[vn]), qie.kit);
|
|
const U4 = xb(sO), lO = he({}, Qie);
|
|
lO[vn] = he(he({}, lO[vn]), Bie.kit);
|
|
xb(lO);
|
|
const cse = Rie, jV = "fa-layers-text", use = Mie, fse = he({}, zie);
|
|
xb(fse);
|
|
const dse = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], qw = Die, pse = [...Uie, ...nse], Eh = oc.FontAwesomeConfig || {};
|
|
function mse(e) {
|
|
var t = Mr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function hse(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Mr && typeof Mr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = hse(mse(t));
|
|
n != null && (Eh[r] = n);
|
|
});
|
|
const RV = {
|
|
styleDefault: "solid",
|
|
familyDefault: vn,
|
|
cssPrefix: CV,
|
|
replacementClass: NV,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Eh.familyPrefix && (Eh.cssPrefix = Eh.familyPrefix);
|
|
const Rd = he(he({}, RV), Eh);
|
|
Rd.autoReplaceSvg || (Rd.observeMutations = !1);
|
|
const ze = {};
|
|
Object.keys(RV).forEach((e) => {
|
|
Object.defineProperty(ze, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Rd[e] = t, Ah.forEach((r) => r(ze));
|
|
},
|
|
get: function() {
|
|
return Rd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ze, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Rd.cssPrefix = e, Ah.forEach((t) => t(ze));
|
|
},
|
|
get: function() {
|
|
return Rd.cssPrefix;
|
|
}
|
|
});
|
|
oc.FontAwesomeConfig = ze;
|
|
const Ah = [];
|
|
function gse(e) {
|
|
return Ah.push(e), () => {
|
|
Ah.splice(Ah.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Zs = oO, ja = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function bse(e) {
|
|
if (!e || !ps)
|
|
return;
|
|
const t = Mr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Mr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Mr.head.insertBefore(t, n), e;
|
|
}
|
|
const yse = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function vg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += yse[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function ep(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function B4(e) {
|
|
return e.classList ? ep(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function MV(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function vse(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(MV(e[r]), '" '), "").trim();
|
|
}
|
|
function R0(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function Y4(e) {
|
|
return e.size !== ja.size || e.x !== ja.x || e.y !== ja.y || e.rotate !== ja.rotate || e.flipX || e.flipY;
|
|
}
|
|
function xse(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function wse(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = oO,
|
|
height: n = oO,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && OV ? a += "translate(".concat(t.x / Zs - r / 2, "em, ").concat(t.y / Zs - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Zs, "em), calc(-50% + ").concat(t.y / Zs, "em)) ") : a += "translate(".concat(t.x / Zs, "em, ").concat(t.y / Zs, "em) "), a += "scale(".concat(t.size / Zs * (t.flipX ? -1 : 1), ", ").concat(t.size / Zs * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var $se = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function DV() {
|
|
const e = CV, t = NV, r = ze.cssPrefix, n = ze.replacementClass;
|
|
let o = $se;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let zN = !1;
|
|
function Kw() {
|
|
ze.autoAddCss && !zN && (bse(DV()), zN = !0);
|
|
}
|
|
var kse = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: DV,
|
|
insertCss: Kw
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Kw();
|
|
},
|
|
beforeI2svg() {
|
|
Kw();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Wi = oc || {};
|
|
Wi[zi] || (Wi[zi] = {});
|
|
Wi[zi].styles || (Wi[zi].styles = {});
|
|
Wi[zi].hooks || (Wi[zi].hooks = {});
|
|
Wi[zi].shims || (Wi[zi].shims = []);
|
|
var Ra = Wi[zi];
|
|
const FV = [], LV = function() {
|
|
Mr.removeEventListener("DOMContentLoaded", LV), g1 = 1, FV.map((e) => e());
|
|
};
|
|
let g1 = !1;
|
|
ps && (g1 = (Mr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Mr.readyState), g1 || Mr.addEventListener("DOMContentLoaded", LV));
|
|
function _se(e) {
|
|
ps && (g1 ? setTimeout(e, 0) : FV.push(e));
|
|
}
|
|
function wb(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? MV(e) : "<".concat(t, " ").concat(vse(r), ">").concat(n.map(wb).join(""), "</").concat(t, ">");
|
|
}
|
|
function WN(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Xw = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function Ose(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function zV(e) {
|
|
const t = Ose(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function Sse(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function VN(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function cO(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = VN(t);
|
|
typeof Ra.hooks.addPack == "function" && !n ? Ra.hooks.addPack(e, VN(t)) : Ra.styles[e] = he(he({}, Ra.styles[e] || {}), o), e === "fas" && cO("fa", t);
|
|
}
|
|
const {
|
|
styles: xg,
|
|
shims: Ese
|
|
} = Ra, WV = Object.keys(U4), Ase = WV.reduce((e, t) => (e[t] = Object.keys(U4[t]), e), {});
|
|
let q4 = null, VV = {}, HV = {}, GV = {}, UV = {}, BV = {};
|
|
function Pse(e) {
|
|
return ~pse.indexOf(e);
|
|
}
|
|
function Cse(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !Pse(o) ? o : null;
|
|
}
|
|
const YV = () => {
|
|
const e = (n) => Xw(xg, (o, a, i) => (o[i] = Xw(a, n, {}), o), {});
|
|
VV = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), HV = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), BV = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in xg || ze.autoFetchSvg, r = Xw(Ese, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
GV = r.names, UV = r.unicodes, q4 = M0(ze.styleDefault, {
|
|
family: ze.familyDefault
|
|
});
|
|
};
|
|
gse((e) => {
|
|
q4 = M0(e.styleDefault, {
|
|
family: ze.familyDefault
|
|
});
|
|
});
|
|
YV();
|
|
function K4(e, t) {
|
|
return (VV[e] || {})[t];
|
|
}
|
|
function Nse(e, t) {
|
|
return (HV[e] || {})[t];
|
|
}
|
|
function ru(e, t) {
|
|
return (BV[e] || {})[t];
|
|
}
|
|
function qV(e) {
|
|
return GV[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Tse(e) {
|
|
const t = UV[e], r = K4("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function ac() {
|
|
return q4;
|
|
}
|
|
const KV = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function Ise(e) {
|
|
let t = vn;
|
|
const r = WV.reduce((n, o) => (n[o] = "".concat(ze.cssPrefix, "-").concat(o), n), {});
|
|
return AV.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => Ase[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function M0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = vn
|
|
} = t, n = lse[r][e];
|
|
if (r === j0 && !e)
|
|
return "fad";
|
|
const o = LN[r][e] || LN[r][n], a = e in Ra.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function jse(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = Cse(ze.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function HN(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function D0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = nO.concat(Xie), a = HN(e.filter((l) => o.includes(l))), i = HN(e.filter((l) => !nO.includes(l))), s = a.filter((l) => (n = l, !EV.includes(l))), [u = null] = s, c = Ise(a), d = he(he({}, jse(i)), {}, {
|
|
prefix: M0(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return he(he(he({}, d), Fse({
|
|
values: e,
|
|
family: c,
|
|
styles: xg,
|
|
config: ze,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), Rse(r, n, d));
|
|
}
|
|
function Rse(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? qV(o) : {}, i = ru(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !xg.far && xg.fas && !ze.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const Mse = AV.filter((e) => e !== vn || e !== j0), Dse = Object.keys(rO).filter((e) => e !== vn).map((e) => Object.keys(rO[e])).flat();
|
|
function Fse(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === j0, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Mse.includes(r) && (Object.keys(a).find((l) => Dse.includes(l)) || i.autoFetchSvg)) {
|
|
const l = Vie.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = ru(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = ac() || "fas"), n;
|
|
}
|
|
let Lse = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = he(he({}, this.definitions[a] || {}), o[a]), cO(a, o[a]);
|
|
const i = U4[vn][a];
|
|
i && cO(i, o[a]), YV();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, GN = [], Sf = {};
|
|
const nd = {}, zse = Object.keys(nd);
|
|
function Wse(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return GN = e, Sf = {}, Object.keys(nd).forEach((n) => {
|
|
zse.indexOf(n) === -1 && delete nd[n];
|
|
}), GN.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Sf[i] || (Sf[i] = []), Sf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(nd);
|
|
}), r;
|
|
}
|
|
function uO(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Sf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Su(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Sf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function ic() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return nd[e] ? nd[e].apply(null, t) : void 0;
|
|
}
|
|
function fO(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || ac();
|
|
if (t)
|
|
return t = ru(r, t) || t, WN(XV.definitions, r, t) || WN(Ra.styles, r, t);
|
|
}
|
|
const XV = new Lse(), Vse = () => {
|
|
ze.autoReplaceSvg = !1, ze.observeMutations = !1, Su("noAuto");
|
|
}, Hse = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return ps ? (Su("beforeI2svg", e), ic("pseudoElements2svg", e), ic("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
ze.autoReplaceSvg === !1 && (ze.autoReplaceSvg = !0), ze.observeMutations = !0, _se(() => {
|
|
Use({
|
|
autoReplaceSvgRoot: t
|
|
}), Su("watch", e);
|
|
});
|
|
}
|
|
}, Gse = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: ru(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = M0(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: ru(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ze.cssPrefix, "-")) > -1 || e.match(cse))) {
|
|
const t = D0(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || ac(),
|
|
iconName: ru(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = ac();
|
|
return {
|
|
prefix: t,
|
|
iconName: ru(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, oo = {
|
|
noAuto: Vse,
|
|
config: ze,
|
|
dom: Hse,
|
|
parse: Gse,
|
|
library: XV,
|
|
findIconDefinition: fO,
|
|
toHtml: wb
|
|
}, Use = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Mr
|
|
} = e;
|
|
(Object.keys(Ra.styles).length > 0 || ze.autoFetchSvg) && ps && ze.autoReplaceSvg && oo.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function F0(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => wb(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!ps) return;
|
|
const r = Mr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function Bse(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (Y4(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = R0(he(he({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function Yse(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ze.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: he(he({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function X4(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = Yie.includes(n), m = [ze.replacementClass, o ? "".concat(ze.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: he(he({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Ou] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || vg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = he(he({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: he(he({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? ic("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : ic("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? Yse($) : Bse($);
|
|
}
|
|
function UN(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = he(he(he({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Ou] = "");
|
|
const c = he({}, i.styles);
|
|
Y4(o) && (c.transform = wse({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = R0(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function qse(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = he(he(he({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = R0(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Jw
|
|
} = Ra;
|
|
function dO(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ze.cssPrefix, "-").concat(qw.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ze.cssPrefix, "-").concat(qw.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ze.cssPrefix, "-").concat(qw.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const Kse = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function Xse(e, t) {
|
|
!TV && !ze.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function pO(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ze.styleDefault !== null && (t = ac()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = qV(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Jw[t] && Jw[t][e]) {
|
|
const a = Jw[t][e];
|
|
return n(dO(a));
|
|
}
|
|
Xse(e, t), n(he(he({}, Kse), {}, {
|
|
icon: ze.showMissingIcons && e ? ic("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const BN = () => {
|
|
}, mO = ze.measurePerformance && my && my.mark && my.measure ? my : {
|
|
mark: BN,
|
|
measure: BN
|
|
}, nh = 'FA "6.7.2"', Jse = (e) => (mO.mark("".concat(nh, " ").concat(e, " begins")), () => JV(e)), JV = (e) => {
|
|
mO.mark("".concat(nh, " ").concat(e, " ends")), mO.measure("".concat(nh, " ").concat(e), "".concat(nh, " ").concat(e, " begins"), "".concat(nh, " ").concat(e, " ends"));
|
|
};
|
|
var J4 = {
|
|
begin: Jse,
|
|
end: JV
|
|
};
|
|
const Ev = () => {
|
|
};
|
|
function YN(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Ou) : null) == "string";
|
|
}
|
|
function Qse(e) {
|
|
const t = e.getAttribute ? e.getAttribute(H4) : null, r = e.getAttribute ? e.getAttribute(G4) : null;
|
|
return t && r;
|
|
}
|
|
function Zse(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ze.replacementClass);
|
|
}
|
|
function ele() {
|
|
return ze.autoReplaceSvg === !0 ? Av.replace : Av[ze.autoReplaceSvg] || Av.replace;
|
|
}
|
|
function tle(e) {
|
|
return Mr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function rle(e) {
|
|
return Mr.createElement(e);
|
|
}
|
|
function QV(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? tle : rle
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Mr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(QV(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function nle(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Av = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(QV(r), t);
|
|
}), t.getAttribute(Ou) === null && ze.keepOriginalSource) {
|
|
let r = Mr.createComment(nle(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~B4(t).indexOf(ze.replacementClass))
|
|
return Av.replace(e);
|
|
const n = new RegExp("".concat(ze.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ze.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => wb(a)).join(`
|
|
`);
|
|
t.setAttribute(Ou, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function qN(e) {
|
|
e();
|
|
}
|
|
function ZV(e, t) {
|
|
const r = typeof t == "function" ? t : Ev;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = qN;
|
|
ze.mutateApproach === ise && (n = oc.requestAnimationFrame || qN), n(() => {
|
|
const o = ele(), a = J4.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Q4 = !1;
|
|
function eH() {
|
|
Q4 = !0;
|
|
}
|
|
function hO() {
|
|
Q4 = !1;
|
|
}
|
|
let b1 = null;
|
|
function KN(e) {
|
|
if (!RN || !ze.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Ev,
|
|
nodeCallback: r = Ev,
|
|
pseudoElementsCallback: n = Ev,
|
|
observeMutationsRoot: o = Mr
|
|
} = e;
|
|
b1 = new RN((a) => {
|
|
if (Q4) return;
|
|
const i = ac();
|
|
ep(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !YN(s.addedNodes[0]) && (ze.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ze.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && YN(s.target) && ~dse.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && Qse(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = D0(B4(s.target));
|
|
s.target.setAttribute(H4, u || i), c && s.target.setAttribute(G4, c);
|
|
} else Zse(s.target) && r(s.target);
|
|
});
|
|
}), ps && b1.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function ole() {
|
|
b1 && b1.disconnect();
|
|
}
|
|
function ale(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function ile(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = D0(B4(e));
|
|
return o.prefix || (o.prefix = ac()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = Nse(o.prefix, e.innerText) || K4(o.prefix, zV(e.innerText))), !o.iconName && ze.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function sle(e) {
|
|
const t = ep(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ze.autoA11y && (r ? t["aria-labelledby"] = "".concat(ze.replacementClass, "-title-").concat(n || vg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function lle() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: ja,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function XN(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = ile(e), a = sle(e), i = uO("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? ale(e) : [];
|
|
return he({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: ja,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: cle
|
|
} = Ra;
|
|
function tH(e) {
|
|
const t = ze.autoReplaceSvg === "nest" ? XN(e, {
|
|
styleParser: !1
|
|
}) : XN(e);
|
|
return ~t.extra.classes.indexOf(jV) ? ic("generateLayersText", e, t) : ic("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function ule() {
|
|
return [...Gie, ...nO];
|
|
}
|
|
function JN(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!ps) return Promise.resolve();
|
|
const r = Mr.documentElement.classList, n = (d) => r.add("".concat(FN, "-").concat(d)), o = (d) => r.remove("".concat(FN, "-").concat(d)), a = ze.autoFetchSvg ? ule() : EV.concat(Object.keys(cle));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(jV, ":not([").concat(Ou, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Ou, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = ep(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = J4.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = tH(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
TV || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
ZV(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function fle(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
tH(e).then((r) => {
|
|
r && ZV([r], t);
|
|
});
|
|
}
|
|
function dle(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : fO(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : fO(o || {})), e(n, he(he({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const ple = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ja,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return F0(he({
|
|
type: "icon"
|
|
}, e), () => (Su("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ze.autoA11y && (i ? c["aria-labelledby"] = "".concat(ze.replacementClass, "-title-").concat(s || vg()) : (c["aria-hidden"] = "true", c.focusable = "false")), X4({
|
|
icons: {
|
|
main: dO(p),
|
|
mask: o ? dO(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: he(he({}, ja), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var mle = {
|
|
mixout() {
|
|
return {
|
|
icon: dle(ple)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = JN, e.nodeCallback = fle, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Mr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return JN(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([pO(n, i), c.iconName ? pO(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, X4({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = R0(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return Y4(a) && (u = ic("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, hle = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return F0({
|
|
type: "layer"
|
|
}, () => {
|
|
Su("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ze.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, gle = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return F0({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Su("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), qse({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ze.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, ble = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ja,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return F0({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Su("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), UN({
|
|
content: e,
|
|
transform: he(he({}, ja), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ze.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (OV) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return ze.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, UN({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const yle = new RegExp('"', "ug"), QN = [1105920, 1112319], ZN = he(he(he(he({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), Wie), ose), Jie), gO = Object.keys(ZN).reduce((e, t) => (e[t.toLowerCase()] = ZN[t], e), {}), vle = Object.keys(gO).reduce((e, t) => {
|
|
const r = gO[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function xle(e) {
|
|
const t = e.replace(yle, ""), r = Sse(t, 0), n = r >= QN[0] && r <= QN[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: zV(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function wle(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (gO[r] || {})[o] || vle[r];
|
|
}
|
|
function eT(e, t) {
|
|
const r = "".concat(ase).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = ep(e.children).filter((l) => l.getAttribute(aO) === t)[0], i = oc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(use), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = wle(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = xle(l), m = u[0].startsWith("FontAwesome");
|
|
let h = K4(f, p), w = h;
|
|
if (m) {
|
|
const $ = Tse(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(H4) !== f || a.getAttribute(G4) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = lle(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[aO] = t, pO(h, f).then((S) => {
|
|
const b = X4(he(he({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: KV()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Mr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => wb(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function $le(e) {
|
|
return Promise.all([eT(e, "::before"), eT(e, "::after")]);
|
|
}
|
|
function kle(e) {
|
|
return e.parentNode !== document.head && !~sse.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(aO) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function tT(e) {
|
|
if (ps)
|
|
return new Promise((t, r) => {
|
|
const n = ep(e.querySelectorAll("*")).filter(kle).map($le), o = J4.begin("searchPseudoElements");
|
|
eH(), Promise.all(n).then(() => {
|
|
o(), hO(), t();
|
|
}).catch(() => {
|
|
o(), hO(), r();
|
|
});
|
|
});
|
|
}
|
|
var _le = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = tT, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Mr
|
|
} = t;
|
|
ze.searchPseudoElements && tT(r);
|
|
};
|
|
}
|
|
};
|
|
let rT = !1;
|
|
var Ole = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
eH(), rT = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
KN(uO("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
ole();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
rT ? hO() : KN(uO("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const nT = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var Sle = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => nT(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = nT(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: he({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: he({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: he(he({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Qw = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function oT(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function Ele(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var Ale = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? D0(r.split(" ").map((o) => o.trim())) : KV();
|
|
return n.prefix || (n.prefix = ac()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = xse({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: he(he({}, Qw), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(oT)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: he({}, f.inner),
|
|
children: [oT(he({
|
|
tag: c.tag,
|
|
attributes: he(he({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: he({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || vg()), $ = "clip-".concat(i || vg()), _ = {
|
|
tag: "mask",
|
|
attributes: he(he({}, Qw), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: Ele(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: he({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, Qw)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Ple = {
|
|
provides(e) {
|
|
let t = !1;
|
|
oc.matchMedia && (t = oc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: he(he({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = he(he({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: he(he({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: he(he({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: he(he({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: he(he({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: he(he({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: he(he({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: he(he({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, Cle = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, Nle = [kse, mle, hle, gle, ble, _le, Ole, Sle, Ale, Ple, Cle];
|
|
Wse(Nle, {
|
|
mixoutsTo: oo
|
|
});
|
|
oo.noAuto;
|
|
oo.config;
|
|
oo.library;
|
|
oo.dom;
|
|
const bO = oo.parse;
|
|
oo.findIconDefinition;
|
|
oo.toHtml;
|
|
const Tle = oo.icon;
|
|
oo.layer;
|
|
oo.text;
|
|
oo.counter;
|
|
function Ile(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var gy = { exports: {} }, Zw = { exports: {} }, Bt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var aT;
|
|
function jle() {
|
|
if (aT) return Bt;
|
|
aT = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return Bt.AsyncMode = u, Bt.ConcurrentMode = c, Bt.ContextConsumer = s, Bt.ContextProvider = i, Bt.Element = t, Bt.ForwardRef = d, Bt.Fragment = n, Bt.Lazy = y, Bt.Memo = p, Bt.Portal = r, Bt.Profiler = a, Bt.StrictMode = o, Bt.Suspense = l, Bt.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, Bt.isConcurrentMode = S, Bt.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, Bt.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, Bt.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Bt.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, Bt.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, Bt.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, Bt.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, Bt.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, Bt.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, Bt.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, Bt.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, Bt.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, Bt.typeOf = _, Bt;
|
|
}
|
|
var ir = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var iT;
|
|
function Rle() {
|
|
return iT || (iT = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
ir.AsyncMode = b, ir.ConcurrentMode = F, ir.ContextConsumer = z, ir.ContextProvider = q, ir.Element = Y, ir.ForwardRef = B, ir.Fragment = Z, ir.Lazy = M, ir.Memo = te, ir.Portal = G, ir.Profiler = H, ir.StrictMode = U, ir.Suspense = W, ir.isAsyncMode = ee, ir.isConcurrentMode = v, ir.isContextConsumer = g, ir.isContextProvider = O, ir.isElement = P, ir.isForwardRef = A, ir.isFragment = T, ir.isLazy = N, ir.isMemo = C, ir.isPortal = I, ir.isProfiler = j, ir.isStrictMode = R, ir.isSuspense = Q, ir.isValidElementType = _, ir.typeOf = S;
|
|
}()), ir;
|
|
}
|
|
var sT;
|
|
function rH() {
|
|
return sT || (sT = 1, process.env.NODE_ENV === "production" ? Zw.exports = jle() : Zw.exports = Rle()), Zw.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var e2, lT;
|
|
function Mle() {
|
|
if (lT) return e2;
|
|
lT = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return e2 = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, e2;
|
|
}
|
|
var t2, cT;
|
|
function Z4() {
|
|
if (cT) return t2;
|
|
cT = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return t2 = e, t2;
|
|
}
|
|
var uT, fT;
|
|
function nH() {
|
|
return fT || (fT = 1, uT = Function.call.bind(Object.prototype.hasOwnProperty)), uT;
|
|
}
|
|
var r2, dT;
|
|
function Dle() {
|
|
if (dT) return r2;
|
|
dT = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Z4(), r = {}, n = /* @__PURE__ */ nH();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, r2 = o, r2;
|
|
}
|
|
var n2, pT;
|
|
function Fle() {
|
|
if (pT) return n2;
|
|
pT = 1;
|
|
var e = rH(), t = Mle(), r = /* @__PURE__ */ Z4(), n = /* @__PURE__ */ nH(), o = /* @__PURE__ */ Dle(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return n2 = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, n2;
|
|
}
|
|
var o2, mT;
|
|
function Lle() {
|
|
if (mT) return o2;
|
|
mT = 1;
|
|
var e = /* @__PURE__ */ Z4();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, o2 = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, o2;
|
|
}
|
|
var hT;
|
|
function zle() {
|
|
if (hT) return gy.exports;
|
|
if (hT = 1, process.env.NODE_ENV !== "production") {
|
|
var e = rH(), t = !0;
|
|
gy.exports = /* @__PURE__ */ Fle()(e.isElement, t);
|
|
} else
|
|
gy.exports = /* @__PURE__ */ Lle()();
|
|
return gy.exports;
|
|
}
|
|
var Wle = /* @__PURE__ */ zle();
|
|
const Et = /* @__PURE__ */ Ile(Wle);
|
|
function gT(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ya(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? gT(Object(r), !0).forEach(function(n) {
|
|
Ef(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : gT(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function y1(e) {
|
|
"@babel/helpers - typeof";
|
|
return y1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, y1(e);
|
|
}
|
|
function Ef(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Vle(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function Hle(e, t) {
|
|
if (e == null) return {};
|
|
var r = Vle(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function yO(e) {
|
|
return Gle(e) || Ule(e) || Ble(e) || Yle();
|
|
}
|
|
function Gle(e) {
|
|
if (Array.isArray(e)) return vO(e);
|
|
}
|
|
function Ule(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function Ble(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return vO(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return vO(e, t);
|
|
}
|
|
}
|
|
function vO(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function Yle() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function qle(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Ef(t, "fa-".concat(w), typeof w < "u" && w !== null), Ef(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Ef(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Ef(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function Kle(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function oH(e) {
|
|
return Kle(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var Xle = ["style"];
|
|
function Jle(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function Qle(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = oH(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[Jle(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function aH(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return aH(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = Qle(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[oH(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = Hle(r, Xle);
|
|
return o.attrs.style = ya(ya({}, o.attrs.style), i), e.apply(void 0, [t.tag, ya(ya({}, o.attrs), s)].concat(yO(n)));
|
|
}
|
|
var iH = !1;
|
|
try {
|
|
iH = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function Zle() {
|
|
if (!iH && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function bT(e) {
|
|
if (e && y1(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (bO.icon)
|
|
return bO.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && y1(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function a2(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ef({}, e, t) : {};
|
|
}
|
|
var yT = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, wg = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = ya(ya({}, yT), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = bT(n), l = a2("classes", [].concat(yO(qle(r)), yO((i || "").split(" ")))), f = a2("transform", typeof r.transform == "string" ? bO.transform(r.transform) : r.transform), p = a2("mask", bT(o)), y = Tle(d, ya(ya(ya(ya({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return Zle("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
yT.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), ece(m[0], h);
|
|
});
|
|
wg.displayName = "FontAwesomeIcon";
|
|
wg.propTypes = {
|
|
beat: Et.bool,
|
|
border: Et.bool,
|
|
beatFade: Et.bool,
|
|
bounce: Et.bool,
|
|
className: Et.string,
|
|
fade: Et.bool,
|
|
flash: Et.bool,
|
|
mask: Et.oneOfType([Et.object, Et.array, Et.string]),
|
|
maskId: Et.string,
|
|
fixedWidth: Et.bool,
|
|
inverse: Et.bool,
|
|
flip: Et.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Et.oneOfType([Et.object, Et.array, Et.string]),
|
|
listItem: Et.bool,
|
|
pull: Et.oneOf(["right", "left"]),
|
|
pulse: Et.bool,
|
|
rotation: Et.oneOf([0, 90, 180, 270]),
|
|
shake: Et.bool,
|
|
size: Et.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Et.bool,
|
|
spinPulse: Et.bool,
|
|
spinReverse: Et.bool,
|
|
symbol: Et.oneOfType([Et.bool, Et.string]),
|
|
title: Et.string,
|
|
titleId: Et.string,
|
|
transform: Et.oneOfType([Et.string, Et.object]),
|
|
swapOpacity: Et.bool
|
|
};
|
|
var ece = aH.bind(null, ae.createElement);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const tce = {
|
|
prefix: "fas",
|
|
iconName: "xmark",
|
|
icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]
|
|
};
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function rce(e, t, r) {
|
|
return (t = oce(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function vT(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ge(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? vT(Object(r), !0).forEach(function(n) {
|
|
rce(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : vT(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function nce(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function oce(e) {
|
|
var t = nce(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const xT = () => {
|
|
};
|
|
let e3 = {}, sH = {}, lH = null, cH = {
|
|
mark: xT,
|
|
measure: xT
|
|
};
|
|
try {
|
|
typeof window < "u" && (e3 = window), typeof document < "u" && (sH = document), typeof MutationObserver < "u" && (lH = MutationObserver), typeof performance < "u" && (cH = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: wT = ""
|
|
} = e3.navigator || {}, sc = e3, Dr = sH, $T = lH, by = cH;
|
|
sc.document;
|
|
const ms = !!Dr.documentElement && !!Dr.head && typeof Dr.addEventListener == "function" && typeof Dr.createElement == "function", uH = ~wT.indexOf("MSIE") || ~wT.indexOf("Trident/");
|
|
var ace = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, ice = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, fH = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, sce = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, dH = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xn = "classic", L0 = "duotone", lce = "sharp", cce = "sharp-duotone", pH = [xn, L0, lce, cce], uce = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, fce = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, dce = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), pce = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, mce = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], kT = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, hce = ["kit"], gce = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, bce = ["fak", "fakd"], yce = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, _T = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, yy = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, vce = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xce = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], wce = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, $ce = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, kce = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, xO = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, _ce = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], wO = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...vce, ..._ce], Oce = ["solid", "regular", "light", "thin", "duotone", "brands"], mH = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Sce = mH.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Ece = [...Object.keys(kce), ...Oce, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", yy.GROUP, yy.SWAP_OPACITY, yy.PRIMARY, yy.SECONDARY].concat(mH.map((e) => "".concat(e, "x"))).concat(Sce.map((e) => "w-".concat(e))), Ace = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const Vi = "___FONT_AWESOME___", $O = 16, hH = "fa", gH = "svg-inline--fa", Eu = "data-fa-i2svg", kO = "data-fa-pseudo-element", Pce = "data-fa-pseudo-element-pending", t3 = "data-prefix", r3 = "data-icon", OT = "fontawesome-i2svg", Cce = "async", Nce = ["HTML", "HEAD", "STYLE", "SCRIPT"], bH = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function $b(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[xn];
|
|
}
|
|
});
|
|
}
|
|
const yH = ge({}, fH);
|
|
yH[xn] = ge(ge(ge(ge({}, {
|
|
"fa-duotone": "duotone"
|
|
}), fH[xn]), kT.kit), kT["kit-duotone"]);
|
|
const Tce = $b(yH), _O = ge({}, pce);
|
|
_O[xn] = ge(ge(ge(ge({}, {
|
|
duotone: "fad"
|
|
}), _O[xn]), _T.kit), _T["kit-duotone"]);
|
|
const ST = $b(_O), OO = ge({}, xO);
|
|
OO[xn] = ge(ge({}, OO[xn]), yce.kit);
|
|
const n3 = $b(OO), SO = ge({}, $ce);
|
|
SO[xn] = ge(ge({}, SO[xn]), gce.kit);
|
|
$b(SO);
|
|
const Ice = ace, vH = "fa-layers-text", jce = ice, Rce = ge({}, uce);
|
|
$b(Rce);
|
|
const Mce = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], i2 = sce, Dce = [...hce, ...Ece], Ph = sc.FontAwesomeConfig || {};
|
|
function Fce(e) {
|
|
var t = Dr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function Lce(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Dr && typeof Dr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = Lce(Fce(t));
|
|
n != null && (Ph[r] = n);
|
|
});
|
|
const xH = {
|
|
styleDefault: "solid",
|
|
familyDefault: xn,
|
|
cssPrefix: hH,
|
|
replacementClass: gH,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Ph.familyPrefix && (Ph.cssPrefix = Ph.familyPrefix);
|
|
const Md = ge(ge({}, xH), Ph);
|
|
Md.autoReplaceSvg || (Md.observeMutations = !1);
|
|
const We = {};
|
|
Object.keys(xH).forEach((e) => {
|
|
Object.defineProperty(We, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Md[e] = t, Ch.forEach((r) => r(We));
|
|
},
|
|
get: function() {
|
|
return Md[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(We, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Md.cssPrefix = e, Ch.forEach((t) => t(We));
|
|
},
|
|
get: function() {
|
|
return Md.cssPrefix;
|
|
}
|
|
});
|
|
sc.FontAwesomeConfig = We;
|
|
const Ch = [];
|
|
function zce(e) {
|
|
return Ch.push(e), () => {
|
|
Ch.splice(Ch.indexOf(e), 1);
|
|
};
|
|
}
|
|
const el = $O, Ma = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function Wce(e) {
|
|
if (!e || !ms)
|
|
return;
|
|
const t = Dr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Dr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Dr.head.insertBefore(t, n), e;
|
|
}
|
|
const Vce = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function $g() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += Vce[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function tp(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function o3(e) {
|
|
return e.classList ? tp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function wH(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function Hce(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(wH(e[r]), '" '), "").trim();
|
|
}
|
|
function z0(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function a3(e) {
|
|
return e.size !== Ma.size || e.x !== Ma.x || e.y !== Ma.y || e.rotate !== Ma.rotate || e.flipX || e.flipY;
|
|
}
|
|
function Gce(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function Uce(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = $O,
|
|
height: n = $O,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && uH ? a += "translate(".concat(t.x / el - r / 2, "em, ").concat(t.y / el - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / el, "em), calc(-50% + ").concat(t.y / el, "em)) ") : a += "translate(".concat(t.x / el, "em, ").concat(t.y / el, "em) "), a += "scale(".concat(t.size / el * (t.flipX ? -1 : 1), ", ").concat(t.size / el * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var Bce = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function $H() {
|
|
const e = hH, t = gH, r = We.cssPrefix, n = We.replacementClass;
|
|
let o = Bce;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let ET = !1;
|
|
function s2() {
|
|
We.autoAddCss && !ET && (Wce($H()), ET = !0);
|
|
}
|
|
var Yce = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: $H,
|
|
insertCss: s2
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
s2();
|
|
},
|
|
beforeI2svg() {
|
|
s2();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Hi = sc || {};
|
|
Hi[Vi] || (Hi[Vi] = {});
|
|
Hi[Vi].styles || (Hi[Vi].styles = {});
|
|
Hi[Vi].hooks || (Hi[Vi].hooks = {});
|
|
Hi[Vi].shims || (Hi[Vi].shims = []);
|
|
var Da = Hi[Vi];
|
|
const kH = [], _H = function() {
|
|
Dr.removeEventListener("DOMContentLoaded", _H), v1 = 1, kH.map((e) => e());
|
|
};
|
|
let v1 = !1;
|
|
ms && (v1 = (Dr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Dr.readyState), v1 || Dr.addEventListener("DOMContentLoaded", _H));
|
|
function qce(e) {
|
|
ms && (v1 ? setTimeout(e, 0) : kH.push(e));
|
|
}
|
|
function kb(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? wH(e) : "<".concat(t, " ").concat(Hce(r), ">").concat(n.map(kb).join(""), "</").concat(t, ">");
|
|
}
|
|
function AT(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var l2 = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function Kce(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function OH(e) {
|
|
const t = Kce(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function Xce(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function PT(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function EO(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = PT(t);
|
|
typeof Da.hooks.addPack == "function" && !n ? Da.hooks.addPack(e, PT(t)) : Da.styles[e] = ge(ge({}, Da.styles[e] || {}), o), e === "fas" && EO("fa", t);
|
|
}
|
|
const {
|
|
styles: kg,
|
|
shims: Jce
|
|
} = Da, SH = Object.keys(n3), Qce = SH.reduce((e, t) => (e[t] = Object.keys(n3[t]), e), {});
|
|
let i3 = null, EH = {}, AH = {}, PH = {}, CH = {}, NH = {};
|
|
function Zce(e) {
|
|
return ~Dce.indexOf(e);
|
|
}
|
|
function eue(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !Zce(o) ? o : null;
|
|
}
|
|
const TH = () => {
|
|
const e = (n) => l2(kg, (o, a, i) => (o[i] = l2(a, n, {}), o), {});
|
|
EH = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), AH = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), NH = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in kg || We.autoFetchSvg, r = l2(Jce, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
PH = r.names, CH = r.unicodes, i3 = W0(We.styleDefault, {
|
|
family: We.familyDefault
|
|
});
|
|
};
|
|
zce((e) => {
|
|
i3 = W0(e.styleDefault, {
|
|
family: We.familyDefault
|
|
});
|
|
});
|
|
TH();
|
|
function s3(e, t) {
|
|
return (EH[e] || {})[t];
|
|
}
|
|
function tue(e, t) {
|
|
return (AH[e] || {})[t];
|
|
}
|
|
function nu(e, t) {
|
|
return (NH[e] || {})[t];
|
|
}
|
|
function IH(e) {
|
|
return PH[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function rue(e) {
|
|
const t = CH[e], r = s3("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function lc() {
|
|
return i3;
|
|
}
|
|
const jH = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function nue(e) {
|
|
let t = xn;
|
|
const r = SH.reduce((n, o) => (n[o] = "".concat(We.cssPrefix, "-").concat(o), n), {});
|
|
return pH.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => Qce[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function W0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = xn
|
|
} = t, n = Tce[r][e];
|
|
if (r === L0 && !e)
|
|
return "fad";
|
|
const o = ST[r][e] || ST[r][n], a = e in Da.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function oue(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = eue(We.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function CT(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function V0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = wO.concat(xce), a = CT(e.filter((l) => o.includes(l))), i = CT(e.filter((l) => !wO.includes(l))), s = a.filter((l) => (n = l, !dH.includes(l))), [u = null] = s, c = nue(a), d = ge(ge({}, oue(i)), {}, {
|
|
prefix: W0(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return ge(ge(ge({}, d), lue({
|
|
values: e,
|
|
family: c,
|
|
styles: kg,
|
|
config: We,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), aue(r, n, d));
|
|
}
|
|
function aue(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? IH(o) : {}, i = nu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !kg.far && kg.fas && !We.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const iue = pH.filter((e) => e !== xn || e !== L0), sue = Object.keys(xO).filter((e) => e !== xn).map((e) => Object.keys(xO[e])).flat();
|
|
function lue(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === L0, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && iue.includes(r) && (Object.keys(a).find((l) => sue.includes(l)) || i.autoFetchSvg)) {
|
|
const l = dce.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = nu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = lc() || "fas"), n;
|
|
}
|
|
let cue = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = ge(ge({}, this.definitions[a] || {}), o[a]), EO(a, o[a]);
|
|
const i = n3[xn][a];
|
|
i && EO(i, o[a]), TH();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, NT = [], Af = {};
|
|
const od = {}, uue = Object.keys(od);
|
|
function fue(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return NT = e, Af = {}, Object.keys(od).forEach((n) => {
|
|
uue.indexOf(n) === -1 && delete od[n];
|
|
}), NT.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Af[i] || (Af[i] = []), Af[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(od);
|
|
}), r;
|
|
}
|
|
function AO(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Af[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Au(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Af[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function cc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return od[e] ? od[e].apply(null, t) : void 0;
|
|
}
|
|
function PO(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || lc();
|
|
if (t)
|
|
return t = nu(r, t) || t, AT(RH.definitions, r, t) || AT(Da.styles, r, t);
|
|
}
|
|
const RH = new cue(), due = () => {
|
|
We.autoReplaceSvg = !1, We.observeMutations = !1, Au("noAuto");
|
|
}, pue = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return ms ? (Au("beforeI2svg", e), cc("pseudoElements2svg", e), cc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
We.autoReplaceSvg === !1 && (We.autoReplaceSvg = !0), We.observeMutations = !0, qce(() => {
|
|
hue({
|
|
autoReplaceSvgRoot: t
|
|
}), Au("watch", e);
|
|
});
|
|
}
|
|
}, mue = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: nu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = W0(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: nu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(We.cssPrefix, "-")) > -1 || e.match(Ice))) {
|
|
const t = V0(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || lc(),
|
|
iconName: nu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = lc();
|
|
return {
|
|
prefix: t,
|
|
iconName: nu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, ao = {
|
|
noAuto: due,
|
|
config: We,
|
|
dom: pue,
|
|
parse: mue,
|
|
library: RH,
|
|
findIconDefinition: PO,
|
|
toHtml: kb
|
|
}, hue = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Dr
|
|
} = e;
|
|
(Object.keys(Da.styles).length > 0 || We.autoFetchSvg) && ms && We.autoReplaceSvg && ao.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function H0(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => kb(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!ms) return;
|
|
const r = Dr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function gue(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (a3(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = z0(ge(ge({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function bue(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(We.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ge(ge({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function l3(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = bce.includes(n), m = [We.replacementClass, o ? "".concat(We.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: ge(ge({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Eu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || $g())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = ge(ge({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ge(ge({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? cc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : cc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? bue($) : gue($);
|
|
}
|
|
function TT(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = ge(ge(ge({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Eu] = "");
|
|
const c = ge({}, i.styles);
|
|
a3(o) && (c.transform = Uce({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = z0(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function yue(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ge(ge(ge({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = z0(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: c2
|
|
} = Da;
|
|
function CO(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(We.cssPrefix, "-").concat(i2.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(We.cssPrefix, "-").concat(i2.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(We.cssPrefix, "-").concat(i2.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const vue = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function xue(e, t) {
|
|
!bH && !We.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function NO(e, t) {
|
|
let r = t;
|
|
return t === "fa" && We.styleDefault !== null && (t = lc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = IH(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && c2[t] && c2[t][e]) {
|
|
const a = c2[t][e];
|
|
return n(CO(a));
|
|
}
|
|
xue(e, t), n(ge(ge({}, vue), {}, {
|
|
icon: We.showMissingIcons && e ? cc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const IT = () => {
|
|
}, TO = We.measurePerformance && by && by.mark && by.measure ? by : {
|
|
mark: IT,
|
|
measure: IT
|
|
}, oh = 'FA "6.7.2"', wue = (e) => (TO.mark("".concat(oh, " ").concat(e, " begins")), () => MH(e)), MH = (e) => {
|
|
TO.mark("".concat(oh, " ").concat(e, " ends")), TO.measure("".concat(oh, " ").concat(e), "".concat(oh, " ").concat(e, " begins"), "".concat(oh, " ").concat(e, " ends"));
|
|
};
|
|
var c3 = {
|
|
begin: wue,
|
|
end: MH
|
|
};
|
|
const Pv = () => {
|
|
};
|
|
function jT(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Eu) : null) == "string";
|
|
}
|
|
function $ue(e) {
|
|
const t = e.getAttribute ? e.getAttribute(t3) : null, r = e.getAttribute ? e.getAttribute(r3) : null;
|
|
return t && r;
|
|
}
|
|
function kue(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(We.replacementClass);
|
|
}
|
|
function _ue() {
|
|
return We.autoReplaceSvg === !0 ? Cv.replace : Cv[We.autoReplaceSvg] || Cv.replace;
|
|
}
|
|
function Oue(e) {
|
|
return Dr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function Sue(e) {
|
|
return Dr.createElement(e);
|
|
}
|
|
function DH(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? Oue : Sue
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Dr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(DH(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function Eue(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Cv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(DH(r), t);
|
|
}), t.getAttribute(Eu) === null && We.keepOriginalSource) {
|
|
let r = Dr.createComment(Eue(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~o3(t).indexOf(We.replacementClass))
|
|
return Cv.replace(e);
|
|
const n = new RegExp("".concat(We.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === We.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => kb(a)).join(`
|
|
`);
|
|
t.setAttribute(Eu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function RT(e) {
|
|
e();
|
|
}
|
|
function FH(e, t) {
|
|
const r = typeof t == "function" ? t : Pv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = RT;
|
|
We.mutateApproach === Cce && (n = sc.requestAnimationFrame || RT), n(() => {
|
|
const o = _ue(), a = c3.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let u3 = !1;
|
|
function LH() {
|
|
u3 = !0;
|
|
}
|
|
function IO() {
|
|
u3 = !1;
|
|
}
|
|
let x1 = null;
|
|
function MT(e) {
|
|
if (!$T || !We.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Pv,
|
|
nodeCallback: r = Pv,
|
|
pseudoElementsCallback: n = Pv,
|
|
observeMutationsRoot: o = Dr
|
|
} = e;
|
|
x1 = new $T((a) => {
|
|
if (u3) return;
|
|
const i = lc();
|
|
tp(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !jT(s.addedNodes[0]) && (We.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && We.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && jT(s.target) && ~Mce.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && $ue(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = V0(o3(s.target));
|
|
s.target.setAttribute(t3, u || i), c && s.target.setAttribute(r3, c);
|
|
} else kue(s.target) && r(s.target);
|
|
});
|
|
}), ms && x1.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function Aue() {
|
|
x1 && x1.disconnect();
|
|
}
|
|
function Pue(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function Cue(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = V0(o3(e));
|
|
return o.prefix || (o.prefix = lc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = tue(o.prefix, e.innerText) || s3(o.prefix, OH(e.innerText))), !o.iconName && We.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function Nue(e) {
|
|
const t = tp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return We.autoA11y && (r ? t["aria-labelledby"] = "".concat(We.replacementClass, "-title-").concat(n || $g()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function Tue() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Ma,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function DT(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = Cue(e), a = Nue(e), i = AO("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? Pue(e) : [];
|
|
return ge({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Ma,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: Iue
|
|
} = Da;
|
|
function zH(e) {
|
|
const t = We.autoReplaceSvg === "nest" ? DT(e, {
|
|
styleParser: !1
|
|
}) : DT(e);
|
|
return ~t.extra.classes.indexOf(vH) ? cc("generateLayersText", e, t) : cc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function jue() {
|
|
return [...mce, ...wO];
|
|
}
|
|
function FT(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!ms) return Promise.resolve();
|
|
const r = Dr.documentElement.classList, n = (d) => r.add("".concat(OT, "-").concat(d)), o = (d) => r.remove("".concat(OT, "-").concat(d)), a = We.autoFetchSvg ? jue() : dH.concat(Object.keys(Iue));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(vH, ":not([").concat(Eu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Eu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = tp(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = c3.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = zH(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
bH || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
FH(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function Rue(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
zH(e).then((r) => {
|
|
r && FH([r], t);
|
|
});
|
|
}
|
|
function Mue(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : PO(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : PO(o || {})), e(n, ge(ge({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const Due = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ma,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return H0(ge({
|
|
type: "icon"
|
|
}, e), () => (Au("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), We.autoA11y && (i ? c["aria-labelledby"] = "".concat(We.replacementClass, "-title-").concat(s || $g()) : (c["aria-hidden"] = "true", c.focusable = "false")), l3({
|
|
icons: {
|
|
main: CO(p),
|
|
mask: o ? CO(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: ge(ge({}, Ma), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var Fue = {
|
|
mixout() {
|
|
return {
|
|
icon: Mue(Due)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = FT, e.nodeCallback = Rue, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Dr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return FT(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([NO(n, i), c.iconName ? NO(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, l3({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = z0(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return a3(a) && (u = cc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Lue = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return H0({
|
|
type: "layer"
|
|
}, () => {
|
|
Au("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(We.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, zue = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return H0({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Au("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), yue({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(We.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, Wue = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ma,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return H0({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Au("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), TT({
|
|
content: e,
|
|
transform: ge(ge({}, Ma), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(We.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (uH) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return We.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, TT({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const Vue = new RegExp('"', "ug"), LT = [1105920, 1112319], zT = ge(ge(ge(ge({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), fce), Ace), wce), jO = Object.keys(zT).reduce((e, t) => (e[t.toLowerCase()] = zT[t], e), {}), Hue = Object.keys(jO).reduce((e, t) => {
|
|
const r = jO[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function Gue(e) {
|
|
const t = e.replace(Vue, ""), r = Xce(t, 0), n = r >= LT[0] && r <= LT[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: OH(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function Uue(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (jO[r] || {})[o] || Hue[r];
|
|
}
|
|
function WT(e, t) {
|
|
const r = "".concat(Pce).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = tp(e.children).filter((l) => l.getAttribute(kO) === t)[0], i = sc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(jce), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = Uue(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = Gue(l), m = u[0].startsWith("FontAwesome");
|
|
let h = s3(f, p), w = h;
|
|
if (m) {
|
|
const $ = rue(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(t3) !== f || a.getAttribute(r3) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = Tue(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[kO] = t, NO(h, f).then((S) => {
|
|
const b = l3(ge(ge({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: jH()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Dr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => kb(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function Bue(e) {
|
|
return Promise.all([WT(e, "::before"), WT(e, "::after")]);
|
|
}
|
|
function Yue(e) {
|
|
return e.parentNode !== document.head && !~Nce.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(kO) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function VT(e) {
|
|
if (ms)
|
|
return new Promise((t, r) => {
|
|
const n = tp(e.querySelectorAll("*")).filter(Yue).map(Bue), o = c3.begin("searchPseudoElements");
|
|
LH(), Promise.all(n).then(() => {
|
|
o(), IO(), t();
|
|
}).catch(() => {
|
|
o(), IO(), r();
|
|
});
|
|
});
|
|
}
|
|
var que = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = VT, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Dr
|
|
} = t;
|
|
We.searchPseudoElements && VT(r);
|
|
};
|
|
}
|
|
};
|
|
let HT = !1;
|
|
var Kue = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
LH(), HT = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
MT(AO("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
Aue();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
HT ? IO() : MT(AO("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const GT = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var Xue = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => GT(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = GT(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ge({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ge({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ge(ge({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const u2 = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function UT(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function Jue(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var Que = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? V0(r.split(" ").map((o) => o.trim())) : jH();
|
|
return n.prefix || (n.prefix = lc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = Gce({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: ge(ge({}, u2), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(UT)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ge({}, f.inner),
|
|
children: [UT(ge({
|
|
tag: c.tag,
|
|
attributes: ge(ge({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: ge({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || $g()), $ = "clip-".concat(i || $g()), _ = {
|
|
tag: "mask",
|
|
attributes: ge(ge({}, u2), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: Jue(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: ge({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, u2)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Zue = {
|
|
provides(e) {
|
|
let t = !1;
|
|
sc.matchMedia && (t = sc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: ge(ge({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = ge(ge({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ge(ge({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ge(ge({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ge(ge({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ge(ge({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: ge(ge({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ge(ge({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: ge(ge({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, efe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, tfe = [Yce, Fue, Lue, zue, Wue, que, Kue, Xue, Que, Zue, efe];
|
|
fue(tfe, {
|
|
mixoutsTo: ao
|
|
});
|
|
ao.noAuto;
|
|
ao.config;
|
|
ao.library;
|
|
ao.dom;
|
|
const RO = ao.parse;
|
|
ao.findIconDefinition;
|
|
ao.toHtml;
|
|
const rfe = ao.icon;
|
|
ao.layer;
|
|
ao.text;
|
|
ao.counter;
|
|
function nfe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var vy = { exports: {} }, f2 = { exports: {} }, Yt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var BT;
|
|
function ofe() {
|
|
if (BT) return Yt;
|
|
BT = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return Yt.AsyncMode = u, Yt.ConcurrentMode = c, Yt.ContextConsumer = s, Yt.ContextProvider = i, Yt.Element = t, Yt.ForwardRef = d, Yt.Fragment = n, Yt.Lazy = y, Yt.Memo = p, Yt.Portal = r, Yt.Profiler = a, Yt.StrictMode = o, Yt.Suspense = l, Yt.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, Yt.isConcurrentMode = S, Yt.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, Yt.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, Yt.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Yt.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, Yt.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, Yt.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, Yt.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, Yt.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, Yt.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, Yt.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, Yt.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, Yt.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, Yt.typeOf = _, Yt;
|
|
}
|
|
var sr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var YT;
|
|
function afe() {
|
|
return YT || (YT = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
sr.AsyncMode = b, sr.ConcurrentMode = F, sr.ContextConsumer = z, sr.ContextProvider = q, sr.Element = Y, sr.ForwardRef = B, sr.Fragment = Z, sr.Lazy = M, sr.Memo = te, sr.Portal = G, sr.Profiler = H, sr.StrictMode = U, sr.Suspense = W, sr.isAsyncMode = ee, sr.isConcurrentMode = v, sr.isContextConsumer = g, sr.isContextProvider = O, sr.isElement = P, sr.isForwardRef = A, sr.isFragment = T, sr.isLazy = N, sr.isMemo = C, sr.isPortal = I, sr.isProfiler = j, sr.isStrictMode = R, sr.isSuspense = Q, sr.isValidElementType = _, sr.typeOf = S;
|
|
}()), sr;
|
|
}
|
|
var qT;
|
|
function WH() {
|
|
return qT || (qT = 1, process.env.NODE_ENV === "production" ? f2.exports = ofe() : f2.exports = afe()), f2.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var d2, KT;
|
|
function ife() {
|
|
if (KT) return d2;
|
|
KT = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return d2 = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, d2;
|
|
}
|
|
var p2, XT;
|
|
function f3() {
|
|
if (XT) return p2;
|
|
XT = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return p2 = e, p2;
|
|
}
|
|
var JT, QT;
|
|
function VH() {
|
|
return QT || (QT = 1, JT = Function.call.bind(Object.prototype.hasOwnProperty)), JT;
|
|
}
|
|
var m2, ZT;
|
|
function sfe() {
|
|
if (ZT) return m2;
|
|
ZT = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ f3(), r = {}, n = /* @__PURE__ */ VH();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, m2 = o, m2;
|
|
}
|
|
var h2, eI;
|
|
function lfe() {
|
|
if (eI) return h2;
|
|
eI = 1;
|
|
var e = WH(), t = ife(), r = /* @__PURE__ */ f3(), n = /* @__PURE__ */ VH(), o = /* @__PURE__ */ sfe(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return h2 = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, h2;
|
|
}
|
|
var g2, tI;
|
|
function cfe() {
|
|
if (tI) return g2;
|
|
tI = 1;
|
|
var e = /* @__PURE__ */ f3();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, g2 = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, g2;
|
|
}
|
|
var rI;
|
|
function ufe() {
|
|
if (rI) return vy.exports;
|
|
if (rI = 1, process.env.NODE_ENV !== "production") {
|
|
var e = WH(), t = !0;
|
|
vy.exports = /* @__PURE__ */ lfe()(e.isElement, t);
|
|
} else
|
|
vy.exports = /* @__PURE__ */ cfe()();
|
|
return vy.exports;
|
|
}
|
|
var ffe = /* @__PURE__ */ ufe();
|
|
const At = /* @__PURE__ */ nfe(ffe);
|
|
function nI(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function va(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? nI(Object(r), !0).forEach(function(n) {
|
|
Pf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : nI(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function w1(e) {
|
|
"@babel/helpers - typeof";
|
|
return w1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, w1(e);
|
|
}
|
|
function Pf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function dfe(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function pfe(e, t) {
|
|
if (e == null) return {};
|
|
var r = dfe(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function MO(e) {
|
|
return mfe(e) || hfe(e) || gfe(e) || bfe();
|
|
}
|
|
function mfe(e) {
|
|
if (Array.isArray(e)) return DO(e);
|
|
}
|
|
function hfe(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function gfe(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return DO(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return DO(e, t);
|
|
}
|
|
}
|
|
function DO(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function bfe() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function yfe(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Pf(t, "fa-".concat(w), typeof w < "u" && w !== null), Pf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Pf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Pf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function vfe(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function HH(e) {
|
|
return vfe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var xfe = ["style"];
|
|
function wfe(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function $fe(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = HH(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[wfe(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function GH(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return GH(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = $fe(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[HH(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = pfe(r, xfe);
|
|
return o.attrs.style = va(va({}, o.attrs.style), i), e.apply(void 0, [t.tag, va(va({}, o.attrs), s)].concat(MO(n)));
|
|
}
|
|
var UH = !1;
|
|
try {
|
|
UH = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function kfe() {
|
|
if (!UH && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function oI(e) {
|
|
if (e && w1(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (RO.icon)
|
|
return RO.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && w1(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function b2(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Pf({}, e, t) : {};
|
|
}
|
|
var aI = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, d3 = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = va(va({}, aI), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = oI(n), l = b2("classes", [].concat(MO(yfe(r)), MO((i || "").split(" ")))), f = b2("transform", typeof r.transform == "string" ? RO.transform(r.transform) : r.transform), p = b2("mask", oI(o)), y = rfe(d, va(va(va(va({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return kfe("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
aI.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), _fe(m[0], h);
|
|
});
|
|
d3.displayName = "FontAwesomeIcon";
|
|
d3.propTypes = {
|
|
beat: At.bool,
|
|
border: At.bool,
|
|
beatFade: At.bool,
|
|
bounce: At.bool,
|
|
className: At.string,
|
|
fade: At.bool,
|
|
flash: At.bool,
|
|
mask: At.oneOfType([At.object, At.array, At.string]),
|
|
maskId: At.string,
|
|
fixedWidth: At.bool,
|
|
inverse: At.bool,
|
|
flip: At.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: At.oneOfType([At.object, At.array, At.string]),
|
|
listItem: At.bool,
|
|
pull: At.oneOf(["right", "left"]),
|
|
pulse: At.bool,
|
|
rotation: At.oneOf([0, 90, 180, 270]),
|
|
shake: At.bool,
|
|
size: At.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: At.bool,
|
|
spinPulse: At.bool,
|
|
spinReverse: At.bool,
|
|
symbol: At.oneOfType([At.bool, At.string]),
|
|
title: At.string,
|
|
titleId: At.string,
|
|
transform: At.oneOfType([At.string, At.object]),
|
|
swapOpacity: At.bool
|
|
};
|
|
var _fe = GH.bind(null, ae.createElement);
|
|
const p3 = "-", Ofe = (e) => {
|
|
const t = Efe(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(p3);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), BH(a, t) || Sfe(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, BH = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? BH(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(p3);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, iI = /^\[(.+)\]$/, Sfe = (e) => {
|
|
if (iI.test(e)) {
|
|
const t = iI.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, Efe = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return Pfe(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
FO(a, n, o, t);
|
|
}), n;
|
|
}, FO = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : sI(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (Afe(o)) {
|
|
FO(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
FO(i, sI(t, a), r, n);
|
|
});
|
|
});
|
|
}, sI = (e, t) => {
|
|
let r = e;
|
|
return t.split(p3).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, Afe = (e) => e.isThemeGetter, Pfe = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, Cfe = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, YH = "!", Nfe = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(YH), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, Tfe = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, Ife = (e) => ({
|
|
cache: Cfe(e.cacheSize),
|
|
parseClassName: Nfe(e),
|
|
...Ofe(e)
|
|
}), jfe = /\s+/, Rfe = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(jfe);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = Tfe(d).join(":"), w = l ? h + YH : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function Mfe() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = qH(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const qH = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = qH(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function Dfe(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = Ife(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = Rfe(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(Mfe.apply(null, arguments));
|
|
};
|
|
}
|
|
const Or = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, KH = /^\[(?:([a-z-]+):)?(.+)\]$/i, Ffe = /^\d+\/\d+$/, Lfe = /* @__PURE__ */ new Set(["px", "full", "screen"]), zfe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Wfe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Vfe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Hfe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Gfe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, vi = (e) => ad(e) || Lfe.has(e) || Ffe.test(e), tl = (e) => rp(e, "length", Qfe), ad = (e) => !!e && !Number.isNaN(Number(e)), y2 = (e) => rp(e, "number", ad), xm = (e) => !!e && Number.isInteger(Number(e)), Ufe = (e) => e.endsWith("%") && ad(e.slice(0, -1)), ut = (e) => KH.test(e), rl = (e) => zfe.test(e), Bfe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Yfe = (e) => rp(e, Bfe, XH), qfe = (e) => rp(e, "position", XH), Kfe = /* @__PURE__ */ new Set(["image", "url"]), Xfe = (e) => rp(e, Kfe, ede), Jfe = (e) => rp(e, "", Zfe), wm = () => !0, rp = (e, t, r) => {
|
|
const n = KH.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, Qfe = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
Wfe.test(e) && !Vfe.test(e)
|
|
), XH = () => !1, Zfe = (e) => Hfe.test(e), ede = (e) => Gfe.test(e), tde = () => {
|
|
const e = Or("colors"), t = Or("spacing"), r = Or("blur"), n = Or("brightness"), o = Or("borderColor"), a = Or("borderRadius"), i = Or("borderSpacing"), s = Or("borderWidth"), u = Or("contrast"), c = Or("grayscale"), d = Or("hueRotate"), l = Or("invert"), f = Or("gap"), p = Or("gradientColorStops"), y = Or("gradientColorStopPositions"), m = Or("inset"), h = Or("margin"), w = Or("opacity"), $ = Or("padding"), _ = Or("saturate"), S = Or("scale"), b = Or("sepia"), F = Or("skew"), z = Or("space"), q = Or("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", ut, t], M = () => [ut, t], te = () => ["", vi, tl], G = () => ["auto", ad, ut], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", ut], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [ad, ut];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [wm],
|
|
spacing: [vi, tl],
|
|
blur: ["none", "", rl, ut],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", rl, ut],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [Ufe, tl],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ut]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [rl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), ut]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", xm, ut]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", ut]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", xm, ut]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [wm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", xm, ut]
|
|
}, ut]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [wm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [xm, ut]
|
|
}, ut]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", ut]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ut]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", ut, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ut, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ut, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [rl]
|
|
}, rl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ut, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ut, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ut, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ut, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", rl, tl]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", y2]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [wm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", ut]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", ad, y2]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", vi, ut]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ut]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ut]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", vi, tl]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", vi, ut]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ut]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", ut]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), qfe]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", Yfe]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, Xfe]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [vi, ut]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [vi, tl]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [vi, tl]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", rl, Jfe]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [wm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", rl, ut]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ut]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ut]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ut]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [xm, ut]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", ut]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", ut]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", ut]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [vi, tl, y2]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, rde = /* @__PURE__ */ Dfe(tde), nde = ({
|
|
onClick: e,
|
|
className: t,
|
|
size: r = "md"
|
|
}) => /* @__PURE__ */ K(
|
|
"button",
|
|
{
|
|
onClick: e,
|
|
className: rde(
|
|
"flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white",
|
|
{
|
|
sm: "h-5 w-5 text-sm",
|
|
md: "h-7 w-7 text-md",
|
|
lg: "h-9 w-9 text-xl"
|
|
}[r],
|
|
t
|
|
),
|
|
children: /* @__PURE__ */ K(d3, { icon: tce })
|
|
}
|
|
);
|
|
var m3 = Ob(), it = (e) => _b(e, m3), h3 = Ob();
|
|
it.write = (e) => _b(e, h3);
|
|
var G0 = Ob();
|
|
it.onStart = (e) => _b(e, G0);
|
|
var g3 = Ob();
|
|
it.onFrame = (e) => _b(e, g3);
|
|
var b3 = Ob();
|
|
it.onFinish = (e) => _b(e, b3);
|
|
var id = [];
|
|
it.setTimeout = (e, t) => {
|
|
const r = it.now() + t, n = () => {
|
|
const a = id.findIndex((i) => i.cancel == n);
|
|
~a && id.splice(a, 1), Ul -= ~a ? 1 : 0;
|
|
}, o = { time: r, handler: e, cancel: n };
|
|
return id.splice(JH(r), 0, o), Ul += 1, QH(), o;
|
|
};
|
|
var JH = (e) => ~(~id.findIndex((t) => t.time > e) || ~id.length);
|
|
it.cancel = (e) => {
|
|
G0.delete(e), g3.delete(e), b3.delete(e), m3.delete(e), h3.delete(e);
|
|
};
|
|
it.sync = (e) => {
|
|
LO = !0, it.batchedUpdates(e), LO = !1;
|
|
};
|
|
it.throttle = (e) => {
|
|
let t;
|
|
function r() {
|
|
try {
|
|
e(...t);
|
|
} finally {
|
|
t = null;
|
|
}
|
|
}
|
|
function n(...o) {
|
|
t = o, it.onStart(r);
|
|
}
|
|
return n.handler = e, n.cancel = () => {
|
|
G0.delete(r), t = null;
|
|
}, n;
|
|
};
|
|
var y3 = typeof window < "u" ? window.requestAnimationFrame : (
|
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
() => {
|
|
}
|
|
);
|
|
it.use = (e) => y3 = e;
|
|
it.now = typeof performance < "u" ? () => performance.now() : Date.now;
|
|
it.batchedUpdates = (e) => e();
|
|
it.catch = console.error;
|
|
it.frameLoop = "always";
|
|
it.advance = () => {
|
|
it.frameLoop !== "demand" ? console.warn(
|
|
"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"
|
|
) : eG();
|
|
};
|
|
var Gl = -1, Ul = 0, LO = !1;
|
|
function _b(e, t) {
|
|
LO ? (t.delete(e), e(0)) : (t.add(e), QH());
|
|
}
|
|
function QH() {
|
|
Gl < 0 && (Gl = 0, it.frameLoop !== "demand" && y3(ZH));
|
|
}
|
|
function ode() {
|
|
Gl = -1;
|
|
}
|
|
function ZH() {
|
|
~Gl && (y3(ZH), it.batchedUpdates(eG));
|
|
}
|
|
function eG() {
|
|
const e = Gl;
|
|
Gl = it.now();
|
|
const t = JH(Gl);
|
|
if (t && (tG(id.splice(0, t), (r) => r.handler()), Ul -= t), !Ul) {
|
|
ode();
|
|
return;
|
|
}
|
|
G0.flush(), m3.flush(e ? Math.min(64, Gl - e) : 16.667), g3.flush(), h3.flush(), b3.flush();
|
|
}
|
|
function Ob() {
|
|
let e = /* @__PURE__ */ new Set(), t = e;
|
|
return {
|
|
add(r) {
|
|
Ul += t == e && !e.has(r) ? 1 : 0, e.add(r);
|
|
},
|
|
delete(r) {
|
|
return Ul -= t == e && e.has(r) ? 1 : 0, e.delete(r);
|
|
},
|
|
flush(r) {
|
|
t.size && (e = /* @__PURE__ */ new Set(), Ul -= t.size, tG(t, (n) => n(r) && e.add(n)), Ul += e.size, t = e);
|
|
}
|
|
};
|
|
}
|
|
function tG(e, t) {
|
|
e.forEach((r) => {
|
|
try {
|
|
t(r);
|
|
} catch (n) {
|
|
it.catch(n);
|
|
}
|
|
});
|
|
}
|
|
var ade = Object.defineProperty, ide = (e, t) => {
|
|
for (var r in t)
|
|
ade(e, r, { get: t[r], enumerable: !0 });
|
|
}, aa = {};
|
|
ide(aa, {
|
|
assign: () => lde,
|
|
colors: () => Zl,
|
|
createStringInterpolator: () => x3,
|
|
skipAnimation: () => nG,
|
|
to: () => rG,
|
|
willAdvance: () => w3
|
|
});
|
|
function zO() {
|
|
}
|
|
var sde = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), Ae = {
|
|
arr: Array.isArray,
|
|
obj: (e) => !!e && e.constructor.name === "Object",
|
|
fun: (e) => typeof e == "function",
|
|
str: (e) => typeof e == "string",
|
|
num: (e) => typeof e == "number",
|
|
und: (e) => e === void 0
|
|
};
|
|
function ji(e, t) {
|
|
if (Ae.arr(e)) {
|
|
if (!Ae.arr(t) || e.length !== t.length) return !1;
|
|
for (let r = 0; r < e.length; r++)
|
|
if (e[r] !== t[r]) return !1;
|
|
return !0;
|
|
}
|
|
return e === t;
|
|
}
|
|
var wt = (e, t) => e.forEach(t);
|
|
function ci(e, t, r) {
|
|
if (Ae.arr(e)) {
|
|
for (let n = 0; n < e.length; n++)
|
|
t.call(r, e[n], `${n}`);
|
|
return;
|
|
}
|
|
for (const n in e)
|
|
e.hasOwnProperty(n) && t.call(r, e[n], n);
|
|
}
|
|
var Rn = (e) => Ae.und(e) ? [] : Ae.arr(e) ? e : [e];
|
|
function Nh(e, t) {
|
|
if (e.size) {
|
|
const r = Array.from(e);
|
|
e.clear(), wt(r, t);
|
|
}
|
|
}
|
|
var ah = (e, ...t) => Nh(e, (r) => r(...t)), v3 = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), x3, rG, Zl = null, nG = !1, w3 = zO, lde = (e) => {
|
|
e.to && (rG = e.to), e.now && (it.now = e.now), e.colors !== void 0 && (Zl = e.colors), e.skipAnimation != null && (nG = e.skipAnimation), e.createStringInterpolator && (x3 = e.createStringInterpolator), e.requestAnimationFrame && it.use(e.requestAnimationFrame), e.batchedUpdates && (it.batchedUpdates = e.batchedUpdates), e.willAdvance && (w3 = e.willAdvance), e.frameLoop && (it.frameLoop = e.frameLoop);
|
|
}, Th = /* @__PURE__ */ new Set(), Co = [], v2 = [], $1 = 0, U0 = {
|
|
get idle() {
|
|
return !Th.size && !Co.length;
|
|
},
|
|
/** Advance the given animation on every frame until idle. */
|
|
start(e) {
|
|
$1 > e.priority ? (Th.add(e), it.onStart(cde)) : (oG(e), it(WO));
|
|
},
|
|
/** Advance all animations by the given time. */
|
|
advance: WO,
|
|
/** Call this when an animation's priority changes. */
|
|
sort(e) {
|
|
if ($1)
|
|
it.onFrame(() => U0.sort(e));
|
|
else {
|
|
const t = Co.indexOf(e);
|
|
~t && (Co.splice(t, 1), aG(e));
|
|
}
|
|
},
|
|
/**
|
|
* Clear all animations. For testing purposes.
|
|
*
|
|
* ☠️ Never call this from within the frameloop.
|
|
*/
|
|
clear() {
|
|
Co = [], Th.clear();
|
|
}
|
|
};
|
|
function cde() {
|
|
Th.forEach(oG), Th.clear(), it(WO);
|
|
}
|
|
function oG(e) {
|
|
Co.includes(e) || aG(e);
|
|
}
|
|
function aG(e) {
|
|
Co.splice(
|
|
ude(Co, (t) => t.priority > e.priority),
|
|
0,
|
|
e
|
|
);
|
|
}
|
|
function WO(e) {
|
|
const t = v2;
|
|
for (let r = 0; r < Co.length; r++) {
|
|
const n = Co[r];
|
|
$1 = n.priority, n.idle || (w3(n), n.advance(e), n.idle || t.push(n));
|
|
}
|
|
return $1 = 0, v2 = Co, v2.length = 0, Co = t, Co.length > 0;
|
|
}
|
|
function ude(e, t) {
|
|
const r = e.findIndex(t);
|
|
return r < 0 ? e.length : r;
|
|
}
|
|
var fde = {
|
|
transparent: 0,
|
|
aliceblue: 4042850303,
|
|
antiquewhite: 4209760255,
|
|
aqua: 16777215,
|
|
aquamarine: 2147472639,
|
|
azure: 4043309055,
|
|
beige: 4126530815,
|
|
bisque: 4293182719,
|
|
black: 255,
|
|
blanchedalmond: 4293643775,
|
|
blue: 65535,
|
|
blueviolet: 2318131967,
|
|
brown: 2771004159,
|
|
burlywood: 3736635391,
|
|
burntsienna: 3934150143,
|
|
cadetblue: 1604231423,
|
|
chartreuse: 2147418367,
|
|
chocolate: 3530104575,
|
|
coral: 4286533887,
|
|
cornflowerblue: 1687547391,
|
|
cornsilk: 4294499583,
|
|
crimson: 3692313855,
|
|
cyan: 16777215,
|
|
darkblue: 35839,
|
|
darkcyan: 9145343,
|
|
darkgoldenrod: 3095792639,
|
|
darkgray: 2846468607,
|
|
darkgreen: 6553855,
|
|
darkgrey: 2846468607,
|
|
darkkhaki: 3182914559,
|
|
darkmagenta: 2332068863,
|
|
darkolivegreen: 1433087999,
|
|
darkorange: 4287365375,
|
|
darkorchid: 2570243327,
|
|
darkred: 2332033279,
|
|
darksalmon: 3918953215,
|
|
darkseagreen: 2411499519,
|
|
darkslateblue: 1211993087,
|
|
darkslategray: 793726975,
|
|
darkslategrey: 793726975,
|
|
darkturquoise: 13554175,
|
|
darkviolet: 2483082239,
|
|
deeppink: 4279538687,
|
|
deepskyblue: 12582911,
|
|
dimgray: 1768516095,
|
|
dimgrey: 1768516095,
|
|
dodgerblue: 512819199,
|
|
firebrick: 2988581631,
|
|
floralwhite: 4294635775,
|
|
forestgreen: 579543807,
|
|
fuchsia: 4278255615,
|
|
gainsboro: 3705462015,
|
|
ghostwhite: 4177068031,
|
|
gold: 4292280575,
|
|
goldenrod: 3668254975,
|
|
gray: 2155905279,
|
|
green: 8388863,
|
|
greenyellow: 2919182335,
|
|
grey: 2155905279,
|
|
honeydew: 4043305215,
|
|
hotpink: 4285117695,
|
|
indianred: 3445382399,
|
|
indigo: 1258324735,
|
|
ivory: 4294963455,
|
|
khaki: 4041641215,
|
|
lavender: 3873897215,
|
|
lavenderblush: 4293981695,
|
|
lawngreen: 2096890111,
|
|
lemonchiffon: 4294626815,
|
|
lightblue: 2916673279,
|
|
lightcoral: 4034953471,
|
|
lightcyan: 3774873599,
|
|
lightgoldenrodyellow: 4210742015,
|
|
lightgray: 3553874943,
|
|
lightgreen: 2431553791,
|
|
lightgrey: 3553874943,
|
|
lightpink: 4290167295,
|
|
lightsalmon: 4288707327,
|
|
lightseagreen: 548580095,
|
|
lightskyblue: 2278488831,
|
|
lightslategray: 2005441023,
|
|
lightslategrey: 2005441023,
|
|
lightsteelblue: 2965692159,
|
|
lightyellow: 4294959359,
|
|
lime: 16711935,
|
|
limegreen: 852308735,
|
|
linen: 4210091775,
|
|
magenta: 4278255615,
|
|
maroon: 2147483903,
|
|
mediumaquamarine: 1724754687,
|
|
mediumblue: 52735,
|
|
mediumorchid: 3126187007,
|
|
mediumpurple: 2473647103,
|
|
mediumseagreen: 1018393087,
|
|
mediumslateblue: 2070474495,
|
|
mediumspringgreen: 16423679,
|
|
mediumturquoise: 1221709055,
|
|
mediumvioletred: 3340076543,
|
|
midnightblue: 421097727,
|
|
mintcream: 4127193855,
|
|
mistyrose: 4293190143,
|
|
moccasin: 4293178879,
|
|
navajowhite: 4292783615,
|
|
navy: 33023,
|
|
oldlace: 4260751103,
|
|
olive: 2155872511,
|
|
olivedrab: 1804477439,
|
|
orange: 4289003775,
|
|
orangered: 4282712319,
|
|
orchid: 3664828159,
|
|
palegoldenrod: 4008225535,
|
|
palegreen: 2566625535,
|
|
paleturquoise: 2951671551,
|
|
palevioletred: 3681588223,
|
|
papayawhip: 4293907967,
|
|
peachpuff: 4292524543,
|
|
peru: 3448061951,
|
|
pink: 4290825215,
|
|
plum: 3718307327,
|
|
powderblue: 2967529215,
|
|
purple: 2147516671,
|
|
rebeccapurple: 1714657791,
|
|
red: 4278190335,
|
|
rosybrown: 3163525119,
|
|
royalblue: 1097458175,
|
|
saddlebrown: 2336560127,
|
|
salmon: 4202722047,
|
|
sandybrown: 4104413439,
|
|
seagreen: 780883967,
|
|
seashell: 4294307583,
|
|
sienna: 2689740287,
|
|
silver: 3233857791,
|
|
skyblue: 2278484991,
|
|
slateblue: 1784335871,
|
|
slategray: 1887473919,
|
|
slategrey: 1887473919,
|
|
snow: 4294638335,
|
|
springgreen: 16744447,
|
|
steelblue: 1182971135,
|
|
tan: 3535047935,
|
|
teal: 8421631,
|
|
thistle: 3636451583,
|
|
tomato: 4284696575,
|
|
turquoise: 1088475391,
|
|
violet: 4001558271,
|
|
wheat: 4125012991,
|
|
white: 4294967295,
|
|
whitesmoke: 4126537215,
|
|
yellow: 4294902015,
|
|
yellowgreen: 2597139199
|
|
}, ea = "[-+]?\\d*\\.?\\d+", k1 = ea + "%";
|
|
function B0(...e) {
|
|
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)";
|
|
}
|
|
var dde = new RegExp("rgb" + B0(ea, ea, ea)), pde = new RegExp("rgba" + B0(ea, ea, ea, ea)), mde = new RegExp("hsl" + B0(ea, k1, k1)), hde = new RegExp(
|
|
"hsla" + B0(ea, k1, k1, ea)
|
|
), gde = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, bde = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, yde = /^#([0-9a-fA-F]{6})$/, vde = /^#([0-9a-fA-F]{8})$/;
|
|
function xde(e) {
|
|
let t;
|
|
return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = yde.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : Zl && Zl[e] !== void 0 ? Zl[e] : (t = dde.exec(e)) ? (mf(t[1]) << 24 | // r
|
|
mf(t[2]) << 16 | // g
|
|
mf(t[3]) << 8 | // b
|
|
255) >>> // a
|
|
0 : (t = pde.exec(e)) ? (mf(t[1]) << 24 | // r
|
|
mf(t[2]) << 16 | // g
|
|
mf(t[3]) << 8 | // b
|
|
uI(t[4])) >>> // a
|
|
0 : (t = gde.exec(e)) ? parseInt(
|
|
t[1] + t[1] + // r
|
|
t[2] + t[2] + // g
|
|
t[3] + t[3] + // b
|
|
"ff",
|
|
// a
|
|
16
|
|
) >>> 0 : (t = vde.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = bde.exec(e)) ? parseInt(
|
|
t[1] + t[1] + // r
|
|
t[2] + t[2] + // g
|
|
t[3] + t[3] + // b
|
|
t[4] + t[4],
|
|
// a
|
|
16
|
|
) >>> 0 : (t = mde.exec(e)) ? (lI(
|
|
cI(t[1]),
|
|
// h
|
|
xy(t[2]),
|
|
// s
|
|
xy(t[3])
|
|
// l
|
|
) | 255) >>> // a
|
|
0 : (t = hde.exec(e)) ? (lI(
|
|
cI(t[1]),
|
|
// h
|
|
xy(t[2]),
|
|
// s
|
|
xy(t[3])
|
|
// l
|
|
) | uI(t[4])) >>> // a
|
|
0 : null;
|
|
}
|
|
function x2(e, t, r) {
|
|
return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * 6 * r : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e;
|
|
}
|
|
function lI(e, t, r) {
|
|
const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = x2(o, n, e + 1 / 3), i = x2(o, n, e), s = x2(o, n, e - 1 / 3);
|
|
return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8;
|
|
}
|
|
function mf(e) {
|
|
const t = parseInt(e, 10);
|
|
return t < 0 ? 0 : t > 255 ? 255 : t;
|
|
}
|
|
function cI(e) {
|
|
return (parseFloat(e) % 360 + 360) % 360 / 360;
|
|
}
|
|
function uI(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255);
|
|
}
|
|
function xy(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 100 ? 1 : t / 100;
|
|
}
|
|
function fI(e) {
|
|
let t = xde(e);
|
|
if (t === null) return e;
|
|
t = t || 0;
|
|
const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, o = (t & 65280) >>> 8, a = (t & 255) / 255;
|
|
return `rgba(${r}, ${n}, ${o}, ${a})`;
|
|
}
|
|
var _g = (e, t, r) => {
|
|
if (Ae.fun(e))
|
|
return e;
|
|
if (Ae.arr(e))
|
|
return _g({
|
|
range: e,
|
|
output: t,
|
|
extrapolate: r
|
|
});
|
|
if (Ae.str(e.output[0]))
|
|
return x3(e);
|
|
const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", u = n.easing || ((c) => c);
|
|
return (c) => {
|
|
const d = $de(c, a);
|
|
return wde(
|
|
c,
|
|
a[d],
|
|
a[d + 1],
|
|
o[d],
|
|
o[d + 1],
|
|
u,
|
|
i,
|
|
s,
|
|
n.map
|
|
);
|
|
};
|
|
};
|
|
function wde(e, t, r, n, o, a, i, s, u) {
|
|
let c = u ? u(e) : e;
|
|
if (c < t) {
|
|
if (i === "identity") return c;
|
|
i === "clamp" && (c = t);
|
|
}
|
|
if (c > r) {
|
|
if (s === "identity") return c;
|
|
s === "clamp" && (c = r);
|
|
}
|
|
return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = a(c), n === -1 / 0 ? c = -c : o === 1 / 0 ? c = c + n : c = c * (o - n) + n, c);
|
|
}
|
|
function $de(e, t) {
|
|
for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r)
|
|
;
|
|
return r - 1;
|
|
}
|
|
var kde = {
|
|
linear: (e) => e
|
|
}, Og = Symbol.for("FluidValue.get"), Dd = Symbol.for("FluidValue.observers"), Oo = (e) => !!(e && e[Og]), Xn = (e) => e && e[Og] ? e[Og]() : e, dI = (e) => e[Dd] || null;
|
|
function _de(e, t) {
|
|
e.eventObserved ? e.eventObserved(t) : e(t);
|
|
}
|
|
function Sg(e, t) {
|
|
const r = e[Dd];
|
|
r && r.forEach((n) => {
|
|
_de(n, t);
|
|
});
|
|
}
|
|
var iG = class {
|
|
constructor(t) {
|
|
if (!t && !(t = this.get))
|
|
throw Error("Unknown getter");
|
|
Ode(this, t);
|
|
}
|
|
}, Ode = (e, t) => sG(e, Og, t);
|
|
function np(e, t) {
|
|
if (e[Og]) {
|
|
let r = e[Dd];
|
|
r || sG(e, Dd, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t));
|
|
}
|
|
return t;
|
|
}
|
|
function Eg(e, t) {
|
|
const r = e[Dd];
|
|
if (r && r.has(t)) {
|
|
const n = r.size - 1;
|
|
n ? r.delete(t) : e[Dd] = null, e.observerRemoved && e.observerRemoved(n, t);
|
|
}
|
|
}
|
|
var sG = (e, t, r) => Object.defineProperty(e, t, {
|
|
value: r,
|
|
writable: !0,
|
|
configurable: !0
|
|
}), Nv = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, Sde = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, pI = new RegExp(`(${Nv.source})(%|[a-z]+)`, "i"), Ede = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, Y0 = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, lG = (e) => {
|
|
const [t, r] = Ade(e);
|
|
if (!t || v3())
|
|
return e;
|
|
const n = window.getComputedStyle(document.documentElement).getPropertyValue(t);
|
|
return n ? n.trim() : r && r.startsWith("--") ? window.getComputedStyle(document.documentElement).getPropertyValue(r) || e : r && Y0.test(r) ? lG(r) : r || e;
|
|
}, Ade = (e) => {
|
|
const t = Y0.exec(e);
|
|
if (!t) return [,];
|
|
const [, r, n] = t;
|
|
return [r, n];
|
|
}, w2, Pde = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, cG = (e) => {
|
|
w2 || (w2 = Zl ? (
|
|
// match color names, ignore partial matches
|
|
new RegExp(`(${Object.keys(Zl).join("|")})(?!\\w)`, "g")
|
|
) : (
|
|
// never match
|
|
/^\b$/
|
|
));
|
|
const t = e.output.map((o) => Xn(o).replace(Y0, lG).replace(Sde, fI).replace(w2, fI)), r = t.map((o) => o.match(Nv).map(Number)), n = r[0].map(
|
|
(o, a) => r.map((i) => {
|
|
if (!(a in i))
|
|
throw Error('The arity of each "output" value must be equal');
|
|
return i[a];
|
|
})
|
|
).map(
|
|
(o) => _g({ ...e, output: o })
|
|
);
|
|
return (o) => {
|
|
var a;
|
|
const i = !pI.test(t[0]) && ((a = t.find((u) => pI.test(u))) == null ? void 0 : a.replace(Nv, ""));
|
|
let s = 0;
|
|
return t[0].replace(
|
|
Nv,
|
|
() => `${n[s++](o)}${i || ""}`
|
|
).replace(Ede, Pde);
|
|
};
|
|
}, $3 = "react-spring: ", uG = (e) => {
|
|
const t = e;
|
|
let r = !1;
|
|
if (typeof t != "function")
|
|
throw new TypeError(`${$3}once requires a function parameter`);
|
|
return (...n) => {
|
|
r || (t(...n), r = !0);
|
|
};
|
|
}, Cde = uG(console.warn);
|
|
function Nde() {
|
|
Cde(
|
|
`${$3}The "interpolate" function is deprecated in v9 (use "to" instead)`
|
|
);
|
|
}
|
|
var Tde = uG(console.warn);
|
|
function Ide() {
|
|
Tde(
|
|
`${$3}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`
|
|
);
|
|
}
|
|
function q0(e) {
|
|
return Ae.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR
|
|
!v3() && Y0.test(e) || e in (Zl || {}));
|
|
}
|
|
var Cf = v3() ? ue : pi, jde = () => {
|
|
const e = ne(!1);
|
|
return Cf(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
};
|
|
function fG() {
|
|
const e = de()[1], t = jde();
|
|
return () => {
|
|
t.current && e(Math.random());
|
|
};
|
|
}
|
|
var dG = (e) => ue(e, Rde), Rde = [];
|
|
function Mde(e) {
|
|
const t = ne(void 0);
|
|
return ue(() => {
|
|
t.current = e;
|
|
}), t.current;
|
|
}
|
|
var Ag = Symbol.for("Animated:node"), Dde = (e) => !!e && e[Ag] === e, ga = (e) => e && e[Ag], k3 = (e, t) => sde(e, Ag, t), K0 = (e) => e && e[Ag] && e[Ag].getPayload(), pG = class {
|
|
constructor() {
|
|
k3(this, this);
|
|
}
|
|
/** Get every `AnimatedValue` used by this node. */
|
|
getPayload() {
|
|
return this.payload || [];
|
|
}
|
|
}, X0 = class mG extends pG {
|
|
constructor(t) {
|
|
super(), this._value = t, this.done = !0, this.durationProgress = 0, Ae.num(this._value) && (this.lastPosition = this._value);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new mG(t);
|
|
}
|
|
getPayload() {
|
|
return [this];
|
|
}
|
|
getValue() {
|
|
return this._value;
|
|
}
|
|
setValue(t, r) {
|
|
return Ae.num(t) && (this.lastPosition = t, r && (t = Math.round(t / r) * r, this.done && (this.lastPosition = t))), this._value === t ? !1 : (this._value = t, !0);
|
|
}
|
|
reset() {
|
|
const { done: t } = this;
|
|
this.done = !1, Ae.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null);
|
|
}
|
|
}, _1 = class hG extends X0 {
|
|
constructor(t) {
|
|
super(0), this._string = null, this._toString = _g({
|
|
output: [t, t]
|
|
});
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new hG(t);
|
|
}
|
|
getValue() {
|
|
return this._string ?? (this._string = this._toString(this._value));
|
|
}
|
|
setValue(t) {
|
|
if (Ae.str(t)) {
|
|
if (t == this._string)
|
|
return !1;
|
|
this._string = t, this._value = 1;
|
|
} else if (super.setValue(t))
|
|
this._string = null;
|
|
else
|
|
return !1;
|
|
return !0;
|
|
}
|
|
reset(t) {
|
|
t && (this._toString = _g({
|
|
output: [this.getValue(), t]
|
|
})), this._value = 0, super.reset();
|
|
}
|
|
}, O1 = { dependencies: null }, J0 = class extends pG {
|
|
constructor(t) {
|
|
super(), this.source = t, this.setValue(t);
|
|
}
|
|
getValue(t) {
|
|
const r = {};
|
|
return ci(this.source, (n, o) => {
|
|
Dde(n) ? r[o] = n.getValue(t) : Oo(n) ? r[o] = Xn(n) : t || (r[o] = n);
|
|
}), r;
|
|
}
|
|
/** Replace the raw object data */
|
|
setValue(t) {
|
|
this.source = t, this.payload = this._makePayload(t);
|
|
}
|
|
reset() {
|
|
this.payload && wt(this.payload, (t) => t.reset());
|
|
}
|
|
/** Create a payload set. */
|
|
_makePayload(t) {
|
|
if (t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return ci(t, this._addToPayload, r), Array.from(r);
|
|
}
|
|
}
|
|
/** Add to a payload set. */
|
|
_addToPayload(t) {
|
|
O1.dependencies && Oo(t) && O1.dependencies.add(t);
|
|
const r = K0(t);
|
|
r && wt(r, (n) => this.add(n));
|
|
}
|
|
}, Fde = class gG extends J0 {
|
|
constructor(t) {
|
|
super(t);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new gG(t);
|
|
}
|
|
getValue() {
|
|
return this.source.map((t) => t.getValue());
|
|
}
|
|
setValue(t) {
|
|
const r = this.getPayload();
|
|
return t.length == r.length ? r.map((n, o) => n.setValue(t[o])).some(Boolean) : (super.setValue(t.map(Lde)), !0);
|
|
}
|
|
};
|
|
function Lde(e) {
|
|
return (q0(e) ? _1 : X0).create(e);
|
|
}
|
|
function VO(e) {
|
|
const t = ga(e);
|
|
return t ? t.constructor : Ae.arr(e) ? Fde : q0(e) ? _1 : X0;
|
|
}
|
|
var mI = (e, t) => {
|
|
const r = (
|
|
// Function components must use "forwardRef" to avoid being
|
|
// re-rendered on every animation frame.
|
|
!Ae.fun(e) || e.prototype && e.prototype.isReactComponent
|
|
);
|
|
return sf((n, o) => {
|
|
const a = ne(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
Ne(
|
|
(y) => {
|
|
a.current = Vde(o, y);
|
|
},
|
|
[o]
|
|
), [s, u] = Wde(n, t), c = fG(), d = () => {
|
|
const y = a.current;
|
|
r && !y || (y ? t.applyAnimatedValues(y, s.getValue(!0)) : !1) === !1 && c();
|
|
}, l = new zde(d, u), f = ne(void 0);
|
|
Cf(() => (f.current = l, wt(u, (y) => np(y, l)), () => {
|
|
f.current && (wt(
|
|
f.current.deps,
|
|
(y) => Eg(y, f.current)
|
|
), it.cancel(f.current.update));
|
|
})), ue(d, []), dG(() => () => {
|
|
const y = f.current;
|
|
wt(y.deps, (m) => Eg(m, y));
|
|
});
|
|
const p = t.getComponentProps(s.getValue());
|
|
return /* @__PURE__ */ V.createElement(e, { ...p, ref: i });
|
|
});
|
|
}, zde = class {
|
|
constructor(t, r) {
|
|
this.update = t, this.deps = r;
|
|
}
|
|
eventObserved(t) {
|
|
t.type == "change" && it.write(this.update);
|
|
}
|
|
};
|
|
function Wde(e, t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return O1.dependencies = r, e.style && (e = {
|
|
...e,
|
|
style: t.createAnimatedStyle(e.style)
|
|
}), e = new J0(e), O1.dependencies = null, [e, r];
|
|
}
|
|
function Vde(e, t) {
|
|
return e && (Ae.fun(e) ? e(t) : e.current = t), t;
|
|
}
|
|
var hI = Symbol.for("AnimatedComponent"), Hde = (e, {
|
|
applyAnimatedValues: t = () => !1,
|
|
createAnimatedStyle: r = (o) => new J0(o),
|
|
getComponentProps: n = (o) => o
|
|
} = {}) => {
|
|
const o = {
|
|
applyAnimatedValues: t,
|
|
createAnimatedStyle: r,
|
|
getComponentProps: n
|
|
}, a = (i) => {
|
|
const s = gI(i) || "Anonymous";
|
|
return Ae.str(i) ? i = a[i] || (a[i] = mI(i, o)) : i = i[hI] || (i[hI] = mI(i, o)), i.displayName = `Animated(${s})`, i;
|
|
};
|
|
return ci(e, (i, s) => {
|
|
Ae.arr(e) && (s = gI(i)), a[s] = a(i);
|
|
}), {
|
|
animated: a
|
|
};
|
|
}, gI = (e) => Ae.str(e) ? e : e && Ae.str(e.displayName) ? e.displayName : Ae.fun(e) && e.name || null;
|
|
function Jn(e, ...t) {
|
|
return Ae.fun(e) ? e(...t) : e;
|
|
}
|
|
var Ih = (e, t) => e === !0 || !!(t && e && (Ae.fun(e) ? e(t) : Rn(e).includes(t))), bG = (e, t) => Ae.obj(e) ? t && e[t] : e, yG = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, Gde = (e) => e, _3 = (e, t = Gde) => {
|
|
let r = Ude;
|
|
e.default && e.default !== !0 && (e = e.default, r = Object.keys(e));
|
|
const n = {};
|
|
for (const o of r) {
|
|
const a = t(e[o], o);
|
|
Ae.und(a) || (n[o] = a);
|
|
}
|
|
return n;
|
|
}, Ude = [
|
|
"config",
|
|
"onProps",
|
|
"onStart",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume",
|
|
"onRest"
|
|
], Bde = {
|
|
config: 1,
|
|
from: 1,
|
|
to: 1,
|
|
ref: 1,
|
|
loop: 1,
|
|
reset: 1,
|
|
pause: 1,
|
|
cancel: 1,
|
|
reverse: 1,
|
|
immediate: 1,
|
|
default: 1,
|
|
delay: 1,
|
|
onProps: 1,
|
|
onStart: 1,
|
|
onChange: 1,
|
|
onPause: 1,
|
|
onResume: 1,
|
|
onRest: 1,
|
|
onResolve: 1,
|
|
// Transition props
|
|
items: 1,
|
|
trail: 1,
|
|
sort: 1,
|
|
expires: 1,
|
|
initial: 1,
|
|
enter: 1,
|
|
update: 1,
|
|
leave: 1,
|
|
children: 1,
|
|
onDestroyed: 1,
|
|
// Internal props
|
|
keys: 1,
|
|
callId: 1,
|
|
parentId: 1
|
|
};
|
|
function Yde(e) {
|
|
const t = {};
|
|
let r = 0;
|
|
if (ci(e, (n, o) => {
|
|
Bde[o] || (t[o] = n, r++);
|
|
}), r)
|
|
return t;
|
|
}
|
|
function O3(e) {
|
|
const t = Yde(e);
|
|
if (t) {
|
|
const r = { to: t };
|
|
return ci(e, (n, o) => o in t || (r[o] = n)), r;
|
|
}
|
|
return { ...e };
|
|
}
|
|
function Pg(e) {
|
|
return e = Xn(e), Ae.arr(e) ? e.map(Pg) : q0(e) ? aa.createStringInterpolator({
|
|
range: [0, 1],
|
|
output: [e, e]
|
|
})(1) : e;
|
|
}
|
|
function qde(e) {
|
|
for (const t in e) return !0;
|
|
return !1;
|
|
}
|
|
function HO(e) {
|
|
return Ae.fun(e) || Ae.arr(e) && Ae.obj(e[0]);
|
|
}
|
|
function bI(e, t) {
|
|
var r;
|
|
(r = e.ref) == null || r.delete(e), t == null || t.delete(e);
|
|
}
|
|
function Kde(e, t) {
|
|
var r;
|
|
t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t);
|
|
}
|
|
var Xde = {
|
|
default: { tension: 170, friction: 26 }
|
|
}, GO = {
|
|
...Xde.default,
|
|
mass: 1,
|
|
damping: 1,
|
|
easing: kde.linear,
|
|
clamp: !1
|
|
}, Jde = class {
|
|
constructor() {
|
|
this.velocity = 0, Object.assign(this, GO);
|
|
}
|
|
};
|
|
function Qde(e, t, r) {
|
|
r && (r = { ...r }, yI(r, t), t = { ...r, ...t }), yI(e, t), Object.assign(e, t);
|
|
for (const i in GO)
|
|
e[i] == null && (e[i] = GO[i]);
|
|
let { frequency: n, damping: o } = e;
|
|
const { mass: a } = e;
|
|
return Ae.und(n) || (n < 0.01 && (n = 0.01), o < 0 && (o = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * a, e.friction = 4 * Math.PI * o * a / n), e;
|
|
}
|
|
function yI(e, t) {
|
|
if (!Ae.und(t.decay))
|
|
e.duration = void 0;
|
|
else {
|
|
const r = !Ae.und(t.tension) || !Ae.und(t.friction);
|
|
(r || !Ae.und(t.frequency) || !Ae.und(t.damping) || !Ae.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0);
|
|
}
|
|
}
|
|
var vI = [], Zde = class {
|
|
constructor() {
|
|
this.changed = !1, this.values = vI, this.toValues = null, this.fromValues = vI, this.config = new Jde(), this.immediate = !1;
|
|
}
|
|
};
|
|
function vG(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) {
|
|
return new Promise((i, s) => {
|
|
let u, c, d = Ih(r.cancel ?? (n == null ? void 0 : n.cancel), t);
|
|
if (d)
|
|
p();
|
|
else {
|
|
Ae.und(r.pause) || (o.paused = Ih(r.pause, t));
|
|
let y = n == null ? void 0 : n.pause;
|
|
y !== !0 && (y = o.paused || Ih(y, t)), u = Jn(r.delay || 0, t), y ? (o.resumeQueue.add(f), a.pause()) : (a.resume(), f());
|
|
}
|
|
function l() {
|
|
o.resumeQueue.add(f), o.timeouts.delete(c), c.cancel(), u = c.time - it.now();
|
|
}
|
|
function f() {
|
|
u > 0 && !aa.skipAnimation ? (o.delayed = !0, c = it.setTimeout(p, u), o.pauseQueue.add(l), o.timeouts.add(c)) : p();
|
|
}
|
|
function p() {
|
|
o.delayed && (o.delayed = !1), o.pauseQueue.delete(l), o.timeouts.delete(c), e <= (o.cancelId || 0) && (d = !0);
|
|
try {
|
|
a.start({ ...r, callId: e, cancel: d }, i);
|
|
} catch (y) {
|
|
s(y);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var S3 = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? sd(e.get()) : t.every((r) => r.noop) ? xG(e.get()) : Qo(
|
|
e.get(),
|
|
t.every((r) => r.finished)
|
|
), xG = (e) => ({
|
|
value: e,
|
|
noop: !0,
|
|
finished: !0,
|
|
cancelled: !1
|
|
}), Qo = (e, t, r = !1) => ({
|
|
value: e,
|
|
finished: t,
|
|
cancelled: r
|
|
}), sd = (e) => ({
|
|
value: e,
|
|
cancelled: !0,
|
|
finished: !1
|
|
});
|
|
function wG(e, t, r, n) {
|
|
const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: u } = r;
|
|
return !a && e === s && !t.reset ? u : r.promise = (async () => {
|
|
r.asyncId = o, r.asyncTo = e;
|
|
const c = _3(
|
|
t,
|
|
(h, w) => (
|
|
// The `onRest` prop is only called when the `runAsync` promise is resolved.
|
|
w === "onRest" ? void 0 : h
|
|
)
|
|
);
|
|
let d, l;
|
|
const f = new Promise(
|
|
(h, w) => (d = h, l = w)
|
|
), p = (h) => {
|
|
const w = (
|
|
// The `cancel` prop or `stop` method was used.
|
|
o <= (r.cancelId || 0) && sd(n) || // The async `to` prop was replaced.
|
|
o !== r.asyncId && Qo(n, !1)
|
|
);
|
|
if (w)
|
|
throw h.result = w, l(h), h;
|
|
}, y = (h, w) => {
|
|
const $ = new xI(), _ = new wI();
|
|
return (async () => {
|
|
if (aa.skipAnimation)
|
|
throw Cg(r), _.result = Qo(n, !1), l(_), _;
|
|
p($);
|
|
const S = Ae.obj(h) ? { ...h } : { ...w, to: h };
|
|
S.parentId = o, ci(c, (F, z) => {
|
|
Ae.und(S[z]) && (S[z] = F);
|
|
});
|
|
const b = await n.start(S);
|
|
return p($), r.paused && await new Promise((F) => {
|
|
r.resumeQueue.add(F);
|
|
}), b;
|
|
})();
|
|
};
|
|
let m;
|
|
if (aa.skipAnimation)
|
|
return Cg(r), Qo(n, !1);
|
|
try {
|
|
let h;
|
|
Ae.arr(e) ? h = (async (w) => {
|
|
for (const $ of w)
|
|
await y($);
|
|
})(e) : h = Promise.resolve(e(y, n.stop.bind(n))), await Promise.all([h.then(d), f]), m = Qo(n.get(), !0, !1);
|
|
} catch (h) {
|
|
if (h instanceof xI)
|
|
m = h.result;
|
|
else if (h instanceof wI)
|
|
m = h.result;
|
|
else
|
|
throw h;
|
|
} finally {
|
|
o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? u : void 0);
|
|
}
|
|
return Ae.fun(i) && it.batchedUpdates(() => {
|
|
i(m, n, n.item);
|
|
}), m;
|
|
})();
|
|
}
|
|
function Cg(e, t) {
|
|
Nh(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t);
|
|
}
|
|
var xI = class extends Error {
|
|
constructor() {
|
|
super(
|
|
"An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise."
|
|
);
|
|
}
|
|
}, wI = class extends Error {
|
|
constructor() {
|
|
super("SkipAnimationSignal");
|
|
}
|
|
}, UO = (e) => e instanceof E3, epe = 1, E3 = class extends iG {
|
|
constructor() {
|
|
super(...arguments), this.id = epe++, this._priority = 0;
|
|
}
|
|
get priority() {
|
|
return this._priority;
|
|
}
|
|
set priority(t) {
|
|
this._priority != t && (this._priority = t, this._onPriorityChange(t));
|
|
}
|
|
/** Get the current value */
|
|
get() {
|
|
const t = ga(this);
|
|
return t && t.getValue();
|
|
}
|
|
/** Create a spring that maps our value to another value */
|
|
to(...t) {
|
|
return aa.to(this, t);
|
|
}
|
|
/** @deprecated Use the `to` method instead. */
|
|
interpolate(...t) {
|
|
return Nde(), aa.to(this, t);
|
|
}
|
|
toJSON() {
|
|
return this.get();
|
|
}
|
|
observerAdded(t) {
|
|
t == 1 && this._attach();
|
|
}
|
|
observerRemoved(t) {
|
|
t == 0 && this._detach();
|
|
}
|
|
/** Called when the first child is added. */
|
|
_attach() {
|
|
}
|
|
/** Called when the last child is removed. */
|
|
_detach() {
|
|
}
|
|
/** Tell our children about our new value */
|
|
_onChange(t, r = !1) {
|
|
Sg(this, {
|
|
type: "change",
|
|
parent: this,
|
|
value: t,
|
|
idle: r
|
|
});
|
|
}
|
|
/** Tell our children about our new priority */
|
|
_onPriorityChange(t) {
|
|
this.idle || U0.sort(this), Sg(this, {
|
|
type: "priority",
|
|
parent: this,
|
|
priority: t
|
|
});
|
|
}
|
|
}, Pu = Symbol.for("SpringPhase"), $G = 1, kG = 2, _G = 4, $2 = (e) => (e[Pu] & $G) > 0, nl = (e) => (e[Pu] & kG) > 0, $m = (e) => (e[Pu] & _G) > 0, $I = (e, t) => t ? e[Pu] |= kG | $G : e[Pu] &= -3, kI = (e, t) => t ? e[Pu] |= _G : e[Pu] &= -5, tpe = class extends E3 {
|
|
constructor(t, r) {
|
|
if (super(), this.animation = new Zde(), this.defaultProps = {}, this._state = {
|
|
paused: !1,
|
|
delayed: !1,
|
|
pauseQueue: /* @__PURE__ */ new Set(),
|
|
resumeQueue: /* @__PURE__ */ new Set(),
|
|
timeouts: /* @__PURE__ */ new Set()
|
|
}, this._pendingCalls = /* @__PURE__ */ new Set(), this._lastCallId = 0, this._lastToId = 0, this._memoizedDuration = 0, !Ae.und(t) || !Ae.und(r)) {
|
|
const n = Ae.obj(t) ? { ...t } : { ...r, from: t };
|
|
Ae.und(n.default) && (n.default = !0), this.start(n);
|
|
}
|
|
}
|
|
/** Equals true when not advancing on each frame. */
|
|
get idle() {
|
|
return !(nl(this) || this._state.asyncTo) || $m(this);
|
|
}
|
|
get goal() {
|
|
return Xn(this.animation.to);
|
|
}
|
|
get velocity() {
|
|
const t = ga(this);
|
|
return t instanceof X0 ? t.lastVelocity || 0 : t.getPayload().map((r) => r.lastVelocity || 0);
|
|
}
|
|
/**
|
|
* When true, this value has been animated at least once.
|
|
*/
|
|
get hasAnimated() {
|
|
return $2(this);
|
|
}
|
|
/**
|
|
* When true, this value has an unfinished animation,
|
|
* which is either active or paused.
|
|
*/
|
|
get isAnimating() {
|
|
return nl(this);
|
|
}
|
|
/**
|
|
* When true, all current and future animations are paused.
|
|
*/
|
|
get isPaused() {
|
|
return $m(this);
|
|
}
|
|
/**
|
|
*
|
|
*
|
|
*/
|
|
get isDelayed() {
|
|
return this._state.delayed;
|
|
}
|
|
/** Advance the current animation by a number of milliseconds */
|
|
advance(t) {
|
|
let r = !0, n = !1;
|
|
const o = this.animation;
|
|
let { toValues: a } = o;
|
|
const { config: i } = o, s = K0(o.to);
|
|
!s && Oo(o.to) && (a = Rn(Xn(o.to))), o.values.forEach((d, l) => {
|
|
if (d.done) return;
|
|
const f = (
|
|
// Animated strings always go from 0 to 1.
|
|
d.constructor == _1 ? 1 : s ? s[l].lastPosition : a[l]
|
|
);
|
|
let p = o.immediate, y = f;
|
|
if (!p) {
|
|
if (y = d.lastPosition, i.tension <= 0) {
|
|
d.done = !0;
|
|
return;
|
|
}
|
|
let m = d.elapsedTime += t;
|
|
const h = o.fromValues[l], w = d.v0 != null ? d.v0 : d.v0 = Ae.arr(i.velocity) ? i.velocity[l] : i.velocity;
|
|
let $;
|
|
const _ = i.precision || (h == f ? 5e-3 : Math.min(1, Math.abs(f - h) * 1e-3));
|
|
if (Ae.und(i.duration))
|
|
if (i.decay) {
|
|
const S = i.decay === !0 ? 0.998 : i.decay, b = Math.exp(-(1 - S) * m);
|
|
y = h + w / (1 - S) * (1 - b), p = Math.abs(d.lastPosition - y) <= _, $ = w * b;
|
|
} else {
|
|
$ = d.lastVelocity == null ? w : d.lastVelocity;
|
|
const S = i.restVelocity || _ / 10, b = i.clamp ? 0 : i.bounce, F = !Ae.und(b), z = h == f ? d.v0 > 0 : h < f;
|
|
let q, Y = !1;
|
|
const B = 1, Z = Math.ceil(t / B);
|
|
for (let M = 0; M < Z && (q = Math.abs($) > S, !(!q && (p = Math.abs(f - y) <= _, p))); ++M) {
|
|
F && (Y = y == f || y > f == z, Y && ($ = -$ * b, y = f));
|
|
const te = -i.tension * 1e-6 * (y - f), G = -i.friction * 1e-3 * $, H = (te + G) / i.mass;
|
|
$ = $ + H * B, y = y + $ * B;
|
|
}
|
|
}
|
|
else {
|
|
let S = 1;
|
|
i.duration > 0 && (this._memoizedDuration !== i.duration && (this._memoizedDuration = i.duration, d.durationProgress > 0 && (d.elapsedTime = i.duration * d.durationProgress, m = d.elapsedTime += t)), S = (i.progress || 0) + m / this._memoizedDuration, S = S > 1 ? 1 : S < 0 ? 0 : S, d.durationProgress = S), y = h + i.easing(S) * (f - h), $ = (y - d.lastPosition) / t, p = S == 1;
|
|
}
|
|
d.lastVelocity = $, Number.isNaN(y) && (console.warn("Got NaN while animating:", this), p = !0);
|
|
}
|
|
s && !s[l].done && (p = !1), p ? d.done = !0 : r = !1, d.setValue(y, i.round) && (n = !0);
|
|
});
|
|
const u = ga(this), c = u.getValue();
|
|
if (r) {
|
|
const d = Xn(o.to);
|
|
(c !== d || n) && !i.decay ? (u.setValue(d), this._onChange(d)) : n && i.decay && this._onChange(c), this._stop();
|
|
} else n && this._onChange(c);
|
|
}
|
|
/** Set the current value, while stopping the current animation */
|
|
set(t) {
|
|
return it.batchedUpdates(() => {
|
|
this._stop(), this._focus(t), this._set(t);
|
|
}), this;
|
|
}
|
|
/**
|
|
* Freeze the active animation in time, as well as any updates merged
|
|
* before `resume` is called.
|
|
*/
|
|
pause() {
|
|
this._update({ pause: !0 });
|
|
}
|
|
/** Resume the animation if paused. */
|
|
resume() {
|
|
this._update({ pause: !1 });
|
|
}
|
|
/** Skip to the end of the current animation. */
|
|
finish() {
|
|
if (nl(this)) {
|
|
const { to: t, config: r } = this.animation;
|
|
it.batchedUpdates(() => {
|
|
this._onStart(), r.decay || this._set(t, !1), this._stop();
|
|
});
|
|
}
|
|
return this;
|
|
}
|
|
/** Push props into the pending queue. */
|
|
update(t) {
|
|
return (this.queue || (this.queue = [])).push(t), this;
|
|
}
|
|
start(t, r) {
|
|
let n;
|
|
return Ae.und(t) ? (n = this.queue || [], this.queue = []) : n = [Ae.obj(t) ? t : { ...r, to: t }], Promise.all(
|
|
n.map((o) => this._update(o))
|
|
).then((o) => S3(this, o));
|
|
}
|
|
/**
|
|
* Stop the current animation, and cancel any delayed updates.
|
|
*
|
|
* Pass `true` to call `onRest` with `cancelled: true`.
|
|
*/
|
|
stop(t) {
|
|
const { to: r } = this.animation;
|
|
return this._focus(this.get()), Cg(this._state, t && this._lastCallId), it.batchedUpdates(() => this._stop(r, t)), this;
|
|
}
|
|
/** Restart the animation. */
|
|
reset() {
|
|
this._update({ reset: !0 });
|
|
}
|
|
/** @internal */
|
|
eventObserved(t) {
|
|
t.type == "change" ? this._start() : t.type == "priority" && (this.priority = t.priority + 1);
|
|
}
|
|
/**
|
|
* Parse the `to` and `from` range from the given `props` object.
|
|
*
|
|
* This also ensures the initial value is available to animated components
|
|
* during the render phase.
|
|
*/
|
|
_prepareNode(t) {
|
|
const r = this.key || "";
|
|
let { to: n, from: o } = t;
|
|
n = Ae.obj(n) ? n[r] : n, (n == null || HO(n)) && (n = void 0), o = Ae.obj(o) ? o[r] : o, o == null && (o = void 0);
|
|
const a = { to: n, from: o };
|
|
return $2(this) || (t.reverse && ([n, o] = [o, n]), o = Xn(o), Ae.und(o) ? ga(this) || this._set(n) : this._set(o)), a;
|
|
}
|
|
/** Every update is processed by this method before merging. */
|
|
_update({ ...t }, r) {
|
|
const { key: n, defaultProps: o } = this;
|
|
t.default && Object.assign(
|
|
o,
|
|
_3(
|
|
t,
|
|
(s, u) => /^on/.test(u) ? bG(s, n) : s
|
|
)
|
|
), OI(this, t, "onProps"), _m(this, "onProps", t, this);
|
|
const a = this._prepareNode(t);
|
|
if (Object.isFrozen(this))
|
|
throw Error(
|
|
"Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?"
|
|
);
|
|
const i = this._state;
|
|
return vG(++this._lastCallId, {
|
|
key: n,
|
|
props: t,
|
|
defaultProps: o,
|
|
state: i,
|
|
actions: {
|
|
pause: () => {
|
|
$m(this) || (kI(this, !0), ah(i.pauseQueue), _m(
|
|
this,
|
|
"onPause",
|
|
Qo(this, km(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
resume: () => {
|
|
$m(this) && (kI(this, !1), nl(this) && this._resume(), ah(i.resumeQueue), _m(
|
|
this,
|
|
"onResume",
|
|
Qo(this, km(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
start: this._merge.bind(this, a)
|
|
}
|
|
}).then((s) => {
|
|
if (t.loop && s.finished && !(r && s.noop)) {
|
|
const u = OG(t);
|
|
if (u)
|
|
return this._update(u, !0);
|
|
}
|
|
return s;
|
|
});
|
|
}
|
|
/** Merge props into the current animation */
|
|
_merge(t, r, n) {
|
|
if (r.cancel)
|
|
return this.stop(!0), n(sd(this));
|
|
const o = !Ae.und(t.to), a = !Ae.und(t.from);
|
|
if (o || a)
|
|
if (r.callId > this._lastToId)
|
|
this._lastToId = r.callId;
|
|
else
|
|
return n(sd(this));
|
|
const { key: i, defaultProps: s, animation: u } = this, { to: c, from: d } = u;
|
|
let { to: l = c, from: f = d } = t;
|
|
a && !o && (!r.default || Ae.und(l)) && (l = f), r.reverse && ([l, f] = [f, l]);
|
|
const p = !ji(f, d);
|
|
p && (u.from = f), f = Xn(f);
|
|
const y = !ji(l, c);
|
|
y && this._focus(l);
|
|
const m = HO(r.to), { config: h } = u, { decay: w, velocity: $ } = h;
|
|
(o || a) && (h.velocity = 0), r.config && !m && Qde(
|
|
h,
|
|
Jn(r.config, i),
|
|
// Avoid calling the same "config" prop twice.
|
|
r.config !== s.config ? Jn(s.config, i) : void 0
|
|
);
|
|
let _ = ga(this);
|
|
if (!_ || Ae.und(l))
|
|
return n(Qo(this, !0));
|
|
const S = (
|
|
// When `reset` is undefined, the `from` prop implies `reset: true`,
|
|
// except for declarative updates. When `reset` is defined, there
|
|
// must exist a value to animate from.
|
|
Ae.und(r.reset) ? a && !r.default : !Ae.und(f) && Ih(r.reset, i)
|
|
), b = S ? f : this.get(), F = Pg(l), z = Ae.num(F) || Ae.arr(F) || q0(F), q = !m && (!z || Ih(s.immediate || r.immediate, i));
|
|
if (y) {
|
|
const M = VO(l);
|
|
if (M !== _.constructor)
|
|
if (q)
|
|
_ = this._set(F);
|
|
else
|
|
throw Error(
|
|
`Cannot animate between ${_.constructor.name} and ${M.name}, as the "to" prop suggests`
|
|
);
|
|
}
|
|
const Y = _.constructor;
|
|
let B = Oo(l), Z = !1;
|
|
if (!B) {
|
|
const M = S || !$2(this) && p;
|
|
(y || M) && (Z = ji(Pg(b), F), B = !Z), (!ji(u.immediate, q) && !q || !ji(h.decay, w) || !ji(h.velocity, $)) && (B = !0);
|
|
}
|
|
if (Z && nl(this) && (u.changed && !S ? B = !0 : B || this._stop(c)), !m && ((B || Oo(c)) && (u.values = _.getPayload(), u.toValues = Oo(l) ? null : Y == _1 ? [1] : Rn(F)), u.immediate != q && (u.immediate = q, !q && !S && this._set(c)), B)) {
|
|
const { onRest: M } = u;
|
|
wt(rpe, (G) => OI(this, r, G));
|
|
const te = Qo(this, km(this, c));
|
|
ah(this._pendingCalls, te), this._pendingCalls.add(n), u.changed && it.batchedUpdates(() => {
|
|
var G;
|
|
u.changed = !S, M == null || M(te, this), S ? Jn(s.onRest, te) : (G = u.onStart) == null || G.call(u, te, this);
|
|
});
|
|
}
|
|
S && this._set(b), m ? n(wG(r.to, r, this._state, this)) : B ? this._start() : nl(this) && !y ? this._pendingCalls.add(n) : n(xG(b));
|
|
}
|
|
/** Update the `animation.to` value, which might be a `FluidValue` */
|
|
_focus(t) {
|
|
const r = this.animation;
|
|
t !== r.to && (dI(this) && this._detach(), r.to = t, dI(this) && this._attach());
|
|
}
|
|
_attach() {
|
|
let t = 0;
|
|
const { to: r } = this.animation;
|
|
Oo(r) && (np(r, this), UO(r) && (t = r.priority + 1)), this.priority = t;
|
|
}
|
|
_detach() {
|
|
const { to: t } = this.animation;
|
|
Oo(t) && Eg(t, this);
|
|
}
|
|
/**
|
|
* Update the current value from outside the frameloop,
|
|
* and return the `Animated` node.
|
|
*/
|
|
_set(t, r = !0) {
|
|
const n = Xn(t);
|
|
if (!Ae.und(n)) {
|
|
const o = ga(this);
|
|
if (!o || !ji(n, o.getValue())) {
|
|
const a = VO(n);
|
|
!o || o.constructor != a ? k3(this, a.create(n)) : o.setValue(n), o && it.batchedUpdates(() => {
|
|
this._onChange(n, r);
|
|
});
|
|
}
|
|
}
|
|
return ga(this);
|
|
}
|
|
_onStart() {
|
|
const t = this.animation;
|
|
t.changed || (t.changed = !0, _m(
|
|
this,
|
|
"onStart",
|
|
Qo(this, km(this, t.to)),
|
|
this
|
|
));
|
|
}
|
|
_onChange(t, r) {
|
|
r || (this._onStart(), Jn(this.animation.onChange, t, this)), Jn(this.defaultProps.onChange, t, this), super._onChange(t, r);
|
|
}
|
|
// This method resets the animation state (even if already animating) to
|
|
// ensure the latest from/to range is used, and it also ensures this spring
|
|
// is added to the frameloop.
|
|
_start() {
|
|
const t = this.animation;
|
|
ga(this).reset(Xn(t.to)), t.immediate || (t.fromValues = t.values.map((r) => r.lastPosition)), nl(this) || ($I(this, !0), $m(this) || this._resume());
|
|
}
|
|
_resume() {
|
|
aa.skipAnimation ? this.finish() : U0.start(this);
|
|
}
|
|
/**
|
|
* Exit the frameloop and notify `onRest` listeners.
|
|
*
|
|
* Always wrap `_stop` calls with `batchedUpdates`.
|
|
*/
|
|
_stop(t, r) {
|
|
if (nl(this)) {
|
|
$I(this, !1);
|
|
const n = this.animation;
|
|
wt(n.values, (a) => {
|
|
a.done = !0;
|
|
}), n.toValues && (n.onChange = n.onPause = n.onResume = void 0), Sg(this, {
|
|
type: "idle",
|
|
parent: this
|
|
});
|
|
const o = r ? sd(this.get()) : Qo(this.get(), km(this, t ?? n.to));
|
|
ah(this._pendingCalls, o), n.changed && (n.changed = !1, _m(this, "onRest", o, this));
|
|
}
|
|
}
|
|
};
|
|
function km(e, t) {
|
|
const r = Pg(t), n = Pg(e.get());
|
|
return ji(n, r);
|
|
}
|
|
function OG(e, t = e.loop, r = e.to) {
|
|
const n = Jn(t);
|
|
if (n) {
|
|
const o = n !== !0 && O3(n), a = (o || e).reverse, i = !o || o.reset;
|
|
return S1({
|
|
...e,
|
|
loop: t,
|
|
// Avoid updating default props when looping.
|
|
default: !1,
|
|
// Never loop the `pause` prop.
|
|
pause: void 0,
|
|
// For the "reverse" prop to loop as expected, the "to" prop
|
|
// must be undefined. The "reverse" prop is ignored when the
|
|
// "to" prop is an array or function.
|
|
to: !a || HO(r) ? r : void 0,
|
|
// Ignore the "from" prop except on reset.
|
|
from: i ? e.from : void 0,
|
|
reset: i,
|
|
// The "loop" prop can return a "useSpring" props object to
|
|
// override any of the original props.
|
|
...o
|
|
});
|
|
}
|
|
}
|
|
function S1(e) {
|
|
const { to: t, from: r } = e = O3(e), n = /* @__PURE__ */ new Set();
|
|
return Ae.obj(t) && _I(t, n), Ae.obj(r) && _I(r, n), e.keys = n.size ? Array.from(n) : null, e;
|
|
}
|
|
function _I(e, t) {
|
|
ci(e, (r, n) => r != null && t.add(n));
|
|
}
|
|
var rpe = [
|
|
"onStart",
|
|
"onRest",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume"
|
|
];
|
|
function OI(e, t, r) {
|
|
e.animation[r] = t[r] !== yG(t, r) ? bG(t[r], e.key) : void 0;
|
|
}
|
|
function _m(e, t, ...r) {
|
|
var n, o, a, i;
|
|
(o = (n = e.animation)[t]) == null || o.call(n, ...r), (i = (a = e.defaultProps)[t]) == null || i.call(a, ...r);
|
|
}
|
|
var npe = ["onStart", "onChange", "onRest"], ope = 1, ape = class {
|
|
constructor(t, r) {
|
|
this.id = ope++, this.springs = {}, this.queue = [], this._lastAsyncId = 0, this._active = /* @__PURE__ */ new Set(), this._changed = /* @__PURE__ */ new Set(), this._started = !1, this._state = {
|
|
paused: !1,
|
|
pauseQueue: /* @__PURE__ */ new Set(),
|
|
resumeQueue: /* @__PURE__ */ new Set(),
|
|
timeouts: /* @__PURE__ */ new Set()
|
|
}, this._events = {
|
|
onStart: /* @__PURE__ */ new Map(),
|
|
onChange: /* @__PURE__ */ new Map(),
|
|
onRest: /* @__PURE__ */ new Map()
|
|
}, this._onFrame = this._onFrame.bind(this), r && (this._flush = r), t && this.start({ default: !0, ...t });
|
|
}
|
|
/**
|
|
* Equals `true` when no spring values are in the frameloop, and
|
|
* no async animation is currently active.
|
|
*/
|
|
get idle() {
|
|
return !this._state.asyncTo && Object.values(this.springs).every((t) => t.idle && !t.isDelayed && !t.isPaused);
|
|
}
|
|
get item() {
|
|
return this._item;
|
|
}
|
|
set item(t) {
|
|
this._item = t;
|
|
}
|
|
/** Get the current values of our springs */
|
|
get() {
|
|
const t = {};
|
|
return this.each((r, n) => t[n] = r.get()), t;
|
|
}
|
|
/** Set the current values without animating. */
|
|
set(t) {
|
|
for (const r in t) {
|
|
const n = t[r];
|
|
Ae.und(n) || this.springs[r].set(n);
|
|
}
|
|
}
|
|
/** Push an update onto the queue of each value. */
|
|
update(t) {
|
|
return t && this.queue.push(S1(t)), this;
|
|
}
|
|
/**
|
|
* Start the queued animations for every spring, and resolve the returned
|
|
* promise once all queued animations have finished or been cancelled.
|
|
*
|
|
* When you pass a queue (instead of nothing), that queue is used instead of
|
|
* the queued animations added with the `update` method, which are left alone.
|
|
*/
|
|
start(t) {
|
|
let { queue: r } = this;
|
|
return t ? r = Rn(t).map(S1) : this.queue = [], this._flush ? this._flush(this, r) : (PG(this, r), ipe(this, r));
|
|
}
|
|
/** @internal */
|
|
stop(t, r) {
|
|
if (t !== !!t && (r = t), r) {
|
|
const n = this.springs;
|
|
wt(Rn(r), (o) => n[o].stop(!!t));
|
|
} else
|
|
Cg(this._state, this._lastAsyncId), this.each((n) => n.stop(!!t));
|
|
return this;
|
|
}
|
|
/** Freeze the active animation in time */
|
|
pause(t) {
|
|
if (Ae.und(t))
|
|
this.start({ pause: !0 });
|
|
else {
|
|
const r = this.springs;
|
|
wt(Rn(t), (n) => r[n].pause());
|
|
}
|
|
return this;
|
|
}
|
|
/** Resume the animation if paused. */
|
|
resume(t) {
|
|
if (Ae.und(t))
|
|
this.start({ pause: !1 });
|
|
else {
|
|
const r = this.springs;
|
|
wt(Rn(t), (n) => r[n].resume());
|
|
}
|
|
return this;
|
|
}
|
|
/** Call a function once per spring value */
|
|
each(t) {
|
|
ci(this.springs, t);
|
|
}
|
|
/** @internal Called at the end of every animation frame */
|
|
_onFrame() {
|
|
const { onStart: t, onChange: r, onRest: n } = this._events, o = this._active.size > 0, a = this._changed.size > 0;
|
|
(o && !this._started || a && !this._started) && (this._started = !0, Nh(t, ([u, c]) => {
|
|
c.value = this.get(), u(c, this, this._item);
|
|
}));
|
|
const i = !o && this._started, s = a || i && n.size ? this.get() : null;
|
|
a && r.size && Nh(r, ([u, c]) => {
|
|
c.value = s, u(c, this, this._item);
|
|
}), i && (this._started = !1, Nh(n, ([u, c]) => {
|
|
c.value = s, u(c, this, this._item);
|
|
}));
|
|
}
|
|
/** @internal */
|
|
eventObserved(t) {
|
|
if (t.type == "change")
|
|
this._changed.add(t.parent), t.idle || this._active.add(t.parent);
|
|
else if (t.type == "idle")
|
|
this._active.delete(t.parent);
|
|
else return;
|
|
it.onFrame(this._onFrame);
|
|
}
|
|
};
|
|
function ipe(e, t) {
|
|
return Promise.all(t.map((r) => SG(e, r))).then(
|
|
(r) => S3(e, r)
|
|
);
|
|
}
|
|
async function SG(e, t, r) {
|
|
const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: u } = t, c = Ae.obj(t.default) && t.default;
|
|
i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null);
|
|
const d = Ae.arr(o) || Ae.fun(o) ? o : void 0;
|
|
d ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : wt(npe, (m) => {
|
|
const h = t[m];
|
|
if (Ae.fun(h)) {
|
|
const w = e._events[m];
|
|
t[m] = ({ finished: $, cancelled: _ }) => {
|
|
const S = w.get(h);
|
|
S ? ($ || (S.finished = !1), _ && (S.cancelled = !0)) : w.set(h, {
|
|
value: null,
|
|
finished: $ || !1,
|
|
cancelled: _ || !1
|
|
});
|
|
}, c && (c[m] = t[m]);
|
|
}
|
|
});
|
|
const l = e._state;
|
|
t.pause === !l.paused ? (l.paused = t.pause, ah(t.pause ? l.pauseQueue : l.resumeQueue)) : l.paused && (t.pause = !0);
|
|
const f = (n || Object.keys(e.springs)).map(
|
|
(m) => e.springs[m].start(t)
|
|
), p = t.cancel === !0 || yG(t, "cancel") === !0;
|
|
(d || p && l.asyncId) && f.push(
|
|
vG(++e._lastAsyncId, {
|
|
props: t,
|
|
state: l,
|
|
actions: {
|
|
pause: zO,
|
|
resume: zO,
|
|
start(m, h) {
|
|
p ? (Cg(l, e._lastAsyncId), h(sd(e))) : (m.onRest = s, h(
|
|
wG(
|
|
d,
|
|
m,
|
|
l,
|
|
e
|
|
)
|
|
));
|
|
}
|
|
}
|
|
})
|
|
), l.paused && await new Promise((m) => {
|
|
l.resumeQueue.add(m);
|
|
});
|
|
const y = S3(e, await Promise.all(f));
|
|
if (i && y.finished && !(r && y.noop)) {
|
|
const m = OG(t, i, o);
|
|
if (m)
|
|
return PG(e, [m]), SG(e, m, !0);
|
|
}
|
|
return u && it.batchedUpdates(() => u(y, e, e.item)), y;
|
|
}
|
|
function spe(e, t) {
|
|
const r = { ...e.springs };
|
|
return t && wt(Rn(t), (n) => {
|
|
Ae.und(n.keys) && (n = S1(n)), Ae.obj(n.to) || (n = { ...n, to: void 0 }), AG(r, n, (o) => EG(o));
|
|
}), lpe(e, r), r;
|
|
}
|
|
function lpe(e, t) {
|
|
ci(t, (r, n) => {
|
|
e.springs[n] || (e.springs[n] = r, np(r, e));
|
|
});
|
|
}
|
|
function EG(e, t) {
|
|
const r = new tpe();
|
|
return r.key = e, t && np(r, t), r;
|
|
}
|
|
function AG(e, t, r) {
|
|
t.keys && wt(t.keys, (n) => {
|
|
(e[n] || (e[n] = r(n)))._prepareNode(t);
|
|
});
|
|
}
|
|
function PG(e, t) {
|
|
wt(t, (r) => {
|
|
AG(e.springs, r, (n) => EG(n, e));
|
|
});
|
|
}
|
|
var cpe = V.createContext({
|
|
pause: !1,
|
|
immediate: !1
|
|
}), upe = () => {
|
|
const e = [], t = function(n) {
|
|
Ide();
|
|
const o = [];
|
|
return wt(e, (a, i) => {
|
|
if (Ae.und(n))
|
|
o.push(a.start());
|
|
else {
|
|
const s = r(n, a, i);
|
|
s && o.push(a.start(s));
|
|
}
|
|
}), o;
|
|
};
|
|
t.current = e, t.add = function(n) {
|
|
e.includes(n) || e.push(n);
|
|
}, t.delete = function(n) {
|
|
const o = e.indexOf(n);
|
|
~o && e.splice(o, 1);
|
|
}, t.pause = function() {
|
|
return wt(e, (n) => n.pause(...arguments)), this;
|
|
}, t.resume = function() {
|
|
return wt(e, (n) => n.resume(...arguments)), this;
|
|
}, t.set = function(n) {
|
|
wt(e, (o, a) => {
|
|
const i = Ae.fun(n) ? n(a, o) : n;
|
|
i && o.set(i);
|
|
});
|
|
}, t.start = function(n) {
|
|
const o = [];
|
|
return wt(e, (a, i) => {
|
|
if (Ae.und(n))
|
|
o.push(a.start());
|
|
else {
|
|
const s = this._getProps(n, a, i);
|
|
s && o.push(a.start(s));
|
|
}
|
|
}), o;
|
|
}, t.stop = function() {
|
|
return wt(e, (n) => n.stop(...arguments)), this;
|
|
}, t.update = function(n) {
|
|
return wt(e, (o, a) => o.update(this._getProps(n, o, a))), this;
|
|
};
|
|
const r = function(n, o, a) {
|
|
return Ae.fun(n) ? n(a, o) : n;
|
|
};
|
|
return t._getProps = r, t;
|
|
};
|
|
function SI(e, t, r) {
|
|
const n = Ae.fun(t) && t, {
|
|
reset: o,
|
|
sort: a,
|
|
trail: i = 0,
|
|
expires: s = !0,
|
|
exitBeforeEnter: u = !1,
|
|
onDestroyed: c,
|
|
ref: d,
|
|
config: l
|
|
} = n ? n() : t, f = Ie(
|
|
() => n || arguments.length == 3 ? upe() : void 0,
|
|
[]
|
|
), p = Rn(e), y = [], m = ne(null), h = o ? null : m.current;
|
|
Cf(() => {
|
|
m.current = y;
|
|
}), dG(() => (wt(y, (G) => {
|
|
f == null || f.add(G.ctrl), G.ctrl.ref = f;
|
|
}), () => {
|
|
wt(m.current, (G) => {
|
|
G.expired && clearTimeout(G.expirationId), bI(G.ctrl, f), G.ctrl.stop(!0);
|
|
});
|
|
}));
|
|
const w = dpe(p, n ? n() : t, h), $ = o && m.current || [];
|
|
Cf(
|
|
() => wt($, ({ ctrl: G, item: H, key: U }) => {
|
|
bI(G, f), Jn(c, H, U);
|
|
})
|
|
);
|
|
const _ = [];
|
|
if (h && wt(h, (G, H) => {
|
|
G.expired ? (clearTimeout(G.expirationId), $.push(G)) : (H = _[H] = w.indexOf(G.key), ~H && (y[H] = G));
|
|
}), wt(p, (G, H) => {
|
|
y[H] || (y[H] = {
|
|
key: w[H],
|
|
item: G,
|
|
phase: "mount",
|
|
ctrl: new ape()
|
|
}, y[H].ctrl.item = G);
|
|
}), _.length) {
|
|
let G = -1;
|
|
const { leave: H } = n ? n() : t;
|
|
wt(_, (U, W) => {
|
|
const X = h[W];
|
|
~U ? (G = y.indexOf(X), y[G] = { ...X, item: p[U] }) : H && y.splice(++G, 0, X);
|
|
});
|
|
}
|
|
Ae.fun(a) && y.sort((G, H) => a(G.item, H.item));
|
|
let S = -i;
|
|
const b = fG(), F = _3(t), z = /* @__PURE__ */ new Map(), q = ne(/* @__PURE__ */ new Map()), Y = ne(!1);
|
|
wt(y, (G, H) => {
|
|
const U = G.key, W = G.phase, X = n ? n() : t;
|
|
let ee, v;
|
|
const g = Jn(X.delay || 0, U);
|
|
if (W == "mount")
|
|
ee = X.enter, v = "enter";
|
|
else {
|
|
const T = w.indexOf(U) < 0;
|
|
if (W != "leave")
|
|
if (T)
|
|
ee = X.leave, v = "leave";
|
|
else if (ee = X.update)
|
|
v = "update";
|
|
else return;
|
|
else if (!T)
|
|
ee = X.enter, v = "enter";
|
|
else return;
|
|
}
|
|
if (ee = Jn(ee, G.item, H), ee = Ae.obj(ee) ? O3(ee) : { to: ee }, !ee.config) {
|
|
const T = l || F.config;
|
|
ee.config = Jn(T, G.item, H, v);
|
|
}
|
|
S += i;
|
|
const O = {
|
|
...F,
|
|
// we need to add our props.delay value you here.
|
|
delay: g + S,
|
|
ref: d,
|
|
immediate: X.immediate,
|
|
// This prevents implied resets.
|
|
reset: !1,
|
|
// Merge any phase-specific props.
|
|
...ee
|
|
};
|
|
if (v == "enter" && Ae.und(O.from)) {
|
|
const T = n ? n() : t, N = Ae.und(T.initial) || h ? T.from : T.initial;
|
|
O.from = Jn(N, G.item, H);
|
|
}
|
|
const { onResolve: P } = O;
|
|
O.onResolve = (T) => {
|
|
Jn(P, T);
|
|
const N = m.current, C = N.find((I) => I.key === U);
|
|
if (C && !(T.cancelled && C.phase != "update") && C.ctrl.idle) {
|
|
const I = N.every((j) => j.ctrl.idle);
|
|
if (C.phase == "leave") {
|
|
const j = Jn(s, C.item);
|
|
if (j !== !1) {
|
|
const R = j === !0 ? 0 : j;
|
|
if (C.expired = !0, !I && R > 0) {
|
|
R <= 2147483647 && (C.expirationId = setTimeout(b, R));
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
I && N.some((j) => j.expired) && (q.current.delete(C), u && (Y.current = !0), b());
|
|
}
|
|
};
|
|
const A = spe(G.ctrl, O);
|
|
v === "leave" && u ? q.current.set(G, { phase: v, springs: A, payload: O }) : z.set(G, { phase: v, springs: A, payload: O });
|
|
});
|
|
const B = nt(cpe), Z = Mde(B), M = B !== Z && qde(B);
|
|
Cf(() => {
|
|
M && wt(y, (G) => {
|
|
G.ctrl.start({ default: B });
|
|
});
|
|
}, [B]), wt(z, (G, H) => {
|
|
if (q.current.size) {
|
|
const U = y.findIndex((W) => W.key === H.key);
|
|
y.splice(U, 1);
|
|
}
|
|
}), Cf(
|
|
() => {
|
|
wt(
|
|
q.current.size ? q.current : z,
|
|
({ phase: G, payload: H }, U) => {
|
|
const { ctrl: W } = U;
|
|
U.phase = G, f == null || f.add(W), M && G == "enter" && W.start({ default: B }), H && (Kde(W, H.ref), (W.ref || f) && !Y.current ? W.update(H) : (W.start(H), Y.current && (Y.current = !1)));
|
|
}
|
|
);
|
|
},
|
|
o ? void 0 : r
|
|
);
|
|
const te = (G) => /* @__PURE__ */ V.createElement(V.Fragment, null, y.map((H, U) => {
|
|
const { springs: W } = z.get(H) || H.ctrl, X = G({ ...W }, H.item, H, U);
|
|
return X && X.type ? /* @__PURE__ */ V.createElement(
|
|
X.type,
|
|
{
|
|
...X.props,
|
|
key: Ae.str(H.key) || Ae.num(H.key) ? H.key : H.ctrl.id,
|
|
ref: X.ref
|
|
}
|
|
) : X;
|
|
}));
|
|
return f ? [te, f] : te;
|
|
}
|
|
var fpe = 1;
|
|
function dpe(e, { key: t, keys: r = t }, n) {
|
|
if (r === null) {
|
|
const o = /* @__PURE__ */ new Set();
|
|
return e.map((a) => {
|
|
const i = n && n.find(
|
|
(s) => s.item === a && s.phase !== "leave" && !o.has(s)
|
|
);
|
|
return i ? (o.add(i), i.key) : fpe++;
|
|
});
|
|
}
|
|
return Ae.und(r) ? e : Ae.fun(r) ? e.map(r) : Rn(r);
|
|
}
|
|
var ppe = class extends E3 {
|
|
constructor(t, r) {
|
|
super(), this.source = t, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = _g(...r);
|
|
const n = this._get(), o = VO(n);
|
|
k3(this, o.create(n));
|
|
}
|
|
advance(t) {
|
|
const r = this._get(), n = this.get();
|
|
ji(r, n) || (ga(this).setValue(r), this._onChange(r, this.idle)), !this.idle && EI(this._active) && k2(this);
|
|
}
|
|
_get() {
|
|
const t = Ae.arr(this.source) ? this.source.map(Xn) : Rn(Xn(this.source));
|
|
return this.calc(...t);
|
|
}
|
|
_start() {
|
|
this.idle && !EI(this._active) && (this.idle = !1, wt(K0(this), (t) => {
|
|
t.done = !1;
|
|
}), aa.skipAnimation ? (it.batchedUpdates(() => this.advance()), k2(this)) : U0.start(this));
|
|
}
|
|
// Observe our sources only when we're observed.
|
|
_attach() {
|
|
let t = 1;
|
|
wt(Rn(this.source), (r) => {
|
|
Oo(r) && np(r, this), UO(r) && (r.idle || this._active.add(r), t = Math.max(t, r.priority + 1));
|
|
}), this.priority = t, this._start();
|
|
}
|
|
// Stop observing our sources once we have no observers.
|
|
_detach() {
|
|
wt(Rn(this.source), (t) => {
|
|
Oo(t) && Eg(t, this);
|
|
}), this._active.clear(), k2(this);
|
|
}
|
|
/** @internal */
|
|
eventObserved(t) {
|
|
t.type == "change" ? t.idle ? this.advance() : (this._active.add(t.parent), this._start()) : t.type == "idle" ? this._active.delete(t.parent) : t.type == "priority" && (this.priority = Rn(this.source).reduce(
|
|
(r, n) => Math.max(r, (UO(n) ? n.priority : 0) + 1),
|
|
0
|
|
));
|
|
}
|
|
};
|
|
function mpe(e) {
|
|
return e.idle !== !1;
|
|
}
|
|
function EI(e) {
|
|
return !e.size || Array.from(e).every(mpe);
|
|
}
|
|
function k2(e) {
|
|
e.idle || (e.idle = !0, wt(K0(e), (t) => {
|
|
t.done = !0;
|
|
}), Sg(e, {
|
|
type: "idle",
|
|
parent: e
|
|
}));
|
|
}
|
|
aa.assign({
|
|
createStringInterpolator: cG,
|
|
to: (e, t) => new ppe(e, t)
|
|
});
|
|
var CG = /^--/;
|
|
function hpe(e, t) {
|
|
return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !CG.test(e) && !(jh.hasOwnProperty(e) && jh[e]) ? t + "px" : ("" + t).trim();
|
|
}
|
|
var AI = {};
|
|
function gpe(e, t) {
|
|
if (!e.nodeType || !e.setAttribute)
|
|
return !1;
|
|
const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", {
|
|
className: n,
|
|
style: o,
|
|
children: a,
|
|
scrollTop: i,
|
|
scrollLeft: s,
|
|
viewBox: u,
|
|
...c
|
|
} = t, d = Object.values(c), l = Object.keys(c).map(
|
|
(f) => r || e.hasAttribute(f) ? f : AI[f] || (AI[f] = f.replace(
|
|
/([A-Z])/g,
|
|
// Attributes are written in dash case
|
|
(p) => "-" + p.toLowerCase()
|
|
))
|
|
);
|
|
a !== void 0 && (e.textContent = a);
|
|
for (const f in o)
|
|
if (o.hasOwnProperty(f)) {
|
|
const p = hpe(f, o[f]);
|
|
CG.test(f) ? e.style.setProperty(f, p) : e.style[f] = p;
|
|
}
|
|
l.forEach((f, p) => {
|
|
e.setAttribute(f, d[p]);
|
|
}), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), u !== void 0 && e.setAttribute("viewBox", u);
|
|
}
|
|
var jh = {
|
|
animationIterationCount: !0,
|
|
borderImageOutset: !0,
|
|
borderImageSlice: !0,
|
|
borderImageWidth: !0,
|
|
boxFlex: !0,
|
|
boxFlexGroup: !0,
|
|
boxOrdinalGroup: !0,
|
|
columnCount: !0,
|
|
columns: !0,
|
|
flex: !0,
|
|
flexGrow: !0,
|
|
flexPositive: !0,
|
|
flexShrink: !0,
|
|
flexNegative: !0,
|
|
flexOrder: !0,
|
|
gridRow: !0,
|
|
gridRowEnd: !0,
|
|
gridRowSpan: !0,
|
|
gridRowStart: !0,
|
|
gridColumn: !0,
|
|
gridColumnEnd: !0,
|
|
gridColumnSpan: !0,
|
|
gridColumnStart: !0,
|
|
fontWeight: !0,
|
|
lineClamp: !0,
|
|
lineHeight: !0,
|
|
opacity: !0,
|
|
order: !0,
|
|
orphans: !0,
|
|
tabSize: !0,
|
|
widows: !0,
|
|
zIndex: !0,
|
|
zoom: !0,
|
|
// SVG-related properties
|
|
fillOpacity: !0,
|
|
floodOpacity: !0,
|
|
stopOpacity: !0,
|
|
strokeDasharray: !0,
|
|
strokeDashoffset: !0,
|
|
strokeMiterlimit: !0,
|
|
strokeOpacity: !0,
|
|
strokeWidth: !0
|
|
}, bpe = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), ype = ["Webkit", "Ms", "Moz", "O"];
|
|
jh = Object.keys(jh).reduce((e, t) => (ype.forEach((r) => e[bpe(r, t)] = e[t]), e), jh);
|
|
var vpe = /^(matrix|translate|scale|rotate|skew)/, xpe = /^(translate)/, wpe = /^(rotate|skew)/, _2 = (e, t) => Ae.num(e) && e !== 0 ? e + t : e, Tv = (e, t) => Ae.arr(e) ? e.every((r) => Tv(r, t)) : Ae.num(e) ? e === t : parseFloat(e) === t, $pe = class extends J0 {
|
|
constructor({ x: t, y: r, z: n, ...o }) {
|
|
const a = [], i = [];
|
|
(t || r || n) && (a.push([t || 0, r || 0, n || 0]), i.push((s) => [
|
|
`translate3d(${s.map((u) => _2(u, "px")).join(",")})`,
|
|
// prettier-ignore
|
|
Tv(s, 0)
|
|
])), ci(o, (s, u) => {
|
|
if (u === "transform")
|
|
a.push([s || ""]), i.push((c) => [c, c === ""]);
|
|
else if (vpe.test(u)) {
|
|
if (delete o[u], Ae.und(s)) return;
|
|
const c = xpe.test(u) ? "px" : wpe.test(u) ? "deg" : "";
|
|
a.push(Rn(s)), i.push(
|
|
u === "rotate3d" ? ([d, l, f, p]) => [
|
|
`rotate3d(${d},${l},${f},${_2(p, c)})`,
|
|
Tv(p, 0)
|
|
] : (d) => [
|
|
`${u}(${d.map((l) => _2(l, c)).join(",")})`,
|
|
Tv(d, u.startsWith("scale") ? 1 : 0)
|
|
]
|
|
);
|
|
}
|
|
}), a.length && (o.transform = new kpe(a, i)), super(o);
|
|
}
|
|
}, kpe = class extends iG {
|
|
constructor(t, r) {
|
|
super(), this.inputs = t, this.transforms = r, this._value = null;
|
|
}
|
|
get() {
|
|
return this._value || (this._value = this._get());
|
|
}
|
|
_get() {
|
|
let t = "", r = !0;
|
|
return wt(this.inputs, (n, o) => {
|
|
const a = Xn(n[0]), [i, s] = this.transforms[o](
|
|
Ae.arr(a) ? a : n.map(Xn)
|
|
);
|
|
t += " " + i, r = r && s;
|
|
}), r ? "none" : t;
|
|
}
|
|
// Start observing our inputs once we have an observer.
|
|
observerAdded(t) {
|
|
t == 1 && wt(
|
|
this.inputs,
|
|
(r) => wt(
|
|
r,
|
|
(n) => Oo(n) && np(n, this)
|
|
)
|
|
);
|
|
}
|
|
// Stop observing our inputs once we have no observers.
|
|
observerRemoved(t) {
|
|
t == 0 && wt(
|
|
this.inputs,
|
|
(r) => wt(
|
|
r,
|
|
(n) => Oo(n) && Eg(n, this)
|
|
)
|
|
);
|
|
}
|
|
eventObserved(t) {
|
|
t.type == "change" && (this._value = null), Sg(this, t);
|
|
}
|
|
}, _pe = [
|
|
"a",
|
|
"abbr",
|
|
"address",
|
|
"area",
|
|
"article",
|
|
"aside",
|
|
"audio",
|
|
"b",
|
|
"base",
|
|
"bdi",
|
|
"bdo",
|
|
"big",
|
|
"blockquote",
|
|
"body",
|
|
"br",
|
|
"button",
|
|
"canvas",
|
|
"caption",
|
|
"cite",
|
|
"code",
|
|
"col",
|
|
"colgroup",
|
|
"data",
|
|
"datalist",
|
|
"dd",
|
|
"del",
|
|
"details",
|
|
"dfn",
|
|
"dialog",
|
|
"div",
|
|
"dl",
|
|
"dt",
|
|
"em",
|
|
"embed",
|
|
"fieldset",
|
|
"figcaption",
|
|
"figure",
|
|
"footer",
|
|
"form",
|
|
"h1",
|
|
"h2",
|
|
"h3",
|
|
"h4",
|
|
"h5",
|
|
"h6",
|
|
"head",
|
|
"header",
|
|
"hgroup",
|
|
"hr",
|
|
"html",
|
|
"i",
|
|
"iframe",
|
|
"img",
|
|
"input",
|
|
"ins",
|
|
"kbd",
|
|
"keygen",
|
|
"label",
|
|
"legend",
|
|
"li",
|
|
"link",
|
|
"main",
|
|
"map",
|
|
"mark",
|
|
"menu",
|
|
"menuitem",
|
|
"meta",
|
|
"meter",
|
|
"nav",
|
|
"noscript",
|
|
"object",
|
|
"ol",
|
|
"optgroup",
|
|
"option",
|
|
"output",
|
|
"p",
|
|
"param",
|
|
"picture",
|
|
"pre",
|
|
"progress",
|
|
"q",
|
|
"rp",
|
|
"rt",
|
|
"ruby",
|
|
"s",
|
|
"samp",
|
|
"script",
|
|
"section",
|
|
"select",
|
|
"small",
|
|
"source",
|
|
"span",
|
|
"strong",
|
|
"style",
|
|
"sub",
|
|
"summary",
|
|
"sup",
|
|
"table",
|
|
"tbody",
|
|
"td",
|
|
"textarea",
|
|
"tfoot",
|
|
"th",
|
|
"thead",
|
|
"time",
|
|
"title",
|
|
"tr",
|
|
"track",
|
|
"u",
|
|
"ul",
|
|
"var",
|
|
"video",
|
|
"wbr",
|
|
// SVG
|
|
"circle",
|
|
"clipPath",
|
|
"defs",
|
|
"ellipse",
|
|
"foreignObject",
|
|
"g",
|
|
"image",
|
|
"line",
|
|
"linearGradient",
|
|
"mask",
|
|
"path",
|
|
"pattern",
|
|
"polygon",
|
|
"polyline",
|
|
"radialGradient",
|
|
"rect",
|
|
"stop",
|
|
"svg",
|
|
"text",
|
|
"tspan"
|
|
];
|
|
aa.assign({
|
|
batchedUpdates: Of,
|
|
createStringInterpolator: cG,
|
|
colors: fde
|
|
});
|
|
var Ope = Hde(_pe, {
|
|
applyAnimatedValues: gpe,
|
|
createAnimatedStyle: (e) => new $pe(e),
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r
|
|
}), NG = Ope.animated;
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const Spe = {
|
|
prefix: "fas",
|
|
iconName: "down-left-and-up-right-to-center",
|
|
icon: [512, 512, ["compress-alt"], "f422", "M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z"]
|
|
}, Epe = {
|
|
prefix: "fas",
|
|
iconName: "up-right-and-down-left-from-center",
|
|
icon: [512, 512, ["expand-alt"], "f424", "M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"]
|
|
};
|
|
var BO = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(BO || {}), Ape = Object.freeze({
|
|
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
|
position: "absolute",
|
|
border: 0,
|
|
width: 1,
|
|
height: 1,
|
|
padding: 0,
|
|
margin: -1,
|
|
overflow: "hidden",
|
|
clip: "rect(0, 0, 0, 0)",
|
|
whiteSpace: "nowrap",
|
|
wordWrap: "normal"
|
|
}), Ppe = "VisuallyHidden", TG = V.forwardRef(
|
|
(e, t) => /* @__PURE__ */ K(
|
|
mi.span,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
style: { ...Ape, ...e.style }
|
|
}
|
|
)
|
|
);
|
|
TG.displayName = Ppe;
|
|
var PI = TG;
|
|
const Ng = [], Cpe = (e) => {
|
|
Ng.push(e);
|
|
}, Npe = (e) => {
|
|
const t = Ng.findIndex((r) => r.id === e);
|
|
t !== -1 && Ng.splice(t, 1);
|
|
}, Tpe = (e, t) => {
|
|
const r = Ng.find((n) => n.id === e);
|
|
r && Object.assign(r, t);
|
|
}, Ipe = () => Ng.filter((e) => e.closeOnEsc).sort((e, t) => t.zIndex - e.zIndex)[0];
|
|
typeof window < "u" && !window.__modalEscListenerInstalled && (window.__modalEscListenerInstalled = !0, window.addEventListener("keydown", (e) => {
|
|
if (e.key !== "Escape" && e.key !== "Esc") return;
|
|
const t = Ipe();
|
|
t && (e.preventDefault(), t.onClose());
|
|
}));
|
|
let Om = 70;
|
|
const jpe = ({
|
|
styles: e,
|
|
backdropClassName: t,
|
|
disableHotkeyInput: r,
|
|
enableHotkeyInput: n
|
|
}) => (ue(() => (r(BO.DIALOGUE), () => {
|
|
n(BO.DIALOGUE);
|
|
}), [r, n]), /* @__PURE__ */ K(Qae, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ K(
|
|
NG.div,
|
|
{
|
|
className: Sh("fixed inset-0 z-[69]", t),
|
|
style: {
|
|
opacity: e.opacity,
|
|
pointerEvents: "none",
|
|
background: "radial-gradient(800px 400px at 10% -10%, rgba(45,129,255,0.10), transparent), radial-gradient(600px 320px at 110% 110%, rgba(28,182,190,0.10), transparent), rgba(0,0,0,0.60)"
|
|
}
|
|
}
|
|
) })), YO = ({ children: e }) => /* @__PURE__ */ K(rn, { children: e }), IG = zt(
|
|
void 0
|
|
), A3 = ({ className: e, size: t = "md" }) => {
|
|
const r = nt(IG);
|
|
if (!r) return null;
|
|
const { expanded: n, toggleExpanded: o } = r;
|
|
return /* @__PURE__ */ K(
|
|
"button",
|
|
{
|
|
type: "button",
|
|
"aria-label": n ? "Restore modal size" : "Expand modal",
|
|
onClick: o,
|
|
className: Sh(
|
|
"flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white",
|
|
{
|
|
sm: "h-5 w-5 text-sm",
|
|
md: "h-7 w-7 text-md",
|
|
lg: "h-9 w-9 text-xl"
|
|
}[t],
|
|
"relative z-[70]",
|
|
e
|
|
),
|
|
children: /* @__PURE__ */ K(
|
|
wg,
|
|
{
|
|
icon: n ? Spe : Epe
|
|
}
|
|
)
|
|
}
|
|
);
|
|
};
|
|
A3.displayName = "ModalExpandButton";
|
|
const Sb = ({
|
|
isOpen: e,
|
|
title: t,
|
|
titleIcon: r,
|
|
onTitleIconClick: n,
|
|
onClose: o,
|
|
enableHotkeyInput: a = () => {
|
|
},
|
|
disableHotkeyInput: i = () => {
|
|
},
|
|
className: s,
|
|
backdropClassName: u,
|
|
width: c,
|
|
children: d,
|
|
childPadding: l = !0,
|
|
titleIconClassName: f,
|
|
showClose: p = !0,
|
|
draggable: y = !1,
|
|
resizable: m = !1,
|
|
initialPosition: h,
|
|
closeOnOutsideClick: w = !0,
|
|
closeOnEsc: $ = !0,
|
|
allowBackgroundInteraction: _ = !1,
|
|
expandable: S = !1,
|
|
accessibleTitle: b,
|
|
accessibleDescription: F
|
|
}) => {
|
|
const [z, q] = de(
|
|
null
|
|
), [Y, B] = de(!1), [Z, M] = de(!1), te = ne({ x: 0, y: 0 }), G = ne({ x: 0, y: 0 }), H = ne(null), U = ne(null), W = ne(null), [X, ee] = de(() => ++Om), [v, g] = de(!1), O = ne(null), P = SI(e, {
|
|
from: {
|
|
opacity: 0,
|
|
transform: "scale(0.95) translateY(-10px)"
|
|
},
|
|
enter: {
|
|
opacity: 1,
|
|
transform: "scale(1) translateY(0px)"
|
|
},
|
|
leave: {
|
|
opacity: 0,
|
|
transform: "scale(0.95) translateY(10px)"
|
|
},
|
|
config: {
|
|
tension: 300,
|
|
friction: 30,
|
|
mass: 0.8
|
|
}
|
|
}), A = SI(e, {
|
|
from: { opacity: 0 },
|
|
enter: { opacity: 1 },
|
|
leave: { opacity: 0 },
|
|
config: {
|
|
tension: 280,
|
|
friction: 25
|
|
}
|
|
});
|
|
ue(() => {
|
|
v ? (U.current && (O.current = { ...U.current }), q({ x: 0, y: 0 }), U.current = { x: 0, y: 0 }, H.current && (H.current.style.left = "0px", H.current.style.top = "0px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : O.current && (q({ ...O.current }), U.current = { ...O.current }, H.current && (H.current.style.left = O.current.x + "px", H.current.style.top = O.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X)));
|
|
}, [v, X]);
|
|
const T = () => g((ce) => !ce);
|
|
ue(() => {
|
|
e ? W.current ? (q({ ...W.current }), U.current = { ...W.current }, H.current && (H.current.style.left = W.current.x + "px", H.current.style.top = W.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : h && (q({ ...h }), U.current = { ...h }, H.current && (H.current.style.left = h.x + "px", H.current.style.top = h.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : U.current && (W.current = { ...U.current });
|
|
}, [e, X]), ue(() => {
|
|
if (!Y) return;
|
|
let ce = null;
|
|
const le = (ot) => {
|
|
if (!H.current) return;
|
|
const kt = ot.clientX - G.current.x, De = ot.clientY - G.current.y, Ze = te.current.x + kt, rt = te.current.y + De, Wt = H.current, { width: lt, height: $r } = Wt.getBoundingClientRect(), pn = window.innerWidth, ro = window.innerHeight, kr = 450, vo = -450, Mo = 0, Do = pn - lt + kr, yr = ro - $r + kr, Tn = Math.max(vo, Math.min(Ze, Do)), Fo = Math.max(Mo, Math.min(rt, yr));
|
|
U.current = { x: Tn, y: Fo }, H.current && (ce && cancelAnimationFrame(ce), ce = requestAnimationFrame(() => {
|
|
H.current && U.current && (H.current.style.left = U.current.x + "px", H.current.style.top = U.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X));
|
|
}));
|
|
}, fe = () => {
|
|
B(!1), U.current && q({ ...U.current });
|
|
};
|
|
return window.addEventListener("mousemove", le), window.addEventListener("mouseup", fe), () => {
|
|
window.removeEventListener("mousemove", le), window.removeEventListener("mouseup", fe), ce && cancelAnimationFrame(ce);
|
|
};
|
|
}, [Y, X]);
|
|
const N = (ce) => {
|
|
var le, fe;
|
|
if (!H.current) return;
|
|
v && g(!1), ce.preventDefault(), ce.stopPropagation();
|
|
const ot = H.current, { width: kt, height: De } = ot.getBoundingClientRect(), Ze = window.innerWidth, rt = window.innerHeight;
|
|
let Wt = ((le = U.current) == null ? void 0 : le.x) ?? (z == null ? void 0 : z.x), lt = ((fe = U.current) == null ? void 0 : fe.y) ?? (z == null ? void 0 : z.y);
|
|
(Wt === void 0 || lt === void 0) && (h ? (Wt = h.x, lt = h.y) : (Wt = (Ze - kt) / 2, lt = (rt - De) / 2)), te.current = { x: Wt, y: lt }, G.current = { x: ce.clientX, y: ce.clientY }, B(!0), !z && !U.current && (q({ x: Wt, y: lt }), U.current = { x: Wt, y: lt }, H.current && (H.current.style.left = Wt + "px", H.current.style.top = lt + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X)));
|
|
};
|
|
let C = d;
|
|
if (y) {
|
|
let ce = !1;
|
|
C = Array.isArray(d) ? d.map((le) => {
|
|
if (!ce && Fi(le) && (le.type === YO || le.type.displayName === "ModalDragHandle")) {
|
|
ce = !0;
|
|
const fe = le;
|
|
return Li(fe, {
|
|
children: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: N,
|
|
children: fe.props.children
|
|
}
|
|
)
|
|
});
|
|
}
|
|
return le;
|
|
}) : Fi(d) && (d.type === YO || d.type.displayName === "ModalDragHandle") ? (() => {
|
|
const le = d;
|
|
return Li(le, {
|
|
children: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: N,
|
|
children: le.props.children
|
|
}
|
|
)
|
|
});
|
|
})() : d;
|
|
}
|
|
const I = ne(null), j = ne(null), R = (ce, le) => {
|
|
if (!H.current || (ce.preventDefault(), ce.stopPropagation(), v)) return;
|
|
const fe = H.current.getBoundingClientRect();
|
|
I.current = le, j.current = {
|
|
mouseX: ce.clientX,
|
|
mouseY: ce.clientY,
|
|
width: fe.width,
|
|
height: fe.height,
|
|
x: fe.left,
|
|
y: fe.top
|
|
}, M(!0);
|
|
};
|
|
ue(() => {
|
|
if (!Z) return;
|
|
let ce = null;
|
|
const le = (ot) => {
|
|
if (!H.current || !j.current || !I.current)
|
|
return;
|
|
const kt = ot.clientX - j.current.mouseX, De = ot.clientY - j.current.mouseY;
|
|
let Ze = j.current.width, rt = j.current.height, Wt = j.current.x, lt = j.current.y;
|
|
const $r = I.current;
|
|
$r.includes("right") && (Ze = j.current.width + kt), $r.includes("left") && (Ze = j.current.width - kt, Wt = j.current.x + kt), $r.includes("bottom") && (rt = j.current.height + De), $r.includes("top") && (rt = j.current.height - De, lt = j.current.y + De), Ze = Math.max(320, Ze), rt = Math.max(240, rt), U.current = { x: Wt, y: lt }, me.current = { width: Ze, height: rt }, ce && cancelAnimationFrame(ce), ce = requestAnimationFrame(() => {
|
|
H.current && U.current && (H.current.style.width = Ze + "px", H.current.style.height = rt + "px", H.current.style.left = U.current.x + "px", H.current.style.top = U.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X));
|
|
});
|
|
}, fe = () => {
|
|
M(!1), U.current && q({ ...U.current }), me.current && oe({ ...me.current });
|
|
};
|
|
return window.addEventListener("mousemove", le), window.addEventListener("mouseup", fe), () => {
|
|
window.removeEventListener("mousemove", le), window.removeEventListener("mouseup", fe), ce && cancelAnimationFrame(ce);
|
|
};
|
|
}, [Z, X]);
|
|
const Q = () => {
|
|
if (!m || v) return null;
|
|
const ce = "absolute z-[75] bg-transparent select-none", le = 5, fe = 2, ot = [
|
|
{ dir: "top", className: `top-0 left-0 w-full h-${fe}` },
|
|
{ dir: "bottom", className: `bottom-0 left-0 w-full h-${fe}` },
|
|
{ dir: "left", className: `left-0 top-0 h-full w-${fe}` },
|
|
{ dir: "right", className: `right-0 top-0 h-full w-${fe}` },
|
|
{
|
|
dir: "top-left",
|
|
className: `top-0 left-0 w-${le} h-${le}`
|
|
},
|
|
{
|
|
dir: "top-right",
|
|
className: `top-0 right-0 w-${le} h-${le}`
|
|
},
|
|
{
|
|
dir: "bottom-left",
|
|
className: `bottom-0 left-0 w-${le} h-${le}`
|
|
},
|
|
{
|
|
dir: "bottom-right",
|
|
className: `bottom-0 right-0 w-${le} h-${le}`
|
|
}
|
|
], kt = {
|
|
top: "n-resize",
|
|
bottom: "s-resize",
|
|
left: "w-resize",
|
|
right: "e-resize",
|
|
"top-left": "nw-resize",
|
|
"top-right": "ne-resize",
|
|
"bottom-left": "sw-resize",
|
|
"bottom-right": "se-resize"
|
|
};
|
|
return ot.map((De) => /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: `${ce} ${De.className}`,
|
|
style: { cursor: kt[De.dir] },
|
|
onMouseDown: (Ze) => R(Ze, De.dir)
|
|
},
|
|
De.dir
|
|
));
|
|
}, [k, oe] = de(
|
|
null
|
|
), me = ne(null), Le = ne(null);
|
|
ue(() => {
|
|
if (e && !k && H.current && m) {
|
|
const { width: ce, height: le } = H.current.getBoundingClientRect();
|
|
oe({ width: ce, height: le }), me.current = { width: ce, height: le };
|
|
}
|
|
}, [e, k, m]), ue(() => {
|
|
if (m) {
|
|
if (!e)
|
|
me.current && (Le.current = { ...me.current });
|
|
else if (Le.current && H.current) {
|
|
const { width: ce, height: le } = Le.current;
|
|
H.current.style.width = ce + "px", H.current.style.height = le + "px", oe({ width: ce, height: le }), me.current = { width: ce, height: le };
|
|
}
|
|
}
|
|
}, [e, m]), ue(() => {
|
|
const ce = () => {
|
|
H.current && X < Om && (Om += 1, ee(Om), H.current.style.zIndex = String(Om));
|
|
}, le = H.current;
|
|
return le && le.addEventListener("mousedown", ce), () => {
|
|
le && le.removeEventListener("mousedown", ce);
|
|
};
|
|
}, [X]), ue(() => {
|
|
if (!e || _) return;
|
|
const ce = (le) => {
|
|
if (le.key === "Escape" || le.key === "Esc") return;
|
|
const fe = le.target;
|
|
fe && (fe.closest(
|
|
'[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]'
|
|
) || fe.matches("input, textarea, select, button, [contenteditable]")) || le.stopPropagation();
|
|
};
|
|
return window.addEventListener("keydown", ce, !0), () => {
|
|
window.removeEventListener("keydown", ce, !0);
|
|
};
|
|
}, [e, _]), ue(() => {
|
|
if (!_) return;
|
|
const ce = H.current;
|
|
if (!ce) return;
|
|
const le = (De) => {
|
|
De && (De.hasAttribute("inert") && De.removeAttribute("inert"), De.inert && (De.inert = !1), De.getAttribute("aria-hidden") === "true" && De.removeAttribute("aria-hidden"));
|
|
};
|
|
let fe = ce;
|
|
for (; fe; )
|
|
le(fe), fe = fe.parentElement;
|
|
const ot = new MutationObserver((De) => {
|
|
De.forEach((Ze) => {
|
|
if (Ze.type === "attributes" && Ze.attributeName === "inert" && Ze.target instanceof HTMLElement) {
|
|
const rt = Ze.target;
|
|
(rt === ce || ce.contains(rt)) && le(rt);
|
|
}
|
|
});
|
|
});
|
|
ot.observe(ce, {
|
|
attributes: !0,
|
|
subtree: !1,
|
|
attributeFilter: ["inert"]
|
|
}), document.querySelectorAll(
|
|
"[data-radix-portal][inert], [data-headlessui-portal][inert]"
|
|
).forEach((De) => De.removeAttribute("inert"));
|
|
const kt = new MutationObserver((De) => {
|
|
De.forEach((Ze) => {
|
|
if (Ze.type === "attributes" && Ze.attributeName === "inert" && Ze.target.hasAttribute("inert")) {
|
|
const rt = Ze.target;
|
|
(rt.hasAttribute("data-radix-portal") || rt.hasAttribute("data-headlessui-portal")) && le(rt);
|
|
}
|
|
});
|
|
});
|
|
return kt.observe(document.body, {
|
|
attributes: !0,
|
|
subtree: !0,
|
|
attributeFilter: ["inert"]
|
|
}), () => {
|
|
ot.disconnect(), kt.disconnect();
|
|
};
|
|
}, [_]);
|
|
const Xr = ne(Math.floor(Math.random() * 1e9));
|
|
ue(() => {
|
|
if (e)
|
|
return Cpe({
|
|
id: Xr.current,
|
|
zIndex: X,
|
|
onClose: o,
|
|
closeOnEsc: $
|
|
}), () => {
|
|
Npe(Xr.current);
|
|
};
|
|
}, [e]), ue(() => {
|
|
e && Tpe(Xr.current, { zIndex: X, onClose: o, closeOnEsc: $ });
|
|
}, [e, X, o, $]);
|
|
const Jr = () => v ? {
|
|
position: "fixed",
|
|
left: 0,
|
|
top: 0,
|
|
margin: 0,
|
|
zIndex: X,
|
|
width: "100vw",
|
|
height: "100vh",
|
|
..._ ? { pointerEvents: "auto" } : {}
|
|
} : !y || !z ? {
|
|
...m && k ? { width: k.width, height: k.height } : {},
|
|
..._ ? { pointerEvents: "auto" } : {}
|
|
} : {
|
|
position: "fixed",
|
|
left: z.x,
|
|
top: z.y,
|
|
margin: 0,
|
|
zIndex: X,
|
|
...m && k ? { width: k.width, height: k.height } : {},
|
|
..._ ? { pointerEvents: "auto" } : {}
|
|
};
|
|
return /* @__PURE__ */ K(
|
|
Xae,
|
|
{
|
|
open: e,
|
|
onOpenChange: (ce) => !ce && w && o(),
|
|
modal: !_,
|
|
children: /* @__PURE__ */ K(Jae, { children: /* @__PURE__ */ Te(
|
|
"div",
|
|
{
|
|
className: "fixed inset-0 z-[70]",
|
|
style: _ ? { pointerEvents: "none" } : void 0,
|
|
children: [
|
|
!_ && A(
|
|
(ce, le) => le ? /* @__PURE__ */ K(
|
|
jpe,
|
|
{
|
|
styles: ce,
|
|
backdropClassName: u,
|
|
disableHotkeyInput: i,
|
|
enableHotkeyInput: a
|
|
},
|
|
"backdrop"
|
|
) : null
|
|
),
|
|
_ && /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: Sh("fixed inset-0 z-[69]", u),
|
|
style: { pointerEvents: "none" }
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(IG.Provider, { value: { expanded: v, toggleExpanded: T }, children: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: "flex min-h-full items-center justify-center p-4 text-center",
|
|
style: _ ? { pointerEvents: "none" } : void 0,
|
|
children: P((ce, le) => le ? /* @__PURE__ */ K(
|
|
Zae,
|
|
{
|
|
forceMount: !0,
|
|
asChild: !0,
|
|
...F ? {} : { "aria-describedby": void 0 },
|
|
onPointerDownOutside: (fe) => {
|
|
(!w || _) && fe.preventDefault();
|
|
},
|
|
onEscapeKeyDown: (fe) => {
|
|
$ || fe.preventDefault();
|
|
},
|
|
onInteractOutside: (fe) => {
|
|
_ && fe.preventDefault();
|
|
},
|
|
children: /* @__PURE__ */ Te(
|
|
NG.div,
|
|
{
|
|
className: Sh(
|
|
"w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]",
|
|
l && !v ? "p-4" : "",
|
|
s,
|
|
"!transition-none",
|
|
// Always disable CSS transitions for spring animations
|
|
v && "w-screen h-screen max-w-screen max-h-screen rounded-none"
|
|
),
|
|
ref: H,
|
|
style: {
|
|
...Jr(),
|
|
opacity: ce.opacity,
|
|
transform: ce.transform,
|
|
transformOrigin: "center center",
|
|
willChange: "transform, opacity"
|
|
// Optimize for animations
|
|
},
|
|
children: [
|
|
/* @__PURE__ */ Te("div", { className: "w-full h-full", children: [
|
|
F && /* @__PURE__ */ K(PI, { asChild: !0, children: /* @__PURE__ */ K(eie, { children: F }) }),
|
|
t ? /* @__PURE__ */ K(
|
|
PN,
|
|
{
|
|
className: Sh(
|
|
"mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg"
|
|
),
|
|
children: /* @__PURE__ */ K(rn, { children: n ? /* @__PURE__ */ Te(
|
|
"button",
|
|
{
|
|
className: "flex items-center gap-3",
|
|
onClick: n,
|
|
children: [
|
|
r && /* @__PURE__ */ K(
|
|
wg,
|
|
{
|
|
icon: r,
|
|
className: f
|
|
}
|
|
),
|
|
t
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Te("div", { className: "flex items-center gap-3", children: [
|
|
r && /* @__PURE__ */ K(
|
|
wg,
|
|
{
|
|
icon: r,
|
|
className: f
|
|
}
|
|
),
|
|
t
|
|
] }) })
|
|
}
|
|
) : /* @__PURE__ */ K(PI, { asChild: !0, children: /* @__PURE__ */ K(PN, { children: b ?? "Dialog" }) }),
|
|
/* @__PURE__ */ K("div", { className: "h-full".trim(), children: C }),
|
|
Q()
|
|
] }),
|
|
(p || S) && /* @__PURE__ */ Te("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [
|
|
S && /* @__PURE__ */ K(Sb.ExpandButton, {}),
|
|
p && /* @__PURE__ */ K(nde, { onClick: o })
|
|
] })
|
|
]
|
|
}
|
|
)
|
|
}
|
|
) : null)
|
|
}
|
|
) })
|
|
]
|
|
}
|
|
) })
|
|
}
|
|
);
|
|
};
|
|
Sb.DragHandle = YO;
|
|
Sb.DragHandle.displayName = "ModalDragHandle";
|
|
Sb.ExpandButton = A3;
|
|
A3.displayName = "ModalExpandButton";
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function Rpe(e, t, r) {
|
|
return (t = Dpe(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function CI(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function be(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? CI(Object(r), !0).forEach(function(n) {
|
|
Rpe(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : CI(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Mpe(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function Dpe(e) {
|
|
var t = Mpe(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const NI = () => {
|
|
};
|
|
let P3 = {}, jG = {}, RG = null, MG = {
|
|
mark: NI,
|
|
measure: NI
|
|
};
|
|
try {
|
|
typeof window < "u" && (P3 = window), typeof document < "u" && (jG = document), typeof MutationObserver < "u" && (RG = MutationObserver), typeof performance < "u" && (MG = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: TI = ""
|
|
} = P3.navigator || {}, uc = P3, Fr = jG, II = RG, wy = MG;
|
|
uc.document;
|
|
const hs = !!Fr.documentElement && !!Fr.head && typeof Fr.addEventListener == "function" && typeof Fr.createElement == "function", DG = ~TI.indexOf("MSIE") || ~TI.indexOf("Trident/");
|
|
var Fpe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Lpe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, FG = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, zpe = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, LG = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], wn = "classic", Q0 = "duotone", Wpe = "sharp", Vpe = "sharp-duotone", zG = [wn, Q0, Wpe, Vpe], Hpe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, Gpe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, Upe = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), Bpe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, Ype = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], jI = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, qpe = ["kit"], Kpe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, Xpe = ["fak", "fakd"], Jpe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, RI = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, $y = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Qpe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Zpe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], eme = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, tme = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, rme = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, qO = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, nme = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], KO = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Qpe, ...nme], ome = ["solid", "regular", "light", "thin", "duotone", "brands"], WG = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ame = WG.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), ime = [...Object.keys(rme), ...ome, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", $y.GROUP, $y.SWAP_OPACITY, $y.PRIMARY, $y.SECONDARY].concat(WG.map((e) => "".concat(e, "x"))).concat(ame.map((e) => "w-".concat(e))), sme = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const Gi = "___FONT_AWESOME___", XO = 16, VG = "fa", HG = "svg-inline--fa", Cu = "data-fa-i2svg", JO = "data-fa-pseudo-element", lme = "data-fa-pseudo-element-pending", C3 = "data-prefix", N3 = "data-icon", MI = "fontawesome-i2svg", cme = "async", ume = ["HTML", "HEAD", "STYLE", "SCRIPT"], GG = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Eb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[wn];
|
|
}
|
|
});
|
|
}
|
|
const UG = be({}, FG);
|
|
UG[wn] = be(be(be(be({}, {
|
|
"fa-duotone": "duotone"
|
|
}), FG[wn]), jI.kit), jI["kit-duotone"]);
|
|
const fme = Eb(UG), QO = be({}, Bpe);
|
|
QO[wn] = be(be(be(be({}, {
|
|
duotone: "fad"
|
|
}), QO[wn]), RI.kit), RI["kit-duotone"]);
|
|
const DI = Eb(QO), ZO = be({}, qO);
|
|
ZO[wn] = be(be({}, ZO[wn]), Jpe.kit);
|
|
const T3 = Eb(ZO), eS = be({}, tme);
|
|
eS[wn] = be(be({}, eS[wn]), Kpe.kit);
|
|
Eb(eS);
|
|
const dme = Fpe, BG = "fa-layers-text", pme = Lpe, mme = be({}, Hpe);
|
|
Eb(mme);
|
|
const hme = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], O2 = zpe, gme = [...qpe, ...ime], Rh = uc.FontAwesomeConfig || {};
|
|
function bme(e) {
|
|
var t = Fr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function yme(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Fr && typeof Fr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((t) => {
|
|
let [r, n] = t;
|
|
const o = yme(bme(r));
|
|
o != null && (Rh[n] = o);
|
|
});
|
|
const YG = {
|
|
styleDefault: "solid",
|
|
familyDefault: wn,
|
|
cssPrefix: VG,
|
|
replacementClass: HG,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Rh.familyPrefix && (Rh.cssPrefix = Rh.familyPrefix);
|
|
const Fd = be(be({}, YG), Rh);
|
|
Fd.autoReplaceSvg || (Fd.observeMutations = !1);
|
|
const Ve = {};
|
|
Object.keys(YG).forEach((e) => {
|
|
Object.defineProperty(Ve, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Fd[e] = t, Mh.forEach((r) => r(Ve));
|
|
},
|
|
get: function() {
|
|
return Fd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Ve, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Fd.cssPrefix = e, Mh.forEach((t) => t(Ve));
|
|
},
|
|
get: function() {
|
|
return Fd.cssPrefix;
|
|
}
|
|
});
|
|
uc.FontAwesomeConfig = Ve;
|
|
const Mh = [];
|
|
function vme(e) {
|
|
return Mh.push(e), () => {
|
|
Mh.splice(Mh.indexOf(e), 1);
|
|
};
|
|
}
|
|
const ol = XO, Fa = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function xme(e) {
|
|
if (!e || !hs)
|
|
return;
|
|
const t = Fr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Fr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Fr.head.insertBefore(t, n), e;
|
|
}
|
|
const wme = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Tg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += wme[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function op(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function I3(e) {
|
|
return e.classList ? op(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function qG(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function $me(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(qG(e[r]), '" '), "").trim();
|
|
}
|
|
function Z0(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function j3(e) {
|
|
return e.size !== Fa.size || e.x !== Fa.x || e.y !== Fa.y || e.rotate !== Fa.rotate || e.flipX || e.flipY;
|
|
}
|
|
function kme(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function _me(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = XO,
|
|
height: n = XO,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && DG ? a += "translate(".concat(t.x / ol - r / 2, "em, ").concat(t.y / ol - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / ol, "em), calc(-50% + ").concat(t.y / ol, "em)) ") : a += "translate(".concat(t.x / ol, "em, ").concat(t.y / ol, "em) "), a += "scale(".concat(t.size / ol * (t.flipX ? -1 : 1), ", ").concat(t.size / ol * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var Ome = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function KG() {
|
|
const e = VG, t = HG, r = Ve.cssPrefix, n = Ve.replacementClass;
|
|
let o = Ome;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let FI = !1;
|
|
function S2() {
|
|
Ve.autoAddCss && !FI && (xme(KG()), FI = !0);
|
|
}
|
|
var Sme = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: KG,
|
|
insertCss: S2
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
S2();
|
|
},
|
|
beforeI2svg() {
|
|
S2();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Ui = uc || {};
|
|
Ui[Gi] || (Ui[Gi] = {});
|
|
Ui[Gi].styles || (Ui[Gi].styles = {});
|
|
Ui[Gi].hooks || (Ui[Gi].hooks = {});
|
|
Ui[Gi].shims || (Ui[Gi].shims = []);
|
|
var La = Ui[Gi];
|
|
const XG = [], JG = function() {
|
|
Fr.removeEventListener("DOMContentLoaded", JG), E1 = 1, XG.map((e) => e());
|
|
};
|
|
let E1 = !1;
|
|
hs && (E1 = (Fr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Fr.readyState), E1 || Fr.addEventListener("DOMContentLoaded", JG));
|
|
function Eme(e) {
|
|
hs && (E1 ? setTimeout(e, 0) : XG.push(e));
|
|
}
|
|
function Ab(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? qG(e) : "<".concat(t, " ").concat($me(r), ">").concat(n.map(Ab).join(""), "</").concat(t, ">");
|
|
}
|
|
function LI(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var E2 = function(t, r, n, o) {
|
|
var a = Object.keys(t), i = a.length, s = r, u, c, d;
|
|
for (n === void 0 ? (u = 1, d = t[a[0]]) : (u = 0, d = n); u < i; u++)
|
|
c = a[u], d = s(d, t[c], c, t);
|
|
return d;
|
|
};
|
|
function Ame(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function tS(e) {
|
|
const t = Ame(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function Pme(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function zI(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return !!n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function rS(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = zI(t);
|
|
typeof La.hooks.addPack == "function" && !n ? La.hooks.addPack(e, zI(t)) : La.styles[e] = be(be({}, La.styles[e] || {}), o), e === "fas" && rS("fa", t);
|
|
}
|
|
const {
|
|
styles: Ig,
|
|
shims: Cme
|
|
} = La, QG = Object.keys(T3), Nme = QG.reduce((e, t) => (e[t] = Object.keys(T3[t]), e), {});
|
|
let R3 = null, ZG = {}, eU = {}, tU = {}, rU = {}, nU = {};
|
|
function Tme(e) {
|
|
return ~gme.indexOf(e);
|
|
}
|
|
function Ime(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !Tme(o) ? o : null;
|
|
}
|
|
const oU = () => {
|
|
const e = (n) => E2(Ig, (o, a, i) => (o[i] = E2(a, n, {}), o), {});
|
|
ZG = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((s) => typeof s == "number").forEach((s) => {
|
|
n[s.toString(16)] = a;
|
|
}), n)), eU = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((s) => typeof s == "string").forEach((s) => {
|
|
n[s] = a;
|
|
}), n)), nU = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Ig || Ve.autoFetchSvg, r = E2(Cme, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
tU = r.names, rU = r.unicodes, R3 = ex(Ve.styleDefault, {
|
|
family: Ve.familyDefault
|
|
});
|
|
};
|
|
vme((e) => {
|
|
R3 = ex(e.styleDefault, {
|
|
family: Ve.familyDefault
|
|
});
|
|
});
|
|
oU();
|
|
function M3(e, t) {
|
|
return (ZG[e] || {})[t];
|
|
}
|
|
function jme(e, t) {
|
|
return (eU[e] || {})[t];
|
|
}
|
|
function ou(e, t) {
|
|
return (nU[e] || {})[t];
|
|
}
|
|
function aU(e) {
|
|
return tU[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Rme(e) {
|
|
const t = rU[e], r = M3("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function fc() {
|
|
return R3;
|
|
}
|
|
const iU = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function Mme(e) {
|
|
let t = wn;
|
|
const r = QG.reduce((n, o) => (n[o] = "".concat(Ve.cssPrefix, "-").concat(o), n), {});
|
|
return zG.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => Nme[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function ex(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = wn
|
|
} = t, n = fme[r][e];
|
|
if (r === Q0 && !e)
|
|
return "fad";
|
|
const o = DI[r][e] || DI[r][n], a = e in La.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function Dme(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = Ime(Ve.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function WI(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function tx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = KO.concat(Zpe), a = WI(e.filter((l) => o.includes(l))), i = WI(e.filter((l) => !KO.includes(l))), s = a.filter((l) => (n = l, !LG.includes(l))), [u = null] = s, c = Mme(a), d = be(be({}, Dme(i)), {}, {
|
|
prefix: ex(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return be(be(be({}, d), Wme({
|
|
values: e,
|
|
family: c,
|
|
styles: Ig,
|
|
config: Ve,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), Fme(r, n, d));
|
|
}
|
|
function Fme(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? aU(o) : {}, i = ou(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Ig.far && Ig.fas && !Ve.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const Lme = zG.filter((e) => e !== wn || e !== Q0), zme = Object.keys(qO).filter((e) => e !== wn).map((e) => Object.keys(qO[e])).flat();
|
|
function Wme(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Q0, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Lme.includes(r) && (Object.keys(a).find((f) => zme.includes(f)) || i.autoFetchSvg)) {
|
|
const f = Upe.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = ou(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = fc() || "fas"), n;
|
|
}
|
|
class Vme {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = be(be({}, this.definitions[a] || {}), o[a]), rS(a, o[a]);
|
|
const i = T3[wn][a];
|
|
i && rS(i, o[a]), oU();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let VI = [], Nf = {};
|
|
const ld = {}, Hme = Object.keys(ld);
|
|
function Gme(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return VI = e, Nf = {}, Object.keys(ld).forEach((n) => {
|
|
Hme.indexOf(n) === -1 && delete ld[n];
|
|
}), VI.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Nf[i] || (Nf[i] = []), Nf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(ld);
|
|
}), r;
|
|
}
|
|
function nS(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Nf[e] || []).forEach((i) => {
|
|
t = i.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Nu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Nf[e] || []).forEach((a) => {
|
|
a.apply(null, r);
|
|
});
|
|
}
|
|
function dc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return ld[e] ? ld[e].apply(null, t) : void 0;
|
|
}
|
|
function oS(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || fc();
|
|
if (t)
|
|
return t = ou(r, t) || t, LI(sU.definitions, r, t) || LI(La.styles, r, t);
|
|
}
|
|
const sU = new Vme(), Ume = () => {
|
|
Ve.autoReplaceSvg = !1, Ve.observeMutations = !1, Nu("noAuto");
|
|
}, Bme = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return hs ? (Nu("beforeI2svg", e), dc("pseudoElements2svg", e), dc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Ve.autoReplaceSvg === !1 && (Ve.autoReplaceSvg = !0), Ve.observeMutations = !0, Eme(() => {
|
|
qme({
|
|
autoReplaceSvgRoot: t
|
|
}), Nu("watch", e);
|
|
});
|
|
}
|
|
}, Yme = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: ou(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = ex(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: ou(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Ve.cssPrefix, "-")) > -1 || e.match(dme))) {
|
|
const t = tx(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || fc(),
|
|
iconName: ou(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = fc();
|
|
return {
|
|
prefix: t,
|
|
iconName: ou(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, io = {
|
|
noAuto: Ume,
|
|
config: Ve,
|
|
dom: Bme,
|
|
parse: Yme,
|
|
library: sU,
|
|
findIconDefinition: oS,
|
|
toHtml: Ab
|
|
}, qme = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Fr
|
|
} = e;
|
|
(Object.keys(La.styles).length > 0 || Ve.autoFetchSvg) && hs && Ve.autoReplaceSvg && io.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function rx(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Ab(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!hs) return;
|
|
const r = Fr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function Kme(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (j3(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Z0(be(be({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function Xme(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Ve.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: be(be({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function D3(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = Xpe.includes(n), m = [Ve.replacementClass, o ? "".concat(Ve.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: be(be({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Cu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || Tg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = be(be({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: be(be({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? dc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : dc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? Xme($) : Kme($);
|
|
}
|
|
function HI(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = be(be(be({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Cu] = "");
|
|
const c = be({}, i.styles);
|
|
j3(o) && (c.transform = _me({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Z0(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function Jme(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = be(be(be({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Z0(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: A2
|
|
} = La;
|
|
function aS(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Ve.cssPrefix, "-").concat(O2.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ve.cssPrefix, "-").concat(O2.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ve.cssPrefix, "-").concat(O2.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const Qme = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function Zme(e, t) {
|
|
!GG && !Ve.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function iS(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Ve.styleDefault !== null && (t = fc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = aU(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && A2[t] && A2[t][e]) {
|
|
const a = A2[t][e];
|
|
return n(aS(a));
|
|
}
|
|
Zme(e, t), n(be(be({}, Qme), {}, {
|
|
icon: Ve.showMissingIcons && e ? dc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const GI = () => {
|
|
}, sS = Ve.measurePerformance && wy && wy.mark && wy.measure ? wy : {
|
|
mark: GI,
|
|
measure: GI
|
|
}, ih = 'FA "6.7.2"', ehe = (e) => (sS.mark("".concat(ih, " ").concat(e, " begins")), () => lU(e)), lU = (e) => {
|
|
sS.mark("".concat(ih, " ").concat(e, " ends")), sS.measure("".concat(ih, " ").concat(e), "".concat(ih, " ").concat(e, " begins"), "".concat(ih, " ").concat(e, " ends"));
|
|
};
|
|
var F3 = {
|
|
begin: ehe,
|
|
end: lU
|
|
};
|
|
const Iv = () => {
|
|
};
|
|
function UI(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Cu) : null) == "string";
|
|
}
|
|
function the(e) {
|
|
const t = e.getAttribute ? e.getAttribute(C3) : null, r = e.getAttribute ? e.getAttribute(N3) : null;
|
|
return t && r;
|
|
}
|
|
function rhe(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Ve.replacementClass);
|
|
}
|
|
function nhe() {
|
|
return Ve.autoReplaceSvg === !0 ? jv.replace : jv[Ve.autoReplaceSvg] || jv.replace;
|
|
}
|
|
function ohe(e) {
|
|
return Fr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function ahe(e) {
|
|
return Fr.createElement(e);
|
|
}
|
|
function cU(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? ohe : ahe
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Fr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(a) {
|
|
n.setAttribute(a, e.attributes[a]);
|
|
}), (e.children || []).forEach(function(a) {
|
|
n.appendChild(cU(a, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function ihe(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const jv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(cU(r), t);
|
|
}), t.getAttribute(Cu) === null && Ve.keepOriginalSource) {
|
|
let r = Fr.createComment(ihe(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~I3(t).indexOf(Ve.replacementClass))
|
|
return jv.replace(e);
|
|
const n = new RegExp("".concat(Ve.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ve.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Ab(a)).join(`
|
|
`);
|
|
t.setAttribute(Cu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function BI(e) {
|
|
e();
|
|
}
|
|
function uU(e, t) {
|
|
const r = typeof t == "function" ? t : Iv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = BI;
|
|
Ve.mutateApproach === cme && (n = uc.requestAnimationFrame || BI), n(() => {
|
|
const o = nhe(), a = F3.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let L3 = !1;
|
|
function fU() {
|
|
L3 = !0;
|
|
}
|
|
function lS() {
|
|
L3 = !1;
|
|
}
|
|
let A1 = null;
|
|
function YI(e) {
|
|
if (!II || !Ve.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Iv,
|
|
nodeCallback: r = Iv,
|
|
pseudoElementsCallback: n = Iv,
|
|
observeMutationsRoot: o = Fr
|
|
} = e;
|
|
A1 = new II((a) => {
|
|
if (L3) return;
|
|
const i = fc();
|
|
op(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !UI(s.addedNodes[0]) && (Ve.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ve.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && UI(s.target) && ~hme.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && the(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = tx(I3(s.target));
|
|
s.target.setAttribute(C3, u || i), c && s.target.setAttribute(N3, c);
|
|
} else rhe(s.target) && r(s.target);
|
|
});
|
|
}), hs && A1.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function she() {
|
|
A1 && A1.disconnect();
|
|
}
|
|
function lhe(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function che(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = tx(I3(e));
|
|
return o.prefix || (o.prefix = fc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = jme(o.prefix, e.innerText) || M3(o.prefix, tS(e.innerText))), !o.iconName && Ve.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function uhe(e) {
|
|
const t = op(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Ve.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ve.replacementClass, "-title-").concat(n || Tg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function fhe() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Fa,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function qI(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = che(e), a = uhe(e), i = nS("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? lhe(e) : [];
|
|
return be({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Fa,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: dhe
|
|
} = La;
|
|
function dU(e) {
|
|
const t = Ve.autoReplaceSvg === "nest" ? qI(e, {
|
|
styleParser: !1
|
|
}) : qI(e);
|
|
return ~t.extra.classes.indexOf(BG) ? dc("generateLayersText", e, t) : dc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function phe() {
|
|
return [...Ype, ...KO];
|
|
}
|
|
function KI(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!hs) return Promise.resolve();
|
|
const r = Fr.documentElement.classList, n = (d) => r.add("".concat(MI, "-").concat(d)), o = (d) => r.remove("".concat(MI, "-").concat(d)), a = Ve.autoFetchSvg ? phe() : LG.concat(Object.keys(dhe));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(BG, ":not([").concat(Cu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Cu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = op(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = F3.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = dU(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
GG || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
uU(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function mhe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
dU(e).then((r) => {
|
|
r && uU([r], t);
|
|
});
|
|
}
|
|
function hhe(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : oS(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : oS(o || {})), e(n, be(be({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const ghe = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Fa,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return rx(be({
|
|
type: "icon"
|
|
}, e), () => (Nu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Ve.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ve.replacementClass, "-title-").concat(s || Tg()) : (c["aria-hidden"] = "true", c.focusable = "false")), D3({
|
|
icons: {
|
|
main: aS(p),
|
|
mask: o ? aS(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: be(be({}, Fa), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var bhe = {
|
|
mixout() {
|
|
return {
|
|
icon: hhe(ghe)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = KI, e.nodeCallback = mhe, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Fr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return KI(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([iS(n, i), c.iconName ? iS(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, D3({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Z0(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return j3(a) && (u = dc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, yhe = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return rx({
|
|
type: "layer"
|
|
}, () => {
|
|
Nu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Ve.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, vhe = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return rx({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Nu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Jme({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Ve.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, xhe = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Fa,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return rx({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Nu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), HI({
|
|
content: e,
|
|
transform: be(be({}, Fa), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Ve.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (DG) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Ve.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, HI({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const whe = new RegExp('"', "ug"), XI = [1105920, 1112319], JI = be(be(be(be({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), Gpe), sme), eme), cS = Object.keys(JI).reduce((e, t) => (e[t.toLowerCase()] = JI[t], e), {}), $he = Object.keys(cS).reduce((e, t) => {
|
|
const r = cS[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function khe(e) {
|
|
const t = e.replace(whe, ""), r = Pme(t, 0), n = r >= XI[0] && r <= XI[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: tS(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function _he(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (cS[r] || {})[o] || $he[r];
|
|
}
|
|
function QI(e, t) {
|
|
const r = "".concat(lme).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const i = op(e.children).filter((f) => f.getAttribute(JO) === t)[0], s = uc.getComputedStyle(e, t), u = s.getPropertyValue("font-family"), c = u.match(pme), d = s.getPropertyValue("font-weight"), l = s.getPropertyValue("content");
|
|
if (i && !c)
|
|
return e.removeChild(i), n();
|
|
if (c && l !== "none" && l !== "") {
|
|
const f = s.getPropertyValue("content");
|
|
let p = _he(u, d);
|
|
const {
|
|
value: y,
|
|
isSecondary: m
|
|
} = khe(f), h = c[0].startsWith("FontAwesome");
|
|
let w = M3(p, y), $ = w;
|
|
if (h) {
|
|
const _ = Rme(y);
|
|
_.iconName && _.prefix && (w = _.iconName, p = _.prefix);
|
|
}
|
|
if (w && !m && (!i || i.getAttribute(C3) !== p || i.getAttribute(N3) !== $)) {
|
|
e.setAttribute(r, $), i && e.removeChild(i);
|
|
const _ = fhe(), {
|
|
extra: S
|
|
} = _;
|
|
S.attributes[JO] = t, iS(w, p).then((b) => {
|
|
const F = D3(be(be({}, _), {}, {
|
|
icons: {
|
|
main: b,
|
|
mask: iU()
|
|
},
|
|
prefix: p,
|
|
iconName: $,
|
|
extra: S,
|
|
watchable: !0
|
|
})), z = Fr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(z, e.firstChild) : e.appendChild(z), z.outerHTML = F.map((q) => Ab(q)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function Ohe(e) {
|
|
return Promise.all([QI(e, "::before"), QI(e, "::after")]);
|
|
}
|
|
function She(e) {
|
|
return e.parentNode !== document.head && !~ume.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(JO) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function ZI(e) {
|
|
if (hs)
|
|
return new Promise((t, r) => {
|
|
const n = op(e.querySelectorAll("*")).filter(She).map(Ohe), o = F3.begin("searchPseudoElements");
|
|
fU(), Promise.all(n).then(() => {
|
|
o(), lS(), t();
|
|
}).catch(() => {
|
|
o(), lS(), r();
|
|
});
|
|
});
|
|
}
|
|
var Ehe = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = ZI, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Fr
|
|
} = t;
|
|
Ve.searchPseudoElements && ZI(r);
|
|
};
|
|
}
|
|
};
|
|
let ej = !1;
|
|
var Ahe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
fU(), ej = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
YI(nS("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
she();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
ej ? lS() : YI(nS("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const tj = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var Phe = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => tj(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = tj(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: be({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: be({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: be(be({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const P2 = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function rj(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function Che(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var Nhe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? tx(r.split(" ").map((o) => o.trim())) : iU();
|
|
return n.prefix || (n.prefix = fc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = kme({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: be(be({}, P2), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(rj)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: be({}, f.inner),
|
|
children: [rj(be({
|
|
tag: c.tag,
|
|
attributes: be(be({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: be({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || Tg()), $ = "clip-".concat(i || Tg()), _ = {
|
|
tag: "mask",
|
|
attributes: be(be({}, P2), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: Che(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: be({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, P2)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, The = {
|
|
provides(e) {
|
|
let t = !1;
|
|
uc.matchMedia && (t = uc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: be(be({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = be(be({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: be(be({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: be(be({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: be(be({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: be(be({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: be(be({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: be(be({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: be(be({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, Ihe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, jhe = [Sme, bhe, yhe, vhe, xhe, Ehe, Ahe, Phe, Nhe, The, Ihe];
|
|
Gme(jhe, {
|
|
mixoutsTo: io
|
|
});
|
|
io.noAuto;
|
|
io.config;
|
|
io.library;
|
|
io.dom;
|
|
const uS = io.parse;
|
|
io.findIconDefinition;
|
|
io.toHtml;
|
|
const Rhe = io.icon;
|
|
io.layer;
|
|
io.text;
|
|
io.counter;
|
|
function Mhe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var ky = { exports: {} }, _y = { exports: {} }, qt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var nj;
|
|
function Dhe() {
|
|
if (nj) return qt;
|
|
nj = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return qt.AsyncMode = u, qt.ConcurrentMode = c, qt.ContextConsumer = s, qt.ContextProvider = i, qt.Element = t, qt.ForwardRef = d, qt.Fragment = n, qt.Lazy = y, qt.Memo = p, qt.Portal = r, qt.Profiler = a, qt.StrictMode = o, qt.Suspense = l, qt.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, qt.isConcurrentMode = S, qt.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, qt.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, qt.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, qt.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, qt.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, qt.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, qt.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, qt.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, qt.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, qt.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, qt.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, qt.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, qt.typeOf = _, qt;
|
|
}
|
|
var Kt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var oj;
|
|
function Fhe() {
|
|
return oj || (oj = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
Kt.AsyncMode = b, Kt.ConcurrentMode = F, Kt.ContextConsumer = z, Kt.ContextProvider = q, Kt.Element = Y, Kt.ForwardRef = B, Kt.Fragment = Z, Kt.Lazy = M, Kt.Memo = te, Kt.Portal = G, Kt.Profiler = H, Kt.StrictMode = U, Kt.Suspense = W, Kt.isAsyncMode = ee, Kt.isConcurrentMode = v, Kt.isContextConsumer = g, Kt.isContextProvider = O, Kt.isElement = P, Kt.isForwardRef = A, Kt.isFragment = T, Kt.isLazy = N, Kt.isMemo = C, Kt.isPortal = I, Kt.isProfiler = j, Kt.isStrictMode = R, Kt.isSuspense = Q, Kt.isValidElementType = _, Kt.typeOf = S;
|
|
}()), Kt;
|
|
}
|
|
var aj;
|
|
function pU() {
|
|
return aj || (aj = 1, process.env.NODE_ENV === "production" ? _y.exports = Dhe() : _y.exports = Fhe()), _y.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var C2, ij;
|
|
function Lhe() {
|
|
if (ij) return C2;
|
|
ij = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return C2 = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, C2;
|
|
}
|
|
var N2, sj;
|
|
function z3() {
|
|
if (sj) return N2;
|
|
sj = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return N2 = e, N2;
|
|
}
|
|
var T2, lj;
|
|
function mU() {
|
|
return lj || (lj = 1, T2 = Function.call.bind(Object.prototype.hasOwnProperty)), T2;
|
|
}
|
|
var I2, cj;
|
|
function zhe() {
|
|
if (cj) return I2;
|
|
cj = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ z3(), r = {}, n = /* @__PURE__ */ mU();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, I2 = o, I2;
|
|
}
|
|
var j2, uj;
|
|
function Whe() {
|
|
if (uj) return j2;
|
|
uj = 1;
|
|
var e = pU(), t = Lhe(), r = /* @__PURE__ */ z3(), n = /* @__PURE__ */ mU(), o = /* @__PURE__ */ zhe(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return j2 = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(Q, k) {
|
|
var oe = W(k);
|
|
return oe === "symbol" ? String(k) : k;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, j2;
|
|
}
|
|
var R2, fj;
|
|
function Vhe() {
|
|
if (fj) return R2;
|
|
fj = 1;
|
|
var e = /* @__PURE__ */ z3();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, R2 = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, R2;
|
|
}
|
|
var dj;
|
|
function Hhe() {
|
|
if (dj) return ky.exports;
|
|
if (dj = 1, process.env.NODE_ENV !== "production") {
|
|
var e = pU(), t = !0;
|
|
ky.exports = /* @__PURE__ */ Whe()(e.isElement, t);
|
|
} else
|
|
ky.exports = /* @__PURE__ */ Vhe()();
|
|
return ky.exports;
|
|
}
|
|
var Ghe = /* @__PURE__ */ Hhe();
|
|
const Pt = /* @__PURE__ */ Mhe(Ghe);
|
|
function pj(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function xa(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? pj(Object(r), !0).forEach(function(n) {
|
|
Tf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : pj(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function P1(e) {
|
|
"@babel/helpers - typeof";
|
|
return P1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, P1(e);
|
|
}
|
|
function Tf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Uhe(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function Bhe(e, t) {
|
|
if (e == null) return {};
|
|
var r = Uhe(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function fS(e) {
|
|
return Yhe(e) || qhe(e) || Khe(e) || Xhe();
|
|
}
|
|
function Yhe(e) {
|
|
if (Array.isArray(e)) return dS(e);
|
|
}
|
|
function qhe(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function Khe(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return dS(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return dS(e, t);
|
|
}
|
|
}
|
|
function dS(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function Xhe() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function Jhe(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Tf(t, "fa-".concat(w), typeof w < "u" && w !== null), Tf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Tf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Tf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function Qhe(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function hU(e) {
|
|
return Qhe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var Zhe = ["style"];
|
|
function ege(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function tge(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = hU(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[ege(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function gU(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return gU(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = tge(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[hU(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = Bhe(r, Zhe);
|
|
return o.attrs.style = xa(xa({}, o.attrs.style), i), e.apply(void 0, [t.tag, xa(xa({}, o.attrs), s)].concat(fS(n)));
|
|
}
|
|
var bU = !1;
|
|
try {
|
|
bU = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function rge() {
|
|
if (!bU && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function mj(e) {
|
|
if (e && P1(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (uS.icon)
|
|
return uS.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && P1(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function M2(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Tf({}, e, t) : {};
|
|
}
|
|
var hj = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, To = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = xa(xa({}, hj), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = mj(n), l = M2("classes", [].concat(fS(Jhe(r)), fS((i || "").split(" ")))), f = M2("transform", typeof r.transform == "string" ? uS.transform(r.transform) : r.transform), p = M2("mask", mj(o)), y = Rhe(d, xa(xa(xa(xa({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return rge("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
hj.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), nge(m[0], h);
|
|
});
|
|
To.displayName = "FontAwesomeIcon";
|
|
To.propTypes = {
|
|
beat: Pt.bool,
|
|
border: Pt.bool,
|
|
beatFade: Pt.bool,
|
|
bounce: Pt.bool,
|
|
className: Pt.string,
|
|
fade: Pt.bool,
|
|
flash: Pt.bool,
|
|
mask: Pt.oneOfType([Pt.object, Pt.array, Pt.string]),
|
|
maskId: Pt.string,
|
|
fixedWidth: Pt.bool,
|
|
inverse: Pt.bool,
|
|
flip: Pt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Pt.oneOfType([Pt.object, Pt.array, Pt.string]),
|
|
listItem: Pt.bool,
|
|
pull: Pt.oneOf(["right", "left"]),
|
|
pulse: Pt.bool,
|
|
rotation: Pt.oneOf([0, 90, 180, 270]),
|
|
shake: Pt.bool,
|
|
size: Pt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Pt.bool,
|
|
spinPulse: Pt.bool,
|
|
spinReverse: Pt.bool,
|
|
symbol: Pt.oneOfType([Pt.bool, Pt.string]),
|
|
title: Pt.string,
|
|
titleId: Pt.string,
|
|
transform: Pt.oneOfType([Pt.string, Pt.object]),
|
|
swapOpacity: Pt.bool
|
|
};
|
|
var nge = gU.bind(null, ae.createElement);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const oge = {
|
|
prefix: "fas",
|
|
iconName: "user",
|
|
icon: [448, 512, [128100, 62144], "f007", "M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"]
|
|
}, age = {
|
|
prefix: "fas",
|
|
iconName: "star",
|
|
icon: [576, 512, [11088, 61446], "f005", "M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"]
|
|
}, ige = {
|
|
prefix: "fas",
|
|
iconName: "coin-front",
|
|
icon: [512, 512, [], "e3fc", "M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 352a192 192 0 1 0 0-384 192 192 0 1 0 0 384zm24-264c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 144c0 13.3 10.7 24 24 24s24-10.7 24-24l0-144z"]
|
|
}, sge = {
|
|
prefix: "fas",
|
|
iconName: "palette",
|
|
icon: [512, 512, [127912], "f53f", "M512 256c0 .9 0 1.8 0 2.7c-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48c0 3.4 .4 6.7 1 9.9c2.1 10.2 6.5 20 10.8 29.9c6.1 13.8 12.1 27.5 12.1 42c0 31.8-21.6 60.7-53.4 62c-3.5 .1-7 .2-10.6 .2C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]
|
|
}, lge = {
|
|
prefix: "fas",
|
|
iconName: "volume-high",
|
|
icon: [640, 512, [128266, "volume-up"], "f028", "M533.6 32.5C598.5 85.2 640 165.8 640 256s-41.5 170.7-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C557.5 398.2 592 331.2 592 256s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5C434.1 199.1 448 225.9 448 256s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64l0 384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352 64 352c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l67.8 0L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z"]
|
|
}, cge = {
|
|
prefix: "fas",
|
|
iconName: "route",
|
|
icon: [512, 512, [], "f4d7", "M512 96c0 50.2-59.1 125.1-84.6 155c-3.8 4.4-9.4 6.1-14.5 5L320 256c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c53 0 96 43 96 96s-43 96-96 96l-276.4 0c8.7-9.9 19.3-22.6 30-36.8c6.3-8.4 12.8-17.6 19-27.2L416 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0c-53 0-96-43-96-96s43-96 96-96l39.8 0c-21-31.5-39.8-67.7-39.8-96c0-53 43-96 96-96s96 43 96 96zM117.1 489.1c-3.8 4.3-7.2 8.1-10.1 11.3l-1.8 2-.2-.2c-6 4.6-14.6 4-20-1.8C59.8 473 0 402.5 0 352c0-53 43-96 96-96s96 43 96 96c0 30-21.1 67-43.5 97.9c-10.7 14.7-21.7 28-30.8 38.5l-.6 .7zM128 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]
|
|
}, nx = {
|
|
prefix: "fas",
|
|
iconName: "spinner-third",
|
|
icon: [512, 512, [], "f3f4", "M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z"]
|
|
}, yU = {
|
|
prefix: "fas",
|
|
iconName: "circle-info",
|
|
icon: [512, 512, ["info-circle"], "f05a", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]
|
|
}, gj = yU, uge = {
|
|
prefix: "fas",
|
|
iconName: "gear",
|
|
icon: [512, 512, [9881, "cog"], "f013", "M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"]
|
|
}, fge = uge, dge = {
|
|
prefix: "fas",
|
|
iconName: "grip-vertical",
|
|
icon: [320, 512, [], "f58e", "M40 352l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zm192 0l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 320c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 192l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40zM40 160c-22.1 0-40-17.9-40-40L0 72C0 49.9 17.9 32 40 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0zM232 32l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40z"]
|
|
}, pge = {
|
|
prefix: "fas",
|
|
iconName: "credit-card",
|
|
icon: [576, 512, [128179, 62083, "credit-card-alt"], "f09d", "M64 32C28.7 32 0 60.7 0 96l0 32 576 0 0-32c0-35.3-28.7-64-64-64L64 32zM576 224L0 224 0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-192zM112 352l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16z"]
|
|
}, Oy = {
|
|
prefix: "fas",
|
|
iconName: "play",
|
|
icon: [384, 512, [9654], "f04b", "M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"]
|
|
}, W3 = "-", mge = (e) => {
|
|
const t = gge(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (i) => {
|
|
const s = i.split(W3);
|
|
return s[0] === "" && s.length !== 1 && s.shift(), vU(s, t) || hge(i);
|
|
},
|
|
getConflictingClassGroupIds: (i, s) => {
|
|
const u = r[i] || [];
|
|
return s && n[i] ? [...u, ...n[i]] : u;
|
|
}
|
|
};
|
|
}, vU = (e, t) => {
|
|
var i;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const r = e[0], n = t.nextPart.get(r), o = n ? vU(e.slice(1), n) : void 0;
|
|
if (o)
|
|
return o;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const a = e.join(W3);
|
|
return (i = t.validators.find(({
|
|
validator: s
|
|
}) => s(a))) == null ? void 0 : i.classGroupId;
|
|
}, bj = /^\[(.+)\]$/, hge = (e) => {
|
|
if (bj.test(e)) {
|
|
const t = bj.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, gge = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return yge(Object.entries(e.classGroups), r).forEach(([a, i]) => {
|
|
pS(i, n, a, t);
|
|
}), n;
|
|
}, pS = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : yj(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (bge(o)) {
|
|
pS(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
pS(i, yj(t, a), r, n);
|
|
});
|
|
});
|
|
}, yj = (e, t) => {
|
|
let r = e;
|
|
return t.split(W3).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, bge = (e) => e.isThemeGetter, yge = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, vge = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, xU = "!", xge = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(xU), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, wge = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, $ge = (e) => ({
|
|
cache: vge(e.cacheSize),
|
|
parseClassName: xge(e),
|
|
...mge(e)
|
|
}), kge = /\s+/, _ge = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(kge);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = wge(d).join(":"), w = l ? h + xU : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function Oge() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = wU(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const wU = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = wU(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function Sge(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = $ge(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = _ge(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(Oge.apply(null, arguments));
|
|
};
|
|
}
|
|
const Sr = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, $U = /^\[(?:([a-z-]+):)?(.+)\]$/i, Ege = /^\d+\/\d+$/, Age = /* @__PURE__ */ new Set(["px", "full", "screen"]), Pge = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Cge = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Nge = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Tge = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Ige = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, xi = (e) => cd(e) || Age.has(e) || Ege.test(e), al = (e) => ap(e, "length", Wge), cd = (e) => !!e && !Number.isNaN(Number(e)), D2 = (e) => ap(e, "number", cd), Sm = (e) => !!e && Number.isInteger(Number(e)), jge = (e) => e.endsWith("%") && cd(e.slice(0, -1)), ft = (e) => $U.test(e), il = (e) => Pge.test(e), Rge = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Mge = (e) => ap(e, Rge, kU), Dge = (e) => ap(e, "position", kU), Fge = /* @__PURE__ */ new Set(["image", "url"]), Lge = (e) => ap(e, Fge, Hge), zge = (e) => ap(e, "", Vge), Em = () => !0, ap = (e, t, r) => {
|
|
const n = $U.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, Wge = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
Cge.test(e) && !Nge.test(e)
|
|
), kU = () => !1, Vge = (e) => Tge.test(e), Hge = (e) => Ige.test(e), Gge = () => {
|
|
const e = Sr("colors"), t = Sr("spacing"), r = Sr("blur"), n = Sr("brightness"), o = Sr("borderColor"), a = Sr("borderRadius"), i = Sr("borderSpacing"), s = Sr("borderWidth"), u = Sr("contrast"), c = Sr("grayscale"), d = Sr("hueRotate"), l = Sr("invert"), f = Sr("gap"), p = Sr("gradientColorStops"), y = Sr("gradientColorStopPositions"), m = Sr("inset"), h = Sr("margin"), w = Sr("opacity"), $ = Sr("padding"), _ = Sr("saturate"), S = Sr("scale"), b = Sr("sepia"), F = Sr("skew"), z = Sr("space"), q = Sr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", ft, t], M = () => [ft, t], te = () => ["", xi, al], G = () => ["auto", cd, ft], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", ft], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [cd, ft];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Em],
|
|
spacing: [xi, al],
|
|
blur: ["none", "", il, ft],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", il, ft],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [jge, al],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ft]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [il]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), ft]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Sm, ft]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", ft]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Sm, ft]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Em]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Sm, ft]
|
|
}, ft]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Em]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Sm, ft]
|
|
}, ft]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", ft]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ft]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", ft, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ft, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ft, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [il]
|
|
}, il]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ft, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ft, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ft, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ft, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", il, al]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", D2]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Em]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", ft]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", cd, D2]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", xi, ft]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ft]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ft]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", xi, al]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", xi, ft]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ft]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", ft]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), Dge]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", Mge]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, Lge]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [xi, ft]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [xi, al]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [xi, al]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", il, zge]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Em]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", il, ft]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ft]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ft]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ft]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Sm, ft]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", ft]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", ft]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", ft]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [xi, al, D2]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, Uge = /* @__PURE__ */ Sge(Gge);
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function Bge(e, t, r) {
|
|
return (t = qge(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function vj(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ye(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? vj(Object(r), !0).forEach(function(n) {
|
|
Bge(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : vj(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Yge(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function qge(e) {
|
|
var t = Yge(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const xj = () => {
|
|
};
|
|
let V3 = {}, _U = {}, OU = null, SU = {
|
|
mark: xj,
|
|
measure: xj
|
|
};
|
|
try {
|
|
typeof window < "u" && (V3 = window), typeof document < "u" && (_U = document), typeof MutationObserver < "u" && (OU = MutationObserver), typeof performance < "u" && (SU = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: wj = ""
|
|
} = V3.navigator || {}, pc = V3, Lr = _U, $j = OU, Sy = SU;
|
|
pc.document;
|
|
const gs = !!Lr.documentElement && !!Lr.head && typeof Lr.addEventListener == "function" && typeof Lr.createElement == "function", EU = ~wj.indexOf("MSIE") || ~wj.indexOf("Trident/");
|
|
var Kge = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Xge = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, AU = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, Jge = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, PU = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], $n = "classic", ox = "duotone", Qge = "sharp", Zge = "sharp-duotone", CU = [$n, ox, Qge, Zge], ebe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, tbe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, rbe = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), nbe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, obe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], kj = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, abe = ["kit"], ibe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, sbe = ["fak", "fakd"], lbe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, _j = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Ey = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, cbe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], ube = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], fbe = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, dbe = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, pbe = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, mS = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, mbe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], hS = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...cbe, ...mbe], hbe = ["solid", "regular", "light", "thin", "duotone", "brands"], NU = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], gbe = NU.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), bbe = [...Object.keys(pbe), ...hbe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Ey.GROUP, Ey.SWAP_OPACITY, Ey.PRIMARY, Ey.SECONDARY].concat(NU.map((e) => "".concat(e, "x"))).concat(gbe.map((e) => "w-".concat(e))), ybe = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const Bi = "___FONT_AWESOME___", gS = 16, TU = "fa", IU = "svg-inline--fa", Tu = "data-fa-i2svg", bS = "data-fa-pseudo-element", vbe = "data-fa-pseudo-element-pending", H3 = "data-prefix", G3 = "data-icon", Oj = "fontawesome-i2svg", xbe = "async", wbe = ["HTML", "HEAD", "STYLE", "SCRIPT"], jU = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Pb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[$n];
|
|
}
|
|
});
|
|
}
|
|
const RU = ye({}, AU);
|
|
RU[$n] = ye(ye(ye(ye({}, {
|
|
"fa-duotone": "duotone"
|
|
}), AU[$n]), kj.kit), kj["kit-duotone"]);
|
|
const $be = Pb(RU), yS = ye({}, nbe);
|
|
yS[$n] = ye(ye(ye(ye({}, {
|
|
duotone: "fad"
|
|
}), yS[$n]), _j.kit), _j["kit-duotone"]);
|
|
const Sj = Pb(yS), vS = ye({}, mS);
|
|
vS[$n] = ye(ye({}, vS[$n]), lbe.kit);
|
|
const U3 = Pb(vS), xS = ye({}, dbe);
|
|
xS[$n] = ye(ye({}, xS[$n]), ibe.kit);
|
|
Pb(xS);
|
|
const kbe = Kge, MU = "fa-layers-text", _be = Xge, Obe = ye({}, ebe);
|
|
Pb(Obe);
|
|
const Sbe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], F2 = Jge, Ebe = [...abe, ...bbe], Dh = pc.FontAwesomeConfig || {};
|
|
function Abe(e) {
|
|
var t = Lr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function Pbe(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Lr && typeof Lr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = Pbe(Abe(t));
|
|
n != null && (Dh[r] = n);
|
|
});
|
|
const DU = {
|
|
styleDefault: "solid",
|
|
familyDefault: $n,
|
|
cssPrefix: TU,
|
|
replacementClass: IU,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Dh.familyPrefix && (Dh.cssPrefix = Dh.familyPrefix);
|
|
const Ld = ye(ye({}, DU), Dh);
|
|
Ld.autoReplaceSvg || (Ld.observeMutations = !1);
|
|
const He = {};
|
|
Object.keys(DU).forEach((e) => {
|
|
Object.defineProperty(He, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Ld[e] = t, Fh.forEach((r) => r(He));
|
|
},
|
|
get: function() {
|
|
return Ld[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(He, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Ld.cssPrefix = e, Fh.forEach((t) => t(He));
|
|
},
|
|
get: function() {
|
|
return Ld.cssPrefix;
|
|
}
|
|
});
|
|
pc.FontAwesomeConfig = He;
|
|
const Fh = [];
|
|
function Cbe(e) {
|
|
return Fh.push(e), () => {
|
|
Fh.splice(Fh.indexOf(e), 1);
|
|
};
|
|
}
|
|
const sl = gS, za = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function Nbe(e) {
|
|
if (!e || !gs)
|
|
return;
|
|
const t = Lr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Lr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Lr.head.insertBefore(t, n), e;
|
|
}
|
|
const Tbe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function jg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += Tbe[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function ip(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function B3(e) {
|
|
return e.classList ? ip(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function FU(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function Ibe(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(FU(e[r]), '" '), "").trim();
|
|
}
|
|
function ax(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function Y3(e) {
|
|
return e.size !== za.size || e.x !== za.x || e.y !== za.y || e.rotate !== za.rotate || e.flipX || e.flipY;
|
|
}
|
|
function jbe(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function Rbe(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = gS,
|
|
height: n = gS,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && EU ? a += "translate(".concat(t.x / sl - r / 2, "em, ").concat(t.y / sl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / sl, "em), calc(-50% + ").concat(t.y / sl, "em)) ") : a += "translate(".concat(t.x / sl, "em, ").concat(t.y / sl, "em) "), a += "scale(".concat(t.size / sl * (t.flipX ? -1 : 1), ", ").concat(t.size / sl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var Mbe = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function LU() {
|
|
const e = TU, t = IU, r = He.cssPrefix, n = He.replacementClass;
|
|
let o = Mbe;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let Ej = !1;
|
|
function L2() {
|
|
He.autoAddCss && !Ej && (Nbe(LU()), Ej = !0);
|
|
}
|
|
var Dbe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: LU,
|
|
insertCss: L2
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
L2();
|
|
},
|
|
beforeI2svg() {
|
|
L2();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Yi = pc || {};
|
|
Yi[Bi] || (Yi[Bi] = {});
|
|
Yi[Bi].styles || (Yi[Bi].styles = {});
|
|
Yi[Bi].hooks || (Yi[Bi].hooks = {});
|
|
Yi[Bi].shims || (Yi[Bi].shims = []);
|
|
var Wa = Yi[Bi];
|
|
const zU = [], WU = function() {
|
|
Lr.removeEventListener("DOMContentLoaded", WU), C1 = 1, zU.map((e) => e());
|
|
};
|
|
let C1 = !1;
|
|
gs && (C1 = (Lr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Lr.readyState), C1 || Lr.addEventListener("DOMContentLoaded", WU));
|
|
function Fbe(e) {
|
|
gs && (C1 ? setTimeout(e, 0) : zU.push(e));
|
|
}
|
|
function Cb(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? FU(e) : "<".concat(t, " ").concat(Ibe(r), ">").concat(n.map(Cb).join(""), "</").concat(t, ">");
|
|
}
|
|
function Aj(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var z2 = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function Lbe(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function VU(e) {
|
|
const t = Lbe(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function zbe(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function Pj(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function wS(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = Pj(t);
|
|
typeof Wa.hooks.addPack == "function" && !n ? Wa.hooks.addPack(e, Pj(t)) : Wa.styles[e] = ye(ye({}, Wa.styles[e] || {}), o), e === "fas" && wS("fa", t);
|
|
}
|
|
const {
|
|
styles: Rg,
|
|
shims: Wbe
|
|
} = Wa, HU = Object.keys(U3), Vbe = HU.reduce((e, t) => (e[t] = Object.keys(U3[t]), e), {});
|
|
let q3 = null, GU = {}, UU = {}, BU = {}, YU = {}, qU = {};
|
|
function Hbe(e) {
|
|
return ~Ebe.indexOf(e);
|
|
}
|
|
function Gbe(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !Hbe(o) ? o : null;
|
|
}
|
|
const KU = () => {
|
|
const e = (n) => z2(Rg, (o, a, i) => (o[i] = z2(a, n, {}), o), {});
|
|
GU = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), UU = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), qU = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Rg || He.autoFetchSvg, r = z2(Wbe, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
BU = r.names, YU = r.unicodes, q3 = ix(He.styleDefault, {
|
|
family: He.familyDefault
|
|
});
|
|
};
|
|
Cbe((e) => {
|
|
q3 = ix(e.styleDefault, {
|
|
family: He.familyDefault
|
|
});
|
|
});
|
|
KU();
|
|
function K3(e, t) {
|
|
return (GU[e] || {})[t];
|
|
}
|
|
function Ube(e, t) {
|
|
return (UU[e] || {})[t];
|
|
}
|
|
function au(e, t) {
|
|
return (qU[e] || {})[t];
|
|
}
|
|
function XU(e) {
|
|
return BU[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Bbe(e) {
|
|
const t = YU[e], r = K3("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function mc() {
|
|
return q3;
|
|
}
|
|
const JU = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function Ybe(e) {
|
|
let t = $n;
|
|
const r = HU.reduce((n, o) => (n[o] = "".concat(He.cssPrefix, "-").concat(o), n), {});
|
|
return CU.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => Vbe[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function ix(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = $n
|
|
} = t, n = $be[r][e];
|
|
if (r === ox && !e)
|
|
return "fad";
|
|
const o = Sj[r][e] || Sj[r][n], a = e in Wa.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function qbe(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = Gbe(He.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Cj(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function sx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = hS.concat(ube), a = Cj(e.filter((l) => o.includes(l))), i = Cj(e.filter((l) => !hS.includes(l))), s = a.filter((l) => (n = l, !PU.includes(l))), [u = null] = s, c = Ybe(a), d = ye(ye({}, qbe(i)), {}, {
|
|
prefix: ix(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return ye(ye(ye({}, d), Qbe({
|
|
values: e,
|
|
family: c,
|
|
styles: Rg,
|
|
config: He,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), Kbe(r, n, d));
|
|
}
|
|
function Kbe(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? XU(o) : {}, i = au(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Rg.far && Rg.fas && !He.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const Xbe = CU.filter((e) => e !== $n || e !== ox), Jbe = Object.keys(mS).filter((e) => e !== $n).map((e) => Object.keys(mS[e])).flat();
|
|
function Qbe(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === ox, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Xbe.includes(r) && (Object.keys(a).find((l) => Jbe.includes(l)) || i.autoFetchSvg)) {
|
|
const l = rbe.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = au(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = mc() || "fas"), n;
|
|
}
|
|
let Zbe = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = ye(ye({}, this.definitions[a] || {}), o[a]), wS(a, o[a]);
|
|
const i = U3[$n][a];
|
|
i && wS(i, o[a]), KU();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, Nj = [], If = {};
|
|
const ud = {}, eye = Object.keys(ud);
|
|
function tye(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return Nj = e, If = {}, Object.keys(ud).forEach((n) => {
|
|
eye.indexOf(n) === -1 && delete ud[n];
|
|
}), Nj.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
If[i] || (If[i] = []), If[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(ud);
|
|
}), r;
|
|
}
|
|
function $S(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (If[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Iu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(If[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function hc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return ud[e] ? ud[e].apply(null, t) : void 0;
|
|
}
|
|
function kS(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || mc();
|
|
if (t)
|
|
return t = au(r, t) || t, Aj(QU.definitions, r, t) || Aj(Wa.styles, r, t);
|
|
}
|
|
const QU = new Zbe(), rye = () => {
|
|
He.autoReplaceSvg = !1, He.observeMutations = !1, Iu("noAuto");
|
|
}, nye = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return gs ? (Iu("beforeI2svg", e), hc("pseudoElements2svg", e), hc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
He.autoReplaceSvg === !1 && (He.autoReplaceSvg = !0), He.observeMutations = !0, Fbe(() => {
|
|
aye({
|
|
autoReplaceSvgRoot: t
|
|
}), Iu("watch", e);
|
|
});
|
|
}
|
|
}, oye = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: au(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = ix(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: au(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(He.cssPrefix, "-")) > -1 || e.match(kbe))) {
|
|
const t = sx(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || mc(),
|
|
iconName: au(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = mc();
|
|
return {
|
|
prefix: t,
|
|
iconName: au(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, so = {
|
|
noAuto: rye,
|
|
config: He,
|
|
dom: nye,
|
|
parse: oye,
|
|
library: QU,
|
|
findIconDefinition: kS,
|
|
toHtml: Cb
|
|
}, aye = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Lr
|
|
} = e;
|
|
(Object.keys(Wa.styles).length > 0 || He.autoFetchSvg) && gs && He.autoReplaceSvg && so.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function lx(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Cb(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!gs) return;
|
|
const r = Lr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function iye(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (Y3(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = ax(ye(ye({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function sye(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(He.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ye(ye({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function X3(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = sbe.includes(n), m = [He.replacementClass, o ? "".concat(He.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: ye(ye({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Tu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || jg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = ye(ye({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ye(ye({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? hc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : hc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? sye($) : iye($);
|
|
}
|
|
function Tj(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = ye(ye(ye({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Tu] = "");
|
|
const c = ye({}, i.styles);
|
|
Y3(o) && (c.transform = Rbe({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = ax(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function lye(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ye(ye(ye({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = ax(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: W2
|
|
} = Wa;
|
|
function _S(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(He.cssPrefix, "-").concat(F2.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(He.cssPrefix, "-").concat(F2.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(He.cssPrefix, "-").concat(F2.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const cye = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function uye(e, t) {
|
|
!jU && !He.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function OS(e, t) {
|
|
let r = t;
|
|
return t === "fa" && He.styleDefault !== null && (t = mc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = XU(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && W2[t] && W2[t][e]) {
|
|
const a = W2[t][e];
|
|
return n(_S(a));
|
|
}
|
|
uye(e, t), n(ye(ye({}, cye), {}, {
|
|
icon: He.showMissingIcons && e ? hc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Ij = () => {
|
|
}, SS = He.measurePerformance && Sy && Sy.mark && Sy.measure ? Sy : {
|
|
mark: Ij,
|
|
measure: Ij
|
|
}, sh = 'FA "6.7.2"', fye = (e) => (SS.mark("".concat(sh, " ").concat(e, " begins")), () => ZU(e)), ZU = (e) => {
|
|
SS.mark("".concat(sh, " ").concat(e, " ends")), SS.measure("".concat(sh, " ").concat(e), "".concat(sh, " ").concat(e, " begins"), "".concat(sh, " ").concat(e, " ends"));
|
|
};
|
|
var J3 = {
|
|
begin: fye,
|
|
end: ZU
|
|
};
|
|
const Rv = () => {
|
|
};
|
|
function jj(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Tu) : null) == "string";
|
|
}
|
|
function dye(e) {
|
|
const t = e.getAttribute ? e.getAttribute(H3) : null, r = e.getAttribute ? e.getAttribute(G3) : null;
|
|
return t && r;
|
|
}
|
|
function pye(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(He.replacementClass);
|
|
}
|
|
function mye() {
|
|
return He.autoReplaceSvg === !0 ? Mv.replace : Mv[He.autoReplaceSvg] || Mv.replace;
|
|
}
|
|
function hye(e) {
|
|
return Lr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function gye(e) {
|
|
return Lr.createElement(e);
|
|
}
|
|
function eB(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? hye : gye
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Lr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(eB(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function bye(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Mv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(eB(r), t);
|
|
}), t.getAttribute(Tu) === null && He.keepOriginalSource) {
|
|
let r = Lr.createComment(bye(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~B3(t).indexOf(He.replacementClass))
|
|
return Mv.replace(e);
|
|
const n = new RegExp("".concat(He.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === He.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Cb(a)).join(`
|
|
`);
|
|
t.setAttribute(Tu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function Rj(e) {
|
|
e();
|
|
}
|
|
function tB(e, t) {
|
|
const r = typeof t == "function" ? t : Rv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Rj;
|
|
He.mutateApproach === xbe && (n = pc.requestAnimationFrame || Rj), n(() => {
|
|
const o = mye(), a = J3.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Q3 = !1;
|
|
function rB() {
|
|
Q3 = !0;
|
|
}
|
|
function ES() {
|
|
Q3 = !1;
|
|
}
|
|
let N1 = null;
|
|
function Mj(e) {
|
|
if (!$j || !He.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Rv,
|
|
nodeCallback: r = Rv,
|
|
pseudoElementsCallback: n = Rv,
|
|
observeMutationsRoot: o = Lr
|
|
} = e;
|
|
N1 = new $j((a) => {
|
|
if (Q3) return;
|
|
const i = mc();
|
|
ip(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !jj(s.addedNodes[0]) && (He.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && He.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && jj(s.target) && ~Sbe.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && dye(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = sx(B3(s.target));
|
|
s.target.setAttribute(H3, u || i), c && s.target.setAttribute(G3, c);
|
|
} else pye(s.target) && r(s.target);
|
|
});
|
|
}), gs && N1.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function yye() {
|
|
N1 && N1.disconnect();
|
|
}
|
|
function vye(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function xye(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = sx(B3(e));
|
|
return o.prefix || (o.prefix = mc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = Ube(o.prefix, e.innerText) || K3(o.prefix, VU(e.innerText))), !o.iconName && He.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function wye(e) {
|
|
const t = ip(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return He.autoA11y && (r ? t["aria-labelledby"] = "".concat(He.replacementClass, "-title-").concat(n || jg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function $ye() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: za,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function Dj(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = xye(e), a = wye(e), i = $S("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? vye(e) : [];
|
|
return ye({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: za,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: kye
|
|
} = Wa;
|
|
function nB(e) {
|
|
const t = He.autoReplaceSvg === "nest" ? Dj(e, {
|
|
styleParser: !1
|
|
}) : Dj(e);
|
|
return ~t.extra.classes.indexOf(MU) ? hc("generateLayersText", e, t) : hc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function _ye() {
|
|
return [...obe, ...hS];
|
|
}
|
|
function Fj(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!gs) return Promise.resolve();
|
|
const r = Lr.documentElement.classList, n = (d) => r.add("".concat(Oj, "-").concat(d)), o = (d) => r.remove("".concat(Oj, "-").concat(d)), a = He.autoFetchSvg ? _ye() : PU.concat(Object.keys(kye));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(MU, ":not([").concat(Tu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Tu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = ip(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = J3.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = nB(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
jU || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
tB(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function Oye(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
nB(e).then((r) => {
|
|
r && tB([r], t);
|
|
});
|
|
}
|
|
function Sye(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : kS(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : kS(o || {})), e(n, ye(ye({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const Eye = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = za,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return lx(ye({
|
|
type: "icon"
|
|
}, e), () => (Iu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), He.autoA11y && (i ? c["aria-labelledby"] = "".concat(He.replacementClass, "-title-").concat(s || jg()) : (c["aria-hidden"] = "true", c.focusable = "false")), X3({
|
|
icons: {
|
|
main: _S(p),
|
|
mask: o ? _S(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: ye(ye({}, za), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var Aye = {
|
|
mixout() {
|
|
return {
|
|
icon: Sye(Eye)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Fj, e.nodeCallback = Oye, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Lr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Fj(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([OS(n, i), c.iconName ? OS(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, X3({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = ax(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return Y3(a) && (u = hc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Pye = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return lx({
|
|
type: "layer"
|
|
}, () => {
|
|
Iu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(He.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, Cye = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return lx({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Iu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), lye({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(He.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, Nye = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = za,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return lx({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Iu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Tj({
|
|
content: e,
|
|
transform: ye(ye({}, za), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(He.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (EU) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return He.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, Tj({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const Tye = new RegExp('"', "ug"), Lj = [1105920, 1112319], zj = ye(ye(ye(ye({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), tbe), ybe), fbe), AS = Object.keys(zj).reduce((e, t) => (e[t.toLowerCase()] = zj[t], e), {}), Iye = Object.keys(AS).reduce((e, t) => {
|
|
const r = AS[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function jye(e) {
|
|
const t = e.replace(Tye, ""), r = zbe(t, 0), n = r >= Lj[0] && r <= Lj[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: VU(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function Rye(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (AS[r] || {})[o] || Iye[r];
|
|
}
|
|
function Wj(e, t) {
|
|
const r = "".concat(vbe).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = ip(e.children).filter((l) => l.getAttribute(bS) === t)[0], i = pc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(_be), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = Rye(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = jye(l), m = u[0].startsWith("FontAwesome");
|
|
let h = K3(f, p), w = h;
|
|
if (m) {
|
|
const $ = Bbe(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(H3) !== f || a.getAttribute(G3) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = $ye(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[bS] = t, OS(h, f).then((S) => {
|
|
const b = X3(ye(ye({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: JU()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Lr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Cb(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function Mye(e) {
|
|
return Promise.all([Wj(e, "::before"), Wj(e, "::after")]);
|
|
}
|
|
function Dye(e) {
|
|
return e.parentNode !== document.head && !~wbe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(bS) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function Vj(e) {
|
|
if (gs)
|
|
return new Promise((t, r) => {
|
|
const n = ip(e.querySelectorAll("*")).filter(Dye).map(Mye), o = J3.begin("searchPseudoElements");
|
|
rB(), Promise.all(n).then(() => {
|
|
o(), ES(), t();
|
|
}).catch(() => {
|
|
o(), ES(), r();
|
|
});
|
|
});
|
|
}
|
|
var Fye = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = Vj, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Lr
|
|
} = t;
|
|
He.searchPseudoElements && Vj(r);
|
|
};
|
|
}
|
|
};
|
|
let Hj = !1;
|
|
var Lye = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
rB(), Hj = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Mj($S("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
yye();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
Hj ? ES() : Mj($S("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Gj = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var zye = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => Gj(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = Gj(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ye({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ye({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ye(ye({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const V2 = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function Uj(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function Wye(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var Vye = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? sx(r.split(" ").map((o) => o.trim())) : JU();
|
|
return n.prefix || (n.prefix = mc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = jbe({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: ye(ye({}, V2), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(Uj)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ye({}, f.inner),
|
|
children: [Uj(ye({
|
|
tag: c.tag,
|
|
attributes: ye(ye({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: ye({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || jg()), $ = "clip-".concat(i || jg()), _ = {
|
|
tag: "mask",
|
|
attributes: ye(ye({}, V2), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: Wye(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: ye({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, V2)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Hye = {
|
|
provides(e) {
|
|
let t = !1;
|
|
pc.matchMedia && (t = pc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: ye(ye({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = ye(ye({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ye(ye({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ye(ye({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ye(ye({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ye(ye({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: ye(ye({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ye(ye({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: ye(ye({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, Gye = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, Uye = [Dbe, Aye, Pye, Cye, Nye, Fye, Lye, zye, Vye, Hye, Gye];
|
|
tye(Uye, {
|
|
mixoutsTo: so
|
|
});
|
|
so.noAuto;
|
|
so.config;
|
|
so.library;
|
|
so.dom;
|
|
const PS = so.parse;
|
|
so.findIconDefinition;
|
|
so.toHtml;
|
|
const Bye = so.icon;
|
|
so.layer;
|
|
so.text;
|
|
so.counter;
|
|
function Yye(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Ay = { exports: {} }, H2 = { exports: {} }, Xt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var Bj;
|
|
function qye() {
|
|
if (Bj) return Xt;
|
|
Bj = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return Xt.AsyncMode = u, Xt.ConcurrentMode = c, Xt.ContextConsumer = s, Xt.ContextProvider = i, Xt.Element = t, Xt.ForwardRef = d, Xt.Fragment = n, Xt.Lazy = y, Xt.Memo = p, Xt.Portal = r, Xt.Profiler = a, Xt.StrictMode = o, Xt.Suspense = l, Xt.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, Xt.isConcurrentMode = S, Xt.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, Xt.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, Xt.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Xt.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, Xt.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, Xt.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, Xt.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, Xt.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, Xt.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, Xt.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, Xt.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, Xt.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, Xt.typeOf = _, Xt;
|
|
}
|
|
var lr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var Yj;
|
|
function Kye() {
|
|
return Yj || (Yj = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
lr.AsyncMode = b, lr.ConcurrentMode = F, lr.ContextConsumer = z, lr.ContextProvider = q, lr.Element = Y, lr.ForwardRef = B, lr.Fragment = Z, lr.Lazy = M, lr.Memo = te, lr.Portal = G, lr.Profiler = H, lr.StrictMode = U, lr.Suspense = W, lr.isAsyncMode = ee, lr.isConcurrentMode = v, lr.isContextConsumer = g, lr.isContextProvider = O, lr.isElement = P, lr.isForwardRef = A, lr.isFragment = T, lr.isLazy = N, lr.isMemo = C, lr.isPortal = I, lr.isProfiler = j, lr.isStrictMode = R, lr.isSuspense = Q, lr.isValidElementType = _, lr.typeOf = S;
|
|
}()), lr;
|
|
}
|
|
var qj;
|
|
function oB() {
|
|
return qj || (qj = 1, process.env.NODE_ENV === "production" ? H2.exports = qye() : H2.exports = Kye()), H2.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var G2, Kj;
|
|
function Xye() {
|
|
if (Kj) return G2;
|
|
Kj = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return G2 = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, G2;
|
|
}
|
|
var U2, Xj;
|
|
function Z3() {
|
|
if (Xj) return U2;
|
|
Xj = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return U2 = e, U2;
|
|
}
|
|
var Jj, Qj;
|
|
function aB() {
|
|
return Qj || (Qj = 1, Jj = Function.call.bind(Object.prototype.hasOwnProperty)), Jj;
|
|
}
|
|
var B2, Zj;
|
|
function Jye() {
|
|
if (Zj) return B2;
|
|
Zj = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Z3(), r = {}, n = /* @__PURE__ */ aB();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, B2 = o, B2;
|
|
}
|
|
var Y2, e9;
|
|
function Qye() {
|
|
if (e9) return Y2;
|
|
e9 = 1;
|
|
var e = oB(), t = Xye(), r = /* @__PURE__ */ Z3(), n = /* @__PURE__ */ aB(), o = /* @__PURE__ */ Jye(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Y2 = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, Y2;
|
|
}
|
|
var q2, t9;
|
|
function Zye() {
|
|
if (t9) return q2;
|
|
t9 = 1;
|
|
var e = /* @__PURE__ */ Z3();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, q2 = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, q2;
|
|
}
|
|
var r9;
|
|
function eve() {
|
|
if (r9) return Ay.exports;
|
|
if (r9 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = oB(), t = !0;
|
|
Ay.exports = /* @__PURE__ */ Qye()(e.isElement, t);
|
|
} else
|
|
Ay.exports = /* @__PURE__ */ Zye()();
|
|
return Ay.exports;
|
|
}
|
|
var tve = /* @__PURE__ */ eve();
|
|
const Ct = /* @__PURE__ */ Yye(tve);
|
|
function n9(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function wa(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? n9(Object(r), !0).forEach(function(n) {
|
|
jf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : n9(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function T1(e) {
|
|
"@babel/helpers - typeof";
|
|
return T1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, T1(e);
|
|
}
|
|
function jf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function rve(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function nve(e, t) {
|
|
if (e == null) return {};
|
|
var r = rve(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function CS(e) {
|
|
return ove(e) || ave(e) || ive(e) || sve();
|
|
}
|
|
function ove(e) {
|
|
if (Array.isArray(e)) return NS(e);
|
|
}
|
|
function ave(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function ive(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return NS(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return NS(e, t);
|
|
}
|
|
}
|
|
function NS(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function sve() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function lve(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, jf(t, "fa-".concat(w), typeof w < "u" && w !== null), jf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), jf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), jf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function cve(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function iB(e) {
|
|
return cve(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var uve = ["style"];
|
|
function fve(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function dve(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = iB(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[fve(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function sB(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return sB(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = dve(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[iB(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = nve(r, uve);
|
|
return o.attrs.style = wa(wa({}, o.attrs.style), i), e.apply(void 0, [t.tag, wa(wa({}, o.attrs), s)].concat(CS(n)));
|
|
}
|
|
var lB = !1;
|
|
try {
|
|
lB = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function pve() {
|
|
if (!lB && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function o9(e) {
|
|
if (e && T1(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (PS.icon)
|
|
return PS.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && T1(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function K2(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? jf({}, e, t) : {};
|
|
}
|
|
var a9 = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, Kn = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = wa(wa({}, a9), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = o9(n), l = K2("classes", [].concat(CS(lve(r)), CS((i || "").split(" ")))), f = K2("transform", typeof r.transform == "string" ? PS.transform(r.transform) : r.transform), p = K2("mask", o9(o)), y = Bye(d, wa(wa(wa(wa({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return pve("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
a9.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), mve(m[0], h);
|
|
});
|
|
Kn.displayName = "FontAwesomeIcon";
|
|
Kn.propTypes = {
|
|
beat: Ct.bool,
|
|
border: Ct.bool,
|
|
beatFade: Ct.bool,
|
|
bounce: Ct.bool,
|
|
className: Ct.string,
|
|
fade: Ct.bool,
|
|
flash: Ct.bool,
|
|
mask: Ct.oneOfType([Ct.object, Ct.array, Ct.string]),
|
|
maskId: Ct.string,
|
|
fixedWidth: Ct.bool,
|
|
inverse: Ct.bool,
|
|
flip: Ct.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ct.oneOfType([Ct.object, Ct.array, Ct.string]),
|
|
listItem: Ct.bool,
|
|
pull: Ct.oneOf(["right", "left"]),
|
|
pulse: Ct.bool,
|
|
rotation: Ct.oneOf([0, 90, 180, 270]),
|
|
shake: Ct.bool,
|
|
size: Ct.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ct.bool,
|
|
spinPulse: Ct.bool,
|
|
spinReverse: Ct.bool,
|
|
symbol: Ct.oneOfType([Ct.bool, Ct.string]),
|
|
title: Ct.string,
|
|
titleId: Ct.string,
|
|
transform: Ct.oneOfType([Ct.string, Ct.object]),
|
|
swapOpacity: Ct.bool
|
|
};
|
|
var mve = sB.bind(null, ae.createElement);
|
|
const eP = "-", hve = (e) => {
|
|
const t = bve(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(eP);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), cB(a, t) || gve(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, cB = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? cB(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(eP);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, i9 = /^\[(.+)\]$/, gve = (e) => {
|
|
if (i9.test(e)) {
|
|
const t = i9.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, bve = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return vve(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
TS(a, n, o, t);
|
|
}), n;
|
|
}, TS = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : s9(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (yve(o)) {
|
|
TS(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
TS(i, s9(t, a), r, n);
|
|
});
|
|
});
|
|
}, s9 = (e, t) => {
|
|
let r = e;
|
|
return t.split(eP).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, yve = (e) => e.isThemeGetter, vve = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, xve = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, uB = "!", wve = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(uB), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, $ve = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, kve = (e) => ({
|
|
cache: xve(e.cacheSize),
|
|
parseClassName: wve(e),
|
|
...hve(e)
|
|
}), _ve = /\s+/, Ove = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(_ve);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = $ve(d).join(":"), w = l ? h + uB : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function Sve() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = fB(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const fB = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = fB(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function Eve(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = kve(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = Ove(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(Sve.apply(null, arguments));
|
|
};
|
|
}
|
|
const Er = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, dB = /^\[(?:([a-z-]+):)?(.+)\]$/i, Ave = /^\d+\/\d+$/, Pve = /* @__PURE__ */ new Set(["px", "full", "screen"]), Cve = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Nve = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Tve = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Ive = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, jve = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, wi = (e) => fd(e) || Pve.has(e) || Ave.test(e), ll = (e) => sp(e, "length", Vve), fd = (e) => !!e && !Number.isNaN(Number(e)), X2 = (e) => sp(e, "number", fd), Am = (e) => !!e && Number.isInteger(Number(e)), Rve = (e) => e.endsWith("%") && fd(e.slice(0, -1)), dt = (e) => dB.test(e), cl = (e) => Cve.test(e), Mve = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Dve = (e) => sp(e, Mve, pB), Fve = (e) => sp(e, "position", pB), Lve = /* @__PURE__ */ new Set(["image", "url"]), zve = (e) => sp(e, Lve, Gve), Wve = (e) => sp(e, "", Hve), Pm = () => !0, sp = (e, t, r) => {
|
|
const n = dB.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, Vve = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
Nve.test(e) && !Tve.test(e)
|
|
), pB = () => !1, Hve = (e) => Ive.test(e), Gve = (e) => jve.test(e), Uve = () => {
|
|
const e = Er("colors"), t = Er("spacing"), r = Er("blur"), n = Er("brightness"), o = Er("borderColor"), a = Er("borderRadius"), i = Er("borderSpacing"), s = Er("borderWidth"), u = Er("contrast"), c = Er("grayscale"), d = Er("hueRotate"), l = Er("invert"), f = Er("gap"), p = Er("gradientColorStops"), y = Er("gradientColorStopPositions"), m = Er("inset"), h = Er("margin"), w = Er("opacity"), $ = Er("padding"), _ = Er("saturate"), S = Er("scale"), b = Er("sepia"), F = Er("skew"), z = Er("space"), q = Er("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", dt, t], M = () => [dt, t], te = () => ["", wi, ll], G = () => ["auto", fd, dt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", dt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [fd, dt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Pm],
|
|
spacing: [wi, ll],
|
|
blur: ["none", "", cl, dt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", cl, dt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [Rve, ll],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", dt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [cl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), dt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Am, dt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", dt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Am, dt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Pm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Am, dt]
|
|
}, dt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Pm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Am, dt]
|
|
}, dt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", dt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", dt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", dt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [dt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [dt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [cl]
|
|
}, cl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [dt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [dt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [dt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [dt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", cl, ll]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", X2]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Pm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", dt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", fd, X2]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", wi, dt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", dt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", dt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", wi, ll]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", wi, dt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", dt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", dt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), Fve]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", Dve]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, zve]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [wi, dt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [wi, ll]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [wi, ll]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", cl, Wve]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Pm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", cl, dt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", dt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", dt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", dt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Am, dt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", dt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", dt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", dt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [wi, ll, X2]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, l9 = /* @__PURE__ */ Eve(Uve);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const hf = {
|
|
prefix: "fas",
|
|
iconName: "spinner-third",
|
|
icon: [512, 512, [], "f3f4", "M224 32c0-17.7 14.3-32 32-32C397.4 0 512 114.6 512 256c0 46.6-12.5 90.4-34.3 128c-8.8 15.3-28.4 20.5-43.7 11.7s-20.5-28.4-11.7-43.7c16.3-28.2 25.7-61 25.7-96c0-106-86-192-192-192c-17.7 0-32-14.3-32-32z"]
|
|
}, Io = ({
|
|
icon: e,
|
|
iconClassName: t,
|
|
children: r,
|
|
className: n,
|
|
htmlFor: o,
|
|
variant: a = "primary",
|
|
disabled: i,
|
|
iconFlip: s = !1,
|
|
loading: u,
|
|
as: c = "button",
|
|
href: d,
|
|
target: l,
|
|
...f
|
|
}) => {
|
|
function p(h) {
|
|
switch (h) {
|
|
case "secondary":
|
|
return "i-am-a-unique-string bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-secondary";
|
|
case "action":
|
|
return "bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-action";
|
|
case "destructive":
|
|
return "bg-red hover:bg-red/90 text-white focus-visible:outline-red";
|
|
case "ghost":
|
|
return "bg-transparent text-base-fg border border-ui-controls-border/70 hover:bg-ui-controls/30 focus-visible:outline-primary-600";
|
|
case "primary":
|
|
default:
|
|
return "bg-primary hover:bg-primary-400 text-white focus-visible:outline-primary-600";
|
|
}
|
|
}
|
|
const y = l9(
|
|
i || u ? "opacity-50 pointer-events-none" : ""
|
|
), m = l9(
|
|
"w-fit text-sm font-medium rounded-lg px-3 py-2 border border-transparent shadow-sm focus-visible:outline focus-visible:outline-0 focus-visible:outline-offset-0 transition-all duration-150 flex gap-2 items-center justify-center active:scale-95 transform",
|
|
p(a),
|
|
n,
|
|
y
|
|
);
|
|
return o ? /* @__PURE__ */ Te("label", { className: m, htmlFor: o, style: f.style, children: [
|
|
u && !s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && !s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }),
|
|
r,
|
|
u && s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null })
|
|
] }) : c === "link" && d ? /* @__PURE__ */ Te(
|
|
"a",
|
|
{
|
|
href: d,
|
|
className: m,
|
|
style: f.style,
|
|
...f,
|
|
target: l,
|
|
children: [
|
|
u && !s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && !s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }),
|
|
r,
|
|
u && s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Te(
|
|
"button",
|
|
{
|
|
className: m,
|
|
disabled: i || u,
|
|
...f,
|
|
htmlFor: o,
|
|
children: [
|
|
u && !s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && !s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null }),
|
|
r,
|
|
u && s ? /* @__PURE__ */ K(Kn, { icon: hf, className: "animate-spin" }) : /* @__PURE__ */ K(rn, { children: e && s ? /* @__PURE__ */ K(Kn, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
);
|
|
};
|
|
var Dv = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Dv || {});
|
|
Dv.FEATURED, Dv.MINE, Dv.BOOKMARKED;
|
|
function Bve(e, t = !1) {
|
|
return window.__TAURI_INTERNALS__.transformCallback(e, t);
|
|
}
|
|
async function jo(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
var c9;
|
|
(function(e) {
|
|
e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave";
|
|
})(c9 || (c9 = {}));
|
|
async function Yve(e, t) {
|
|
window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e, t), await jo("plugin:event|unlisten", {
|
|
event: e,
|
|
eventId: t
|
|
});
|
|
}
|
|
async function qve(e, t, r) {
|
|
var n;
|
|
const o = (n = void 0) !== null && n !== void 0 ? n : { kind: "Any" };
|
|
return jo("plugin:event|listen", {
|
|
event: e,
|
|
target: o,
|
|
handler: Bve(t)
|
|
}).then((a) => async () => Yve(e, a));
|
|
}
|
|
const Kve = async () => await jo("get_fal_api_key_command"), Xve = async (e) => await jo("set_fal_api_key_command", {
|
|
request: {
|
|
key: e
|
|
}
|
|
}), Jve = async () => await jo("midjourney_get_credential_info_command"), Qve = async () => {
|
|
try {
|
|
return await jo("get_provider_order_command");
|
|
} catch (e) {
|
|
throw e;
|
|
}
|
|
};
|
|
var $a = /* @__PURE__ */ ((e) => (e.ArtCraft = "artcraft", e.Fal = "fal", e.Sora = "sora", e))($a || {});
|
|
const Zve = async (e) => await jo("set_provider_order_command", {
|
|
request: {
|
|
providers: e.providers
|
|
}
|
|
}), I1 = async () => await jo("get_app_preferences_command");
|
|
var Vl = /* @__PURE__ */ ((e) => (e.PreferredDownloadDirectory = "preferred_download_directory", e.PlaySounds = "play_sounds", e.EnqueueSuccessSound = "enqueue_success_sound", e.EnqueueFailureSound = "enqueue_failure_sound", e.GenerationSuccessSound = "generation_success_sound", e.GenerationFailureSound = "generation_failure_sound", e.GenerationEnqueueSound = "generation_enqueue_sound", e))(Vl || {});
|
|
const tu = async (e) => await jo("update_app_preferences_command", {
|
|
request: {
|
|
preference: e.preference,
|
|
value: e.value
|
|
}
|
|
});
|
|
var _f = /* @__PURE__ */ ((e) => (e.NotSetUp = "not_set_up", e.ExpiredOrError = "expired_or_error", e.Valid = "valid", e))(_f || {});
|
|
const u9 = async () => {
|
|
const e = await jo("check_sora_session_command");
|
|
return console.log(">>> sora result", e), e;
|
|
}, e1e = async () => await jo("sora_logout_command");
|
|
function t1e(e) {
|
|
ue(() => {
|
|
let t;
|
|
return (async () => t = await qve(
|
|
"sora-login-success",
|
|
(r) => {
|
|
e(r.payload);
|
|
}
|
|
))(), () => {
|
|
t && t();
|
|
};
|
|
}, [e]);
|
|
}
|
|
const r1e = async () => {
|
|
try {
|
|
return await jo("get_app_info_command");
|
|
} catch (e) {
|
|
throw e;
|
|
}
|
|
};
|
|
async function Mg(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
async function n1e(e = {}) {
|
|
return typeof e == "object" && Object.freeze(e), await Mg("plugin:dialog|open", { options: e });
|
|
}
|
|
const tP = "-", o1e = (e) => {
|
|
const t = i1e(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(tP);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), mB(a, t) || a1e(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, mB = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? mB(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(tP);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, f9 = /^\[(.+)\]$/, a1e = (e) => {
|
|
if (f9.test(e)) {
|
|
const t = f9.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, i1e = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return l1e(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
IS(a, n, o, t);
|
|
}), n;
|
|
}, IS = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : d9(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (s1e(o)) {
|
|
IS(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
IS(i, d9(t, a), r, n);
|
|
});
|
|
});
|
|
}, d9 = (e, t) => {
|
|
let r = e;
|
|
return t.split(tP).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, s1e = (e) => e.isThemeGetter, l1e = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, c1e = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, hB = "!", u1e = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(hB), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, f1e = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, d1e = (e) => ({
|
|
cache: c1e(e.cacheSize),
|
|
parseClassName: u1e(e),
|
|
...o1e(e)
|
|
}), p1e = /\s+/, m1e = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(p1e);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = f1e(d).join(":"), w = l ? h + hB : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function h1e() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = gB(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const gB = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = gB(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function g1e(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = d1e(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = m1e(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(h1e.apply(null, arguments));
|
|
};
|
|
}
|
|
const Ar = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, bB = /^\[(?:([a-z-]+):)?(.+)\]$/i, b1e = /^\d+\/\d+$/, y1e = /* @__PURE__ */ new Set(["px", "full", "screen"]), v1e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, x1e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, w1e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, $1e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, k1e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, $i = (e) => dd(e) || y1e.has(e) || b1e.test(e), ul = (e) => lp(e, "length", N1e), dd = (e) => !!e && !Number.isNaN(Number(e)), J2 = (e) => lp(e, "number", dd), Cm = (e) => !!e && Number.isInteger(Number(e)), _1e = (e) => e.endsWith("%") && dd(e.slice(0, -1)), pt = (e) => bB.test(e), fl = (e) => v1e.test(e), O1e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), S1e = (e) => lp(e, O1e, yB), E1e = (e) => lp(e, "position", yB), A1e = /* @__PURE__ */ new Set(["image", "url"]), P1e = (e) => lp(e, A1e, I1e), C1e = (e) => lp(e, "", T1e), Nm = () => !0, lp = (e, t, r) => {
|
|
const n = bB.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, N1e = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
x1e.test(e) && !w1e.test(e)
|
|
), yB = () => !1, T1e = (e) => $1e.test(e), I1e = (e) => k1e.test(e), j1e = () => {
|
|
const e = Ar("colors"), t = Ar("spacing"), r = Ar("blur"), n = Ar("brightness"), o = Ar("borderColor"), a = Ar("borderRadius"), i = Ar("borderSpacing"), s = Ar("borderWidth"), u = Ar("contrast"), c = Ar("grayscale"), d = Ar("hueRotate"), l = Ar("invert"), f = Ar("gap"), p = Ar("gradientColorStops"), y = Ar("gradientColorStopPositions"), m = Ar("inset"), h = Ar("margin"), w = Ar("opacity"), $ = Ar("padding"), _ = Ar("saturate"), S = Ar("scale"), b = Ar("sepia"), F = Ar("skew"), z = Ar("space"), q = Ar("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", pt, t], M = () => [pt, t], te = () => ["", $i, ul], G = () => ["auto", dd, pt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", pt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [dd, pt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Nm],
|
|
spacing: [$i, ul],
|
|
blur: ["none", "", fl, pt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", fl, pt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [_1e, ul],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", pt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [fl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), pt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Cm, pt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", pt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Cm, pt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Nm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Cm, pt]
|
|
}, pt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Nm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Cm, pt]
|
|
}, pt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", pt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", pt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", pt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [pt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [pt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [fl]
|
|
}, fl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [pt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [pt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [pt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [pt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", fl, ul]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", J2]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Nm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", pt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", dd, J2]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", $i, pt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", pt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", pt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", $i, ul]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", $i, pt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", pt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", pt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), E1e]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", S1e]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, P1e]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [$i, pt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [$i, ul]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [$i, ul]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", fl, C1e]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Nm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", fl, pt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", pt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", pt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", pt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Cm, pt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", pt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", pt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", pt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [$i, ul, J2]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, R1e = /* @__PURE__ */ g1e(j1e), jn = ({
|
|
className: e,
|
|
children: t,
|
|
required: r,
|
|
...n
|
|
}) => /* @__PURE__ */ Te(
|
|
"label",
|
|
{
|
|
className: R1e("text-base-fg mb-2 text-[15px] font-medium", e),
|
|
...n,
|
|
children: [
|
|
t,
|
|
r && /* @__PURE__ */ K("span", { className: "ml-0.5 text-[#ff6467]", children: "*" })
|
|
]
|
|
}
|
|
), M1e = (e) => {
|
|
const [t, r] = de(void 0);
|
|
ue(() => {
|
|
(async () => {
|
|
const d = await I1();
|
|
console.log("prefs", d), r(d.preferences);
|
|
})();
|
|
}, []);
|
|
const n = (t == null ? void 0 : t.preferred_download_directory) || {}, o = "custom" in n ? n.custom : "", a = "system" in n ? "System Download Directory" : o, i = async () => {
|
|
const c = await I1();
|
|
console.log("prefs", c), r(c.preferences);
|
|
};
|
|
return /* @__PURE__ */ Te("div", { className: "space-y-4 text-base-fg", children: [
|
|
/* @__PURE__ */ Te("div", { className: "space-y-2", children: [
|
|
/* @__PURE__ */ K(jn, { htmlFor: "download-path", children: "Default Download Directory" }),
|
|
/* @__PURE__ */ K("p", { className: "opacity-80", children: "This is where downloads are placed after downloading. The current path is:" }),
|
|
/* @__PURE__ */ K("div", { className: "py-1.5 px-2 rounded-md mt-1 bg-ui-panel border border-ui-panel-border text-base-fg", children: /* @__PURE__ */ K("pre", { children: a }) })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "flex gap-2", children: [
|
|
/* @__PURE__ */ K(Io, { variant: "primary", onClick: async () => {
|
|
let c = await n1e({
|
|
multiple: !1,
|
|
directory: !0,
|
|
defaultPath: o || void 0
|
|
});
|
|
c !== null && (await tu({
|
|
preference: Vl.PreferredDownloadDirectory,
|
|
value: {
|
|
custom: c
|
|
}
|
|
}), await i());
|
|
}, children: "Choose Directory" }),
|
|
/* @__PURE__ */ K(Io, { variant: "secondary", onClick: async () => {
|
|
await tu({
|
|
preference: Vl.PreferredDownloadDirectory,
|
|
value: {
|
|
system: "downloads"
|
|
}
|
|
}), await i();
|
|
}, children: "Use Default" })
|
|
] })
|
|
] });
|
|
};
|
|
var vB = (e) => {
|
|
throw TypeError(e);
|
|
}, xB = (e, t, r) => t.has(e) || vB("Cannot " + r), dl = (e, t, r) => (xB(e, t, "read from private field"), r ? r.call(e) : t.get(e)), wB = (e, t, r) => t.has(e) ? vB("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), p9 = (e, t, r, n) => (xB(e, t, "write to private field"), t.set(e, r), r), Tm = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, m9 = {};
|
|
/*!
|
|
* howler.js v2.2.4
|
|
* howlerjs.com
|
|
*
|
|
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
* goldfirestudios.com
|
|
*
|
|
* MIT License
|
|
*/
|
|
var h9;
|
|
function D1e() {
|
|
return h9 || (h9 = 1, function(e) {
|
|
(function() {
|
|
var t = function() {
|
|
this.init();
|
|
};
|
|
t.prototype = {
|
|
/**
|
|
* Initialize the global Howler object.
|
|
* @return {Howler}
|
|
*/
|
|
init: function() {
|
|
var l = this || r;
|
|
return l._counter = 1e3, l._html5AudioPool = [], l.html5PoolSize = 10, l._codecs = {}, l._howls = [], l._muted = !1, l._volume = 1, l._canPlayEvent = "canplaythrough", l._navigator = typeof window < "u" && window.navigator ? window.navigator : null, l.masterGain = null, l.noAudio = !1, l.usingWebAudio = !0, l.autoSuspend = !0, l.ctx = null, l.autoUnlock = !0, l._setup(), l;
|
|
},
|
|
/**
|
|
* Get/set the global volume for all sounds.
|
|
* @param {Float} vol Volume from 0.0 to 1.0.
|
|
* @return {Howler/Float} Returns self or current volume.
|
|
*/
|
|
volume: function(l) {
|
|
var f = this || r;
|
|
if (l = parseFloat(l), f.ctx || d(), typeof l < "u" && l >= 0 && l <= 1) {
|
|
if (f._volume = l, f._muted)
|
|
return f;
|
|
f.usingWebAudio && f.masterGain.gain.setValueAtTime(l, r.ctx.currentTime);
|
|
for (var p = 0; p < f._howls.length; p++)
|
|
if (!f._howls[p]._webAudio)
|
|
for (var y = f._howls[p]._getSoundIds(), m = 0; m < y.length; m++) {
|
|
var h = f._howls[p]._soundById(y[m]);
|
|
h && h._node && (h._node.volume = h._volume * l);
|
|
}
|
|
return f;
|
|
}
|
|
return f._volume;
|
|
},
|
|
/**
|
|
* Handle muting and unmuting globally.
|
|
* @param {Boolean} muted Is muted or not.
|
|
*/
|
|
mute: function(l) {
|
|
var f = this || r;
|
|
f.ctx || d(), f._muted = l, f.usingWebAudio && f.masterGain.gain.setValueAtTime(l ? 0 : f._volume, r.ctx.currentTime);
|
|
for (var p = 0; p < f._howls.length; p++)
|
|
if (!f._howls[p]._webAudio)
|
|
for (var y = f._howls[p]._getSoundIds(), m = 0; m < y.length; m++) {
|
|
var h = f._howls[p]._soundById(y[m]);
|
|
h && h._node && (h._node.muted = l ? !0 : h._muted);
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Handle stopping all sounds globally.
|
|
*/
|
|
stop: function() {
|
|
for (var l = this || r, f = 0; f < l._howls.length; f++)
|
|
l._howls[f].stop();
|
|
return l;
|
|
},
|
|
/**
|
|
* Unload and destroy all currently loaded Howl objects.
|
|
* @return {Howler}
|
|
*/
|
|
unload: function() {
|
|
for (var l = this || r, f = l._howls.length - 1; f >= 0; f--)
|
|
l._howls[f].unload();
|
|
return l.usingWebAudio && l.ctx && typeof l.ctx.close < "u" && (l.ctx.close(), l.ctx = null, d()), l;
|
|
},
|
|
/**
|
|
* Check for codec support of specific extension.
|
|
* @param {String} ext Audio file extention.
|
|
* @return {Boolean}
|
|
*/
|
|
codecs: function(l) {
|
|
return (this || r)._codecs[l.replace(/^x-/, "")];
|
|
},
|
|
/**
|
|
* Setup various state values for global tracking.
|
|
* @return {Howler}
|
|
*/
|
|
_setup: function() {
|
|
var l = this || r;
|
|
if (l.state = l.ctx && l.ctx.state || "suspended", l._autoSuspend(), !l.usingWebAudio)
|
|
if (typeof Audio < "u")
|
|
try {
|
|
var f = new Audio();
|
|
typeof f.oncanplaythrough > "u" && (l._canPlayEvent = "canplay");
|
|
} catch {
|
|
l.noAudio = !0;
|
|
}
|
|
else
|
|
l.noAudio = !0;
|
|
try {
|
|
var f = new Audio();
|
|
f.muted && (l.noAudio = !0);
|
|
} catch {
|
|
}
|
|
return l.noAudio || l._setupCodecs(), l;
|
|
},
|
|
/**
|
|
* Check for browser support for various codecs and cache the results.
|
|
* @return {Howler}
|
|
*/
|
|
_setupCodecs: function() {
|
|
var l = this || r, f = null;
|
|
try {
|
|
f = typeof Audio < "u" ? new Audio() : null;
|
|
} catch {
|
|
return l;
|
|
}
|
|
if (!f || typeof f.canPlayType != "function")
|
|
return l;
|
|
var p = f.canPlayType("audio/mpeg;").replace(/^no$/, ""), y = l._navigator ? l._navigator.userAgent : "", m = y.match(/OPR\/(\d+)/g), h = m && parseInt(m[0].split("/")[1], 10) < 33, w = y.indexOf("Safari") !== -1 && y.indexOf("Chrome") === -1, $ = y.match(/Version\/(.*?) /), _ = w && $ && parseInt($[1], 10) < 15;
|
|
return l._codecs = {
|
|
mp3: !!(!h && (p || f.canPlayType("audio/mp3;").replace(/^no$/, ""))),
|
|
mpeg: !!p,
|
|
opus: !!f.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ""),
|
|
ogg: !!f.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""),
|
|
oga: !!f.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""),
|
|
wav: !!(f.canPlayType('audio/wav; codecs="1"') || f.canPlayType("audio/wav")).replace(/^no$/, ""),
|
|
aac: !!f.canPlayType("audio/aac;").replace(/^no$/, ""),
|
|
caf: !!f.canPlayType("audio/x-caf;").replace(/^no$/, ""),
|
|
m4a: !!(f.canPlayType("audio/x-m4a;") || f.canPlayType("audio/m4a;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""),
|
|
m4b: !!(f.canPlayType("audio/x-m4b;") || f.canPlayType("audio/m4b;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""),
|
|
mp4: !!(f.canPlayType("audio/x-mp4;") || f.canPlayType("audio/mp4;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""),
|
|
weba: !!(!_ && f.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")),
|
|
webm: !!(!_ && f.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")),
|
|
dolby: !!f.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/, ""),
|
|
flac: !!(f.canPlayType("audio/x-flac;") || f.canPlayType("audio/flac;")).replace(/^no$/, "")
|
|
}, l;
|
|
},
|
|
/**
|
|
* Some browsers/devices will only allow audio to be played after a user interaction.
|
|
* Attempt to automatically unlock audio on the first user interaction.
|
|
* Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/
|
|
* @return {Howler}
|
|
*/
|
|
_unlockAudio: function() {
|
|
var l = this || r;
|
|
if (!(l._audioUnlocked || !l.ctx)) {
|
|
l._audioUnlocked = !1, l.autoUnlock = !1, !l._mobileUnloaded && l.ctx.sampleRate !== 44100 && (l._mobileUnloaded = !0, l.unload()), l._scratchBuffer = l.ctx.createBuffer(1, 1, 22050);
|
|
var f = function(p) {
|
|
for (; l._html5AudioPool.length < l.html5PoolSize; )
|
|
try {
|
|
var y = new Audio();
|
|
y._unlocked = !0, l._releaseHtml5Audio(y);
|
|
} catch {
|
|
l.noAudio = !0;
|
|
break;
|
|
}
|
|
for (var m = 0; m < l._howls.length; m++)
|
|
if (!l._howls[m]._webAudio)
|
|
for (var h = l._howls[m]._getSoundIds(), w = 0; w < h.length; w++) {
|
|
var $ = l._howls[m]._soundById(h[w]);
|
|
$ && $._node && !$._node._unlocked && ($._node._unlocked = !0, $._node.load());
|
|
}
|
|
l._autoResume();
|
|
var _ = l.ctx.createBufferSource();
|
|
_.buffer = l._scratchBuffer, _.connect(l.ctx.destination), typeof _.start > "u" ? _.noteOn(0) : _.start(0), typeof l.ctx.resume == "function" && l.ctx.resume(), _.onended = function() {
|
|
_.disconnect(0), l._audioUnlocked = !0, document.removeEventListener("touchstart", f, !0), document.removeEventListener("touchend", f, !0), document.removeEventListener("click", f, !0), document.removeEventListener("keydown", f, !0);
|
|
for (var S = 0; S < l._howls.length; S++)
|
|
l._howls[S]._emit("unlock");
|
|
};
|
|
};
|
|
return document.addEventListener("touchstart", f, !0), document.addEventListener("touchend", f, !0), document.addEventListener("click", f, !0), document.addEventListener("keydown", f, !0), l;
|
|
}
|
|
},
|
|
/**
|
|
* Get an unlocked HTML5 Audio object from the pool. If none are left,
|
|
* return a new Audio object and throw a warning.
|
|
* @return {Audio} HTML5 Audio object.
|
|
*/
|
|
_obtainHtml5Audio: function() {
|
|
var l = this || r;
|
|
if (l._html5AudioPool.length)
|
|
return l._html5AudioPool.pop();
|
|
var f = new Audio().play();
|
|
return f && typeof Promise < "u" && (f instanceof Promise || typeof f.then == "function") && f.catch(function() {
|
|
console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.");
|
|
}), new Audio();
|
|
},
|
|
/**
|
|
* Return an activated HTML5 Audio object to the pool.
|
|
* @return {Howler}
|
|
*/
|
|
_releaseHtml5Audio: function(l) {
|
|
var f = this || r;
|
|
return l._unlocked && f._html5AudioPool.push(l), f;
|
|
},
|
|
/**
|
|
* Automatically suspend the Web Audio AudioContext after no sound has played for 30 seconds.
|
|
* This saves processing/energy and fixes various browser-specific bugs with audio getting stuck.
|
|
* @return {Howler}
|
|
*/
|
|
_autoSuspend: function() {
|
|
var l = this;
|
|
if (!(!l.autoSuspend || !l.ctx || typeof l.ctx.suspend > "u" || !r.usingWebAudio)) {
|
|
for (var f = 0; f < l._howls.length; f++)
|
|
if (l._howls[f]._webAudio) {
|
|
for (var p = 0; p < l._howls[f]._sounds.length; p++)
|
|
if (!l._howls[f]._sounds[p]._paused)
|
|
return l;
|
|
}
|
|
return l._suspendTimer && clearTimeout(l._suspendTimer), l._suspendTimer = setTimeout(function() {
|
|
if (l.autoSuspend) {
|
|
l._suspendTimer = null, l.state = "suspending";
|
|
var y = function() {
|
|
l.state = "suspended", l._resumeAfterSuspend && (delete l._resumeAfterSuspend, l._autoResume());
|
|
};
|
|
l.ctx.suspend().then(y, y);
|
|
}
|
|
}, 3e4), l;
|
|
}
|
|
},
|
|
/**
|
|
* Automatically resume the Web Audio AudioContext when a new sound is played.
|
|
* @return {Howler}
|
|
*/
|
|
_autoResume: function() {
|
|
var l = this;
|
|
if (!(!l.ctx || typeof l.ctx.resume > "u" || !r.usingWebAudio))
|
|
return l.state === "running" && l.ctx.state !== "interrupted" && l._suspendTimer ? (clearTimeout(l._suspendTimer), l._suspendTimer = null) : l.state === "suspended" || l.state === "running" && l.ctx.state === "interrupted" ? (l.ctx.resume().then(function() {
|
|
l.state = "running";
|
|
for (var f = 0; f < l._howls.length; f++)
|
|
l._howls[f]._emit("resume");
|
|
}), l._suspendTimer && (clearTimeout(l._suspendTimer), l._suspendTimer = null)) : l.state === "suspending" && (l._resumeAfterSuspend = !0), l;
|
|
}
|
|
};
|
|
var r = new t(), n = function(l) {
|
|
var f = this;
|
|
if (!l.src || l.src.length === 0) {
|
|
console.error("An array of source files must be passed with any new Howl.");
|
|
return;
|
|
}
|
|
f.init(l);
|
|
};
|
|
n.prototype = {
|
|
/**
|
|
* Initialize a new Howl group object.
|
|
* @param {Object} o Passed in properties for this group.
|
|
* @return {Howl}
|
|
*/
|
|
init: function(l) {
|
|
var f = this;
|
|
return r.ctx || d(), f._autoplay = l.autoplay || !1, f._format = typeof l.format != "string" ? l.format : [l.format], f._html5 = l.html5 || !1, f._muted = l.mute || !1, f._loop = l.loop || !1, f._pool = l.pool || 5, f._preload = typeof l.preload == "boolean" || l.preload === "metadata" ? l.preload : !0, f._rate = l.rate || 1, f._sprite = l.sprite || {}, f._src = typeof l.src != "string" ? l.src : [l.src], f._volume = l.volume !== void 0 ? l.volume : 1, f._xhr = {
|
|
method: l.xhr && l.xhr.method ? l.xhr.method : "GET",
|
|
headers: l.xhr && l.xhr.headers ? l.xhr.headers : null,
|
|
withCredentials: l.xhr && l.xhr.withCredentials ? l.xhr.withCredentials : !1
|
|
}, f._duration = 0, f._state = "unloaded", f._sounds = [], f._endTimers = {}, f._queue = [], f._playLock = !1, f._onend = l.onend ? [{ fn: l.onend }] : [], f._onfade = l.onfade ? [{ fn: l.onfade }] : [], f._onload = l.onload ? [{ fn: l.onload }] : [], f._onloaderror = l.onloaderror ? [{ fn: l.onloaderror }] : [], f._onplayerror = l.onplayerror ? [{ fn: l.onplayerror }] : [], f._onpause = l.onpause ? [{ fn: l.onpause }] : [], f._onplay = l.onplay ? [{ fn: l.onplay }] : [], f._onstop = l.onstop ? [{ fn: l.onstop }] : [], f._onmute = l.onmute ? [{ fn: l.onmute }] : [], f._onvolume = l.onvolume ? [{ fn: l.onvolume }] : [], f._onrate = l.onrate ? [{ fn: l.onrate }] : [], f._onseek = l.onseek ? [{ fn: l.onseek }] : [], f._onunlock = l.onunlock ? [{ fn: l.onunlock }] : [], f._onresume = [], f._webAudio = r.usingWebAudio && !f._html5, typeof r.ctx < "u" && r.ctx && r.autoUnlock && r._unlockAudio(), r._howls.push(f), f._autoplay && f._queue.push({
|
|
event: "play",
|
|
action: function() {
|
|
f.play();
|
|
}
|
|
}), f._preload && f._preload !== "none" && f.load(), f;
|
|
},
|
|
/**
|
|
* Load the audio file.
|
|
* @return {Howler}
|
|
*/
|
|
load: function() {
|
|
var l = this, f = null;
|
|
if (r.noAudio) {
|
|
l._emit("loaderror", null, "No audio support.");
|
|
return;
|
|
}
|
|
typeof l._src == "string" && (l._src = [l._src]);
|
|
for (var p = 0; p < l._src.length; p++) {
|
|
var y, m;
|
|
if (l._format && l._format[p])
|
|
y = l._format[p];
|
|
else {
|
|
if (m = l._src[p], typeof m != "string") {
|
|
l._emit("loaderror", null, "Non-string found in selected audio sources - ignoring.");
|
|
continue;
|
|
}
|
|
y = /^data:audio\/([^;,]+);/i.exec(m), y || (y = /\.([^.]+)$/.exec(m.split("?", 1)[0])), y && (y = y[1].toLowerCase());
|
|
}
|
|
if (y || console.warn('No file extension was found. Consider using the "format" property or specify an extension.'), y && r.codecs(y)) {
|
|
f = l._src[p];
|
|
break;
|
|
}
|
|
}
|
|
if (!f) {
|
|
l._emit("loaderror", null, "No codec support for selected audio sources.");
|
|
return;
|
|
}
|
|
return l._src = f, l._state = "loading", window.location.protocol === "https:" && f.slice(0, 5) === "http:" && (l._html5 = !0, l._webAudio = !1), new o(l), l._webAudio && i(l), l;
|
|
},
|
|
/**
|
|
* Play a sound or resume previous playback.
|
|
* @param {String/Number} sprite Sprite name for sprite playback or sound id to continue previous.
|
|
* @param {Boolean} internal Internal Use: true prevents event firing.
|
|
* @return {Number} Sound ID.
|
|
*/
|
|
play: function(l, f) {
|
|
var p = this, y = null;
|
|
if (typeof l == "number")
|
|
y = l, l = null;
|
|
else {
|
|
if (typeof l == "string" && p._state === "loaded" && !p._sprite[l])
|
|
return null;
|
|
if (typeof l > "u" && (l = "__default", !p._playLock)) {
|
|
for (var m = 0, h = 0; h < p._sounds.length; h++)
|
|
p._sounds[h]._paused && !p._sounds[h]._ended && (m++, y = p._sounds[h]._id);
|
|
m === 1 ? l = null : y = null;
|
|
}
|
|
}
|
|
var w = y ? p._soundById(y) : p._inactiveSound();
|
|
if (!w)
|
|
return null;
|
|
if (y && !l && (l = w._sprite || "__default"), p._state !== "loaded") {
|
|
w._sprite = l, w._ended = !1;
|
|
var $ = w._id;
|
|
return p._queue.push({
|
|
event: "play",
|
|
action: function() {
|
|
p.play($);
|
|
}
|
|
}), $;
|
|
}
|
|
if (y && !w._paused)
|
|
return f || p._loadQueue("play"), w._id;
|
|
p._webAudio && r._autoResume();
|
|
var _ = Math.max(0, w._seek > 0 ? w._seek : p._sprite[l][0] / 1e3), S = Math.max(0, (p._sprite[l][0] + p._sprite[l][1]) / 1e3 - _), b = S * 1e3 / Math.abs(w._rate), F = p._sprite[l][0] / 1e3, z = (p._sprite[l][0] + p._sprite[l][1]) / 1e3;
|
|
w._sprite = l, w._ended = !1;
|
|
var q = function() {
|
|
w._paused = !1, w._seek = _, w._start = F, w._stop = z, w._loop = !!(w._loop || p._sprite[l][2]);
|
|
};
|
|
if (_ >= z) {
|
|
p._ended(w);
|
|
return;
|
|
}
|
|
var Y = w._node;
|
|
if (p._webAudio) {
|
|
var B = function() {
|
|
p._playLock = !1, q(), p._refreshBuffer(w);
|
|
var G = w._muted || p._muted ? 0 : w._volume;
|
|
Y.gain.setValueAtTime(G, r.ctx.currentTime), w._playStart = r.ctx.currentTime, typeof Y.bufferSource.start > "u" ? w._loop ? Y.bufferSource.noteGrainOn(0, _, 86400) : Y.bufferSource.noteGrainOn(0, _, S) : w._loop ? Y.bufferSource.start(0, _, 86400) : Y.bufferSource.start(0, _, S), b !== 1 / 0 && (p._endTimers[w._id] = setTimeout(p._ended.bind(p, w), b)), f || setTimeout(function() {
|
|
p._emit("play", w._id), p._loadQueue();
|
|
}, 0);
|
|
};
|
|
r.state === "running" && r.ctx.state !== "interrupted" ? B() : (p._playLock = !0, p.once("resume", B), p._clearTimer(w._id));
|
|
} else {
|
|
var Z = function() {
|
|
Y.currentTime = _, Y.muted = w._muted || p._muted || r._muted || Y.muted, Y.volume = w._volume * r.volume(), Y.playbackRate = w._rate;
|
|
try {
|
|
var G = Y.play();
|
|
if (G && typeof Promise < "u" && (G instanceof Promise || typeof G.then == "function") ? (p._playLock = !0, q(), G.then(function() {
|
|
p._playLock = !1, Y._unlocked = !0, f ? p._loadQueue() : p._emit("play", w._id);
|
|
}).catch(function() {
|
|
p._playLock = !1, p._emit("playerror", w._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."), w._ended = !0, w._paused = !0;
|
|
})) : f || (p._playLock = !1, q(), p._emit("play", w._id)), Y.playbackRate = w._rate, Y.paused) {
|
|
p._emit("playerror", w._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");
|
|
return;
|
|
}
|
|
l !== "__default" || w._loop ? p._endTimers[w._id] = setTimeout(p._ended.bind(p, w), b) : (p._endTimers[w._id] = function() {
|
|
p._ended(w), Y.removeEventListener("ended", p._endTimers[w._id], !1);
|
|
}, Y.addEventListener("ended", p._endTimers[w._id], !1));
|
|
} catch (H) {
|
|
p._emit("playerror", w._id, H);
|
|
}
|
|
};
|
|
Y.src === "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA" && (Y.src = p._src, Y.load());
|
|
var M = window && window.ejecta || !Y.readyState && r._navigator.isCocoonJS;
|
|
if (Y.readyState >= 3 || M)
|
|
Z();
|
|
else {
|
|
p._playLock = !0, p._state = "loading";
|
|
var te = function() {
|
|
p._state = "loaded", Z(), Y.removeEventListener(r._canPlayEvent, te, !1);
|
|
};
|
|
Y.addEventListener(r._canPlayEvent, te, !1), p._clearTimer(w._id);
|
|
}
|
|
}
|
|
return w._id;
|
|
},
|
|
/**
|
|
* Pause playback and save current position.
|
|
* @param {Number} id The sound ID (empty to pause all in group).
|
|
* @return {Howl}
|
|
*/
|
|
pause: function(l) {
|
|
var f = this;
|
|
if (f._state !== "loaded" || f._playLock)
|
|
return f._queue.push({
|
|
event: "pause",
|
|
action: function() {
|
|
f.pause(l);
|
|
}
|
|
}), f;
|
|
for (var p = f._getSoundIds(l), y = 0; y < p.length; y++) {
|
|
f._clearTimer(p[y]);
|
|
var m = f._soundById(p[y]);
|
|
if (m && !m._paused && (m._seek = f.seek(p[y]), m._rateSeek = 0, m._paused = !0, f._stopFade(p[y]), m._node))
|
|
if (f._webAudio) {
|
|
if (!m._node.bufferSource)
|
|
continue;
|
|
typeof m._node.bufferSource.stop > "u" ? m._node.bufferSource.noteOff(0) : m._node.bufferSource.stop(0), f._cleanBuffer(m._node);
|
|
} else (!isNaN(m._node.duration) || m._node.duration === 1 / 0) && m._node.pause();
|
|
arguments[1] || f._emit("pause", m ? m._id : null);
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Stop playback and reset to start.
|
|
* @param {Number} id The sound ID (empty to stop all in group).
|
|
* @param {Boolean} internal Internal Use: true prevents event firing.
|
|
* @return {Howl}
|
|
*/
|
|
stop: function(l, f) {
|
|
var p = this;
|
|
if (p._state !== "loaded" || p._playLock)
|
|
return p._queue.push({
|
|
event: "stop",
|
|
action: function() {
|
|
p.stop(l);
|
|
}
|
|
}), p;
|
|
for (var y = p._getSoundIds(l), m = 0; m < y.length; m++) {
|
|
p._clearTimer(y[m]);
|
|
var h = p._soundById(y[m]);
|
|
h && (h._seek = h._start || 0, h._rateSeek = 0, h._paused = !0, h._ended = !0, p._stopFade(y[m]), h._node && (p._webAudio ? h._node.bufferSource && (typeof h._node.bufferSource.stop > "u" ? h._node.bufferSource.noteOff(0) : h._node.bufferSource.stop(0), p._cleanBuffer(h._node)) : (!isNaN(h._node.duration) || h._node.duration === 1 / 0) && (h._node.currentTime = h._start || 0, h._node.pause(), h._node.duration === 1 / 0 && p._clearSound(h._node))), f || p._emit("stop", h._id));
|
|
}
|
|
return p;
|
|
},
|
|
/**
|
|
* Mute/unmute a single sound or all sounds in this Howl group.
|
|
* @param {Boolean} muted Set to true to mute and false to unmute.
|
|
* @param {Number} id The sound ID to update (omit to mute/unmute all).
|
|
* @return {Howl}
|
|
*/
|
|
mute: function(l, f) {
|
|
var p = this;
|
|
if (p._state !== "loaded" || p._playLock)
|
|
return p._queue.push({
|
|
event: "mute",
|
|
action: function() {
|
|
p.mute(l, f);
|
|
}
|
|
}), p;
|
|
if (typeof f > "u")
|
|
if (typeof l == "boolean")
|
|
p._muted = l;
|
|
else
|
|
return p._muted;
|
|
for (var y = p._getSoundIds(f), m = 0; m < y.length; m++) {
|
|
var h = p._soundById(y[m]);
|
|
h && (h._muted = l, h._interval && p._stopFade(h._id), p._webAudio && h._node ? h._node.gain.setValueAtTime(l ? 0 : h._volume, r.ctx.currentTime) : h._node && (h._node.muted = r._muted ? !0 : l), p._emit("mute", h._id));
|
|
}
|
|
return p;
|
|
},
|
|
/**
|
|
* Get/set the volume of this sound or of the Howl group. This method can optionally take 0, 1 or 2 arguments.
|
|
* volume() -> Returns the group's volume value.
|
|
* volume(id) -> Returns the sound id's current volume.
|
|
* volume(vol) -> Sets the volume of all sounds in this Howl group.
|
|
* volume(vol, id) -> Sets the volume of passed sound id.
|
|
* @return {Howl/Number} Returns self or current volume.
|
|
*/
|
|
volume: function() {
|
|
var l = this, f = arguments, p, y;
|
|
if (f.length === 0)
|
|
return l._volume;
|
|
if (f.length === 1 || f.length === 2 && typeof f[1] > "u") {
|
|
var m = l._getSoundIds(), h = m.indexOf(f[0]);
|
|
h >= 0 ? y = parseInt(f[0], 10) : p = parseFloat(f[0]);
|
|
} else f.length >= 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10));
|
|
var w;
|
|
if (typeof p < "u" && p >= 0 && p <= 1) {
|
|
if (l._state !== "loaded" || l._playLock)
|
|
return l._queue.push({
|
|
event: "volume",
|
|
action: function() {
|
|
l.volume.apply(l, f);
|
|
}
|
|
}), l;
|
|
typeof y > "u" && (l._volume = p), y = l._getSoundIds(y);
|
|
for (var $ = 0; $ < y.length; $++)
|
|
w = l._soundById(y[$]), w && (w._volume = p, f[2] || l._stopFade(y[$]), l._webAudio && w._node && !w._muted ? w._node.gain.setValueAtTime(p, r.ctx.currentTime) : w._node && !w._muted && (w._node.volume = p * r.volume()), l._emit("volume", w._id));
|
|
} else
|
|
return w = y ? l._soundById(y) : l._sounds[0], w ? w._volume : 0;
|
|
return l;
|
|
},
|
|
/**
|
|
* Fade a currently playing sound between two volumes (if no id is passed, all sounds will fade).
|
|
* @param {Number} from The value to fade from (0.0 to 1.0).
|
|
* @param {Number} to The volume to fade to (0.0 to 1.0).
|
|
* @param {Number} len Time in milliseconds to fade.
|
|
* @param {Number} id The sound id (omit to fade all sounds).
|
|
* @return {Howl}
|
|
*/
|
|
fade: function(l, f, p, y) {
|
|
var m = this;
|
|
if (m._state !== "loaded" || m._playLock)
|
|
return m._queue.push({
|
|
event: "fade",
|
|
action: function() {
|
|
m.fade(l, f, p, y);
|
|
}
|
|
}), m;
|
|
l = Math.min(Math.max(0, parseFloat(l)), 1), f = Math.min(Math.max(0, parseFloat(f)), 1), p = parseFloat(p), m.volume(l, y);
|
|
for (var h = m._getSoundIds(y), w = 0; w < h.length; w++) {
|
|
var $ = m._soundById(h[w]);
|
|
if ($) {
|
|
if (y || m._stopFade(h[w]), m._webAudio && !$._muted) {
|
|
var _ = r.ctx.currentTime, S = _ + p / 1e3;
|
|
$._volume = l, $._node.gain.setValueAtTime(l, _), $._node.gain.linearRampToValueAtTime(f, S);
|
|
}
|
|
m._startFadeInterval($, l, f, p, h[w], typeof y > "u");
|
|
}
|
|
}
|
|
return m;
|
|
},
|
|
/**
|
|
* Starts the internal interval to fade a sound.
|
|
* @param {Object} sound Reference to sound to fade.
|
|
* @param {Number} from The value to fade from (0.0 to 1.0).
|
|
* @param {Number} to The volume to fade to (0.0 to 1.0).
|
|
* @param {Number} len Time in milliseconds to fade.
|
|
* @param {Number} id The sound id to fade.
|
|
* @param {Boolean} isGroup If true, set the volume on the group.
|
|
*/
|
|
_startFadeInterval: function(l, f, p, y, m, h) {
|
|
var w = this, $ = f, _ = p - f, S = Math.abs(_ / 0.01), b = Math.max(4, S > 0 ? y / S : y), F = Date.now();
|
|
l._fadeTo = p, l._interval = setInterval(function() {
|
|
var z = (Date.now() - F) / y;
|
|
F = Date.now(), $ += _ * z, $ = Math.round($ * 100) / 100, _ < 0 ? $ = Math.max(p, $) : $ = Math.min(p, $), w._webAudio ? l._volume = $ : w.volume($, l._id, !0), h && (w._volume = $), (p < f && $ <= p || p > f && $ >= p) && (clearInterval(l._interval), l._interval = null, l._fadeTo = null, w.volume(p, l._id), w._emit("fade", l._id));
|
|
}, b);
|
|
},
|
|
/**
|
|
* Internal method that stops the currently playing fade when
|
|
* a new fade starts, volume is changed or the sound is stopped.
|
|
* @param {Number} id The sound id.
|
|
* @return {Howl}
|
|
*/
|
|
_stopFade: function(l) {
|
|
var f = this, p = f._soundById(l);
|
|
return p && p._interval && (f._webAudio && p._node.gain.cancelScheduledValues(r.ctx.currentTime), clearInterval(p._interval), p._interval = null, f.volume(p._fadeTo, l), p._fadeTo = null, f._emit("fade", l)), f;
|
|
},
|
|
/**
|
|
* Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.
|
|
* loop() -> Returns the group's loop value.
|
|
* loop(id) -> Returns the sound id's loop value.
|
|
* loop(loop) -> Sets the loop value for all sounds in this Howl group.
|
|
* loop(loop, id) -> Sets the loop value of passed sound id.
|
|
* @return {Howl/Boolean} Returns self or current loop value.
|
|
*/
|
|
loop: function() {
|
|
var l = this, f = arguments, p, y, m;
|
|
if (f.length === 0)
|
|
return l._loop;
|
|
if (f.length === 1)
|
|
if (typeof f[0] == "boolean")
|
|
p = f[0], l._loop = p;
|
|
else
|
|
return m = l._soundById(parseInt(f[0], 10)), m ? m._loop : !1;
|
|
else f.length === 2 && (p = f[0], y = parseInt(f[1], 10));
|
|
for (var h = l._getSoundIds(y), w = 0; w < h.length; w++)
|
|
m = l._soundById(h[w]), m && (m._loop = p, l._webAudio && m._node && m._node.bufferSource && (m._node.bufferSource.loop = p, p && (m._node.bufferSource.loopStart = m._start || 0, m._node.bufferSource.loopEnd = m._stop, l.playing(h[w]) && (l.pause(h[w], !0), l.play(h[w], !0)))));
|
|
return l;
|
|
},
|
|
/**
|
|
* Get/set the playback rate of a sound. This method can optionally take 0, 1 or 2 arguments.
|
|
* rate() -> Returns the first sound node's current playback rate.
|
|
* rate(id) -> Returns the sound id's current playback rate.
|
|
* rate(rate) -> Sets the playback rate of all sounds in this Howl group.
|
|
* rate(rate, id) -> Sets the playback rate of passed sound id.
|
|
* @return {Howl/Number} Returns self or the current playback rate.
|
|
*/
|
|
rate: function() {
|
|
var l = this, f = arguments, p, y;
|
|
if (f.length === 0)
|
|
y = l._sounds[0]._id;
|
|
else if (f.length === 1) {
|
|
var m = l._getSoundIds(), h = m.indexOf(f[0]);
|
|
h >= 0 ? y = parseInt(f[0], 10) : p = parseFloat(f[0]);
|
|
} else f.length === 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10));
|
|
var w;
|
|
if (typeof p == "number") {
|
|
if (l._state !== "loaded" || l._playLock)
|
|
return l._queue.push({
|
|
event: "rate",
|
|
action: function() {
|
|
l.rate.apply(l, f);
|
|
}
|
|
}), l;
|
|
typeof y > "u" && (l._rate = p), y = l._getSoundIds(y);
|
|
for (var $ = 0; $ < y.length; $++)
|
|
if (w = l._soundById(y[$]), w) {
|
|
l.playing(y[$]) && (w._rateSeek = l.seek(y[$]), w._playStart = l._webAudio ? r.ctx.currentTime : w._playStart), w._rate = p, l._webAudio && w._node && w._node.bufferSource ? w._node.bufferSource.playbackRate.setValueAtTime(p, r.ctx.currentTime) : w._node && (w._node.playbackRate = p);
|
|
var _ = l.seek(y[$]), S = (l._sprite[w._sprite][0] + l._sprite[w._sprite][1]) / 1e3 - _, b = S * 1e3 / Math.abs(w._rate);
|
|
(l._endTimers[y[$]] || !w._paused) && (l._clearTimer(y[$]), l._endTimers[y[$]] = setTimeout(l._ended.bind(l, w), b)), l._emit("rate", w._id);
|
|
}
|
|
} else
|
|
return w = l._soundById(y), w ? w._rate : l._rate;
|
|
return l;
|
|
},
|
|
/**
|
|
* Get/set the seek position of a sound. This method can optionally take 0, 1 or 2 arguments.
|
|
* seek() -> Returns the first sound node's current seek position.
|
|
* seek(id) -> Returns the sound id's current seek position.
|
|
* seek(seek) -> Sets the seek position of the first sound node.
|
|
* seek(seek, id) -> Sets the seek position of passed sound id.
|
|
* @return {Howl/Number} Returns self or the current seek position.
|
|
*/
|
|
seek: function() {
|
|
var l = this, f = arguments, p, y;
|
|
if (f.length === 0)
|
|
l._sounds.length && (y = l._sounds[0]._id);
|
|
else if (f.length === 1) {
|
|
var m = l._getSoundIds(), h = m.indexOf(f[0]);
|
|
h >= 0 ? y = parseInt(f[0], 10) : l._sounds.length && (y = l._sounds[0]._id, p = parseFloat(f[0]));
|
|
} else f.length === 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10));
|
|
if (typeof y > "u")
|
|
return 0;
|
|
if (typeof p == "number" && (l._state !== "loaded" || l._playLock))
|
|
return l._queue.push({
|
|
event: "seek",
|
|
action: function() {
|
|
l.seek.apply(l, f);
|
|
}
|
|
}), l;
|
|
var w = l._soundById(y);
|
|
if (w)
|
|
if (typeof p == "number" && p >= 0) {
|
|
var $ = l.playing(y);
|
|
$ && l.pause(y, !0), w._seek = p, w._ended = !1, l._clearTimer(y), !l._webAudio && w._node && !isNaN(w._node.duration) && (w._node.currentTime = p);
|
|
var _ = function() {
|
|
$ && l.play(y, !0), l._emit("seek", y);
|
|
};
|
|
if ($ && !l._webAudio) {
|
|
var S = function() {
|
|
l._playLock ? setTimeout(S, 0) : _();
|
|
};
|
|
setTimeout(S, 0);
|
|
} else
|
|
_();
|
|
} else if (l._webAudio) {
|
|
var b = l.playing(y) ? r.ctx.currentTime - w._playStart : 0, F = w._rateSeek ? w._rateSeek - w._seek : 0;
|
|
return w._seek + (F + b * Math.abs(w._rate));
|
|
} else
|
|
return w._node.currentTime;
|
|
return l;
|
|
},
|
|
/**
|
|
* Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.
|
|
* @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.
|
|
* @return {Boolean} True if playing and false if not.
|
|
*/
|
|
playing: function(l) {
|
|
var f = this;
|
|
if (typeof l == "number") {
|
|
var p = f._soundById(l);
|
|
return p ? !p._paused : !1;
|
|
}
|
|
for (var y = 0; y < f._sounds.length; y++)
|
|
if (!f._sounds[y]._paused)
|
|
return !0;
|
|
return !1;
|
|
},
|
|
/**
|
|
* Get the duration of this sound. Passing a sound id will return the sprite duration.
|
|
* @param {Number} id The sound id to check. If none is passed, return full source duration.
|
|
* @return {Number} Audio duration in seconds.
|
|
*/
|
|
duration: function(l) {
|
|
var f = this, p = f._duration, y = f._soundById(l);
|
|
return y && (p = f._sprite[y._sprite][1] / 1e3), p;
|
|
},
|
|
/**
|
|
* Returns the current loaded state of this Howl.
|
|
* @return {String} 'unloaded', 'loading', 'loaded'
|
|
*/
|
|
state: function() {
|
|
return this._state;
|
|
},
|
|
/**
|
|
* Unload and destroy the current Howl object.
|
|
* This will immediately stop all sound instances attached to this group.
|
|
*/
|
|
unload: function() {
|
|
for (var l = this, f = l._sounds, p = 0; p < f.length; p++)
|
|
f[p]._paused || l.stop(f[p]._id), l._webAudio || (l._clearSound(f[p]._node), f[p]._node.removeEventListener("error", f[p]._errorFn, !1), f[p]._node.removeEventListener(r._canPlayEvent, f[p]._loadFn, !1), f[p]._node.removeEventListener("ended", f[p]._endFn, !1), r._releaseHtml5Audio(f[p]._node)), delete f[p]._node, l._clearTimer(f[p]._id);
|
|
var y = r._howls.indexOf(l);
|
|
y >= 0 && r._howls.splice(y, 1);
|
|
var m = !0;
|
|
for (p = 0; p < r._howls.length; p++)
|
|
if (r._howls[p]._src === l._src || l._src.indexOf(r._howls[p]._src) >= 0) {
|
|
m = !1;
|
|
break;
|
|
}
|
|
return a && m && delete a[l._src], r.noAudio = !1, l._state = "unloaded", l._sounds = [], l = null, null;
|
|
},
|
|
/**
|
|
* Listen to a custom event.
|
|
* @param {String} event Event name.
|
|
* @param {Function} fn Listener to call.
|
|
* @param {Number} id (optional) Only listen to events for this sound.
|
|
* @param {Number} once (INTERNAL) Marks event to fire only once.
|
|
* @return {Howl}
|
|
*/
|
|
on: function(l, f, p, y) {
|
|
var m = this, h = m["_on" + l];
|
|
return typeof f == "function" && h.push(y ? { id: p, fn: f, once: y } : { id: p, fn: f }), m;
|
|
},
|
|
/**
|
|
* Remove a custom event. Call without parameters to remove all events.
|
|
* @param {String} event Event name.
|
|
* @param {Function} fn Listener to remove. Leave empty to remove all.
|
|
* @param {Number} id (optional) Only remove events for this sound.
|
|
* @return {Howl}
|
|
*/
|
|
off: function(l, f, p) {
|
|
var y = this, m = y["_on" + l], h = 0;
|
|
if (typeof f == "number" && (p = f, f = null), f || p)
|
|
for (h = 0; h < m.length; h++) {
|
|
var w = p === m[h].id;
|
|
if (f === m[h].fn && w || !f && w) {
|
|
m.splice(h, 1);
|
|
break;
|
|
}
|
|
}
|
|
else if (l)
|
|
y["_on" + l] = [];
|
|
else {
|
|
var $ = Object.keys(y);
|
|
for (h = 0; h < $.length; h++)
|
|
$[h].indexOf("_on") === 0 && Array.isArray(y[$[h]]) && (y[$[h]] = []);
|
|
}
|
|
return y;
|
|
},
|
|
/**
|
|
* Listen to a custom event and remove it once fired.
|
|
* @param {String} event Event name.
|
|
* @param {Function} fn Listener to call.
|
|
* @param {Number} id (optional) Only listen to events for this sound.
|
|
* @return {Howl}
|
|
*/
|
|
once: function(l, f, p) {
|
|
var y = this;
|
|
return y.on(l, f, p, 1), y;
|
|
},
|
|
/**
|
|
* Emit all events of a specific type and pass the sound id.
|
|
* @param {String} event Event name.
|
|
* @param {Number} id Sound ID.
|
|
* @param {Number} msg Message to go with event.
|
|
* @return {Howl}
|
|
*/
|
|
_emit: function(l, f, p) {
|
|
for (var y = this, m = y["_on" + l], h = m.length - 1; h >= 0; h--)
|
|
(!m[h].id || m[h].id === f || l === "load") && (setTimeout((function(w) {
|
|
w.call(this, f, p);
|
|
}).bind(y, m[h].fn), 0), m[h].once && y.off(l, m[h].fn, m[h].id));
|
|
return y._loadQueue(l), y;
|
|
},
|
|
/**
|
|
* Queue of actions initiated before the sound has loaded.
|
|
* These will be called in sequence, with the next only firing
|
|
* after the previous has finished executing (even if async like play).
|
|
* @return {Howl}
|
|
*/
|
|
_loadQueue: function(l) {
|
|
var f = this;
|
|
if (f._queue.length > 0) {
|
|
var p = f._queue[0];
|
|
p.event === l && (f._queue.shift(), f._loadQueue()), l || p.action();
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Fired when playback ends at the end of the duration.
|
|
* @param {Sound} sound The sound object to work with.
|
|
* @return {Howl}
|
|
*/
|
|
_ended: function(l) {
|
|
var f = this, p = l._sprite;
|
|
if (!f._webAudio && l._node && !l._node.paused && !l._node.ended && l._node.currentTime < l._stop)
|
|
return setTimeout(f._ended.bind(f, l), 100), f;
|
|
var y = !!(l._loop || f._sprite[p][2]);
|
|
if (f._emit("end", l._id), !f._webAudio && y && f.stop(l._id, !0).play(l._id), f._webAudio && y) {
|
|
f._emit("play", l._id), l._seek = l._start || 0, l._rateSeek = 0, l._playStart = r.ctx.currentTime;
|
|
var m = (l._stop - l._start) * 1e3 / Math.abs(l._rate);
|
|
f._endTimers[l._id] = setTimeout(f._ended.bind(f, l), m);
|
|
}
|
|
return f._webAudio && !y && (l._paused = !0, l._ended = !0, l._seek = l._start || 0, l._rateSeek = 0, f._clearTimer(l._id), f._cleanBuffer(l._node), r._autoSuspend()), !f._webAudio && !y && f.stop(l._id, !0), f;
|
|
},
|
|
/**
|
|
* Clear the end timer for a sound playback.
|
|
* @param {Number} id The sound ID.
|
|
* @return {Howl}
|
|
*/
|
|
_clearTimer: function(l) {
|
|
var f = this;
|
|
if (f._endTimers[l]) {
|
|
if (typeof f._endTimers[l] != "function")
|
|
clearTimeout(f._endTimers[l]);
|
|
else {
|
|
var p = f._soundById(l);
|
|
p && p._node && p._node.removeEventListener("ended", f._endTimers[l], !1);
|
|
}
|
|
delete f._endTimers[l];
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Return the sound identified by this ID, or return null.
|
|
* @param {Number} id Sound ID
|
|
* @return {Object} Sound object or null.
|
|
*/
|
|
_soundById: function(l) {
|
|
for (var f = this, p = 0; p < f._sounds.length; p++)
|
|
if (l === f._sounds[p]._id)
|
|
return f._sounds[p];
|
|
return null;
|
|
},
|
|
/**
|
|
* Return an inactive sound from the pool or create a new one.
|
|
* @return {Sound} Sound playback object.
|
|
*/
|
|
_inactiveSound: function() {
|
|
var l = this;
|
|
l._drain();
|
|
for (var f = 0; f < l._sounds.length; f++)
|
|
if (l._sounds[f]._ended)
|
|
return l._sounds[f].reset();
|
|
return new o(l);
|
|
},
|
|
/**
|
|
* Drain excess inactive sounds from the pool.
|
|
*/
|
|
_drain: function() {
|
|
var l = this, f = l._pool, p = 0, y = 0;
|
|
if (!(l._sounds.length < f)) {
|
|
for (y = 0; y < l._sounds.length; y++)
|
|
l._sounds[y]._ended && p++;
|
|
for (y = l._sounds.length - 1; y >= 0; y--) {
|
|
if (p <= f)
|
|
return;
|
|
l._sounds[y]._ended && (l._webAudio && l._sounds[y]._node && l._sounds[y]._node.disconnect(0), l._sounds.splice(y, 1), p--);
|
|
}
|
|
}
|
|
},
|
|
/**
|
|
* Get all ID's from the sounds pool.
|
|
* @param {Number} id Only return one ID if one is passed.
|
|
* @return {Array} Array of IDs.
|
|
*/
|
|
_getSoundIds: function(l) {
|
|
var f = this;
|
|
if (typeof l > "u") {
|
|
for (var p = [], y = 0; y < f._sounds.length; y++)
|
|
p.push(f._sounds[y]._id);
|
|
return p;
|
|
} else
|
|
return [l];
|
|
},
|
|
/**
|
|
* Load the sound back into the buffer source.
|
|
* @param {Sound} sound The sound object to work with.
|
|
* @return {Howl}
|
|
*/
|
|
_refreshBuffer: function(l) {
|
|
var f = this;
|
|
return l._node.bufferSource = r.ctx.createBufferSource(), l._node.bufferSource.buffer = a[f._src], l._panner ? l._node.bufferSource.connect(l._panner) : l._node.bufferSource.connect(l._node), l._node.bufferSource.loop = l._loop, l._loop && (l._node.bufferSource.loopStart = l._start || 0, l._node.bufferSource.loopEnd = l._stop || 0), l._node.bufferSource.playbackRate.setValueAtTime(l._rate, r.ctx.currentTime), f;
|
|
},
|
|
/**
|
|
* Prevent memory leaks by cleaning up the buffer source after playback.
|
|
* @param {Object} node Sound's audio node containing the buffer source.
|
|
* @return {Howl}
|
|
*/
|
|
_cleanBuffer: function(l) {
|
|
var f = this, p = r._navigator && r._navigator.vendor.indexOf("Apple") >= 0;
|
|
if (!l.bufferSource)
|
|
return f;
|
|
if (r._scratchBuffer && l.bufferSource && (l.bufferSource.onended = null, l.bufferSource.disconnect(0), p))
|
|
try {
|
|
l.bufferSource.buffer = r._scratchBuffer;
|
|
} catch {
|
|
}
|
|
return l.bufferSource = null, f;
|
|
},
|
|
/**
|
|
* Set the source to a 0-second silence to stop any downloading (except in IE).
|
|
* @param {Object} node Audio node to clear.
|
|
*/
|
|
_clearSound: function(l) {
|
|
var f = /MSIE |Trident\//.test(r._navigator && r._navigator.userAgent);
|
|
f || (l.src = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA");
|
|
}
|
|
};
|
|
var o = function(l) {
|
|
this._parent = l, this.init();
|
|
};
|
|
o.prototype = {
|
|
/**
|
|
* Initialize a new Sound object.
|
|
* @return {Sound}
|
|
*/
|
|
init: function() {
|
|
var l = this, f = l._parent;
|
|
return l._muted = f._muted, l._loop = f._loop, l._volume = f._volume, l._rate = f._rate, l._seek = 0, l._paused = !0, l._ended = !0, l._sprite = "__default", l._id = ++r._counter, f._sounds.push(l), l.create(), l;
|
|
},
|
|
/**
|
|
* Create and setup a new sound object, whether HTML5 Audio or Web Audio.
|
|
* @return {Sound}
|
|
*/
|
|
create: function() {
|
|
var l = this, f = l._parent, p = r._muted || l._muted || l._parent._muted ? 0 : l._volume;
|
|
return f._webAudio ? (l._node = typeof r.ctx.createGain > "u" ? r.ctx.createGainNode() : r.ctx.createGain(), l._node.gain.setValueAtTime(p, r.ctx.currentTime), l._node.paused = !0, l._node.connect(r.masterGain)) : r.noAudio || (l._node = r._obtainHtml5Audio(), l._errorFn = l._errorListener.bind(l), l._node.addEventListener("error", l._errorFn, !1), l._loadFn = l._loadListener.bind(l), l._node.addEventListener(r._canPlayEvent, l._loadFn, !1), l._endFn = l._endListener.bind(l), l._node.addEventListener("ended", l._endFn, !1), l._node.src = f._src, l._node.preload = f._preload === !0 ? "auto" : f._preload, l._node.volume = p * r.volume(), l._node.load()), l;
|
|
},
|
|
/**
|
|
* Reset the parameters of this sound to the original state (for recycle).
|
|
* @return {Sound}
|
|
*/
|
|
reset: function() {
|
|
var l = this, f = l._parent;
|
|
return l._muted = f._muted, l._loop = f._loop, l._volume = f._volume, l._rate = f._rate, l._seek = 0, l._rateSeek = 0, l._paused = !0, l._ended = !0, l._sprite = "__default", l._id = ++r._counter, l;
|
|
},
|
|
/**
|
|
* HTML5 Audio error listener callback.
|
|
*/
|
|
_errorListener: function() {
|
|
var l = this;
|
|
l._parent._emit("loaderror", l._id, l._node.error ? l._node.error.code : 0), l._node.removeEventListener("error", l._errorFn, !1);
|
|
},
|
|
/**
|
|
* HTML5 Audio canplaythrough listener callback.
|
|
*/
|
|
_loadListener: function() {
|
|
var l = this, f = l._parent;
|
|
f._duration = Math.ceil(l._node.duration * 10) / 10, Object.keys(f._sprite).length === 0 && (f._sprite = { __default: [0, f._duration * 1e3] }), f._state !== "loaded" && (f._state = "loaded", f._emit("load"), f._loadQueue()), l._node.removeEventListener(r._canPlayEvent, l._loadFn, !1);
|
|
},
|
|
/**
|
|
* HTML5 Audio ended listener callback.
|
|
*/
|
|
_endListener: function() {
|
|
var l = this, f = l._parent;
|
|
f._duration === 1 / 0 && (f._duration = Math.ceil(l._node.duration * 10) / 10, f._sprite.__default[1] === 1 / 0 && (f._sprite.__default[1] = f._duration * 1e3), f._ended(l)), l._node.removeEventListener("ended", l._endFn, !1);
|
|
}
|
|
};
|
|
var a = {}, i = function(l) {
|
|
var f = l._src;
|
|
if (a[f]) {
|
|
l._duration = a[f].duration, c(l);
|
|
return;
|
|
}
|
|
if (/^data:[^;]+;base64,/.test(f)) {
|
|
for (var p = atob(f.split(",")[1]), y = new Uint8Array(p.length), m = 0; m < p.length; ++m)
|
|
y[m] = p.charCodeAt(m);
|
|
u(y.buffer, l);
|
|
} else {
|
|
var h = new XMLHttpRequest();
|
|
h.open(l._xhr.method, f, !0), h.withCredentials = l._xhr.withCredentials, h.responseType = "arraybuffer", l._xhr.headers && Object.keys(l._xhr.headers).forEach(function(w) {
|
|
h.setRequestHeader(w, l._xhr.headers[w]);
|
|
}), h.onload = function() {
|
|
var w = (h.status + "")[0];
|
|
if (w !== "0" && w !== "2" && w !== "3") {
|
|
l._emit("loaderror", null, "Failed loading audio file with status: " + h.status + ".");
|
|
return;
|
|
}
|
|
u(h.response, l);
|
|
}, h.onerror = function() {
|
|
l._webAudio && (l._html5 = !0, l._webAudio = !1, l._sounds = [], delete a[f], l.load());
|
|
}, s(h);
|
|
}
|
|
}, s = function(l) {
|
|
try {
|
|
l.send();
|
|
} catch {
|
|
l.onerror();
|
|
}
|
|
}, u = function(l, f) {
|
|
var p = function() {
|
|
f._emit("loaderror", null, "Decoding audio data failed.");
|
|
}, y = function(m) {
|
|
m && f._sounds.length > 0 ? (a[f._src] = m, c(f, m)) : p();
|
|
};
|
|
typeof Promise < "u" && r.ctx.decodeAudioData.length === 1 ? r.ctx.decodeAudioData(l).then(y).catch(p) : r.ctx.decodeAudioData(l, y, p);
|
|
}, c = function(l, f) {
|
|
f && !l._duration && (l._duration = f.duration), Object.keys(l._sprite).length === 0 && (l._sprite = { __default: [0, l._duration * 1e3] }), l._state !== "loaded" && (l._state = "loaded", l._emit("load"), l._loadQueue());
|
|
}, d = function() {
|
|
if (r.usingWebAudio) {
|
|
try {
|
|
typeof AudioContext < "u" ? r.ctx = new AudioContext() : typeof webkitAudioContext < "u" ? r.ctx = new webkitAudioContext() : r.usingWebAudio = !1;
|
|
} catch {
|
|
r.usingWebAudio = !1;
|
|
}
|
|
r.ctx || (r.usingWebAudio = !1);
|
|
var l = /iP(hone|od|ad)/.test(r._navigator && r._navigator.platform), f = r._navigator && r._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/), p = f ? parseInt(f[1], 10) : null;
|
|
if (l && p && p < 9) {
|
|
var y = /safari/.test(r._navigator && r._navigator.userAgent.toLowerCase());
|
|
r._navigator && !y && (r.usingWebAudio = !1);
|
|
}
|
|
r.usingWebAudio && (r.masterGain = typeof r.ctx.createGain > "u" ? r.ctx.createGainNode() : r.ctx.createGain(), r.masterGain.gain.setValueAtTime(r._muted ? 0 : r._volume, r.ctx.currentTime), r.masterGain.connect(r.ctx.destination)), r._setup();
|
|
}
|
|
};
|
|
e.Howler = r, e.Howl = n, typeof Tm < "u" ? (Tm.HowlerGlobal = t, Tm.Howler = r, Tm.Howl = n, Tm.Sound = o) : typeof window < "u" && (window.HowlerGlobal = t, window.Howler = r, window.Howl = n, window.Sound = o);
|
|
})();
|
|
/*!
|
|
* Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
|
|
*
|
|
* howler.js v2.2.4
|
|
* howlerjs.com
|
|
*
|
|
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
* goldfirestudios.com
|
|
*
|
|
* MIT License
|
|
*/
|
|
(function() {
|
|
HowlerGlobal.prototype._pos = [0, 0, 0], HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0], HowlerGlobal.prototype.stereo = function(r) {
|
|
var n = this;
|
|
if (!n.ctx || !n.ctx.listener)
|
|
return n;
|
|
for (var o = n._howls.length - 1; o >= 0; o--)
|
|
n._howls[o].stereo(r);
|
|
return n;
|
|
}, HowlerGlobal.prototype.pos = function(r, n, o) {
|
|
var a = this;
|
|
if (!a.ctx || !a.ctx.listener)
|
|
return a;
|
|
if (n = typeof n != "number" ? a._pos[1] : n, o = typeof o != "number" ? a._pos[2] : o, typeof r == "number")
|
|
a._pos = [r, n, o], typeof a.ctx.listener.positionX < "u" ? (a.ctx.listener.positionX.setTargetAtTime(a._pos[0], Howler.ctx.currentTime, 0.1), a.ctx.listener.positionY.setTargetAtTime(a._pos[1], Howler.ctx.currentTime, 0.1), a.ctx.listener.positionZ.setTargetAtTime(a._pos[2], Howler.ctx.currentTime, 0.1)) : a.ctx.listener.setPosition(a._pos[0], a._pos[1], a._pos[2]);
|
|
else
|
|
return a._pos;
|
|
return a;
|
|
}, HowlerGlobal.prototype.orientation = function(r, n, o, a, i, s) {
|
|
var u = this;
|
|
if (!u.ctx || !u.ctx.listener)
|
|
return u;
|
|
var c = u._orientation;
|
|
if (n = typeof n != "number" ? c[1] : n, o = typeof o != "number" ? c[2] : o, a = typeof a != "number" ? c[3] : a, i = typeof i != "number" ? c[4] : i, s = typeof s != "number" ? c[5] : s, typeof r == "number")
|
|
u._orientation = [r, n, o, a, i, s], typeof u.ctx.listener.forwardX < "u" ? (u.ctx.listener.forwardX.setTargetAtTime(r, Howler.ctx.currentTime, 0.1), u.ctx.listener.forwardY.setTargetAtTime(n, Howler.ctx.currentTime, 0.1), u.ctx.listener.forwardZ.setTargetAtTime(o, Howler.ctx.currentTime, 0.1), u.ctx.listener.upX.setTargetAtTime(a, Howler.ctx.currentTime, 0.1), u.ctx.listener.upY.setTargetAtTime(i, Howler.ctx.currentTime, 0.1), u.ctx.listener.upZ.setTargetAtTime(s, Howler.ctx.currentTime, 0.1)) : u.ctx.listener.setOrientation(r, n, o, a, i, s);
|
|
else
|
|
return c;
|
|
return u;
|
|
}, Howl.prototype.init = /* @__PURE__ */ function(r) {
|
|
return function(n) {
|
|
var o = this;
|
|
return o._orientation = n.orientation || [1, 0, 0], o._stereo = n.stereo || null, o._pos = n.pos || null, o._pannerAttr = {
|
|
coneInnerAngle: typeof n.coneInnerAngle < "u" ? n.coneInnerAngle : 360,
|
|
coneOuterAngle: typeof n.coneOuterAngle < "u" ? n.coneOuterAngle : 360,
|
|
coneOuterGain: typeof n.coneOuterGain < "u" ? n.coneOuterGain : 0,
|
|
distanceModel: typeof n.distanceModel < "u" ? n.distanceModel : "inverse",
|
|
maxDistance: typeof n.maxDistance < "u" ? n.maxDistance : 1e4,
|
|
panningModel: typeof n.panningModel < "u" ? n.panningModel : "HRTF",
|
|
refDistance: typeof n.refDistance < "u" ? n.refDistance : 1,
|
|
rolloffFactor: typeof n.rolloffFactor < "u" ? n.rolloffFactor : 1
|
|
}, o._onstereo = n.onstereo ? [{ fn: n.onstereo }] : [], o._onpos = n.onpos ? [{ fn: n.onpos }] : [], o._onorientation = n.onorientation ? [{ fn: n.onorientation }] : [], r.call(this, n);
|
|
};
|
|
}(Howl.prototype.init), Howl.prototype.stereo = function(r, n) {
|
|
var o = this;
|
|
if (!o._webAudio)
|
|
return o;
|
|
if (o._state !== "loaded")
|
|
return o._queue.push({
|
|
event: "stereo",
|
|
action: function() {
|
|
o.stereo(r, n);
|
|
}
|
|
}), o;
|
|
var a = typeof Howler.ctx.createStereoPanner > "u" ? "spatial" : "stereo";
|
|
if (typeof n > "u")
|
|
if (typeof r == "number")
|
|
o._stereo = r, o._pos = [r, 0, 0];
|
|
else
|
|
return o._stereo;
|
|
for (var i = o._getSoundIds(n), s = 0; s < i.length; s++) {
|
|
var u = o._soundById(i[s]);
|
|
if (u)
|
|
if (typeof r == "number")
|
|
u._stereo = r, u._pos = [r, 0, 0], u._node && (u._pannerAttr.panningModel = "equalpower", (!u._panner || !u._panner.pan) && t(u, a), a === "spatial" ? typeof u._panner.positionX < "u" ? (u._panner.positionX.setValueAtTime(r, Howler.ctx.currentTime), u._panner.positionY.setValueAtTime(0, Howler.ctx.currentTime), u._panner.positionZ.setValueAtTime(0, Howler.ctx.currentTime)) : u._panner.setPosition(r, 0, 0) : u._panner.pan.setValueAtTime(r, Howler.ctx.currentTime)), o._emit("stereo", u._id);
|
|
else
|
|
return u._stereo;
|
|
}
|
|
return o;
|
|
}, Howl.prototype.pos = function(r, n, o, a) {
|
|
var i = this;
|
|
if (!i._webAudio)
|
|
return i;
|
|
if (i._state !== "loaded")
|
|
return i._queue.push({
|
|
event: "pos",
|
|
action: function() {
|
|
i.pos(r, n, o, a);
|
|
}
|
|
}), i;
|
|
if (n = typeof n != "number" ? 0 : n, o = typeof o != "number" ? -0.5 : o, typeof a > "u")
|
|
if (typeof r == "number")
|
|
i._pos = [r, n, o];
|
|
else
|
|
return i._pos;
|
|
for (var s = i._getSoundIds(a), u = 0; u < s.length; u++) {
|
|
var c = i._soundById(s[u]);
|
|
if (c)
|
|
if (typeof r == "number")
|
|
c._pos = [r, n, o], c._node && ((!c._panner || c._panner.pan) && t(c, "spatial"), typeof c._panner.positionX < "u" ? (c._panner.positionX.setValueAtTime(r, Howler.ctx.currentTime), c._panner.positionY.setValueAtTime(n, Howler.ctx.currentTime), c._panner.positionZ.setValueAtTime(o, Howler.ctx.currentTime)) : c._panner.setPosition(r, n, o)), i._emit("pos", c._id);
|
|
else
|
|
return c._pos;
|
|
}
|
|
return i;
|
|
}, Howl.prototype.orientation = function(r, n, o, a) {
|
|
var i = this;
|
|
if (!i._webAudio)
|
|
return i;
|
|
if (i._state !== "loaded")
|
|
return i._queue.push({
|
|
event: "orientation",
|
|
action: function() {
|
|
i.orientation(r, n, o, a);
|
|
}
|
|
}), i;
|
|
if (n = typeof n != "number" ? i._orientation[1] : n, o = typeof o != "number" ? i._orientation[2] : o, typeof a > "u")
|
|
if (typeof r == "number")
|
|
i._orientation = [r, n, o];
|
|
else
|
|
return i._orientation;
|
|
for (var s = i._getSoundIds(a), u = 0; u < s.length; u++) {
|
|
var c = i._soundById(s[u]);
|
|
if (c)
|
|
if (typeof r == "number")
|
|
c._orientation = [r, n, o], c._node && (c._panner || (c._pos || (c._pos = i._pos || [0, 0, -0.5]), t(c, "spatial")), typeof c._panner.orientationX < "u" ? (c._panner.orientationX.setValueAtTime(r, Howler.ctx.currentTime), c._panner.orientationY.setValueAtTime(n, Howler.ctx.currentTime), c._panner.orientationZ.setValueAtTime(o, Howler.ctx.currentTime)) : c._panner.setOrientation(r, n, o)), i._emit("orientation", c._id);
|
|
else
|
|
return c._orientation;
|
|
}
|
|
return i;
|
|
}, Howl.prototype.pannerAttr = function() {
|
|
var r = this, n = arguments, o, a, i;
|
|
if (!r._webAudio)
|
|
return r;
|
|
if (n.length === 0)
|
|
return r._pannerAttr;
|
|
if (n.length === 1)
|
|
if (typeof n[0] == "object")
|
|
o = n[0], typeof a > "u" && (o.pannerAttr || (o.pannerAttr = {
|
|
coneInnerAngle: o.coneInnerAngle,
|
|
coneOuterAngle: o.coneOuterAngle,
|
|
coneOuterGain: o.coneOuterGain,
|
|
distanceModel: o.distanceModel,
|
|
maxDistance: o.maxDistance,
|
|
refDistance: o.refDistance,
|
|
rolloffFactor: o.rolloffFactor,
|
|
panningModel: o.panningModel
|
|
}), r._pannerAttr = {
|
|
coneInnerAngle: typeof o.pannerAttr.coneInnerAngle < "u" ? o.pannerAttr.coneInnerAngle : r._coneInnerAngle,
|
|
coneOuterAngle: typeof o.pannerAttr.coneOuterAngle < "u" ? o.pannerAttr.coneOuterAngle : r._coneOuterAngle,
|
|
coneOuterGain: typeof o.pannerAttr.coneOuterGain < "u" ? o.pannerAttr.coneOuterGain : r._coneOuterGain,
|
|
distanceModel: typeof o.pannerAttr.distanceModel < "u" ? o.pannerAttr.distanceModel : r._distanceModel,
|
|
maxDistance: typeof o.pannerAttr.maxDistance < "u" ? o.pannerAttr.maxDistance : r._maxDistance,
|
|
refDistance: typeof o.pannerAttr.refDistance < "u" ? o.pannerAttr.refDistance : r._refDistance,
|
|
rolloffFactor: typeof o.pannerAttr.rolloffFactor < "u" ? o.pannerAttr.rolloffFactor : r._rolloffFactor,
|
|
panningModel: typeof o.pannerAttr.panningModel < "u" ? o.pannerAttr.panningModel : r._panningModel
|
|
});
|
|
else
|
|
return i = r._soundById(parseInt(n[0], 10)), i ? i._pannerAttr : r._pannerAttr;
|
|
else n.length === 2 && (o = n[0], a = parseInt(n[1], 10));
|
|
for (var s = r._getSoundIds(a), u = 0; u < s.length; u++)
|
|
if (i = r._soundById(s[u]), i) {
|
|
var c = i._pannerAttr;
|
|
c = {
|
|
coneInnerAngle: typeof o.coneInnerAngle < "u" ? o.coneInnerAngle : c.coneInnerAngle,
|
|
coneOuterAngle: typeof o.coneOuterAngle < "u" ? o.coneOuterAngle : c.coneOuterAngle,
|
|
coneOuterGain: typeof o.coneOuterGain < "u" ? o.coneOuterGain : c.coneOuterGain,
|
|
distanceModel: typeof o.distanceModel < "u" ? o.distanceModel : c.distanceModel,
|
|
maxDistance: typeof o.maxDistance < "u" ? o.maxDistance : c.maxDistance,
|
|
refDistance: typeof o.refDistance < "u" ? o.refDistance : c.refDistance,
|
|
rolloffFactor: typeof o.rolloffFactor < "u" ? o.rolloffFactor : c.rolloffFactor,
|
|
panningModel: typeof o.panningModel < "u" ? o.panningModel : c.panningModel
|
|
};
|
|
var d = i._panner;
|
|
d || (i._pos || (i._pos = r._pos || [0, 0, -0.5]), t(i, "spatial"), d = i._panner), d.coneInnerAngle = c.coneInnerAngle, d.coneOuterAngle = c.coneOuterAngle, d.coneOuterGain = c.coneOuterGain, d.distanceModel = c.distanceModel, d.maxDistance = c.maxDistance, d.refDistance = c.refDistance, d.rolloffFactor = c.rolloffFactor, d.panningModel = c.panningModel;
|
|
}
|
|
return r;
|
|
}, Sound.prototype.init = /* @__PURE__ */ function(r) {
|
|
return function() {
|
|
var n = this, o = n._parent;
|
|
n._orientation = o._orientation, n._stereo = o._stereo, n._pos = o._pos, n._pannerAttr = o._pannerAttr, r.call(this), n._stereo ? o.stereo(n._stereo) : n._pos && o.pos(n._pos[0], n._pos[1], n._pos[2], n._id);
|
|
};
|
|
}(Sound.prototype.init), Sound.prototype.reset = /* @__PURE__ */ function(r) {
|
|
return function() {
|
|
var n = this, o = n._parent;
|
|
return n._orientation = o._orientation, n._stereo = o._stereo, n._pos = o._pos, n._pannerAttr = o._pannerAttr, n._stereo ? o.stereo(n._stereo) : n._pos ? o.pos(n._pos[0], n._pos[1], n._pos[2], n._id) : n._panner && (n._panner.disconnect(0), n._panner = void 0, o._refreshBuffer(n)), r.call(this);
|
|
};
|
|
}(Sound.prototype.reset);
|
|
var t = function(r, n) {
|
|
n = n || "spatial", n === "spatial" ? (r._panner = Howler.ctx.createPanner(), r._panner.coneInnerAngle = r._pannerAttr.coneInnerAngle, r._panner.coneOuterAngle = r._pannerAttr.coneOuterAngle, r._panner.coneOuterGain = r._pannerAttr.coneOuterGain, r._panner.distanceModel = r._pannerAttr.distanceModel, r._panner.maxDistance = r._pannerAttr.maxDistance, r._panner.refDistance = r._pannerAttr.refDistance, r._panner.rolloffFactor = r._pannerAttr.rolloffFactor, r._panner.panningModel = r._pannerAttr.panningModel, typeof r._panner.positionX < "u" ? (r._panner.positionX.setValueAtTime(r._pos[0], Howler.ctx.currentTime), r._panner.positionY.setValueAtTime(r._pos[1], Howler.ctx.currentTime), r._panner.positionZ.setValueAtTime(r._pos[2], Howler.ctx.currentTime)) : r._panner.setPosition(r._pos[0], r._pos[1], r._pos[2]), typeof r._panner.orientationX < "u" ? (r._panner.orientationX.setValueAtTime(r._orientation[0], Howler.ctx.currentTime), r._panner.orientationY.setValueAtTime(r._orientation[1], Howler.ctx.currentTime), r._panner.orientationZ.setValueAtTime(r._orientation[2], Howler.ctx.currentTime)) : r._panner.setOrientation(r._orientation[0], r._orientation[1], r._orientation[2])) : (r._panner = Howler.ctx.createStereoPanner(), r._panner.pan.setValueAtTime(r._stereo, Howler.ctx.currentTime)), r._panner.connect(r._node), r._paused || r._parent.pause(r._id, !0).play(r._id, !0);
|
|
};
|
|
})();
|
|
}(m9)), m9;
|
|
}
|
|
D1e();
|
|
var Lh, Ni;
|
|
const $B = class lh {
|
|
constructor() {
|
|
wB(this, Ni), p9(this, Ni, /* @__PURE__ */ new Map());
|
|
}
|
|
static getInstance() {
|
|
return dl(lh, Lh) === void 0 && p9(lh, Lh, new lh()), dl(lh, Lh);
|
|
}
|
|
hasSound(t) {
|
|
return dl(this, Ni).has(t);
|
|
}
|
|
setSound(t, r) {
|
|
dl(this, Ni).set(t, r);
|
|
}
|
|
setSoundOnce(t, r) {
|
|
dl(this, Ni).has(t) || dl(this, Ni).set(t, r);
|
|
}
|
|
getSound(t) {
|
|
return dl(this, Ni).get(t);
|
|
}
|
|
playSound(t) {
|
|
var r;
|
|
(r = dl(this, Ni).get(t)) == null || r.play();
|
|
}
|
|
};
|
|
Lh = /* @__PURE__ */ new WeakMap(), Ni = /* @__PURE__ */ new WeakMap(), wB($B, Lh);
|
|
let Im = $B;
|
|
const kB = typeof document < "u" ? ae.useLayoutEffect : () => {
|
|
};
|
|
function F1e(e) {
|
|
const t = ne(null);
|
|
return kB(() => {
|
|
t.current = e;
|
|
}, [
|
|
e
|
|
]), Ne((...r) => {
|
|
const n = t.current;
|
|
return n == null ? void 0 : n(...r);
|
|
}, []);
|
|
}
|
|
const Uc = (e) => {
|
|
var t;
|
|
return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document;
|
|
}, iu = (e) => e && "window" in e && e.window === e ? e : Uc(e).defaultView || window;
|
|
function _B(e, t) {
|
|
return t && e ? e.contains(t) : !1;
|
|
}
|
|
const jS = (e = document) => e.activeElement;
|
|
function OB(e) {
|
|
return e.target;
|
|
}
|
|
function L1e(e) {
|
|
var t;
|
|
return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((r) => e.test(r.brand))) || e.test(window.navigator.userAgent);
|
|
}
|
|
function z1e(e) {
|
|
var t;
|
|
return typeof window < "u" && window.navigator != null ? e.test(((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.platform) || window.navigator.platform) : !1;
|
|
}
|
|
function SB(e) {
|
|
let t = null;
|
|
return () => (t == null && (t = e()), t);
|
|
}
|
|
const W1e = SB(function() {
|
|
return z1e(/^Mac/i);
|
|
}), V1e = SB(function() {
|
|
return L1e(/Android/i);
|
|
});
|
|
function EB() {
|
|
let e = ne(/* @__PURE__ */ new Map()), t = Ne((o, a, i, s) => {
|
|
let u = s != null && s.once ? (...c) => {
|
|
e.current.delete(i), i(...c);
|
|
} : i;
|
|
e.current.set(i, {
|
|
type: a,
|
|
eventTarget: o,
|
|
fn: u,
|
|
options: s
|
|
}), o.addEventListener(a, u, s);
|
|
}, []), r = Ne((o, a, i, s) => {
|
|
var u;
|
|
let c = ((u = e.current.get(i)) === null || u === void 0 ? void 0 : u.fn) || i;
|
|
o.removeEventListener(a, c, s), e.current.delete(i);
|
|
}, []), n = Ne(() => {
|
|
e.current.forEach((o, a) => {
|
|
r(o.eventTarget, o.type, a, o.options);
|
|
});
|
|
}, [
|
|
r
|
|
]);
|
|
return ue(() => n, [
|
|
n
|
|
]), {
|
|
addGlobalListener: t,
|
|
removeGlobalListener: r,
|
|
removeAllGlobalListeners: n
|
|
};
|
|
}
|
|
function H1e(e) {
|
|
return e.mozInputSource === 0 && e.isTrusted ? !0 : V1e() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
|
|
}
|
|
let AB = class {
|
|
isDefaultPrevented() {
|
|
return this.nativeEvent.defaultPrevented;
|
|
}
|
|
preventDefault() {
|
|
this.defaultPrevented = !0, this.nativeEvent.preventDefault();
|
|
}
|
|
stopPropagation() {
|
|
this.nativeEvent.stopPropagation(), this.isPropagationStopped = () => !0;
|
|
}
|
|
isPropagationStopped() {
|
|
return !1;
|
|
}
|
|
persist() {
|
|
}
|
|
constructor(t, r) {
|
|
this.nativeEvent = r, this.target = r.target, this.currentTarget = r.currentTarget, this.relatedTarget = r.relatedTarget, this.bubbles = r.bubbles, this.cancelable = r.cancelable, this.defaultPrevented = r.defaultPrevented, this.eventPhase = r.eventPhase, this.isTrusted = r.isTrusted, this.timeStamp = r.timeStamp, this.type = t;
|
|
}
|
|
};
|
|
function PB(e) {
|
|
let t = ne({
|
|
isFocused: !1,
|
|
observer: null
|
|
});
|
|
kB(() => {
|
|
const n = t.current;
|
|
return () => {
|
|
n.observer && (n.observer.disconnect(), n.observer = null);
|
|
};
|
|
}, []);
|
|
let r = F1e((n) => {
|
|
e == null || e(n);
|
|
});
|
|
return Ne((n) => {
|
|
if (n.target instanceof HTMLButtonElement || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement || n.target instanceof HTMLSelectElement) {
|
|
t.current.isFocused = !0;
|
|
let o = n.target, a = (i) => {
|
|
t.current.isFocused = !1, o.disabled && r(new AB("blur", i)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
|
|
};
|
|
o.addEventListener("focusout", a, {
|
|
once: !0
|
|
}), t.current.observer = new MutationObserver(() => {
|
|
if (t.current.isFocused && o.disabled) {
|
|
var i;
|
|
(i = t.current.observer) === null || i === void 0 || i.disconnect();
|
|
let s = o === document.activeElement ? null : document.activeElement;
|
|
o.dispatchEvent(new FocusEvent("blur", {
|
|
relatedTarget: s
|
|
})), o.dispatchEvent(new FocusEvent("focusout", {
|
|
bubbles: !0,
|
|
relatedTarget: s
|
|
}));
|
|
}
|
|
}), t.current.observer.observe(o, {
|
|
attributes: !0,
|
|
attributeFilter: [
|
|
"disabled"
|
|
]
|
|
});
|
|
}
|
|
}, [
|
|
r
|
|
]);
|
|
}
|
|
let G1e = !1, Nb = null, RS = /* @__PURE__ */ new Set(), zh = /* @__PURE__ */ new Map(), ju = !1, MS = !1;
|
|
const U1e = {
|
|
Tab: !0,
|
|
Escape: !0
|
|
};
|
|
function rP(e, t) {
|
|
for (let r of RS) r(e, t);
|
|
}
|
|
function B1e(e) {
|
|
return !(e.metaKey || !W1e() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
|
|
}
|
|
function j1(e) {
|
|
ju = !0, B1e(e) && (Nb = "keyboard", rP("keyboard", e));
|
|
}
|
|
function So(e) {
|
|
Nb = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (ju = !0, rP("pointer", e));
|
|
}
|
|
function CB(e) {
|
|
H1e(e) && (ju = !0, Nb = "virtual");
|
|
}
|
|
function NB(e) {
|
|
e.target === window || e.target === document || G1e || !e.isTrusted || (!ju && !MS && (Nb = "virtual", rP("virtual", e)), ju = !1, MS = !1);
|
|
}
|
|
function TB() {
|
|
ju = !1, MS = !0;
|
|
}
|
|
function DS(e) {
|
|
if (typeof window > "u" || zh.get(iu(e))) return;
|
|
const t = iu(e), r = Uc(e);
|
|
let n = t.HTMLElement.prototype.focus;
|
|
t.HTMLElement.prototype.focus = function() {
|
|
ju = !0, n.apply(this, arguments);
|
|
}, r.addEventListener("keydown", j1, !0), r.addEventListener("keyup", j1, !0), r.addEventListener("click", CB, !0), t.addEventListener("focus", NB, !0), t.addEventListener("blur", TB, !1), typeof PointerEvent < "u" ? (r.addEventListener("pointerdown", So, !0), r.addEventListener("pointermove", So, !0), r.addEventListener("pointerup", So, !0)) : (r.addEventListener("mousedown", So, !0), r.addEventListener("mousemove", So, !0), r.addEventListener("mouseup", So, !0)), t.addEventListener("beforeunload", () => {
|
|
IB(e);
|
|
}, {
|
|
once: !0
|
|
}), zh.set(t, {
|
|
focus: n
|
|
});
|
|
}
|
|
const IB = (e, t) => {
|
|
const r = iu(e), n = Uc(e);
|
|
t && n.removeEventListener("DOMContentLoaded", t), zh.has(r) && (r.HTMLElement.prototype.focus = zh.get(r).focus, n.removeEventListener("keydown", j1, !0), n.removeEventListener("keyup", j1, !0), n.removeEventListener("click", CB, !0), r.removeEventListener("focus", NB, !0), r.removeEventListener("blur", TB, !1), typeof PointerEvent < "u" ? (n.removeEventListener("pointerdown", So, !0), n.removeEventListener("pointermove", So, !0), n.removeEventListener("pointerup", So, !0)) : (n.removeEventListener("mousedown", So, !0), n.removeEventListener("mousemove", So, !0), n.removeEventListener("mouseup", So, !0)), zh.delete(r));
|
|
};
|
|
function Y1e(e) {
|
|
const t = Uc(e);
|
|
let r;
|
|
return t.readyState !== "loading" ? DS(e) : (r = () => {
|
|
DS(e);
|
|
}, t.addEventListener("DOMContentLoaded", r)), () => IB(e, r);
|
|
}
|
|
typeof document < "u" && Y1e();
|
|
function jB() {
|
|
return Nb !== "pointer";
|
|
}
|
|
const q1e = /* @__PURE__ */ new Set([
|
|
"checkbox",
|
|
"radio",
|
|
"range",
|
|
"color",
|
|
"file",
|
|
"image",
|
|
"button",
|
|
"submit",
|
|
"reset"
|
|
]);
|
|
function K1e(e, t, r) {
|
|
let n = Uc(r == null ? void 0 : r.target);
|
|
const o = typeof window < "u" ? iu(r == null ? void 0 : r.target).HTMLInputElement : HTMLInputElement, a = typeof window < "u" ? iu(r == null ? void 0 : r.target).HTMLTextAreaElement : HTMLTextAreaElement, i = typeof window < "u" ? iu(r == null ? void 0 : r.target).HTMLElement : HTMLElement, s = typeof window < "u" ? iu(r == null ? void 0 : r.target).KeyboardEvent : KeyboardEvent;
|
|
return e = e || n.activeElement instanceof o && !q1e.has(n.activeElement.type) || n.activeElement instanceof a || n.activeElement instanceof i && n.activeElement.isContentEditable, !(e && t === "keyboard" && r instanceof s && !U1e[r.key]);
|
|
}
|
|
function X1e(e, t, r) {
|
|
DS(), ue(() => {
|
|
let n = (o, a) => {
|
|
K1e(!!(r != null && r.isTextInput), o, a) && e(jB());
|
|
};
|
|
return RS.add(n), () => {
|
|
RS.delete(n);
|
|
};
|
|
}, t);
|
|
}
|
|
function J1e(e) {
|
|
let { isDisabled: t, onFocus: r, onBlur: n, onFocusChange: o } = e;
|
|
const a = Ne((u) => {
|
|
if (u.target === u.currentTarget)
|
|
return n && n(u), o && o(!1), !0;
|
|
}, [
|
|
n,
|
|
o
|
|
]), i = PB(a), s = Ne((u) => {
|
|
const c = Uc(u.target), d = c ? jS(c) : jS();
|
|
u.target === u.currentTarget && d === OB(u.nativeEvent) && (r && r(u), o && o(!0), i(u));
|
|
}, [
|
|
o,
|
|
r,
|
|
i
|
|
]);
|
|
return {
|
|
focusProps: {
|
|
onFocus: !t && (r || o || n) ? s : void 0,
|
|
onBlur: !t && (n || o) ? a : void 0
|
|
}
|
|
};
|
|
}
|
|
function Q1e(e) {
|
|
let { isDisabled: t, onBlurWithin: r, onFocusWithin: n, onFocusWithinChange: o } = e, a = ne({
|
|
isFocusWithin: !1
|
|
}), { addGlobalListener: i, removeAllGlobalListeners: s } = EB(), u = Ne((l) => {
|
|
l.currentTarget.contains(l.target) && a.current.isFocusWithin && !l.currentTarget.contains(l.relatedTarget) && (a.current.isFocusWithin = !1, s(), r && r(l), o && o(!1));
|
|
}, [
|
|
r,
|
|
o,
|
|
a,
|
|
s
|
|
]), c = PB(u), d = Ne((l) => {
|
|
if (!l.currentTarget.contains(l.target)) return;
|
|
const f = Uc(l.target), p = jS(f);
|
|
if (!a.current.isFocusWithin && p === OB(l.nativeEvent)) {
|
|
n && n(l), o && o(!0), a.current.isFocusWithin = !0, c(l);
|
|
let y = l.currentTarget;
|
|
i(f, "focus", (m) => {
|
|
if (a.current.isFocusWithin && !_B(y, m.target)) {
|
|
let h = new AB("blur", new f.defaultView.FocusEvent("blur", {
|
|
relatedTarget: m.target
|
|
}));
|
|
h.target = y, h.currentTarget = y, u(h);
|
|
}
|
|
}, {
|
|
capture: !0
|
|
});
|
|
}
|
|
}, [
|
|
n,
|
|
o,
|
|
c,
|
|
i,
|
|
u
|
|
]);
|
|
return t ? {
|
|
focusWithinProps: {
|
|
// These cannot be null, that would conflict in mergeProps
|
|
onFocus: void 0,
|
|
onBlur: void 0
|
|
}
|
|
} : {
|
|
focusWithinProps: {
|
|
onFocus: d,
|
|
onBlur: u
|
|
}
|
|
};
|
|
}
|
|
let R1 = !1, Q2 = 0;
|
|
function FS() {
|
|
R1 = !0, setTimeout(() => {
|
|
R1 = !1;
|
|
}, 50);
|
|
}
|
|
function g9(e) {
|
|
e.pointerType === "touch" && FS();
|
|
}
|
|
function Z1e() {
|
|
if (!(typeof document > "u"))
|
|
return typeof PointerEvent < "u" ? document.addEventListener("pointerup", g9) : document.addEventListener("touchend", FS), Q2++, () => {
|
|
Q2--, !(Q2 > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", g9) : document.removeEventListener("touchend", FS));
|
|
};
|
|
}
|
|
function e0e(e) {
|
|
let { onHoverStart: t, onHoverChange: r, onHoverEnd: n, isDisabled: o } = e, [a, i] = de(!1), s = ne({
|
|
isHovered: !1,
|
|
ignoreEmulatedMouseEvents: !1,
|
|
pointerType: "",
|
|
target: null
|
|
}).current;
|
|
ue(Z1e, []);
|
|
let { addGlobalListener: u, removeAllGlobalListeners: c } = EB(), { hoverProps: d, triggerHoverEnd: l } = Ie(() => {
|
|
let f = (m, h) => {
|
|
if (s.pointerType = h, o || h === "touch" || s.isHovered || !m.currentTarget.contains(m.target)) return;
|
|
s.isHovered = !0;
|
|
let w = m.currentTarget;
|
|
s.target = w, u(Uc(m.target), "pointerover", ($) => {
|
|
s.isHovered && s.target && !_B(s.target, $.target) && p($, $.pointerType);
|
|
}, {
|
|
capture: !0
|
|
}), t && t({
|
|
type: "hoverstart",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!0), i(!0);
|
|
}, p = (m, h) => {
|
|
let w = s.target;
|
|
s.pointerType = "", s.target = null, !(h === "touch" || !s.isHovered || !w) && (s.isHovered = !1, c(), n && n({
|
|
type: "hoverend",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!1), i(!1));
|
|
}, y = {};
|
|
return typeof PointerEvent < "u" ? (y.onPointerEnter = (m) => {
|
|
R1 && m.pointerType === "mouse" || f(m, m.pointerType);
|
|
}, y.onPointerLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && p(m, m.pointerType);
|
|
}) : (y.onTouchStart = () => {
|
|
s.ignoreEmulatedMouseEvents = !0;
|
|
}, y.onMouseEnter = (m) => {
|
|
!s.ignoreEmulatedMouseEvents && !R1 && f(m, "mouse"), s.ignoreEmulatedMouseEvents = !1;
|
|
}, y.onMouseLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && p(m, "mouse");
|
|
}), {
|
|
hoverProps: y,
|
|
triggerHoverEnd: p
|
|
};
|
|
}, [
|
|
t,
|
|
r,
|
|
n,
|
|
o,
|
|
s,
|
|
u,
|
|
c
|
|
]);
|
|
return ue(() => {
|
|
o && l({
|
|
currentTarget: s.target
|
|
}, s.pointerType);
|
|
}, [
|
|
o
|
|
]), {
|
|
hoverProps: d,
|
|
isHovered: a
|
|
};
|
|
}
|
|
function t0e(e = {}) {
|
|
let { autoFocus: t = !1, isTextInput: r, within: n } = e, o = ne({
|
|
isFocused: !1,
|
|
isFocusVisible: t || jB()
|
|
}), [a, i] = de(!1), [s, u] = de(() => o.current.isFocused && o.current.isFocusVisible), c = Ne(() => u(o.current.isFocused && o.current.isFocusVisible), []), d = Ne((p) => {
|
|
o.current.isFocused = p, i(p), c();
|
|
}, [
|
|
c
|
|
]);
|
|
X1e((p) => {
|
|
o.current.isFocusVisible = p, c();
|
|
}, [], {
|
|
isTextInput: r
|
|
});
|
|
let { focusProps: l } = J1e({
|
|
isDisabled: n,
|
|
onFocusChange: d
|
|
}), { focusWithinProps: f } = Q1e({
|
|
isDisabled: !n,
|
|
onFocusWithinChange: d
|
|
});
|
|
return {
|
|
isFocused: a,
|
|
isFocusVisible: s,
|
|
focusProps: n ? f : l
|
|
};
|
|
}
|
|
var r0e = Object.defineProperty, n0e = (e, t, r) => t in e ? r0e(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Z2 = (e, t, r) => (n0e(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let o0e = class {
|
|
constructor() {
|
|
Z2(this, "current", this.detect()), Z2(this, "handoffState", "pending"), Z2(this, "currentId", 0);
|
|
}
|
|
set(t) {
|
|
this.current !== t && (this.handoffState = "pending", this.currentId = 0, this.current = t);
|
|
}
|
|
reset() {
|
|
this.set(this.detect());
|
|
}
|
|
nextId() {
|
|
return ++this.currentId;
|
|
}
|
|
get isServer() {
|
|
return this.current === "server";
|
|
}
|
|
get isClient() {
|
|
return this.current === "client";
|
|
}
|
|
detect() {
|
|
return typeof window > "u" || typeof document > "u" ? "server" : "client";
|
|
}
|
|
handoff() {
|
|
this.handoffState === "pending" && (this.handoffState = "complete");
|
|
}
|
|
get isHandoffComplete() {
|
|
return this.handoffState === "complete";
|
|
}
|
|
}, $u = new o0e();
|
|
function Tb(e) {
|
|
var t, r;
|
|
return $u.isServer ? null : e ? "ownerDocument" in e ? e.ownerDocument : "current" in e ? (r = (t = e.current) == null ? void 0 : t.ownerDocument) != null ? r : document : null : document;
|
|
}
|
|
function RB(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function hi() {
|
|
let e = [], t = { addEventListener(r, n, o, a) {
|
|
return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a));
|
|
}, requestAnimationFrame(...r) {
|
|
let n = requestAnimationFrame(...r);
|
|
return t.add(() => cancelAnimationFrame(n));
|
|
}, nextFrame(...r) {
|
|
return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));
|
|
}, setTimeout(...r) {
|
|
let n = setTimeout(...r);
|
|
return t.add(() => clearTimeout(n));
|
|
}, microTask(...r) {
|
|
let n = { current: !0 };
|
|
return RB(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, o) {
|
|
let a = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: o }), this.add(() => {
|
|
Object.assign(r.style, { [n]: a });
|
|
});
|
|
}, group(r) {
|
|
let n = hi();
|
|
return r(n), this.add(() => n.dispose());
|
|
}, add(r) {
|
|
return e.includes(r) || e.push(r), () => {
|
|
let n = e.indexOf(r);
|
|
if (n >= 0) for (let o of e.splice(n, 1)) o();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function cp() {
|
|
let [e] = de(hi);
|
|
return ue(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let Kr = (e, t) => {
|
|
$u.isServer ? ue(e, t) : pi(e, t);
|
|
};
|
|
function cf(e) {
|
|
let t = ne(e);
|
|
return Kr(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let Gt = function(e) {
|
|
let t = cf(e);
|
|
return ae.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function a0e(e) {
|
|
let t = e.width / 2, r = e.height / 2;
|
|
return { top: e.clientY - r, right: e.clientX + t, bottom: e.clientY + r, left: e.clientX - t };
|
|
}
|
|
function i0e(e, t) {
|
|
return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
|
|
}
|
|
function s0e({ disabled: e = !1 } = {}) {
|
|
let t = ne(null), [r, n] = de(!1), o = cp(), a = Gt(() => {
|
|
t.current = null, n(!1), o.dispose();
|
|
}), i = Gt((s) => {
|
|
if (o.dispose(), t.current === null) {
|
|
t.current = s.currentTarget, n(!0);
|
|
{
|
|
let u = Tb(s.currentTarget);
|
|
o.addEventListener(u, "pointerup", a, !1), o.addEventListener(u, "pointermove", (c) => {
|
|
if (t.current) {
|
|
let d = a0e(c);
|
|
n(i0e(d, t.current.getBoundingClientRect()));
|
|
}
|
|
}, !1), o.addEventListener(u, "pointercancel", a, !1);
|
|
}
|
|
}
|
|
});
|
|
return { pressed: r, pressProps: e ? {} : { onPointerDown: i, onPointerUp: a, onClick: a } };
|
|
}
|
|
let l0e = zt(void 0);
|
|
function nP() {
|
|
return nt(l0e);
|
|
}
|
|
function LS(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function ia(e, t, ...r) {
|
|
if (e in t) {
|
|
let o = t[e];
|
|
return typeof o == "function" ? o(...r) : o;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, ia), n;
|
|
}
|
|
var M1 = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(M1 || {}), Bl = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Bl || {});
|
|
function lo() {
|
|
let e = u0e();
|
|
return Ne((t) => c0e({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function c0e({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? f0e;
|
|
let u = MB(t, e);
|
|
if (a) return Py(u, r, n, i, s);
|
|
let c = o ?? 0;
|
|
if (c & 2) {
|
|
let { static: d = !1, ...l } = u;
|
|
if (d) return Py(l, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: d = !0, ...l } = u;
|
|
return ia(d ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return Py({ ...l, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return Py(u, r, n, i, s);
|
|
}
|
|
function Py(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...u } = e$(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, d = typeof i == "function" ? i(t) : i;
|
|
"className" in u && u.className && typeof u.className == "function" && (u.className = u.className(t)), u["aria-labelledby"] && u["aria-labelledby"] === u.id && (u["aria-labelledby"] = void 0);
|
|
let l = {};
|
|
if (t) {
|
|
let f = !1, p = [];
|
|
for (let [y, m] of Object.entries(t)) typeof m == "boolean" && (f = !0), m === !0 && p.push(y.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
|
|
if (f) {
|
|
l["data-headlessui-state"] = p.join(" ");
|
|
for (let y of p) l[`data-${y}`] = "";
|
|
}
|
|
}
|
|
if (a === Ut && (Object.keys(zl(u)).length > 0 || Object.keys(zl(l)).length > 0)) if (!Fi(d) || Array.isArray(d) && d.length > 1) {
|
|
if (Object.keys(zl(u)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(zl(u)).concat(Object.keys(zl(l))).map((f) => ` - ${f}`).join(`
|
|
`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((f) => ` - ${f}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let f = d.props, p = f == null ? void 0 : f.className, y = typeof p == "function" ? (...w) => LS(p(...w), u.className) : LS(p, u.className), m = y ? { className: y } : {}, h = MB(d.props, zl(e$(u, ["ref"])));
|
|
for (let w in l) w in h && delete l[w];
|
|
return Li(d, Object.assign({}, h, l, c, { ref: o(d0e(d), c.ref) }, m));
|
|
}
|
|
return vb(a, Object.assign({}, e$(u, ["ref"]), a !== Ut && c, a !== Ut && l), d);
|
|
}
|
|
function u0e() {
|
|
let e = ne([]), t = Ne((r) => {
|
|
for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r);
|
|
}, []);
|
|
return (...r) => {
|
|
if (!r.every((n) => n == null)) return e.current = r, t;
|
|
};
|
|
}
|
|
function f0e(...e) {
|
|
return e.every((t) => t == null) ? void 0 : (t) => {
|
|
for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t);
|
|
};
|
|
}
|
|
function MB(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => {
|
|
var a;
|
|
return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](o, ...a) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
|
|
s(o, ...a);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function DB(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
for (let n in r) Object.assign(t, { [n](...o) {
|
|
let a = r[n];
|
|
for (let i of a) i == null || i(...o);
|
|
} });
|
|
return t;
|
|
}
|
|
function eo(e) {
|
|
var t;
|
|
return Object.assign(sf(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function zl(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function e$(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function d0e(e) {
|
|
return ae.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
function p0e(e, t, r) {
|
|
let [n, o] = de(r), a = e !== void 0, i = ne(a), s = ne(!1), u = ne(!1);
|
|
return a && !i.current && !s.current ? (s.current = !0, i.current = a, console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")) : !a && i.current && !u.current && (u.current = !0, i.current = a, console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")), [a ? e : n, Gt((c) => (a || o(c), t == null ? void 0 : t(c)))];
|
|
}
|
|
function m0e(e) {
|
|
let [t] = de(e);
|
|
return t;
|
|
}
|
|
function FB(e = {}, t = null, r = []) {
|
|
for (let [n, o] of Object.entries(e)) zB(r, LB(t, n), o);
|
|
return r;
|
|
}
|
|
function LB(e, t) {
|
|
return e ? e + "[" + t + "]" : t;
|
|
}
|
|
function zB(e, t, r) {
|
|
if (Array.isArray(r)) for (let [n, o] of r.entries()) zB(e, LB(t, n.toString()), o);
|
|
else r instanceof Date ? e.push([t, r.toISOString()]) : typeof r == "boolean" ? e.push([t, r ? "1" : "0"]) : typeof r == "string" ? e.push([t, r]) : typeof r == "number" ? e.push([t, `${r}`]) : r == null ? e.push([t, ""]) : FB(r, t, e);
|
|
}
|
|
function h0e(e) {
|
|
var t, r;
|
|
let n = (t = e == null ? void 0 : e.form) != null ? t : e.closest("form");
|
|
if (n) {
|
|
for (let o of n.elements) if (o !== e && (o.tagName === "INPUT" && o.type === "submit" || o.tagName === "BUTTON" && o.type === "submit" || o.nodeName === "INPUT" && o.type === "image")) {
|
|
o.click();
|
|
return;
|
|
}
|
|
(r = n.requestSubmit) == null || r.call(n);
|
|
}
|
|
}
|
|
let g0e = "span";
|
|
var oP = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(oP || {});
|
|
function b0e(e, t) {
|
|
var r;
|
|
let { features: n = 1, ...o } = e, a = { ref: t, "aria-hidden": (n & 2) === 2 ? !0 : (r = o["aria-hidden"]) != null ? r : void 0, hidden: (n & 4) === 4 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } };
|
|
return lo()({ ourProps: a, theirProps: o, slot: {}, defaultTag: g0e, name: "Hidden" });
|
|
}
|
|
let WB = eo(b0e), y0e = zt(null);
|
|
function v0e({ children: e }) {
|
|
let t = nt(y0e);
|
|
if (!t) return ae.createElement(ae.Fragment, null, e);
|
|
let { target: r } = t;
|
|
return r ? C0(ae.createElement(ae.Fragment, null, e), r) : null;
|
|
}
|
|
function x0e({ data: e, form: t, disabled: r, onReset: n, overrides: o }) {
|
|
let [a, i] = de(null), s = cp();
|
|
return ue(() => {
|
|
if (n && a) return s.addEventListener(a, "reset", n);
|
|
}, [a, t, n]), ae.createElement(v0e, null, ae.createElement(w0e, { setForm: i, formId: t }), FB(e).map(([u, c]) => ae.createElement(WB, { features: oP.Hidden, ...zl({ key: u, as: "input", type: "hidden", hidden: !0, readOnly: !0, form: t, disabled: r, name: u, value: c, ...o }) })));
|
|
}
|
|
function w0e({ setForm: e, formId: t }) {
|
|
return ue(() => {
|
|
if (t) {
|
|
let r = document.getElementById(t);
|
|
r && e(r);
|
|
}
|
|
}, [e, t]), t ? null : ae.createElement(WB, { features: oP.Hidden, as: "input", type: "hidden", hidden: !0, readOnly: !0, ref: (r) => {
|
|
if (!r) return;
|
|
let n = r.closest("form");
|
|
n && e(n);
|
|
} });
|
|
}
|
|
let $0e = zt(void 0);
|
|
function VB() {
|
|
return nt($0e);
|
|
}
|
|
function k0e(e) {
|
|
let t = e.parentElement, r = null;
|
|
for (; t && !(t instanceof HTMLFieldSetElement); ) t instanceof HTMLLegendElement && (r = t), t = t.parentElement;
|
|
let n = (t == null ? void 0 : t.getAttribute("disabled")) === "";
|
|
return n && _0e(r) ? !1 : n;
|
|
}
|
|
function _0e(e) {
|
|
if (!e) return !1;
|
|
let t = e.previousElementSibling;
|
|
for (; t !== null; ) {
|
|
if (t instanceof HTMLLegendElement) return !1;
|
|
t = t.previousElementSibling;
|
|
}
|
|
return !0;
|
|
}
|
|
let HB = Symbol();
|
|
function O0e(e, t = !0) {
|
|
return Object.assign(e, { [HB]: t });
|
|
}
|
|
function Ro(...e) {
|
|
let t = ne(e);
|
|
ue(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = Gt((n) => {
|
|
for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[HB])) ? void 0 : r;
|
|
}
|
|
let aP = zt(null);
|
|
aP.displayName = "DescriptionContext";
|
|
function GB() {
|
|
let e = nt(aP);
|
|
if (e === null) {
|
|
let t = new Error("You used a <Description /> component, but it is not inside a relevant parent.");
|
|
throw Error.captureStackTrace && Error.captureStackTrace(t, GB), t;
|
|
}
|
|
return e;
|
|
}
|
|
function S0e() {
|
|
var e, t;
|
|
return (t = (e = nt(aP)) == null ? void 0 : e.value) != null ? t : void 0;
|
|
}
|
|
let E0e = "p";
|
|
function A0e(e, t) {
|
|
let r = ua(), n = nP(), { id: o = `headlessui-description-${r}`, ...a } = e, i = GB(), s = Ro(t);
|
|
Kr(() => i.register(o), [o, i.register]);
|
|
let u = n || !1, c = Ie(() => ({ ...i.slot, disabled: u }), [i.slot, u]), d = { ref: s, ...i.props, id: o };
|
|
return lo()({ ourProps: d, theirProps: a, slot: c, defaultTag: E0e, name: i.name || "Description" });
|
|
}
|
|
let P0e = eo(A0e);
|
|
Object.assign(P0e, {});
|
|
var ln = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(ln || {});
|
|
let cx = zt(null);
|
|
cx.displayName = "LabelContext";
|
|
function UB() {
|
|
let e = nt(cx);
|
|
if (e === null) {
|
|
let t = new Error("You used a <Label /> component, but it is not inside a relevant parent.");
|
|
throw Error.captureStackTrace && Error.captureStackTrace(t, UB), t;
|
|
}
|
|
return e;
|
|
}
|
|
function BB(e) {
|
|
var t, r, n;
|
|
let o = (r = (t = nt(cx)) == null ? void 0 : t.value) != null ? r : void 0;
|
|
return ((n = e == null ? void 0 : e.length) != null ? n : 0) > 0 ? [o, ...e].filter(Boolean).join(" ") : o;
|
|
}
|
|
function C0e({ inherit: e = !1 } = {}) {
|
|
let t = BB(), [r, n] = de([]), o = e ? [t, ...r].filter(Boolean) : r;
|
|
return [o.length > 0 ? o.join(" ") : void 0, Ie(() => function(a) {
|
|
let i = Gt((u) => (n((c) => [...c, u]), () => n((c) => {
|
|
let d = c.slice(), l = d.indexOf(u);
|
|
return l !== -1 && d.splice(l, 1), d;
|
|
}))), s = Ie(() => ({ register: i, slot: a.slot, name: a.name, props: a.props, value: a.value }), [i, a.slot, a.name, a.props, a.value]);
|
|
return ae.createElement(cx.Provider, { value: s }, a.children);
|
|
}, [n])];
|
|
}
|
|
let N0e = "label";
|
|
function T0e(e, t) {
|
|
var r;
|
|
let n = ua(), o = UB(), a = VB(), i = nP(), { id: s = `headlessui-label-${n}`, htmlFor: u = a ?? ((r = o.props) == null ? void 0 : r.htmlFor), passive: c = !1, ...d } = e, l = Ro(t);
|
|
Kr(() => o.register(s), [s, o.register]);
|
|
let f = Gt((h) => {
|
|
let w = h.currentTarget;
|
|
if (w instanceof HTMLLabelElement && h.preventDefault(), o.props && "onClick" in o.props && typeof o.props.onClick == "function" && o.props.onClick(h), w instanceof HTMLLabelElement) {
|
|
let $ = document.getElementById(w.htmlFor);
|
|
if ($) {
|
|
let _ = $.getAttribute("disabled");
|
|
if (_ === "true" || _ === "") return;
|
|
let S = $.getAttribute("aria-disabled");
|
|
if (S === "true" || S === "") return;
|
|
($ instanceof HTMLInputElement && ($.type === "radio" || $.type === "checkbox") || $.role === "radio" || $.role === "checkbox" || $.role === "switch") && $.click(), $.focus({ preventScroll: !0 });
|
|
}
|
|
}
|
|
}), p = i || !1, y = Ie(() => ({ ...o.slot, disabled: p }), [o.slot, p]), m = { ref: l, ...o.props, id: s, htmlFor: u, onClick: f };
|
|
return c && ("onClick" in m && (delete m.htmlFor, delete m.onClick), "onClick" in d && delete d.onClick), lo()({ ourProps: m, theirProps: d, slot: y, defaultTag: u ? N0e : "div", name: o.name || "Label" });
|
|
}
|
|
let I0e = eo(T0e), j0e = Object.assign(I0e, {});
|
|
function R0e(e, t) {
|
|
return e !== null && t !== null && typeof e == "object" && typeof t == "object" && "id" in e && "id" in t ? e.id === t.id : e === t;
|
|
}
|
|
function M0e(e = R0e) {
|
|
return Ne((t, r) => {
|
|
if (typeof e == "string") {
|
|
let n = e;
|
|
return (t == null ? void 0 : t[n]) === (r == null ? void 0 : r[n]);
|
|
}
|
|
return e(t, r);
|
|
}, [e]);
|
|
}
|
|
function D0e(e) {
|
|
if (e === null) return { width: 0, height: 0 };
|
|
let { width: t, height: r } = e.getBoundingClientRect();
|
|
return { width: t, height: r };
|
|
}
|
|
function F0e(e, t = !1) {
|
|
let [r, n] = D4(() => ({}), {}), o = Ie(() => D0e(e), [e, r]);
|
|
return Kr(() => {
|
|
if (!e) return;
|
|
let a = new ResizeObserver(n);
|
|
return a.observe(e), () => {
|
|
a.disconnect();
|
|
};
|
|
}, [e]), t ? { width: `${o.width}px`, height: `${o.height}px` } : o;
|
|
}
|
|
let YB = class extends Map {
|
|
constructor(t) {
|
|
super(), this.factory = t;
|
|
}
|
|
get(t) {
|
|
let r = super.get(t);
|
|
return r === void 0 && (r = this.factory(t), this.set(t, r)), r;
|
|
}
|
|
};
|
|
function qB(e, t) {
|
|
let r = e(), n = /* @__PURE__ */ new Set();
|
|
return { getSnapshot() {
|
|
return r;
|
|
}, subscribe(o) {
|
|
return n.add(o), () => n.delete(o);
|
|
}, dispatch(o, ...a) {
|
|
let i = t[o].call(r, ...a);
|
|
i && (r = i, n.forEach((s) => s()));
|
|
} };
|
|
}
|
|
function KB(e) {
|
|
return hoe(e.subscribe, e.getSnapshot, e.getSnapshot);
|
|
}
|
|
let L0e = new YB(() => qB(() => [], { ADD(e) {
|
|
return this.includes(e) ? this : [...this, e];
|
|
}, REMOVE(e) {
|
|
let t = this.indexOf(e);
|
|
if (t === -1) return this;
|
|
let r = this.slice();
|
|
return r.splice(t, 1), r;
|
|
} }));
|
|
function iP(e, t) {
|
|
let r = L0e.get(t), n = ua(), o = KB(r);
|
|
if (Kr(() => {
|
|
if (e) return r.dispatch("ADD", n), () => r.dispatch("REMOVE", n);
|
|
}, [r, e]), !e) return !1;
|
|
let a = o.indexOf(n), i = o.length;
|
|
return a === -1 && (a = i, i += 1), a === i - 1;
|
|
}
|
|
let zS = /* @__PURE__ */ new Map(), Wh = /* @__PURE__ */ new Map();
|
|
function b9(e) {
|
|
var t;
|
|
let r = (t = Wh.get(e)) != null ? t : 0;
|
|
return Wh.set(e, r + 1), r !== 0 ? () => y9(e) : (zS.set(e, { "aria-hidden": e.getAttribute("aria-hidden"), inert: e.inert }), e.setAttribute("aria-hidden", "true"), e.inert = !0, () => y9(e));
|
|
}
|
|
function y9(e) {
|
|
var t;
|
|
let r = (t = Wh.get(e)) != null ? t : 1;
|
|
if (r === 1 ? Wh.delete(e) : Wh.set(e, r - 1), r !== 1) return;
|
|
let n = zS.get(e);
|
|
n && (n["aria-hidden"] === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", n["aria-hidden"]), e.inert = n.inert, zS.delete(e));
|
|
}
|
|
function z0e(e, { allowed: t, disallowed: r } = {}) {
|
|
let n = iP(e, "inert-others");
|
|
Kr(() => {
|
|
var o, a;
|
|
if (!n) return;
|
|
let i = hi();
|
|
for (let u of (o = r == null ? void 0 : r()) != null ? o : []) u && i.add(b9(u));
|
|
let s = (a = t == null ? void 0 : t()) != null ? a : [];
|
|
for (let u of s) {
|
|
if (!u) continue;
|
|
let c = Tb(u);
|
|
if (!c) continue;
|
|
let d = u.parentElement;
|
|
for (; d && d !== c.body; ) {
|
|
for (let l of d.children) s.some((f) => l.contains(f)) || i.add(b9(l));
|
|
d = d.parentElement;
|
|
}
|
|
}
|
|
return i.dispose;
|
|
}, [n, t, r]);
|
|
}
|
|
function W0e(e, t, r) {
|
|
let n = cf((o) => {
|
|
let a = o.getBoundingClientRect();
|
|
a.x === 0 && a.y === 0 && a.width === 0 && a.height === 0 && r();
|
|
});
|
|
ue(() => {
|
|
if (!e) return;
|
|
let o = t === null ? null : t instanceof HTMLElement ? t : t.current;
|
|
if (!o) return;
|
|
let a = hi();
|
|
if (typeof ResizeObserver < "u") {
|
|
let i = new ResizeObserver(() => n.current(o));
|
|
i.observe(o), a.add(() => i.disconnect());
|
|
}
|
|
if (typeof IntersectionObserver < "u") {
|
|
let i = new IntersectionObserver(() => n.current(o));
|
|
i.observe(o), a.add(() => i.disconnect());
|
|
}
|
|
return () => a.dispose();
|
|
}, [t, n, e]);
|
|
}
|
|
let WS = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(","), V0e = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
|
|
var VS = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e[e.AutoFocus = 64] = "AutoFocus", e))(VS || {}), H0e = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(H0e || {}), G0e = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(G0e || {});
|
|
function XB(e = document.body) {
|
|
return e == null ? [] : Array.from(e.querySelectorAll(WS)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER)));
|
|
}
|
|
function U0e(e = document.body) {
|
|
return e == null ? [] : Array.from(e.querySelectorAll(V0e)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER)));
|
|
}
|
|
var sP = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(sP || {});
|
|
function JB(e, t = 0) {
|
|
var r;
|
|
return e === ((r = Tb(e)) == null ? void 0 : r.body) ? !1 : ia(t, { 0() {
|
|
return e.matches(WS);
|
|
}, 1() {
|
|
let n = e;
|
|
for (; n !== null; ) {
|
|
if (n.matches(WS)) return !0;
|
|
n = n.parentElement;
|
|
}
|
|
return !1;
|
|
} });
|
|
}
|
|
var B0e = ((e) => (e[e.Keyboard = 0] = "Keyboard", e[e.Mouse = 1] = "Mouse", e))(B0e || {});
|
|
typeof window < "u" && typeof document < "u" && (document.addEventListener("keydown", (e) => {
|
|
e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
|
|
}, !0), document.addEventListener("click", (e) => {
|
|
e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = "");
|
|
}, !0));
|
|
let Y0e = ["textarea", "input"].join(",");
|
|
function q0e(e) {
|
|
var t, r;
|
|
return (r = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, Y0e)) != null ? r : !1;
|
|
}
|
|
function QB(e, t = (r) => r) {
|
|
return e.slice().sort((r, n) => {
|
|
let o = t(r), a = t(n);
|
|
if (o === null || a === null) return 0;
|
|
let i = o.compareDocumentPosition(a);
|
|
return i & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : i & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
|
|
});
|
|
}
|
|
function K0e(e, t) {
|
|
return X0e(XB(), t, { relativeTo: e });
|
|
}
|
|
function X0e(e, t, { sorted: r = !0, relativeTo: n = null, skipElements: o = [] } = {}) {
|
|
let a = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, i = Array.isArray(e) ? r ? QB(e) : e : t & 64 ? U0e(e) : XB(e);
|
|
o.length > 0 && i.length > 1 && (i = i.filter((p) => !o.some((y) => y != null && "current" in y ? (y == null ? void 0 : y.current) === p : y === p))), n = n ?? a.activeElement;
|
|
let s = (() => {
|
|
if (t & 5) return 1;
|
|
if (t & 10) return -1;
|
|
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
|
|
})(), u = (() => {
|
|
if (t & 1) return 0;
|
|
if (t & 2) return Math.max(0, i.indexOf(n)) - 1;
|
|
if (t & 4) return Math.max(0, i.indexOf(n)) + 1;
|
|
if (t & 8) return i.length - 1;
|
|
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
|
|
})(), c = t & 32 ? { preventScroll: !0 } : {}, d = 0, l = i.length, f;
|
|
do {
|
|
if (d >= l || d + l <= 0) return 0;
|
|
let p = u + d;
|
|
if (t & 16) p = (p + l) % l;
|
|
else {
|
|
if (p < 0) return 3;
|
|
if (p >= l) return 1;
|
|
}
|
|
f = i[p], f == null || f.focus(c), d += s;
|
|
} while (f !== a.activeElement);
|
|
return t & 6 && q0e(f) && f.select(), 2;
|
|
}
|
|
function ZB() {
|
|
return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0;
|
|
}
|
|
function J0e() {
|
|
return /Android/gi.test(window.navigator.userAgent);
|
|
}
|
|
function Q0e() {
|
|
return ZB() || J0e();
|
|
}
|
|
function jm(e, t, r, n) {
|
|
let o = cf(r);
|
|
ue(() => {
|
|
if (!e) return;
|
|
function a(i) {
|
|
o.current(i);
|
|
}
|
|
return document.addEventListener(t, a, n), () => document.removeEventListener(t, a, n);
|
|
}, [e, t, n]);
|
|
}
|
|
function Z0e(e, t, r, n) {
|
|
let o = cf(r);
|
|
ue(() => {
|
|
if (!e) return;
|
|
function a(i) {
|
|
o.current(i);
|
|
}
|
|
return window.addEventListener(t, a, n), () => window.removeEventListener(t, a, n);
|
|
}, [e, t, n]);
|
|
}
|
|
const v9 = 30;
|
|
function exe(e, t, r) {
|
|
let n = iP(e, "outside-click"), o = cf(r), a = Ne(function(u, c) {
|
|
if (u.defaultPrevented) return;
|
|
let d = c(u);
|
|
if (d === null || !d.getRootNode().contains(d) || !d.isConnected) return;
|
|
let l = function f(p) {
|
|
return typeof p == "function" ? f(p()) : Array.isArray(p) || p instanceof Set ? p : [p];
|
|
}(t);
|
|
for (let f of l) if (f !== null && (f.contains(d) || u.composed && u.composedPath().includes(f))) return;
|
|
return !JB(d, sP.Loose) && d.tabIndex !== -1 && u.preventDefault(), o.current(u, d);
|
|
}, [o, t]), i = ne(null);
|
|
jm(n, "pointerdown", (u) => {
|
|
var c, d;
|
|
i.current = ((d = (c = u.composedPath) == null ? void 0 : c.call(u)) == null ? void 0 : d[0]) || u.target;
|
|
}, !0), jm(n, "mousedown", (u) => {
|
|
var c, d;
|
|
i.current = ((d = (c = u.composedPath) == null ? void 0 : c.call(u)) == null ? void 0 : d[0]) || u.target;
|
|
}, !0), jm(n, "click", (u) => {
|
|
Q0e() || i.current && (a(u, () => i.current), i.current = null);
|
|
}, !0);
|
|
let s = ne({ x: 0, y: 0 });
|
|
jm(n, "touchstart", (u) => {
|
|
s.current.x = u.touches[0].clientX, s.current.y = u.touches[0].clientY;
|
|
}, !0), jm(n, "touchend", (u) => {
|
|
let c = { x: u.changedTouches[0].clientX, y: u.changedTouches[0].clientY };
|
|
if (!(Math.abs(c.x - s.current.x) >= v9 || Math.abs(c.y - s.current.y) >= v9)) return a(u, () => u.target instanceof HTMLElement ? u.target : null);
|
|
}, !0), Z0e(n, "blur", (u) => a(u, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);
|
|
}
|
|
function HS(...e) {
|
|
return Ie(() => Tb(...e), [...e]);
|
|
}
|
|
function txe(e, t) {
|
|
return Ie(() => {
|
|
var r;
|
|
if (e.type) return e.type;
|
|
let n = (r = e.as) != null ? r : "button";
|
|
if (typeof n == "string" && n.toLowerCase() === "button" || (t == null ? void 0 : t.tagName) === "BUTTON" && !t.hasAttribute("type")) return "button";
|
|
}, [e.type, e.as, t]);
|
|
}
|
|
function rxe() {
|
|
let e;
|
|
return { before({ doc: t }) {
|
|
var r;
|
|
let n = t.documentElement, o = (r = t.defaultView) != null ? r : window;
|
|
e = Math.max(0, o.innerWidth - n.clientWidth);
|
|
}, after({ doc: t, d: r }) {
|
|
let n = t.documentElement, o = Math.max(0, n.clientWidth - n.offsetWidth), a = Math.max(0, e - o);
|
|
r.style(n, "paddingRight", `${a}px`);
|
|
} };
|
|
}
|
|
function nxe() {
|
|
return ZB() ? { before({ doc: e, d: t, meta: r }) {
|
|
function n(o) {
|
|
return r.containers.flatMap((a) => a()).some((a) => a.contains(o));
|
|
}
|
|
t.microTask(() => {
|
|
var o;
|
|
if (window.getComputedStyle(e.documentElement).scrollBehavior !== "auto") {
|
|
let s = hi();
|
|
s.style(e.documentElement, "scrollBehavior", "auto"), t.add(() => t.microTask(() => s.dispose()));
|
|
}
|
|
let a = (o = window.scrollY) != null ? o : window.pageYOffset, i = null;
|
|
t.addEventListener(e, "click", (s) => {
|
|
if (s.target instanceof HTMLElement) try {
|
|
let u = s.target.closest("a");
|
|
if (!u) return;
|
|
let { hash: c } = new URL(u.href), d = e.querySelector(c);
|
|
d && !n(d) && (i = d);
|
|
} catch {
|
|
}
|
|
}, !0), t.addEventListener(e, "touchstart", (s) => {
|
|
if (s.target instanceof HTMLElement) if (n(s.target)) {
|
|
let u = s.target;
|
|
for (; u.parentElement && n(u.parentElement); ) u = u.parentElement;
|
|
t.style(u, "overscrollBehavior", "contain");
|
|
} else t.style(s.target, "touchAction", "none");
|
|
}), t.addEventListener(e, "touchmove", (s) => {
|
|
if (s.target instanceof HTMLElement) {
|
|
if (s.target.tagName === "INPUT") return;
|
|
if (n(s.target)) {
|
|
let u = s.target;
|
|
for (; u.parentElement && u.dataset.headlessuiPortal !== "" && !(u.scrollHeight > u.clientHeight || u.scrollWidth > u.clientWidth); ) u = u.parentElement;
|
|
u.dataset.headlessuiPortal === "" && s.preventDefault();
|
|
} else s.preventDefault();
|
|
}
|
|
}, { passive: !1 }), t.add(() => {
|
|
var s;
|
|
let u = (s = window.scrollY) != null ? s : window.pageYOffset;
|
|
a !== u && window.scrollTo(0, a), i && i.isConnected && (i.scrollIntoView({ block: "nearest" }), i = null);
|
|
});
|
|
});
|
|
} } : {};
|
|
}
|
|
function oxe() {
|
|
return { before({ doc: e, d: t }) {
|
|
t.style(e.documentElement, "overflow", "hidden");
|
|
} };
|
|
}
|
|
function axe(e) {
|
|
let t = {};
|
|
for (let r of e) Object.assign(t, r(t));
|
|
return t;
|
|
}
|
|
let su = qB(() => /* @__PURE__ */ new Map(), { PUSH(e, t) {
|
|
var r;
|
|
let n = (r = this.get(e)) != null ? r : { doc: e, count: 0, d: hi(), meta: /* @__PURE__ */ new Set() };
|
|
return n.count++, n.meta.add(t), this.set(e, n), this;
|
|
}, POP(e, t) {
|
|
let r = this.get(e);
|
|
return r && (r.count--, r.meta.delete(t)), this;
|
|
}, SCROLL_PREVENT({ doc: e, d: t, meta: r }) {
|
|
let n = { doc: e, d: t, meta: axe(r) }, o = [nxe(), rxe(), oxe()];
|
|
o.forEach(({ before: a }) => a == null ? void 0 : a(n)), o.forEach(({ after: a }) => a == null ? void 0 : a(n));
|
|
}, SCROLL_ALLOW({ d: e }) {
|
|
e.dispose();
|
|
}, TEARDOWN({ doc: e }) {
|
|
this.delete(e);
|
|
} });
|
|
su.subscribe(() => {
|
|
let e = su.getSnapshot(), t = /* @__PURE__ */ new Map();
|
|
for (let [r] of e) t.set(r, r.documentElement.style.overflow);
|
|
for (let r of e.values()) {
|
|
let n = t.get(r.doc) === "hidden", o = r.count !== 0;
|
|
(o && !n || !o && n) && su.dispatch(r.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", r), r.count === 0 && su.dispatch("TEARDOWN", r);
|
|
}
|
|
});
|
|
function ixe(e, t, r = () => ({ containers: [] })) {
|
|
let n = KB(su), o = t ? n.get(t) : void 0, a = o ? o.count > 0 : !1;
|
|
return Kr(() => {
|
|
if (!(!t || !e)) return su.dispatch("PUSH", t, r), () => su.dispatch("POP", t, r);
|
|
}, [e, t]), a;
|
|
}
|
|
function sxe(e, t, r = () => [document.body]) {
|
|
let n = iP(e, "scroll-lock");
|
|
ixe(n, t, (o) => {
|
|
var a;
|
|
return { containers: [...(a = o.containers) != null ? a : [], r] };
|
|
});
|
|
}
|
|
function x9(e) {
|
|
return [e.screenX, e.screenY];
|
|
}
|
|
function lxe() {
|
|
let e = ne([-1, -1]);
|
|
return { wasMoved(t) {
|
|
let r = x9(t);
|
|
return e.current[0] === r[0] && e.current[1] === r[1] ? !1 : (e.current = r, !0);
|
|
}, update(t) {
|
|
e.current = x9(t);
|
|
} };
|
|
}
|
|
function cxe(e = 0) {
|
|
let [t, r] = de(e), n = Ne((u) => r(u), [t]), o = Ne((u) => r((c) => c | u), [t]), a = Ne((u) => (t & u) === u, [t]), i = Ne((u) => r((c) => c & ~u), [r]), s = Ne((u) => r((c) => c ^ u), [r]);
|
|
return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var w9, $9;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((w9 = process == null ? void 0 : process.env) == null ? void 0 : w9.NODE_ENV) === "test" && typeof (($9 = Element == null ? void 0 : Element.prototype) == null ? void 0 : $9.getAnimations) > "u" && (Element.prototype.getAnimations = function() {
|
|
return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.", "Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.", "", "Example usage:", "```js", "import { mockAnimationsApi } from 'jsdom-testing-mocks'", "mockAnimationsApi()", "```"].join(`
|
|
`)), [];
|
|
});
|
|
var uxe = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(uxe || {});
|
|
function eY(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function tY(e, t, r, n) {
|
|
let [o, a] = de(r), { hasFlag: i, addFlag: s, removeFlag: u } = cxe(e && o ? 3 : 0), c = ne(!1), d = ne(!1), l = cp();
|
|
return Kr(() => {
|
|
var f;
|
|
if (e) {
|
|
if (r && a(!0), !t) {
|
|
r && s(3);
|
|
return;
|
|
}
|
|
return (f = n == null ? void 0 : n.start) == null || f.call(n, r), fxe(t, { inFlight: c, prepare() {
|
|
d.current ? d.current = !1 : d.current = c.current, c.current = !0, !d.current && (r ? (s(3), u(4)) : (s(4), u(2)));
|
|
}, run() {
|
|
d.current ? r ? (u(3), s(4)) : (u(4), s(3)) : r ? u(1) : s(1);
|
|
}, done() {
|
|
var p;
|
|
d.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, u(7), r || a(!1), (p = n == null ? void 0 : n.end) == null || p.call(n, r));
|
|
} });
|
|
}
|
|
}, [e, r, t, l]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }];
|
|
}
|
|
function fxe(e, { prepare: t, run: r, done: n, inFlight: o }) {
|
|
let a = hi();
|
|
return pxe(e, { prepare: t, inFlight: o }), a.nextFrame(() => {
|
|
r(), a.requestAnimationFrame(() => {
|
|
a.add(dxe(e, n));
|
|
});
|
|
}), a.dispose;
|
|
}
|
|
function dxe(e, t) {
|
|
var r, n;
|
|
let o = hi();
|
|
if (!e) return o.dispose;
|
|
let a = !1;
|
|
o.add(() => {
|
|
a = !0;
|
|
});
|
|
let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : [];
|
|
return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => {
|
|
a || t();
|
|
}), o.dispose);
|
|
}
|
|
function pxe(e, { inFlight: t, prepare: r }) {
|
|
if (t != null && t.current) {
|
|
r();
|
|
return;
|
|
}
|
|
let n = e.style.transition;
|
|
e.style.transition = "none", r(), e.offsetHeight, e.style.transition = n;
|
|
}
|
|
function ux() {
|
|
return typeof window < "u";
|
|
}
|
|
function up(e) {
|
|
return rY(e) ? (e.nodeName || "").toLowerCase() : "#document";
|
|
}
|
|
function no(e) {
|
|
var t;
|
|
return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
|
|
}
|
|
function gi(e) {
|
|
var t;
|
|
return (t = (rY(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
|
|
}
|
|
function rY(e) {
|
|
return ux() ? e instanceof Node || e instanceof no(e).Node : !1;
|
|
}
|
|
function yn(e) {
|
|
return ux() ? e instanceof Element || e instanceof no(e).Element : !1;
|
|
}
|
|
function ui(e) {
|
|
return ux() ? e instanceof HTMLElement || e instanceof no(e).HTMLElement : !1;
|
|
}
|
|
function k9(e) {
|
|
return !ux() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof no(e).ShadowRoot;
|
|
}
|
|
function Ib(e) {
|
|
const {
|
|
overflow: t,
|
|
overflowX: r,
|
|
overflowY: n,
|
|
display: o
|
|
} = sa(e);
|
|
return /auto|scroll|overlay|hidden|clip/.test(t + n + r) && !["inline", "contents"].includes(o);
|
|
}
|
|
function mxe(e) {
|
|
return ["table", "td", "th"].includes(up(e));
|
|
}
|
|
function fx(e) {
|
|
return [":popover-open", ":modal"].some((t) => {
|
|
try {
|
|
return e.matches(t);
|
|
} catch {
|
|
return !1;
|
|
}
|
|
});
|
|
}
|
|
function lP(e) {
|
|
const t = cP(), r = yn(e) ? sa(e) : e;
|
|
return ["transform", "translate", "scale", "rotate", "perspective"].some((n) => r[n] ? r[n] !== "none" : !1) || (r.containerType ? r.containerType !== "normal" : !1) || !t && (r.backdropFilter ? r.backdropFilter !== "none" : !1) || !t && (r.filter ? r.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((n) => (r.willChange || "").includes(n)) || ["paint", "layout", "strict", "content"].some((n) => (r.contain || "").includes(n));
|
|
}
|
|
function hxe(e) {
|
|
let t = gc(e);
|
|
for (; ui(t) && !zd(t); ) {
|
|
if (lP(t))
|
|
return t;
|
|
if (fx(t))
|
|
return null;
|
|
t = gc(t);
|
|
}
|
|
return null;
|
|
}
|
|
function cP() {
|
|
return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
|
|
}
|
|
function zd(e) {
|
|
return ["html", "body", "#document"].includes(up(e));
|
|
}
|
|
function sa(e) {
|
|
return no(e).getComputedStyle(e);
|
|
}
|
|
function dx(e) {
|
|
return yn(e) ? {
|
|
scrollLeft: e.scrollLeft,
|
|
scrollTop: e.scrollTop
|
|
} : {
|
|
scrollLeft: e.scrollX,
|
|
scrollTop: e.scrollY
|
|
};
|
|
}
|
|
function gc(e) {
|
|
if (up(e) === "html")
|
|
return e;
|
|
const t = (
|
|
// Step into the shadow DOM of the parent of a slotted node.
|
|
e.assignedSlot || // DOM Element detected.
|
|
e.parentNode || // ShadowRoot detected.
|
|
k9(e) && e.host || // Fallback.
|
|
gi(e)
|
|
);
|
|
return k9(t) ? t.host : t;
|
|
}
|
|
function nY(e) {
|
|
const t = gc(e);
|
|
return zd(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : ui(t) && Ib(t) ? t : nY(t);
|
|
}
|
|
function Dg(e, t, r) {
|
|
var n;
|
|
t === void 0 && (t = []), r === void 0 && (r = !0);
|
|
const o = nY(e), a = o === ((n = e.ownerDocument) == null ? void 0 : n.body), i = no(o);
|
|
if (a) {
|
|
const s = GS(i);
|
|
return t.concat(i, i.visualViewport || [], Ib(o) ? o : [], s && r ? Dg(s) : []);
|
|
}
|
|
return t.concat(o, Dg(o, [], r));
|
|
}
|
|
function GS(e) {
|
|
return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
|
|
}
|
|
function gxe() {
|
|
const e = navigator.userAgentData;
|
|
return e && Array.isArray(e.brands) ? e.brands.map((t) => {
|
|
let {
|
|
brand: r,
|
|
version: n
|
|
} = t;
|
|
return r + "/" + n;
|
|
}).join(" ") : navigator.userAgent;
|
|
}
|
|
const Ru = Math.min, bn = Math.max, Fg = Math.round, Cy = Math.floor, li = (e) => ({
|
|
x: e,
|
|
y: e
|
|
}), bxe = {
|
|
left: "right",
|
|
right: "left",
|
|
bottom: "top",
|
|
top: "bottom"
|
|
}, yxe = {
|
|
start: "end",
|
|
end: "start"
|
|
};
|
|
function _9(e, t, r) {
|
|
return bn(e, Ru(t, r));
|
|
}
|
|
function fp(e, t) {
|
|
return typeof e == "function" ? e(t) : e;
|
|
}
|
|
function bc(e) {
|
|
return e.split("-")[0];
|
|
}
|
|
function jb(e) {
|
|
return e.split("-")[1];
|
|
}
|
|
function oY(e) {
|
|
return e === "x" ? "y" : "x";
|
|
}
|
|
function aY(e) {
|
|
return e === "y" ? "height" : "width";
|
|
}
|
|
function Mu(e) {
|
|
return ["top", "bottom"].includes(bc(e)) ? "y" : "x";
|
|
}
|
|
function iY(e) {
|
|
return oY(Mu(e));
|
|
}
|
|
function vxe(e, t, r) {
|
|
r === void 0 && (r = !1);
|
|
const n = jb(e), o = iY(e), a = aY(o);
|
|
let i = o === "x" ? n === (r ? "end" : "start") ? "right" : "left" : n === "start" ? "bottom" : "top";
|
|
return t.reference[a] > t.floating[a] && (i = D1(i)), [i, D1(i)];
|
|
}
|
|
function xxe(e) {
|
|
const t = D1(e);
|
|
return [US(e), t, US(t)];
|
|
}
|
|
function US(e) {
|
|
return e.replace(/start|end/g, (t) => yxe[t]);
|
|
}
|
|
function wxe(e, t, r) {
|
|
const n = ["left", "right"], o = ["right", "left"], a = ["top", "bottom"], i = ["bottom", "top"];
|
|
switch (e) {
|
|
case "top":
|
|
case "bottom":
|
|
return r ? t ? o : n : t ? n : o;
|
|
case "left":
|
|
case "right":
|
|
return t ? a : i;
|
|
default:
|
|
return [];
|
|
}
|
|
}
|
|
function $xe(e, t, r, n) {
|
|
const o = jb(e);
|
|
let a = wxe(bc(e), r === "start", n);
|
|
return o && (a = a.map((i) => i + "-" + o), t && (a = a.concat(a.map(US)))), a;
|
|
}
|
|
function D1(e) {
|
|
return e.replace(/left|right|bottom|top/g, (t) => bxe[t]);
|
|
}
|
|
function kxe(e) {
|
|
return {
|
|
top: 0,
|
|
right: 0,
|
|
bottom: 0,
|
|
left: 0,
|
|
...e
|
|
};
|
|
}
|
|
function _xe(e) {
|
|
return typeof e != "number" ? kxe(e) : {
|
|
top: e,
|
|
right: e,
|
|
bottom: e,
|
|
left: e
|
|
};
|
|
}
|
|
function F1(e) {
|
|
const {
|
|
x: t,
|
|
y: r,
|
|
width: n,
|
|
height: o
|
|
} = e;
|
|
return {
|
|
width: n,
|
|
height: o,
|
|
top: r,
|
|
left: t,
|
|
right: t + n,
|
|
bottom: r + o,
|
|
x: t,
|
|
y: r
|
|
};
|
|
}
|
|
function O9(e, t, r) {
|
|
let {
|
|
reference: n,
|
|
floating: o
|
|
} = e;
|
|
const a = Mu(t), i = iY(t), s = aY(i), u = bc(t), c = a === "y", d = n.x + n.width / 2 - o.width / 2, l = n.y + n.height / 2 - o.height / 2, f = n[s] / 2 - o[s] / 2;
|
|
let p;
|
|
switch (u) {
|
|
case "top":
|
|
p = {
|
|
x: d,
|
|
y: n.y - o.height
|
|
};
|
|
break;
|
|
case "bottom":
|
|
p = {
|
|
x: d,
|
|
y: n.y + n.height
|
|
};
|
|
break;
|
|
case "right":
|
|
p = {
|
|
x: n.x + n.width,
|
|
y: l
|
|
};
|
|
break;
|
|
case "left":
|
|
p = {
|
|
x: n.x - o.width,
|
|
y: l
|
|
};
|
|
break;
|
|
default:
|
|
p = {
|
|
x: n.x,
|
|
y: n.y
|
|
};
|
|
}
|
|
switch (jb(t)) {
|
|
case "start":
|
|
p[i] -= f * (r && c ? -1 : 1);
|
|
break;
|
|
case "end":
|
|
p[i] += f * (r && c ? -1 : 1);
|
|
break;
|
|
}
|
|
return p;
|
|
}
|
|
const Oxe = async (e, t, r) => {
|
|
const {
|
|
placement: n = "bottom",
|
|
strategy: o = "absolute",
|
|
middleware: a = [],
|
|
platform: i
|
|
} = r, s = a.filter(Boolean), u = await (i.isRTL == null ? void 0 : i.isRTL(t));
|
|
let c = await i.getElementRects({
|
|
reference: e,
|
|
floating: t,
|
|
strategy: o
|
|
}), {
|
|
x: d,
|
|
y: l
|
|
} = O9(c, n, u), f = n, p = {}, y = 0;
|
|
for (let m = 0; m < s.length; m++) {
|
|
const {
|
|
name: h,
|
|
fn: w
|
|
} = s[m], {
|
|
x: $,
|
|
y: _,
|
|
data: S,
|
|
reset: b
|
|
} = await w({
|
|
x: d,
|
|
y: l,
|
|
initialPlacement: n,
|
|
placement: f,
|
|
strategy: o,
|
|
middlewareData: p,
|
|
rects: c,
|
|
platform: i,
|
|
elements: {
|
|
reference: e,
|
|
floating: t
|
|
}
|
|
});
|
|
d = $ ?? d, l = _ ?? l, p = {
|
|
...p,
|
|
[h]: {
|
|
...p[h],
|
|
...S
|
|
}
|
|
}, b && y <= 50 && (y++, typeof b == "object" && (b.placement && (f = b.placement), b.rects && (c = b.rects === !0 ? await i.getElementRects({
|
|
reference: e,
|
|
floating: t,
|
|
strategy: o
|
|
}) : b.rects), {
|
|
x: d,
|
|
y: l
|
|
} = O9(c, f, u)), m = -1);
|
|
}
|
|
return {
|
|
x: d,
|
|
y: l,
|
|
placement: f,
|
|
strategy: o,
|
|
middlewareData: p
|
|
};
|
|
};
|
|
async function px(e, t) {
|
|
var r;
|
|
t === void 0 && (t = {});
|
|
const {
|
|
x: n,
|
|
y: o,
|
|
platform: a,
|
|
rects: i,
|
|
elements: s,
|
|
strategy: u
|
|
} = e, {
|
|
boundary: c = "clippingAncestors",
|
|
rootBoundary: d = "viewport",
|
|
elementContext: l = "floating",
|
|
altBoundary: f = !1,
|
|
padding: p = 0
|
|
} = fp(t, e), y = _xe(p), m = s[f ? l === "floating" ? "reference" : "floating" : l], h = F1(await a.getClippingRect({
|
|
element: (r = await (a.isElement == null ? void 0 : a.isElement(m))) == null || r ? m : m.contextElement || await (a.getDocumentElement == null ? void 0 : a.getDocumentElement(s.floating)),
|
|
boundary: c,
|
|
rootBoundary: d,
|
|
strategy: u
|
|
})), w = l === "floating" ? {
|
|
x: n,
|
|
y: o,
|
|
width: i.floating.width,
|
|
height: i.floating.height
|
|
} : i.reference, $ = await (a.getOffsetParent == null ? void 0 : a.getOffsetParent(s.floating)), _ = await (a.isElement == null ? void 0 : a.isElement($)) ? await (a.getScale == null ? void 0 : a.getScale($)) || {
|
|
x: 1,
|
|
y: 1
|
|
} : {
|
|
x: 1,
|
|
y: 1
|
|
}, S = F1(a.convertOffsetParentRelativeRectToViewportRelativeRect ? await a.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
elements: s,
|
|
rect: w,
|
|
offsetParent: $,
|
|
strategy: u
|
|
}) : w);
|
|
return {
|
|
top: (h.top - S.top + y.top) / _.y,
|
|
bottom: (S.bottom - h.bottom + y.bottom) / _.y,
|
|
left: (h.left - S.left + y.left) / _.x,
|
|
right: (S.right - h.right + y.right) / _.x
|
|
};
|
|
}
|
|
const Sxe = function(e) {
|
|
return e === void 0 && (e = {}), {
|
|
name: "flip",
|
|
options: e,
|
|
async fn(t) {
|
|
var r, n;
|
|
const {
|
|
placement: o,
|
|
middlewareData: a,
|
|
rects: i,
|
|
initialPlacement: s,
|
|
platform: u,
|
|
elements: c
|
|
} = t, {
|
|
mainAxis: d = !0,
|
|
crossAxis: l = !0,
|
|
fallbackPlacements: f,
|
|
fallbackStrategy: p = "bestFit",
|
|
fallbackAxisSideDirection: y = "none",
|
|
flipAlignment: m = !0,
|
|
...h
|
|
} = fp(e, t);
|
|
if ((r = a.arrow) != null && r.alignmentOffset)
|
|
return {};
|
|
const w = bc(o), $ = Mu(s), _ = bc(s) === s, S = await (u.isRTL == null ? void 0 : u.isRTL(c.floating)), b = f || (_ || !m ? [D1(s)] : xxe(s)), F = y !== "none";
|
|
!f && F && b.push(...$xe(s, m, y, S));
|
|
const z = [s, ...b], q = await px(t, h), Y = [];
|
|
let B = ((n = a.flip) == null ? void 0 : n.overflows) || [];
|
|
if (d && Y.push(q[w]), l) {
|
|
const G = vxe(o, i, S);
|
|
Y.push(q[G[0]], q[G[1]]);
|
|
}
|
|
if (B = [...B, {
|
|
placement: o,
|
|
overflows: Y
|
|
}], !Y.every((G) => G <= 0)) {
|
|
var Z, M;
|
|
const G = (((Z = a.flip) == null ? void 0 : Z.index) || 0) + 1, H = z[G];
|
|
if (H)
|
|
return {
|
|
data: {
|
|
index: G,
|
|
overflows: B
|
|
},
|
|
reset: {
|
|
placement: H
|
|
}
|
|
};
|
|
let U = (M = B.filter((W) => W.overflows[0] <= 0).sort((W, X) => W.overflows[1] - X.overflows[1])[0]) == null ? void 0 : M.placement;
|
|
if (!U)
|
|
switch (p) {
|
|
case "bestFit": {
|
|
var te;
|
|
const W = (te = B.filter((X) => {
|
|
if (F) {
|
|
const ee = Mu(X.placement);
|
|
return ee === $ || // Create a bias to the `y` side axis due to horizontal
|
|
// reading directions favoring greater width.
|
|
ee === "y";
|
|
}
|
|
return !0;
|
|
}).map((X) => [X.placement, X.overflows.filter((ee) => ee > 0).reduce((ee, v) => ee + v, 0)]).sort((X, ee) => X[1] - ee[1])[0]) == null ? void 0 : te[0];
|
|
W && (U = W);
|
|
break;
|
|
}
|
|
case "initialPlacement":
|
|
U = s;
|
|
break;
|
|
}
|
|
if (o !== U)
|
|
return {
|
|
reset: {
|
|
placement: U
|
|
}
|
|
};
|
|
}
|
|
return {};
|
|
}
|
|
};
|
|
};
|
|
async function Exe(e, t) {
|
|
const {
|
|
placement: r,
|
|
platform: n,
|
|
elements: o
|
|
} = e, a = await (n.isRTL == null ? void 0 : n.isRTL(o.floating)), i = bc(r), s = jb(r), u = Mu(r) === "y", c = ["left", "top"].includes(i) ? -1 : 1, d = a && u ? -1 : 1, l = fp(t, e);
|
|
let {
|
|
mainAxis: f,
|
|
crossAxis: p,
|
|
alignmentAxis: y
|
|
} = typeof l == "number" ? {
|
|
mainAxis: l,
|
|
crossAxis: 0,
|
|
alignmentAxis: null
|
|
} : {
|
|
mainAxis: l.mainAxis || 0,
|
|
crossAxis: l.crossAxis || 0,
|
|
alignmentAxis: l.alignmentAxis
|
|
};
|
|
return s && typeof y == "number" && (p = s === "end" ? y * -1 : y), u ? {
|
|
x: p * d,
|
|
y: f * c
|
|
} : {
|
|
x: f * c,
|
|
y: p * d
|
|
};
|
|
}
|
|
const Axe = function(e) {
|
|
return e === void 0 && (e = 0), {
|
|
name: "offset",
|
|
options: e,
|
|
async fn(t) {
|
|
var r, n;
|
|
const {
|
|
x: o,
|
|
y: a,
|
|
placement: i,
|
|
middlewareData: s
|
|
} = t, u = await Exe(t, e);
|
|
return i === ((r = s.offset) == null ? void 0 : r.placement) && (n = s.arrow) != null && n.alignmentOffset ? {} : {
|
|
x: o + u.x,
|
|
y: a + u.y,
|
|
data: {
|
|
...u,
|
|
placement: i
|
|
}
|
|
};
|
|
}
|
|
};
|
|
}, Pxe = function(e) {
|
|
return e === void 0 && (e = {}), {
|
|
name: "shift",
|
|
options: e,
|
|
async fn(t) {
|
|
const {
|
|
x: r,
|
|
y: n,
|
|
placement: o
|
|
} = t, {
|
|
mainAxis: a = !0,
|
|
crossAxis: i = !1,
|
|
limiter: s = {
|
|
fn: (h) => {
|
|
let {
|
|
x: w,
|
|
y: $
|
|
} = h;
|
|
return {
|
|
x: w,
|
|
y: $
|
|
};
|
|
}
|
|
},
|
|
...u
|
|
} = fp(e, t), c = {
|
|
x: r,
|
|
y: n
|
|
}, d = await px(t, u), l = Mu(bc(o)), f = oY(l);
|
|
let p = c[f], y = c[l];
|
|
if (a) {
|
|
const h = f === "y" ? "top" : "left", w = f === "y" ? "bottom" : "right", $ = p + d[h], _ = p - d[w];
|
|
p = _9($, p, _);
|
|
}
|
|
if (i) {
|
|
const h = l === "y" ? "top" : "left", w = l === "y" ? "bottom" : "right", $ = y + d[h], _ = y - d[w];
|
|
y = _9($, y, _);
|
|
}
|
|
const m = s.fn({
|
|
...t,
|
|
[f]: p,
|
|
[l]: y
|
|
});
|
|
return {
|
|
...m,
|
|
data: {
|
|
x: m.x - r,
|
|
y: m.y - n,
|
|
enabled: {
|
|
[f]: a,
|
|
[l]: i
|
|
}
|
|
}
|
|
};
|
|
}
|
|
};
|
|
}, Cxe = function(e) {
|
|
return e === void 0 && (e = {}), {
|
|
name: "size",
|
|
options: e,
|
|
async fn(t) {
|
|
var r, n;
|
|
const {
|
|
placement: o,
|
|
rects: a,
|
|
platform: i,
|
|
elements: s
|
|
} = t, {
|
|
apply: u = () => {
|
|
},
|
|
...c
|
|
} = fp(e, t), d = await px(t, c), l = bc(o), f = jb(o), p = Mu(o) === "y", {
|
|
width: y,
|
|
height: m
|
|
} = a.floating;
|
|
let h, w;
|
|
l === "top" || l === "bottom" ? (h = l, w = f === (await (i.isRTL == null ? void 0 : i.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (w = l, h = f === "end" ? "top" : "bottom");
|
|
const $ = m - d.top - d.bottom, _ = y - d.left - d.right, S = Ru(m - d[h], $), b = Ru(y - d[w], _), F = !t.middlewareData.shift;
|
|
let z = S, q = b;
|
|
if ((r = t.middlewareData.shift) != null && r.enabled.x && (q = _), (n = t.middlewareData.shift) != null && n.enabled.y && (z = $), F && !f) {
|
|
const B = bn(d.left, 0), Z = bn(d.right, 0), M = bn(d.top, 0), te = bn(d.bottom, 0);
|
|
p ? q = y - 2 * (B !== 0 || Z !== 0 ? B + Z : bn(d.left, d.right)) : z = m - 2 * (M !== 0 || te !== 0 ? M + te : bn(d.top, d.bottom));
|
|
}
|
|
await u({
|
|
...t,
|
|
availableWidth: q,
|
|
availableHeight: z
|
|
});
|
|
const Y = await i.getDimensions(s.floating);
|
|
return y !== Y.width || m !== Y.height ? {
|
|
reset: {
|
|
rects: !0
|
|
}
|
|
} : {};
|
|
}
|
|
};
|
|
};
|
|
function sY(e) {
|
|
const t = sa(e);
|
|
let r = parseFloat(t.width) || 0, n = parseFloat(t.height) || 0;
|
|
const o = ui(e), a = o ? e.offsetWidth : r, i = o ? e.offsetHeight : n, s = Fg(r) !== a || Fg(n) !== i;
|
|
return s && (r = a, n = i), {
|
|
width: r,
|
|
height: n,
|
|
$: s
|
|
};
|
|
}
|
|
function uP(e) {
|
|
return yn(e) ? e : e.contextElement;
|
|
}
|
|
function pd(e) {
|
|
const t = uP(e);
|
|
if (!ui(t))
|
|
return li(1);
|
|
const r = t.getBoundingClientRect(), {
|
|
width: n,
|
|
height: o,
|
|
$: a
|
|
} = sY(t);
|
|
let i = (a ? Fg(r.width) : r.width) / n, s = (a ? Fg(r.height) : r.height) / o;
|
|
return (!i || !Number.isFinite(i)) && (i = 1), (!s || !Number.isFinite(s)) && (s = 1), {
|
|
x: i,
|
|
y: s
|
|
};
|
|
}
|
|
const Nxe = /* @__PURE__ */ li(0);
|
|
function lY(e) {
|
|
const t = no(e);
|
|
return !cP() || !t.visualViewport ? Nxe : {
|
|
x: t.visualViewport.offsetLeft,
|
|
y: t.visualViewport.offsetTop
|
|
};
|
|
}
|
|
function Txe(e, t, r) {
|
|
return t === void 0 && (t = !1), !r || t && r !== no(e) ? !1 : t;
|
|
}
|
|
function Du(e, t, r, n) {
|
|
t === void 0 && (t = !1), r === void 0 && (r = !1);
|
|
const o = e.getBoundingClientRect(), a = uP(e);
|
|
let i = li(1);
|
|
t && (n ? yn(n) && (i = pd(n)) : i = pd(e));
|
|
const s = Txe(a, r, n) ? lY(a) : li(0);
|
|
let u = (o.left + s.x) / i.x, c = (o.top + s.y) / i.y, d = o.width / i.x, l = o.height / i.y;
|
|
if (a) {
|
|
const f = no(a), p = n && yn(n) ? no(n) : n;
|
|
let y = f, m = GS(y);
|
|
for (; m && n && p !== y; ) {
|
|
const h = pd(m), w = m.getBoundingClientRect(), $ = sa(m), _ = w.left + (m.clientLeft + parseFloat($.paddingLeft)) * h.x, S = w.top + (m.clientTop + parseFloat($.paddingTop)) * h.y;
|
|
u *= h.x, c *= h.y, d *= h.x, l *= h.y, u += _, c += S, y = no(m), m = GS(y);
|
|
}
|
|
}
|
|
return F1({
|
|
width: d,
|
|
height: l,
|
|
x: u,
|
|
y: c
|
|
});
|
|
}
|
|
function fP(e, t) {
|
|
const r = dx(e).scrollLeft;
|
|
return t ? t.left + r : Du(gi(e)).left + r;
|
|
}
|
|
function cY(e, t, r) {
|
|
r === void 0 && (r = !1);
|
|
const n = e.getBoundingClientRect(), o = n.left + t.scrollLeft - (r ? 0 : (
|
|
// RTL <body> scrollbar.
|
|
fP(e, n)
|
|
)), a = n.top + t.scrollTop;
|
|
return {
|
|
x: o,
|
|
y: a
|
|
};
|
|
}
|
|
function Ixe(e) {
|
|
let {
|
|
elements: t,
|
|
rect: r,
|
|
offsetParent: n,
|
|
strategy: o
|
|
} = e;
|
|
const a = o === "fixed", i = gi(n), s = t ? fx(t.floating) : !1;
|
|
if (n === i || s && a)
|
|
return r;
|
|
let u = {
|
|
scrollLeft: 0,
|
|
scrollTop: 0
|
|
}, c = li(1);
|
|
const d = li(0), l = ui(n);
|
|
if ((l || !l && !a) && ((up(n) !== "body" || Ib(i)) && (u = dx(n)), ui(n))) {
|
|
const p = Du(n);
|
|
c = pd(n), d.x = p.x + n.clientLeft, d.y = p.y + n.clientTop;
|
|
}
|
|
const f = i && !l && !a ? cY(i, u, !0) : li(0);
|
|
return {
|
|
width: r.width * c.x,
|
|
height: r.height * c.y,
|
|
x: r.x * c.x - u.scrollLeft * c.x + d.x + f.x,
|
|
y: r.y * c.y - u.scrollTop * c.y + d.y + f.y
|
|
};
|
|
}
|
|
function jxe(e) {
|
|
return Array.from(e.getClientRects());
|
|
}
|
|
function Rxe(e) {
|
|
const t = gi(e), r = dx(e), n = e.ownerDocument.body, o = bn(t.scrollWidth, t.clientWidth, n.scrollWidth, n.clientWidth), a = bn(t.scrollHeight, t.clientHeight, n.scrollHeight, n.clientHeight);
|
|
let i = -r.scrollLeft + fP(e);
|
|
const s = -r.scrollTop;
|
|
return sa(n).direction === "rtl" && (i += bn(t.clientWidth, n.clientWidth) - o), {
|
|
width: o,
|
|
height: a,
|
|
x: i,
|
|
y: s
|
|
};
|
|
}
|
|
function Mxe(e, t) {
|
|
const r = no(e), n = gi(e), o = r.visualViewport;
|
|
let a = n.clientWidth, i = n.clientHeight, s = 0, u = 0;
|
|
if (o) {
|
|
a = o.width, i = o.height;
|
|
const c = cP();
|
|
(!c || c && t === "fixed") && (s = o.offsetLeft, u = o.offsetTop);
|
|
}
|
|
return {
|
|
width: a,
|
|
height: i,
|
|
x: s,
|
|
y: u
|
|
};
|
|
}
|
|
function Dxe(e, t) {
|
|
const r = Du(e, !0, t === "fixed"), n = r.top + e.clientTop, o = r.left + e.clientLeft, a = ui(e) ? pd(e) : li(1), i = e.clientWidth * a.x, s = e.clientHeight * a.y, u = o * a.x, c = n * a.y;
|
|
return {
|
|
width: i,
|
|
height: s,
|
|
x: u,
|
|
y: c
|
|
};
|
|
}
|
|
function S9(e, t, r) {
|
|
let n;
|
|
if (t === "viewport")
|
|
n = Mxe(e, r);
|
|
else if (t === "document")
|
|
n = Rxe(gi(e));
|
|
else if (yn(t))
|
|
n = Dxe(t, r);
|
|
else {
|
|
const o = lY(e);
|
|
n = {
|
|
x: t.x - o.x,
|
|
y: t.y - o.y,
|
|
width: t.width,
|
|
height: t.height
|
|
};
|
|
}
|
|
return F1(n);
|
|
}
|
|
function uY(e, t) {
|
|
const r = gc(e);
|
|
return r === t || !yn(r) || zd(r) ? !1 : sa(r).position === "fixed" || uY(r, t);
|
|
}
|
|
function Fxe(e, t) {
|
|
const r = t.get(e);
|
|
if (r)
|
|
return r;
|
|
let n = Dg(e, [], !1).filter((s) => yn(s) && up(s) !== "body"), o = null;
|
|
const a = sa(e).position === "fixed";
|
|
let i = a ? gc(e) : e;
|
|
for (; yn(i) && !zd(i); ) {
|
|
const s = sa(i), u = lP(i);
|
|
!u && s.position === "fixed" && (o = null), (a ? !u && !o : !u && s.position === "static" && o && ["absolute", "fixed"].includes(o.position) || Ib(i) && !u && uY(e, i)) ? n = n.filter((c) => c !== i) : o = s, i = gc(i);
|
|
}
|
|
return t.set(e, n), n;
|
|
}
|
|
function Lxe(e) {
|
|
let {
|
|
element: t,
|
|
boundary: r,
|
|
rootBoundary: n,
|
|
strategy: o
|
|
} = e;
|
|
const a = [...r === "clippingAncestors" ? fx(t) ? [] : Fxe(t, this._c) : [].concat(r), n], i = a[0], s = a.reduce((u, c) => {
|
|
const d = S9(t, c, o);
|
|
return u.top = bn(d.top, u.top), u.right = Ru(d.right, u.right), u.bottom = Ru(d.bottom, u.bottom), u.left = bn(d.left, u.left), u;
|
|
}, S9(t, i, o));
|
|
return {
|
|
width: s.right - s.left,
|
|
height: s.bottom - s.top,
|
|
x: s.left,
|
|
y: s.top
|
|
};
|
|
}
|
|
function zxe(e) {
|
|
const {
|
|
width: t,
|
|
height: r
|
|
} = sY(e);
|
|
return {
|
|
width: t,
|
|
height: r
|
|
};
|
|
}
|
|
function Wxe(e, t, r) {
|
|
const n = ui(t), o = gi(t), a = r === "fixed", i = Du(e, !0, a, t);
|
|
let s = {
|
|
scrollLeft: 0,
|
|
scrollTop: 0
|
|
};
|
|
const u = li(0);
|
|
if (n || !n && !a)
|
|
if ((up(t) !== "body" || Ib(o)) && (s = dx(t)), n) {
|
|
const f = Du(t, !0, a, t);
|
|
u.x = f.x + t.clientLeft, u.y = f.y + t.clientTop;
|
|
} else o && (u.x = fP(o));
|
|
const c = o && !n && !a ? cY(o, s) : li(0), d = i.left + s.scrollLeft - u.x - c.x, l = i.top + s.scrollTop - u.y - c.y;
|
|
return {
|
|
x: d,
|
|
y: l,
|
|
width: i.width,
|
|
height: i.height
|
|
};
|
|
}
|
|
function t$(e) {
|
|
return sa(e).position === "static";
|
|
}
|
|
function E9(e, t) {
|
|
if (!ui(e) || sa(e).position === "fixed")
|
|
return null;
|
|
if (t)
|
|
return t(e);
|
|
let r = e.offsetParent;
|
|
return gi(e) === r && (r = r.ownerDocument.body), r;
|
|
}
|
|
function fY(e, t) {
|
|
const r = no(e);
|
|
if (fx(e))
|
|
return r;
|
|
if (!ui(e)) {
|
|
let o = gc(e);
|
|
for (; o && !zd(o); ) {
|
|
if (yn(o) && !t$(o))
|
|
return o;
|
|
o = gc(o);
|
|
}
|
|
return r;
|
|
}
|
|
let n = E9(e, t);
|
|
for (; n && mxe(n) && t$(n); )
|
|
n = E9(n, t);
|
|
return n && zd(n) && t$(n) && !lP(n) ? r : n || hxe(e) || r;
|
|
}
|
|
const Vxe = async function(e) {
|
|
const t = this.getOffsetParent || fY, r = this.getDimensions, n = await r(e.floating);
|
|
return {
|
|
reference: Wxe(e.reference, await t(e.floating), e.strategy),
|
|
floating: {
|
|
x: 0,
|
|
y: 0,
|
|
width: n.width,
|
|
height: n.height
|
|
}
|
|
};
|
|
};
|
|
function Hxe(e) {
|
|
return sa(e).direction === "rtl";
|
|
}
|
|
const Gxe = {
|
|
convertOffsetParentRelativeRectToViewportRelativeRect: Ixe,
|
|
getDocumentElement: gi,
|
|
getClippingRect: Lxe,
|
|
getOffsetParent: fY,
|
|
getElementRects: Vxe,
|
|
getClientRects: jxe,
|
|
getDimensions: zxe,
|
|
getScale: pd,
|
|
isElement: yn,
|
|
isRTL: Hxe
|
|
};
|
|
function dY(e, t) {
|
|
return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
|
|
}
|
|
function Uxe(e, t) {
|
|
let r = null, n;
|
|
const o = gi(e);
|
|
function a() {
|
|
var s;
|
|
clearTimeout(n), (s = r) == null || s.disconnect(), r = null;
|
|
}
|
|
function i(s, u) {
|
|
s === void 0 && (s = !1), u === void 0 && (u = 1), a();
|
|
const c = e.getBoundingClientRect(), {
|
|
left: d,
|
|
top: l,
|
|
width: f,
|
|
height: p
|
|
} = c;
|
|
if (s || t(), !f || !p)
|
|
return;
|
|
const y = Cy(l), m = Cy(o.clientWidth - (d + f)), h = Cy(o.clientHeight - (l + p)), w = Cy(d), $ = {
|
|
rootMargin: -y + "px " + -m + "px " + -h + "px " + -w + "px",
|
|
threshold: bn(0, Ru(1, u)) || 1
|
|
};
|
|
let _ = !0;
|
|
function S(b) {
|
|
const F = b[0].intersectionRatio;
|
|
if (F !== u) {
|
|
if (!_)
|
|
return i();
|
|
F ? i(!1, F) : n = setTimeout(() => {
|
|
i(!1, 1e-7);
|
|
}, 1e3);
|
|
}
|
|
F === 1 && !dY(c, e.getBoundingClientRect()) && i(), _ = !1;
|
|
}
|
|
try {
|
|
r = new IntersectionObserver(S, {
|
|
...$,
|
|
// Handle <iframe>s
|
|
root: o.ownerDocument
|
|
});
|
|
} catch {
|
|
r = new IntersectionObserver(S, $);
|
|
}
|
|
r.observe(e);
|
|
}
|
|
return i(!0), a;
|
|
}
|
|
function Bxe(e, t, r, n) {
|
|
n === void 0 && (n = {});
|
|
const {
|
|
ancestorScroll: o = !0,
|
|
ancestorResize: a = !0,
|
|
elementResize: i = typeof ResizeObserver == "function",
|
|
layoutShift: s = typeof IntersectionObserver == "function",
|
|
animationFrame: u = !1
|
|
} = n, c = uP(e), d = o || a ? [...c ? Dg(c) : [], ...Dg(t)] : [];
|
|
d.forEach((w) => {
|
|
o && w.addEventListener("scroll", r, {
|
|
passive: !0
|
|
}), a && w.addEventListener("resize", r);
|
|
});
|
|
const l = c && s ? Uxe(c, r) : null;
|
|
let f = -1, p = null;
|
|
i && (p = new ResizeObserver((w) => {
|
|
let [$] = w;
|
|
$ && $.target === c && p && (p.unobserve(t), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
|
|
var _;
|
|
(_ = p) == null || _.observe(t);
|
|
})), r();
|
|
}), c && !u && p.observe(c), p.observe(t));
|
|
let y, m = u ? Du(e) : null;
|
|
u && h();
|
|
function h() {
|
|
const w = Du(e);
|
|
m && !dY(m, w) && r(), m = w, y = requestAnimationFrame(h);
|
|
}
|
|
return r(), () => {
|
|
var w;
|
|
d.forEach(($) => {
|
|
o && $.removeEventListener("scroll", r), a && $.removeEventListener("resize", r);
|
|
}), l == null || l(), (w = p) == null || w.disconnect(), p = null, u && cancelAnimationFrame(y);
|
|
};
|
|
}
|
|
const r$ = px, Yxe = Axe, qxe = Pxe, Kxe = Sxe, Xxe = Cxe, Jxe = (e, t, r) => {
|
|
const n = /* @__PURE__ */ new Map(), o = {
|
|
platform: Gxe,
|
|
...r
|
|
}, a = {
|
|
...o.platform,
|
|
_c: n
|
|
};
|
|
return Oxe(e, t, {
|
|
...o,
|
|
platform: a
|
|
});
|
|
};
|
|
var Fv = typeof document < "u" ? pi : ue;
|
|
function L1(e, t) {
|
|
if (e === t)
|
|
return !0;
|
|
if (typeof e != typeof t)
|
|
return !1;
|
|
if (typeof e == "function" && e.toString() === t.toString())
|
|
return !0;
|
|
let r, n, o;
|
|
if (e && t && typeof e == "object") {
|
|
if (Array.isArray(e)) {
|
|
if (r = e.length, r !== t.length) return !1;
|
|
for (n = r; n-- !== 0; )
|
|
if (!L1(e[n], t[n]))
|
|
return !1;
|
|
return !0;
|
|
}
|
|
if (o = Object.keys(e), r = o.length, r !== Object.keys(t).length)
|
|
return !1;
|
|
for (n = r; n-- !== 0; )
|
|
if (!{}.hasOwnProperty.call(t, o[n]))
|
|
return !1;
|
|
for (n = r; n-- !== 0; ) {
|
|
const a = o[n];
|
|
if (!(a === "_owner" && e.$$typeof) && !L1(e[a], t[a]))
|
|
return !1;
|
|
}
|
|
return !0;
|
|
}
|
|
return e !== e && t !== t;
|
|
}
|
|
function pY(e) {
|
|
return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
|
|
}
|
|
function A9(e, t) {
|
|
const r = pY(e);
|
|
return Math.round(t * r) / r;
|
|
}
|
|
function n$(e) {
|
|
const t = V.useRef(e);
|
|
return Fv(() => {
|
|
t.current = e;
|
|
}), t;
|
|
}
|
|
function Qxe(e) {
|
|
e === void 0 && (e = {});
|
|
const {
|
|
placement: t = "bottom",
|
|
strategy: r = "absolute",
|
|
middleware: n = [],
|
|
platform: o,
|
|
elements: {
|
|
reference: a,
|
|
floating: i
|
|
} = {},
|
|
transform: s = !0,
|
|
whileElementsMounted: u,
|
|
open: c
|
|
} = e, [d, l] = V.useState({
|
|
x: 0,
|
|
y: 0,
|
|
strategy: r,
|
|
placement: t,
|
|
middlewareData: {},
|
|
isPositioned: !1
|
|
}), [f, p] = V.useState(n);
|
|
L1(f, n) || p(n);
|
|
const [y, m] = V.useState(null), [h, w] = V.useState(null), $ = V.useCallback((X) => {
|
|
X !== F.current && (F.current = X, m(X));
|
|
}, []), _ = V.useCallback((X) => {
|
|
X !== z.current && (z.current = X, w(X));
|
|
}, []), S = a || y, b = i || h, F = V.useRef(null), z = V.useRef(null), q = V.useRef(d), Y = u != null, B = n$(u), Z = n$(o), M = n$(c), te = V.useCallback(() => {
|
|
if (!F.current || !z.current)
|
|
return;
|
|
const X = {
|
|
placement: t,
|
|
strategy: r,
|
|
middleware: f
|
|
};
|
|
Z.current && (X.platform = Z.current), Jxe(F.current, z.current, X).then((ee) => {
|
|
const v = {
|
|
...ee,
|
|
// The floating element's position may be recomputed while it's closed
|
|
// but still mounted (such as when transitioning out). To ensure
|
|
// `isPositioned` will be `false` initially on the next open, avoid
|
|
// setting it to `true` when `open === false` (must be specified).
|
|
isPositioned: M.current !== !1
|
|
};
|
|
G.current && !L1(q.current, v) && (q.current = v, jd.flushSync(() => {
|
|
l(v);
|
|
}));
|
|
});
|
|
}, [f, t, r, Z, M]);
|
|
Fv(() => {
|
|
c === !1 && q.current.isPositioned && (q.current.isPositioned = !1, l((X) => ({
|
|
...X,
|
|
isPositioned: !1
|
|
})));
|
|
}, [c]);
|
|
const G = V.useRef(!1);
|
|
Fv(() => (G.current = !0, () => {
|
|
G.current = !1;
|
|
}), []), Fv(() => {
|
|
if (S && (F.current = S), b && (z.current = b), S && b) {
|
|
if (B.current)
|
|
return B.current(S, b, te);
|
|
te();
|
|
}
|
|
}, [S, b, te, B, Y]);
|
|
const H = V.useMemo(() => ({
|
|
reference: F,
|
|
floating: z,
|
|
setReference: $,
|
|
setFloating: _
|
|
}), [$, _]), U = V.useMemo(() => ({
|
|
reference: S,
|
|
floating: b
|
|
}), [S, b]), W = V.useMemo(() => {
|
|
const X = {
|
|
position: r,
|
|
left: 0,
|
|
top: 0
|
|
};
|
|
if (!U.floating)
|
|
return X;
|
|
const ee = A9(U.floating, d.x), v = A9(U.floating, d.y);
|
|
return s ? {
|
|
...X,
|
|
transform: "translate(" + ee + "px, " + v + "px)",
|
|
...pY(U.floating) >= 1.5 && {
|
|
willChange: "transform"
|
|
}
|
|
} : {
|
|
position: r,
|
|
left: ee,
|
|
top: v
|
|
};
|
|
}, [r, s, U.floating, d.x, d.y]);
|
|
return V.useMemo(() => ({
|
|
...d,
|
|
update: te,
|
|
refs: H,
|
|
elements: U,
|
|
floatingStyles: W
|
|
}), [d, te, H, U, W]);
|
|
}
|
|
const mY = (e, t) => ({
|
|
...Yxe(e),
|
|
options: [e, t]
|
|
}), Zxe = (e, t) => ({
|
|
...qxe(e),
|
|
options: [e, t]
|
|
}), ewe = (e, t) => ({
|
|
...Kxe(e),
|
|
options: [e, t]
|
|
}), twe = (e, t) => ({
|
|
...Xxe(e),
|
|
options: [e, t]
|
|
}), hY = {
|
|
...V
|
|
}, rwe = hY.useInsertionEffect, nwe = rwe || ((e) => e());
|
|
function gY(e) {
|
|
const t = V.useRef(() => {
|
|
if (process.env.NODE_ENV !== "production")
|
|
throw new Error("Cannot call an event handler while rendering.");
|
|
});
|
|
return nwe(() => {
|
|
t.current = e;
|
|
}), V.useCallback(function() {
|
|
for (var r = arguments.length, n = new Array(r), o = 0; o < r; o++)
|
|
n[o] = arguments[o];
|
|
return t.current == null ? void 0 : t.current(...n);
|
|
}, []);
|
|
}
|
|
var BS = typeof document < "u" ? pi : ue;
|
|
let P9 = !1, owe = 0;
|
|
const C9 = () => (
|
|
// Ensure the id is unique with multiple independent versions of Floating UI
|
|
// on <React 18
|
|
"floating-ui-" + Math.random().toString(36).slice(2, 6) + owe++
|
|
);
|
|
function awe() {
|
|
const [e, t] = V.useState(() => P9 ? C9() : void 0);
|
|
return BS(() => {
|
|
e == null && t(C9());
|
|
}, []), V.useEffect(() => {
|
|
P9 = !0;
|
|
}, []), e;
|
|
}
|
|
const iwe = hY.useId, swe = iwe || awe;
|
|
let Lg;
|
|
process.env.NODE_ENV !== "production" && (Lg = /* @__PURE__ */ new Set());
|
|
function lwe() {
|
|
for (var e, t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = "Floating UI: " + r.join(" ");
|
|
if (!((e = Lg) != null && e.has(o))) {
|
|
var a;
|
|
(a = Lg) == null || a.add(o), console.warn(o);
|
|
}
|
|
}
|
|
function cwe() {
|
|
for (var e, t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = "Floating UI: " + r.join(" ");
|
|
if (!((e = Lg) != null && e.has(o))) {
|
|
var a;
|
|
(a = Lg) == null || a.add(o), console.error(o);
|
|
}
|
|
}
|
|
function uwe() {
|
|
const e = /* @__PURE__ */ new Map();
|
|
return {
|
|
emit(t, r) {
|
|
var n;
|
|
(n = e.get(t)) == null || n.forEach((o) => o(r));
|
|
},
|
|
on(t, r) {
|
|
e.set(t, [...e.get(t) || [], r]);
|
|
},
|
|
off(t, r) {
|
|
var n;
|
|
e.set(t, ((n = e.get(t)) == null ? void 0 : n.filter((o) => o !== r)) || []);
|
|
}
|
|
};
|
|
}
|
|
const fwe = /* @__PURE__ */ V.createContext(null), dwe = /* @__PURE__ */ V.createContext(null), pwe = () => {
|
|
var e;
|
|
return ((e = V.useContext(fwe)) == null ? void 0 : e.id) || null;
|
|
}, mwe = () => V.useContext(dwe), hwe = "data-floating-ui-focusable";
|
|
function gwe(e) {
|
|
const {
|
|
open: t = !1,
|
|
onOpenChange: r,
|
|
elements: n
|
|
} = e, o = swe(), a = V.useRef({}), [i] = V.useState(() => uwe()), s = pwe() != null;
|
|
if (process.env.NODE_ENV !== "production") {
|
|
const p = n.reference;
|
|
p && !yn(p) && cwe("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead.");
|
|
}
|
|
const [u, c] = V.useState(n.reference), d = gY((p, y, m) => {
|
|
a.current.openEvent = p ? y : void 0, i.emit("openchange", {
|
|
open: p,
|
|
event: y,
|
|
reason: m,
|
|
nested: s
|
|
}), r == null || r(p, y, m);
|
|
}), l = V.useMemo(() => ({
|
|
setPositionReference: c
|
|
}), []), f = V.useMemo(() => ({
|
|
reference: u || n.reference || null,
|
|
floating: n.floating || null,
|
|
domReference: n.reference
|
|
}), [u, n.reference, n.floating]);
|
|
return V.useMemo(() => ({
|
|
dataRef: a,
|
|
open: t,
|
|
onOpenChange: d,
|
|
elements: f,
|
|
events: i,
|
|
floatingId: o,
|
|
refs: l
|
|
}), [t, d, f, i, o, l]);
|
|
}
|
|
function bwe(e) {
|
|
e === void 0 && (e = {});
|
|
const {
|
|
nodeId: t
|
|
} = e, r = gwe({
|
|
...e,
|
|
elements: {
|
|
reference: null,
|
|
floating: null,
|
|
...e.elements
|
|
}
|
|
}), n = e.rootContext || r, o = n.elements, [a, i] = V.useState(null), [s, u] = V.useState(null), c = (o == null ? void 0 : o.domReference) || a, d = V.useRef(null), l = mwe();
|
|
BS(() => {
|
|
c && (d.current = c);
|
|
}, [c]);
|
|
const f = Qxe({
|
|
...e,
|
|
elements: {
|
|
...o,
|
|
...s && {
|
|
reference: s
|
|
}
|
|
}
|
|
}), p = V.useCallback(($) => {
|
|
const _ = yn($) ? {
|
|
getBoundingClientRect: () => $.getBoundingClientRect(),
|
|
contextElement: $
|
|
} : $;
|
|
u(_), f.refs.setReference(_);
|
|
}, [f.refs]), y = V.useCallback(($) => {
|
|
(yn($) || $ === null) && (d.current = $, i($)), (yn(f.refs.reference.current) || f.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
|
|
// `null` to support `positionReference` + an unstable `reference`
|
|
// callback ref.
|
|
$ !== null && !yn($)) && f.refs.setReference($);
|
|
}, [f.refs]), m = V.useMemo(() => ({
|
|
...f.refs,
|
|
setReference: y,
|
|
setPositionReference: p,
|
|
domReference: d
|
|
}), [f.refs, y, p]), h = V.useMemo(() => ({
|
|
...f.elements,
|
|
domReference: c
|
|
}), [f.elements, c]), w = V.useMemo(() => ({
|
|
...f,
|
|
...n,
|
|
refs: m,
|
|
elements: h,
|
|
nodeId: t
|
|
}), [f, m, h, t, n]);
|
|
return BS(() => {
|
|
n.dataRef.current.floatingContext = w;
|
|
const $ = l == null ? void 0 : l.nodesRef.current.find((_) => _.id === t);
|
|
$ && ($.context = w);
|
|
}), V.useMemo(() => ({
|
|
...f,
|
|
context: w,
|
|
refs: m,
|
|
elements: h
|
|
}), [f, m, h, w]);
|
|
}
|
|
const N9 = "active", T9 = "selected";
|
|
function o$(e, t, r) {
|
|
const n = /* @__PURE__ */ new Map(), o = r === "item";
|
|
let a = e;
|
|
if (o && e) {
|
|
const {
|
|
[N9]: i,
|
|
[T9]: s,
|
|
...u
|
|
} = e;
|
|
a = u;
|
|
}
|
|
return {
|
|
...r === "floating" && {
|
|
tabIndex: -1,
|
|
[hwe]: ""
|
|
},
|
|
...a,
|
|
...t.map((i) => {
|
|
const s = i ? i[r] : null;
|
|
return typeof s == "function" ? e ? s(e) : null : s;
|
|
}).concat(e).reduce((i, s) => (s && Object.entries(s).forEach((u) => {
|
|
let [c, d] = u;
|
|
if (!(o && [N9, T9].includes(c)))
|
|
if (c.indexOf("on") === 0) {
|
|
if (n.has(c) || n.set(c, []), typeof d == "function") {
|
|
var l;
|
|
(l = n.get(c)) == null || l.push(d), i[c] = function() {
|
|
for (var f, p = arguments.length, y = new Array(p), m = 0; m < p; m++)
|
|
y[m] = arguments[m];
|
|
return (f = n.get(c)) == null ? void 0 : f.map((h) => h(...y)).find((h) => h !== void 0);
|
|
};
|
|
}
|
|
} else
|
|
i[c] = d;
|
|
}), i), {})
|
|
};
|
|
}
|
|
function ywe(e) {
|
|
e === void 0 && (e = []);
|
|
const t = e.map((s) => s == null ? void 0 : s.reference), r = e.map((s) => s == null ? void 0 : s.floating), n = e.map((s) => s == null ? void 0 : s.item), o = V.useCallback(
|
|
(s) => o$(s, e, "reference"),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
t
|
|
), a = V.useCallback(
|
|
(s) => o$(s, e, "floating"),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
r
|
|
), i = V.useCallback(
|
|
(s) => o$(s, e, "item"),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
n
|
|
);
|
|
return V.useMemo(() => ({
|
|
getReferenceProps: o,
|
|
getFloatingProps: a,
|
|
getItemProps: i
|
|
}), [o, a, i]);
|
|
}
|
|
function I9(e, t) {
|
|
return {
|
|
...e,
|
|
rects: {
|
|
...e.rects,
|
|
floating: {
|
|
...e.rects.floating,
|
|
height: t
|
|
}
|
|
}
|
|
};
|
|
}
|
|
const vwe = (e) => ({
|
|
name: "inner",
|
|
options: e,
|
|
async fn(t) {
|
|
const {
|
|
listRef: r,
|
|
overflowRef: n,
|
|
onFallbackChange: o,
|
|
offset: a = 0,
|
|
index: i = 0,
|
|
minItemsVisible: s = 4,
|
|
referenceOverflowThreshold: u = 0,
|
|
scrollRef: c,
|
|
...d
|
|
} = fp(e, t), {
|
|
rects: l,
|
|
elements: {
|
|
floating: f
|
|
}
|
|
} = t, p = r.current[i], y = (c == null ? void 0 : c.current) || f, m = f.clientTop || y.clientTop, h = f.clientTop !== 0, w = y.clientTop !== 0, $ = f === y;
|
|
if (process.env.NODE_ENV !== "production" && (t.placement.startsWith("bottom") || lwe('`placement` side must be "bottom" when using the `inner`', "middleware.")), !p)
|
|
return {};
|
|
const _ = {
|
|
...t,
|
|
...await mY(-p.offsetTop - f.clientTop - l.reference.height / 2 - p.offsetHeight / 2 - a).fn(t)
|
|
}, S = await r$(I9(_, y.scrollHeight + m + f.clientTop), d), b = await r$(_, {
|
|
...d,
|
|
elementContext: "reference"
|
|
}), F = bn(0, S.top), z = _.y + F, q = (y.scrollHeight > y.clientHeight ? (Y) => Y : Fg)(bn(0, y.scrollHeight + (h && $ || w ? m * 2 : 0) - F - bn(0, S.bottom)));
|
|
if (y.style.maxHeight = q + "px", y.scrollTop = F, o) {
|
|
const Y = y.offsetHeight < p.offsetHeight * Ru(s, r.current.length) - 1 || b.top >= -u || b.bottom >= -u;
|
|
jd.flushSync(() => o(Y));
|
|
}
|
|
return n && (n.current = await r$(I9({
|
|
..._,
|
|
y: z
|
|
}, y.offsetHeight + m + f.clientTop), d)), {
|
|
y: z
|
|
};
|
|
}
|
|
});
|
|
function xwe(e, t) {
|
|
const {
|
|
open: r,
|
|
elements: n
|
|
} = e, {
|
|
enabled: o = !0,
|
|
overflowRef: a,
|
|
scrollRef: i,
|
|
onChange: s
|
|
} = t, u = gY(s), c = V.useRef(!1), d = V.useRef(null), l = V.useRef(null);
|
|
V.useEffect(() => {
|
|
if (!o) return;
|
|
function p(m) {
|
|
if (m.ctrlKey || !y || a.current == null)
|
|
return;
|
|
const h = m.deltaY, w = a.current.top >= -0.5, $ = a.current.bottom >= -0.5, _ = y.scrollHeight - y.clientHeight, S = h < 0 ? -1 : 1, b = h < 0 ? "max" : "min";
|
|
y.scrollHeight <= y.clientHeight || (!w && h > 0 || !$ && h < 0 ? (m.preventDefault(), jd.flushSync(() => {
|
|
u((F) => F + Math[b](h, _ * S));
|
|
})) : /firefox/i.test(gxe()) && (y.scrollTop += h));
|
|
}
|
|
const y = (i == null ? void 0 : i.current) || n.floating;
|
|
if (r && y)
|
|
return y.addEventListener("wheel", p), requestAnimationFrame(() => {
|
|
d.current = y.scrollTop, a.current != null && (l.current = {
|
|
...a.current
|
|
});
|
|
}), () => {
|
|
d.current = null, l.current = null, y.removeEventListener("wheel", p);
|
|
};
|
|
}, [o, r, n.floating, a, i, u]);
|
|
const f = V.useMemo(() => ({
|
|
onKeyDown() {
|
|
c.current = !0;
|
|
},
|
|
onWheel() {
|
|
c.current = !1;
|
|
},
|
|
onPointerMove() {
|
|
c.current = !1;
|
|
},
|
|
onScroll() {
|
|
const p = (i == null ? void 0 : i.current) || n.floating;
|
|
if (!(!a.current || !p || !c.current)) {
|
|
if (d.current !== null) {
|
|
const y = p.scrollTop - d.current;
|
|
(a.current.bottom < -0.5 && y < -1 || a.current.top < -0.5 && y > 1) && jd.flushSync(() => u((m) => m + y));
|
|
}
|
|
requestAnimationFrame(() => {
|
|
d.current = p.scrollTop;
|
|
});
|
|
}
|
|
}
|
|
}), [n.floating, u, a, i]);
|
|
return V.useMemo(() => o ? {
|
|
floating: f
|
|
} : {}, [o, f]);
|
|
}
|
|
let dp = zt({ styles: void 0, setReference: () => {
|
|
}, setFloating: () => {
|
|
}, getReferenceProps: () => ({}), getFloatingProps: () => ({}), slot: {} });
|
|
dp.displayName = "FloatingContext";
|
|
let dP = zt(null);
|
|
dP.displayName = "PlacementContext";
|
|
function wwe(e) {
|
|
return Ie(() => e ? typeof e == "string" ? { to: e } : e : null, [e]);
|
|
}
|
|
function $we() {
|
|
return nt(dp).setReference;
|
|
}
|
|
function kwe() {
|
|
return nt(dp).getReferenceProps;
|
|
}
|
|
function _we() {
|
|
let { getFloatingProps: e, slot: t } = nt(dp);
|
|
return Ne((...r) => Object.assign({}, e(...r), { "data-anchor": t.anchor }), [e, t]);
|
|
}
|
|
function Owe(e = null) {
|
|
e === !1 && (e = null), typeof e == "string" && (e = { to: e });
|
|
let t = nt(dP), r = Ie(() => e, [JSON.stringify(e, (o, a) => {
|
|
var i;
|
|
return (i = a == null ? void 0 : a.outerHTML) != null ? i : a;
|
|
})]);
|
|
Kr(() => {
|
|
t == null || t(r ?? null);
|
|
}, [t, r]);
|
|
let n = nt(dp);
|
|
return Ie(() => [n.setFloating, e ? n.styles : {}], [n.setFloating, e, n.styles]);
|
|
}
|
|
let j9 = 4;
|
|
function Swe({ children: e, enabled: t = !0 }) {
|
|
let [r, n] = de(null), [o, a] = de(0), i = ne(null), [s, u] = de(null);
|
|
Ewe(s);
|
|
let c = t && r !== null && s !== null, { to: d = "bottom", gap: l = 0, offset: f = 0, padding: p = 0, inner: y } = Awe(r, s), [m, h = "center"] = d.split(" ");
|
|
Kr(() => {
|
|
c && a(0);
|
|
}, [c]);
|
|
let { refs: w, floatingStyles: $, context: _ } = bwe({ open: c, placement: m === "selection" ? h === "center" ? "bottom" : `bottom-${h}` : h === "center" ? `${m}` : `${m}-${h}`, strategy: "absolute", transform: !1, middleware: [mY({ mainAxis: m === "selection" ? 0 : l, crossAxis: f }), Zxe({ padding: p }), m !== "selection" && ewe({ padding: p }), m === "selection" && y ? vwe({ ...y, padding: p, overflowRef: i, offset: o, minItemsVisible: j9, referenceOverflowThreshold: p, onFallbackChange(Z) {
|
|
var M, te;
|
|
if (!Z) return;
|
|
let G = _.elements.floating;
|
|
if (!G) return;
|
|
let H = parseFloat(getComputedStyle(G).scrollPaddingBottom) || 0, U = Math.min(j9, G.childElementCount), W = 0, X = 0;
|
|
for (let ee of (te = (M = _.elements.floating) == null ? void 0 : M.childNodes) != null ? te : []) if (ee instanceof HTMLElement) {
|
|
let v = ee.offsetTop, g = v + ee.clientHeight + H, O = G.scrollTop, P = O + G.clientHeight;
|
|
if (v >= O && g <= P) U--;
|
|
else {
|
|
X = Math.max(0, Math.min(g, P) - Math.max(v, O)), W = ee.clientHeight;
|
|
break;
|
|
}
|
|
}
|
|
U >= 1 && a((ee) => {
|
|
let v = W * U - X + H;
|
|
return ee >= v ? ee : v;
|
|
});
|
|
} }) : null, twe({ padding: p, apply({ availableWidth: Z, availableHeight: M, elements: te }) {
|
|
Object.assign(te.floating.style, { overflow: "auto", maxWidth: `${Z}px`, maxHeight: `min(var(--anchor-max-height, 100vh), ${M}px)` });
|
|
} })].filter(Boolean), whileElementsMounted: Bxe }), [S = m, b = h] = _.placement.split("-");
|
|
m === "selection" && (S = "selection");
|
|
let F = Ie(() => ({ anchor: [S, b].filter(Boolean).join(" ") }), [S, b]), z = xwe(_, { overflowRef: i, onChange: a }), { getReferenceProps: q, getFloatingProps: Y } = ywe([z]), B = Gt((Z) => {
|
|
u(Z), w.setFloating(Z);
|
|
});
|
|
return V.createElement(dP.Provider, { value: n }, V.createElement(dp.Provider, { value: { setFloating: B, setReference: w.setReference, styles: $, getReferenceProps: q, getFloatingProps: Y, slot: F } }, e));
|
|
}
|
|
function Ewe(e) {
|
|
Kr(() => {
|
|
if (!e) return;
|
|
let t = new MutationObserver(() => {
|
|
let r = window.getComputedStyle(e).maxHeight, n = parseFloat(r);
|
|
if (isNaN(n)) return;
|
|
let o = parseInt(r);
|
|
isNaN(o) || n !== o && (e.style.maxHeight = `${Math.ceil(n)}px`);
|
|
});
|
|
return t.observe(e, { attributes: !0, attributeFilter: ["style"] }), () => {
|
|
t.disconnect();
|
|
};
|
|
}, [e]);
|
|
}
|
|
function Awe(e, t) {
|
|
var r, n, o;
|
|
let a = a$((r = e == null ? void 0 : e.gap) != null ? r : "var(--anchor-gap, 0)", t), i = a$((n = e == null ? void 0 : e.offset) != null ? n : "var(--anchor-offset, 0)", t), s = a$((o = e == null ? void 0 : e.padding) != null ? o : "var(--anchor-padding, 0)", t);
|
|
return { ...e, gap: a, offset: i, padding: s };
|
|
}
|
|
function a$(e, t, r = void 0) {
|
|
let n = cp(), o = Gt((u, c) => {
|
|
if (u == null) return [r, null];
|
|
if (typeof u == "number") return [u, null];
|
|
if (typeof u == "string") {
|
|
if (!c) return [r, null];
|
|
let d = R9(u, c);
|
|
return [d, (l) => {
|
|
let f = bY(u);
|
|
{
|
|
let p = f.map((y) => window.getComputedStyle(c).getPropertyValue(y));
|
|
n.requestAnimationFrame(function y() {
|
|
n.nextFrame(y);
|
|
let m = !1;
|
|
for (let [w, $] of f.entries()) {
|
|
let _ = window.getComputedStyle(c).getPropertyValue($);
|
|
if (p[w] !== _) {
|
|
p[w] = _, m = !0;
|
|
break;
|
|
}
|
|
}
|
|
if (!m) return;
|
|
let h = R9(u, c);
|
|
d !== h && (l(h), d = h);
|
|
});
|
|
}
|
|
return n.dispose;
|
|
}];
|
|
}
|
|
return [r, null];
|
|
}), a = Ie(() => o(e, t)[0], [e, t]), [i = a, s] = de();
|
|
return Kr(() => {
|
|
let [u, c] = o(e, t);
|
|
if (s(u), !!c) return c(s);
|
|
}, [e, t]), i;
|
|
}
|
|
function bY(e) {
|
|
let t = /var\((.*)\)/.exec(e);
|
|
if (t) {
|
|
let r = t[1].indexOf(",");
|
|
if (r === -1) return [t[1]];
|
|
let n = t[1].slice(0, r).trim(), o = t[1].slice(r + 1).trim();
|
|
return o ? [n, ...bY(o)] : [n];
|
|
}
|
|
return [];
|
|
}
|
|
function R9(e, t) {
|
|
let r = document.createElement("div");
|
|
t.appendChild(r), r.style.setProperty("margin-top", "0px", "important"), r.style.setProperty("margin-top", e, "important");
|
|
let n = parseFloat(window.getComputedStyle(r).marginTop) || 0;
|
|
return t.removeChild(r), n;
|
|
}
|
|
function Pwe(e, t) {
|
|
let [r, n] = de(t);
|
|
return !e && r !== t && n(t), e ? r : t;
|
|
}
|
|
let pP = zt(null);
|
|
pP.displayName = "OpenClosedContext";
|
|
var ta = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(ta || {});
|
|
function mP() {
|
|
return nt(pP);
|
|
}
|
|
function yY({ value: e, children: t }) {
|
|
return ae.createElement(pP.Provider, { value: e }, t);
|
|
}
|
|
function Cwe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var i$ = { exports: {} }, s$ = {};
|
|
/**
|
|
* @license React
|
|
* use-sync-external-store-with-selector.production.js
|
|
*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var M9;
|
|
function Nwe() {
|
|
if (M9) return s$;
|
|
M9 = 1;
|
|
var e = ae;
|
|
function t(u, c) {
|
|
return u === c && (u !== 0 || 1 / u === 1 / c) || u !== u && c !== c;
|
|
}
|
|
var r = typeof Object.is == "function" ? Object.is : t, n = e.useSyncExternalStore, o = e.useRef, a = e.useEffect, i = e.useMemo, s = e.useDebugValue;
|
|
return s$.useSyncExternalStoreWithSelector = function(u, c, d, l, f) {
|
|
var p = o(null);
|
|
if (p.current === null) {
|
|
var y = { hasValue: !1, value: null };
|
|
p.current = y;
|
|
} else y = p.current;
|
|
p = i(
|
|
function() {
|
|
function h(b) {
|
|
if (!w) {
|
|
if (w = !0, $ = b, b = l(b), f !== void 0 && y.hasValue) {
|
|
var F = y.value;
|
|
if (f(F, b))
|
|
return _ = F;
|
|
}
|
|
return _ = b;
|
|
}
|
|
if (F = _, r($, b)) return F;
|
|
var z = l(b);
|
|
return f !== void 0 && f(F, z) ? ($ = b, F) : ($ = b, _ = z);
|
|
}
|
|
var w = !1, $, _, S = d === void 0 ? null : d;
|
|
return [
|
|
function() {
|
|
return h(c());
|
|
},
|
|
S === null ? void 0 : function() {
|
|
return h(S());
|
|
}
|
|
];
|
|
},
|
|
[c, d, l, f]
|
|
);
|
|
var m = n(u, p[0], p[1]);
|
|
return a(
|
|
function() {
|
|
y.hasValue = !0, y.value = m;
|
|
},
|
|
[m]
|
|
), s(m), m;
|
|
}, s$;
|
|
}
|
|
var D9 = {};
|
|
/**
|
|
* @license React
|
|
* use-sync-external-store-with-selector.development.js
|
|
*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var F9;
|
|
function Twe() {
|
|
return F9 || (F9 = 1, process.env.NODE_ENV !== "production" && function() {
|
|
function e(u, c) {
|
|
return u === c && (u !== 0 || 1 / u === 1 / c) || u !== u && c !== c;
|
|
}
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
var t = ae, r = typeof Object.is == "function" ? Object.is : e, n = t.useSyncExternalStore, o = t.useRef, a = t.useEffect, i = t.useMemo, s = t.useDebugValue;
|
|
D9.useSyncExternalStoreWithSelector = function(u, c, d, l, f) {
|
|
var p = o(null);
|
|
if (p.current === null) {
|
|
var y = { hasValue: !1, value: null };
|
|
p.current = y;
|
|
} else y = p.current;
|
|
p = i(
|
|
function() {
|
|
function h(b) {
|
|
if (!w) {
|
|
if (w = !0, $ = b, b = l(b), f !== void 0 && y.hasValue) {
|
|
var F = y.value;
|
|
if (f(F, b))
|
|
return _ = F;
|
|
}
|
|
return _ = b;
|
|
}
|
|
if (F = _, r($, b))
|
|
return F;
|
|
var z = l(b);
|
|
return f !== void 0 && f(F, z) ? ($ = b, F) : ($ = b, _ = z);
|
|
}
|
|
var w = !1, $, _, S = d === void 0 ? null : d;
|
|
return [
|
|
function() {
|
|
return h(c());
|
|
},
|
|
S === null ? void 0 : function() {
|
|
return h(S());
|
|
}
|
|
];
|
|
},
|
|
[c, d, l, f]
|
|
);
|
|
var m = n(u, p[0], p[1]);
|
|
return a(
|
|
function() {
|
|
y.hasValue = !0, y.value = m;
|
|
},
|
|
[m]
|
|
), s(m), m;
|
|
}, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
|
}()), D9;
|
|
}
|
|
var L9;
|
|
function Iwe() {
|
|
return L9 || (L9 = 1, process.env.NODE_ENV === "production" ? i$.exports = Nwe() : i$.exports = Twe()), i$.exports;
|
|
}
|
|
var jwe = Iwe(), vY = (e, t, r) => {
|
|
if (!t.has(e)) throw TypeError("Cannot " + r);
|
|
}, Ko = (e, t, r) => (vY(e, t, "read from private field"), r ? r.call(e) : t.get(e)), l$ = (e, t, r) => {
|
|
if (t.has(e)) throw TypeError("Cannot add the same private member more than once");
|
|
t instanceof WeakSet ? t.add(e) : t.set(e, r);
|
|
}, z9 = (e, t, r, n) => (vY(e, t, "write to private field"), t.set(e, r), r), Ti, ch, uh;
|
|
let Rwe = class {
|
|
constructor(t) {
|
|
l$(this, Ti, {}), l$(this, ch, new YB(() => /* @__PURE__ */ new Set())), l$(this, uh, /* @__PURE__ */ new Set()), z9(this, Ti, t);
|
|
}
|
|
get state() {
|
|
return Ko(this, Ti);
|
|
}
|
|
subscribe(t, r) {
|
|
let n = { selector: t, callback: r, current: t(Ko(this, Ti)) };
|
|
return Ko(this, uh).add(n), () => {
|
|
Ko(this, uh).delete(n);
|
|
};
|
|
}
|
|
on(t, r) {
|
|
return Ko(this, ch).get(t).add(r), () => {
|
|
Ko(this, ch).get(t).delete(r);
|
|
};
|
|
}
|
|
send(t) {
|
|
z9(this, Ti, this.reduce(Ko(this, Ti), t));
|
|
for (let r of Ko(this, uh)) {
|
|
let n = r.selector(Ko(this, Ti));
|
|
xY(r.current, n) || (r.current = n, r.callback(n));
|
|
}
|
|
for (let r of Ko(this, ch).get(t.type)) r(Ko(this, Ti), t);
|
|
}
|
|
};
|
|
Ti = /* @__PURE__ */ new WeakMap(), ch = /* @__PURE__ */ new WeakMap(), uh = /* @__PURE__ */ new WeakMap();
|
|
function xY(e, t) {
|
|
return Object.is(e, t) ? !0 : typeof e != "object" || e === null || typeof t != "object" || t === null ? !1 : Array.isArray(e) && Array.isArray(t) ? e.length !== t.length ? !1 : c$(e[Symbol.iterator](), t[Symbol.iterator]()) : e instanceof Map && t instanceof Map || e instanceof Set && t instanceof Set ? e.size !== t.size ? !1 : c$(e.entries(), t.entries()) : W9(e) && W9(t) ? c$(Object.entries(e)[Symbol.iterator](), Object.entries(t)[Symbol.iterator]()) : !1;
|
|
}
|
|
function c$(e, t) {
|
|
do {
|
|
let r = e.next(), n = t.next();
|
|
if (r.done && n.done) return !0;
|
|
if (r.done || n.done || !Object.is(r.value, n.value)) return !1;
|
|
} while (!0);
|
|
}
|
|
function W9(e) {
|
|
if (Object.prototype.toString.call(e) !== "[object Object]") return !1;
|
|
let t = Object.getPrototypeOf(e);
|
|
return t === null || Object.getPrototypeOf(t) === null;
|
|
}
|
|
function u$(e) {
|
|
let [t, r] = e(), n = hi();
|
|
return (...o) => {
|
|
t(...o), n.dispose(), n.microTask(r);
|
|
};
|
|
}
|
|
function ra(e, t, r = xY) {
|
|
return jwe.useSyncExternalStoreWithSelector(Gt((n) => e.subscribe(Mwe, n)), Gt(() => e.state), Gt(() => e.state), Gt(t), r);
|
|
}
|
|
function Mwe(e) {
|
|
return e;
|
|
}
|
|
function Dwe(e) {
|
|
throw new Error("Unexpected object: " + e);
|
|
}
|
|
var dn = ((e) => (e[e.First = 0] = "First", e[e.Previous = 1] = "Previous", e[e.Next = 2] = "Next", e[e.Last = 3] = "Last", e[e.Specific = 4] = "Specific", e[e.Nothing = 5] = "Nothing", e))(dn || {});
|
|
function f$(e, t) {
|
|
let r = t.resolveItems();
|
|
if (r.length <= 0) return null;
|
|
let n = t.resolveActiveIndex(), o = n ?? -1;
|
|
switch (e.focus) {
|
|
case 0: {
|
|
for (let a = 0; a < r.length; ++a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 1: {
|
|
o === -1 && (o = r.length);
|
|
for (let a = o - 1; a >= 0; --a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 2: {
|
|
for (let a = o + 1; a < r.length; ++a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 3: {
|
|
for (let a = r.length - 1; a >= 0; --a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 4: {
|
|
for (let a = 0; a < r.length; ++a) if (t.resolveId(r[a], a, r) === e.id) return a;
|
|
return n;
|
|
}
|
|
case 5:
|
|
return null;
|
|
default:
|
|
Dwe(e);
|
|
}
|
|
}
|
|
function Fwe(e) {
|
|
let t = Gt(e), r = ne(!1);
|
|
ue(() => (r.current = !1, () => {
|
|
r.current = !0, RB(() => {
|
|
r.current && t();
|
|
});
|
|
}), [t]);
|
|
}
|
|
function Lwe() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in V ? ((t) => t.useSyncExternalStore)(V)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function hP() {
|
|
let e = Lwe(), [t, r] = V.useState($u.isHandoffComplete);
|
|
return t && $u.isHandoffComplete === !1 && r(!1), V.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), V.useEffect(() => $u.handoff(), []), e ? !1 : t;
|
|
}
|
|
let zwe = zt(!1);
|
|
function Wwe() {
|
|
return nt(zwe);
|
|
}
|
|
function Vwe(e) {
|
|
let t = Wwe(), r = nt($Y), [n, o] = de(() => {
|
|
var a;
|
|
if (!t && r !== null) return (a = r.current) != null ? a : null;
|
|
if ($u.isServer) return null;
|
|
let i = e == null ? void 0 : e.getElementById("headlessui-portal-root");
|
|
if (i) return i;
|
|
if (e === null) return null;
|
|
let s = e.createElement("div");
|
|
return s.setAttribute("id", "headlessui-portal-root"), e.body.appendChild(s);
|
|
});
|
|
return ue(() => {
|
|
n !== null && (e != null && e.body.contains(n) || e == null || e.body.appendChild(n));
|
|
}, [n, e]), ue(() => {
|
|
t || r !== null && o(r.current);
|
|
}, [r, o, t]), n;
|
|
}
|
|
let wY = Ut, Hwe = eo(function(e, t) {
|
|
let { ownerDocument: r = null, ...n } = e, o = ne(null), a = Ro(O0e((p) => {
|
|
o.current = p;
|
|
}), t), i = HS(o), s = r ?? i, u = Vwe(s), [c] = de(() => {
|
|
var p;
|
|
return $u.isServer ? null : (p = s == null ? void 0 : s.createElement("div")) != null ? p : null;
|
|
}), d = nt(Ywe), l = hP();
|
|
Kr(() => {
|
|
!u || !c || u.contains(c) || (c.setAttribute("data-headlessui-portal", ""), u.appendChild(c));
|
|
}, [u, c]), Kr(() => {
|
|
if (c && d) return d.register(c);
|
|
}, [d, c]), Fwe(() => {
|
|
var p;
|
|
!u || !c || (c instanceof Node && u.contains(c) && u.removeChild(c), u.childNodes.length <= 0 && ((p = u.parentElement) == null || p.removeChild(u)));
|
|
});
|
|
let f = lo();
|
|
return l ? !u || !c ? null : C0(f({ ourProps: { ref: a }, theirProps: n, slot: {}, defaultTag: wY, name: "Portal" }), c) : null;
|
|
});
|
|
function Gwe(e, t) {
|
|
let r = Ro(t), { enabled: n = !0, ownerDocument: o, ...a } = e, i = lo();
|
|
return n ? ae.createElement(Hwe, { ...a, ownerDocument: o, ref: r }) : i({ ourProps: { ref: r }, theirProps: a, slot: {}, defaultTag: wY, name: "Portal" });
|
|
}
|
|
let Uwe = Ut, $Y = zt(null);
|
|
function Bwe(e, t) {
|
|
let { target: r, ...n } = e, o = { ref: Ro(t) }, a = lo();
|
|
return ae.createElement($Y.Provider, { value: r }, a({ ourProps: o, theirProps: n, defaultTag: Uwe, name: "Popover.Group" }));
|
|
}
|
|
let Ywe = zt(null), qwe = eo(Gwe), Kwe = eo(Bwe), Xwe = Object.assign(qwe, { Group: Kwe });
|
|
function Jwe() {
|
|
let e = ne(!1);
|
|
return Kr(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function kY(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : OY) !== Ut || ae.Children.count(e.children) === 1;
|
|
}
|
|
let mx = zt(null);
|
|
mx.displayName = "TransitionContext";
|
|
var Qwe = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(Qwe || {});
|
|
function Zwe() {
|
|
let e = nt(mx);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function e2e() {
|
|
let e = nt(hx);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let hx = zt(null);
|
|
hx.displayName = "NestingContext";
|
|
function gx(e) {
|
|
return "children" in e ? gx(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function _Y(e, t) {
|
|
let r = cf(e), n = ne([]), o = Jwe(), a = cp(), i = Gt((p, y = Bl.Hidden) => {
|
|
let m = n.current.findIndex(({ el: h }) => h === p);
|
|
m !== -1 && (ia(y, { [Bl.Unmount]() {
|
|
n.current.splice(m, 1);
|
|
}, [Bl.Hidden]() {
|
|
n.current[m].state = "hidden";
|
|
} }), a.microTask(() => {
|
|
var h;
|
|
!gx(n) && o.current && ((h = r.current) == null || h.call(r));
|
|
}));
|
|
}), s = Gt((p) => {
|
|
let y = n.current.find(({ el: m }) => m === p);
|
|
return y ? y.state !== "visible" && (y.state = "visible") : n.current.push({ el: p, state: "visible" }), () => i(p, Bl.Unmount);
|
|
}), u = ne([]), c = ne(Promise.resolve()), d = ne({ enter: [], leave: [] }), l = Gt((p, y, m) => {
|
|
u.current.splice(0), t && (t.chains.current[y] = t.chains.current[y].filter(([h]) => h !== p)), t == null || t.chains.current[y].push([p, new Promise((h) => {
|
|
u.current.push(h);
|
|
})]), t == null || t.chains.current[y].push([p, new Promise((h) => {
|
|
Promise.all(d.current[y].map(([w, $]) => $)).then(() => h());
|
|
})]), y === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => m(y)) : m(y);
|
|
}), f = Gt((p, y, m) => {
|
|
Promise.all(d.current[y].splice(0).map(([h, w]) => w)).then(() => {
|
|
var h;
|
|
(h = u.current.shift()) == null || h();
|
|
}).then(() => m(y));
|
|
});
|
|
return Ie(() => ({ children: n, register: s, unregister: i, onStart: l, onStop: f, wait: c, chains: d }), [s, i, n, l, f, d, c]);
|
|
}
|
|
let OY = Ut, SY = M1.RenderStrategy;
|
|
function t2e(e, t) {
|
|
var r, n;
|
|
let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: u, enter: c, enterFrom: d, enterTo: l, entered: f, leave: p, leaveFrom: y, leaveTo: m, ...h } = e, [w, $] = de(null), _ = ne(null), S = kY(e), b = Ro(...S ? [_, t, $] : t === null ? [] : [t]), F = (r = h.unmount) == null || r ? Bl.Unmount : Bl.Hidden, { show: z, appear: q, initial: Y } = Zwe(), [B, Z] = de(z ? "visible" : "hidden"), M = e2e(), { register: te, unregister: G } = M;
|
|
Kr(() => te(_), [te, _]), Kr(() => {
|
|
if (F === Bl.Hidden && _.current) {
|
|
if (z && B !== "visible") {
|
|
Z("visible");
|
|
return;
|
|
}
|
|
return ia(B, { hidden: () => G(_), visible: () => te(_) });
|
|
}
|
|
}, [B, _, te, G, z, F]);
|
|
let H = hP();
|
|
Kr(() => {
|
|
if (S && H && B === "visible" && _.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [_, B, H, S]);
|
|
let U = Y && !q, W = q && z && Y, X = ne(!1), ee = _Y(() => {
|
|
X.current || (Z("hidden"), G(_));
|
|
}, M), v = Gt((C) => {
|
|
X.current = !0;
|
|
let I = C ? "enter" : "leave";
|
|
ee.onStart(_, I, (j) => {
|
|
j === "enter" ? a == null || a() : j === "leave" && (s == null || s());
|
|
});
|
|
}), g = Gt((C) => {
|
|
let I = C ? "enter" : "leave";
|
|
X.current = !1, ee.onStop(_, I, (j) => {
|
|
j === "enter" ? i == null || i() : j === "leave" && (u == null || u());
|
|
}), I === "leave" && !gx(ee) && (Z("hidden"), G(_));
|
|
});
|
|
ue(() => {
|
|
S && o || (v(z), g(z));
|
|
}, [z, S, o]);
|
|
let O = !(!o || !S || !H || U), [, P] = tY(O, w, z, { start: v, end: g }), A = zl({ ref: b, className: ((n = LS(h.className, W && c, W && d, P.enter && c, P.enter && P.closed && d, P.enter && !P.closed && l, P.leave && p, P.leave && !P.closed && y, P.leave && P.closed && m, !P.transition && z && f)) == null ? void 0 : n.trim()) || void 0, ...eY(P) }), T = 0;
|
|
B === "visible" && (T |= ta.Open), B === "hidden" && (T |= ta.Closed), z && B === "hidden" && (T |= ta.Opening), !z && B === "visible" && (T |= ta.Closing);
|
|
let N = lo();
|
|
return ae.createElement(hx.Provider, { value: ee }, ae.createElement(yY, { value: T }, N({ ourProps: A, theirProps: h, defaultTag: OY, features: SY, visible: B === "visible", name: "Transition.Child" })));
|
|
}
|
|
function r2e(e, t) {
|
|
let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = ne(null), s = kY(e), u = Ro(...s ? [i, t] : t === null ? [] : [t]);
|
|
hP();
|
|
let c = mP();
|
|
if (r === void 0 && c !== null && (r = (c & ta.Open) === ta.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [d, l] = de(r ? "visible" : "hidden"), f = _Y(() => {
|
|
r || l("hidden");
|
|
}), [p, y] = de(!0), m = ne([r]);
|
|
Kr(() => {
|
|
p !== !1 && m.current[m.current.length - 1] !== r && (m.current.push(r), y(!1));
|
|
}, [m, r]);
|
|
let h = Ie(() => ({ show: r, appear: n, initial: p }), [r, n, p]);
|
|
Kr(() => {
|
|
r ? l("visible") : !gx(f) && i.current !== null && l("hidden");
|
|
}, [r, f]);
|
|
let w = { unmount: o }, $ = Gt(() => {
|
|
var b;
|
|
p && y(!1), (b = e.beforeEnter) == null || b.call(e);
|
|
}), _ = Gt(() => {
|
|
var b;
|
|
p && y(!1), (b = e.beforeLeave) == null || b.call(e);
|
|
}), S = lo();
|
|
return ae.createElement(hx.Provider, { value: f }, ae.createElement(mx.Provider, { value: h }, S({ ourProps: { ...w, as: Ut, children: ae.createElement(EY, { ref: u, ...w, ...a, beforeEnter: $, beforeLeave: _ }) }, theirProps: {}, defaultTag: Ut, features: SY, visible: d === "visible", name: "Transition" })));
|
|
}
|
|
function n2e(e, t) {
|
|
let r = nt(mx) !== null, n = mP() !== null;
|
|
return ae.createElement(ae.Fragment, null, !r && n ? ae.createElement(YS, { ref: t, ...e }) : ae.createElement(EY, { ref: t, ...e }));
|
|
}
|
|
let YS = eo(r2e), EY = eo(t2e), o2e = eo(n2e), a2e = Object.assign(YS, { Child: o2e, Root: YS });
|
|
function i2e(e, t) {
|
|
let r = ne({ left: 0, top: 0 });
|
|
if (Kr(() => {
|
|
if (!t) return;
|
|
let o = t.getBoundingClientRect();
|
|
o && (r.current = o);
|
|
}, [e, t]), t == null || !e || t === document.activeElement) return !1;
|
|
let n = t.getBoundingClientRect();
|
|
return n.top !== r.current.top || n.left !== r.current.left;
|
|
}
|
|
let V9 = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
|
|
function H9(e) {
|
|
var t, r;
|
|
let n = (t = e.innerText) != null ? t : "", o = e.cloneNode(!0);
|
|
if (!(o instanceof HTMLElement)) return n;
|
|
let a = !1;
|
|
for (let s of o.querySelectorAll('[hidden],[aria-hidden],[role="img"]')) s.remove(), a = !0;
|
|
let i = a ? (r = o.innerText) != null ? r : "" : n;
|
|
return V9.test(i) && (i = i.replace(V9, "")), i;
|
|
}
|
|
function s2e(e) {
|
|
let t = e.getAttribute("aria-label");
|
|
if (typeof t == "string") return t.trim();
|
|
let r = e.getAttribute("aria-labelledby");
|
|
if (r) {
|
|
let n = r.split(" ").map((o) => {
|
|
let a = document.getElementById(o);
|
|
if (a) {
|
|
let i = a.getAttribute("aria-label");
|
|
return typeof i == "string" ? i.trim() : H9(a).trim();
|
|
}
|
|
return null;
|
|
}).filter(Boolean);
|
|
if (n.length > 0) return n.join(", ");
|
|
}
|
|
return H9(e).trim();
|
|
}
|
|
function l2e(e) {
|
|
let t = ne(""), r = ne("");
|
|
return Gt(() => {
|
|
let n = e.current;
|
|
if (!n) return "";
|
|
let o = n.innerText;
|
|
if (t.current === o) return r.current;
|
|
let a = s2e(n).trim().toLowerCase();
|
|
return t.current = o, r.current = a, a;
|
|
});
|
|
}
|
|
var c2e = Object.defineProperty, u2e = (e, t, r) => t in e ? c2e(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, G9 = (e, t, r) => (u2e(e, typeof t != "symbol" ? t + "" : t, r), r), cn = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(cn || {}), Va = ((e) => (e[e.Single = 0] = "Single", e[e.Multi = 1] = "Multi", e))(Va || {}), qS = ((e) => (e[e.Pointer = 0] = "Pointer", e[e.Other = 1] = "Other", e))(qS || {}), AY = ((e) => (e[e.OpenListbox = 0] = "OpenListbox", e[e.CloseListbox = 1] = "CloseListbox", e[e.GoToOption = 2] = "GoToOption", e[e.Search = 3] = "Search", e[e.ClearSearch = 4] = "ClearSearch", e[e.RegisterOptions = 5] = "RegisterOptions", e[e.UnregisterOptions = 6] = "UnregisterOptions", e[e.SetButtonElement = 7] = "SetButtonElement", e[e.SetOptionsElement = 8] = "SetOptionsElement", e[e.SortOptions = 9] = "SortOptions", e))(AY || {});
|
|
function U9(e, t = (r) => r) {
|
|
let r = e.activeOptionIndex !== null ? e.options[e.activeOptionIndex] : null, n = QB(t(e.options.slice()), (a) => a.dataRef.current.domRef.current), o = r ? n.indexOf(r) : null;
|
|
return o === -1 && (o = null), { options: n, activeOptionIndex: o };
|
|
}
|
|
let f2e = { 1(e) {
|
|
return e.dataRef.current.disabled || e.listboxState === 1 ? e : { ...e, activeOptionIndex: null, listboxState: 1, __demoMode: !1 };
|
|
}, 0(e) {
|
|
if (e.dataRef.current.disabled || e.listboxState === 0) return e;
|
|
let t = e.activeOptionIndex, { isSelected: r } = e.dataRef.current, n = e.options.findIndex((o) => r(o.dataRef.current.value));
|
|
return n !== -1 && (t = n), { ...e, listboxState: 0, activeOptionIndex: t, __demoMode: !1 };
|
|
}, 2(e, t) {
|
|
var r, n, o, a, i;
|
|
if (e.dataRef.current.disabled || e.listboxState === 1) return e;
|
|
let s = { ...e, searchQuery: "", activationTrigger: (r = t.trigger) != null ? r : 1, __demoMode: !1 };
|
|
if (t.focus === dn.Nothing) return { ...s, activeOptionIndex: null };
|
|
if (t.focus === dn.Specific) return { ...s, activeOptionIndex: e.options.findIndex((d) => d.id === t.id) };
|
|
if (t.focus === dn.Previous) {
|
|
let d = e.activeOptionIndex;
|
|
if (d !== null) {
|
|
let l = e.options[d].dataRef.current.domRef, f = f$(t, { resolveItems: () => e.options, resolveActiveIndex: () => e.activeOptionIndex, resolveId: (p) => p.id, resolveDisabled: (p) => p.dataRef.current.disabled });
|
|
if (f !== null) {
|
|
let p = e.options[f].dataRef.current.domRef;
|
|
if (((n = l.current) == null ? void 0 : n.previousElementSibling) === p.current || ((o = p.current) == null ? void 0 : o.previousElementSibling) === null) return { ...s, activeOptionIndex: f };
|
|
}
|
|
}
|
|
} else if (t.focus === dn.Next) {
|
|
let d = e.activeOptionIndex;
|
|
if (d !== null) {
|
|
let l = e.options[d].dataRef.current.domRef, f = f$(t, { resolveItems: () => e.options, resolveActiveIndex: () => e.activeOptionIndex, resolveId: (p) => p.id, resolveDisabled: (p) => p.dataRef.current.disabled });
|
|
if (f !== null) {
|
|
let p = e.options[f].dataRef.current.domRef;
|
|
if (((a = l.current) == null ? void 0 : a.nextElementSibling) === p.current || ((i = p.current) == null ? void 0 : i.nextElementSibling) === null) return { ...s, activeOptionIndex: f };
|
|
}
|
|
}
|
|
}
|
|
let u = U9(e), c = f$(t, { resolveItems: () => u.options, resolveActiveIndex: () => u.activeOptionIndex, resolveId: (d) => d.id, resolveDisabled: (d) => d.dataRef.current.disabled });
|
|
return { ...s, ...u, activeOptionIndex: c };
|
|
}, 3: (e, t) => {
|
|
if (e.dataRef.current.disabled || e.listboxState === 1) return e;
|
|
let r = e.searchQuery !== "" ? 0 : 1, n = e.searchQuery + t.value.toLowerCase(), o = (e.activeOptionIndex !== null ? e.options.slice(e.activeOptionIndex + r).concat(e.options.slice(0, e.activeOptionIndex + r)) : e.options).find((i) => {
|
|
var s;
|
|
return !i.dataRef.current.disabled && ((s = i.dataRef.current.textValue) == null ? void 0 : s.startsWith(n));
|
|
}), a = o ? e.options.indexOf(o) : -1;
|
|
return a === -1 || a === e.activeOptionIndex ? { ...e, searchQuery: n } : { ...e, searchQuery: n, activeOptionIndex: a, activationTrigger: 1 };
|
|
}, 4(e) {
|
|
return e.dataRef.current.disabled || e.listboxState === 1 || e.searchQuery === "" ? e : { ...e, searchQuery: "" };
|
|
}, 5: (e, t) => {
|
|
let r = e.options.concat(t.options), n = e.activeOptionIndex;
|
|
if (e.activeOptionIndex === null) {
|
|
let { isSelected: o } = e.dataRef.current;
|
|
if (o) {
|
|
let a = r.findIndex((i) => o == null ? void 0 : o(i.dataRef.current.value));
|
|
a !== -1 && (n = a);
|
|
}
|
|
}
|
|
return { ...e, options: r, activeOptionIndex: n, pendingShouldSort: !0 };
|
|
}, 6: (e, t) => {
|
|
let r = e.options, n = [], o = new Set(t.options);
|
|
for (let [a, i] of r.entries()) if (o.has(i.id) && (n.push(a), o.delete(i.id), o.size === 0)) break;
|
|
if (n.length > 0) {
|
|
r = r.slice();
|
|
for (let a of n.reverse()) r.splice(a, 1);
|
|
}
|
|
return { ...e, options: r, activationTrigger: 1 };
|
|
}, 7: (e, t) => e.buttonElement === t.element ? e : { ...e, buttonElement: t.element }, 8: (e, t) => e.optionsElement === t.element ? e : { ...e, optionsElement: t.element }, 9: (e) => e.pendingShouldSort ? { ...e, ...U9(e), pendingShouldSort: !1 } : e }, d2e = class PY extends Rwe {
|
|
constructor(t) {
|
|
super(t), G9(this, "actions", { onChange: (r) => {
|
|
let { onChange: n, compare: o, mode: a, value: i } = this.state.dataRef.current;
|
|
return ia(a, { 0: () => n == null ? void 0 : n(r), 1: () => {
|
|
let s = i.slice(), u = s.findIndex((c) => o(c, r));
|
|
return u === -1 ? s.push(r) : s.splice(u, 1), n == null ? void 0 : n(s);
|
|
} });
|
|
}, registerOption: u$(() => {
|
|
let r = [], n = /* @__PURE__ */ new Set();
|
|
return [(o, a) => {
|
|
n.has(a) || (n.add(a), r.push({ id: o, dataRef: a }));
|
|
}, () => (n.clear(), this.send({ type: 5, options: r.splice(0) }))];
|
|
}), unregisterOption: u$(() => {
|
|
let r = [];
|
|
return [(n) => r.push(n), () => {
|
|
this.send({ type: 6, options: r.splice(0) });
|
|
}];
|
|
}), goToOption: u$(() => {
|
|
let r = null;
|
|
return [(n, o) => {
|
|
r = { type: 2, ...n, trigger: o };
|
|
}, () => r && this.send(r)];
|
|
}), closeListbox: () => {
|
|
this.send({ type: 1 });
|
|
}, openListbox: () => {
|
|
this.send({ type: 0 });
|
|
}, selectActiveOption: () => {
|
|
if (this.state.activeOptionIndex !== null) {
|
|
let { dataRef: r, id: n } = this.state.options[this.state.activeOptionIndex];
|
|
this.actions.onChange(r.current.value), this.send({ type: 2, focus: dn.Specific, id: n });
|
|
}
|
|
}, selectOption: (r) => {
|
|
let n = this.state.options.find((o) => o.id === r);
|
|
n && this.actions.onChange(n.dataRef.current.value);
|
|
}, search: (r) => {
|
|
this.send({ type: 3, value: r });
|
|
}, clearSearch: () => {
|
|
this.send({ type: 4 });
|
|
}, setButtonElement: (r) => {
|
|
this.send({ type: 7, element: r });
|
|
}, setOptionsElement: (r) => {
|
|
this.send({ type: 8, element: r });
|
|
} }), G9(this, "selectors", { activeDescendantId(r) {
|
|
var n;
|
|
let o = r.activeOptionIndex, a = r.options;
|
|
return o === null || (n = a[o]) == null ? void 0 : n.id;
|
|
}, isActive(r, n) {
|
|
var o;
|
|
let a = r.activeOptionIndex, i = r.options;
|
|
return a !== null ? ((o = i[a]) == null ? void 0 : o.id) === n : !1;
|
|
}, shouldScrollIntoView(r, n) {
|
|
return r.__demoMode || r.listboxState !== 0 || r.activationTrigger === 0 ? !1 : this.isActive(r, n);
|
|
} }), this.on(5, () => {
|
|
requestAnimationFrame(() => {
|
|
this.send({ type: 9 });
|
|
});
|
|
});
|
|
}
|
|
static new({ __demoMode: t = !1 } = {}) {
|
|
return new PY({ dataRef: { current: {} }, listboxState: t ? 0 : 1, options: [], searchQuery: "", activeOptionIndex: null, activationTrigger: 1, buttonElement: null, optionsElement: null, __demoMode: t });
|
|
}
|
|
reduce(t, r) {
|
|
return ia(r.type, f2e, t, r);
|
|
}
|
|
};
|
|
const CY = zt(null);
|
|
function gP(e) {
|
|
let t = nt(CY);
|
|
if (t === null) {
|
|
let r = new Error(`<${e} /> is missing a parent <Listbox /> component.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(r, NY), r;
|
|
}
|
|
return t;
|
|
}
|
|
function NY({ __demoMode: e = !1 } = {}) {
|
|
return Ie(() => d2e.new({ __demoMode: e }), []);
|
|
}
|
|
let bx = zt(null);
|
|
bx.displayName = "ListboxDataContext";
|
|
function Rb(e) {
|
|
let t = nt(bx);
|
|
if (t === null) {
|
|
let r = new Error(`<${e} /> is missing a parent <Listbox /> component.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(r, Rb), r;
|
|
}
|
|
return t;
|
|
}
|
|
let p2e = Ut;
|
|
function m2e(e, t) {
|
|
let r = nP(), { value: n, defaultValue: o, form: a, name: i, onChange: s, by: u, invalid: c = !1, disabled: d = r || !1, horizontal: l = !1, multiple: f = !1, __demoMode: p = !1, ...y } = e;
|
|
const m = l ? "horizontal" : "vertical";
|
|
let h = Ro(t), w = m0e(o), [$ = f ? [] : void 0, _] = p0e(n, s, w), S = NY({ __demoMode: p }), b = ne({ static: !1, hold: !1 }), F = ne(/* @__PURE__ */ new Map()), z = M0e(u), q = Ne((v) => ia(Y.mode, { [Va.Multi]: () => $.some((g) => z(g, v)), [Va.Single]: () => z($, v) }), [$]), Y = Ie(() => ({ value: $, disabled: d, invalid: c, mode: f ? Va.Multi : Va.Single, orientation: m, onChange: _, compare: z, isSelected: q, optionsPropsRef: b, listRef: F }), [$, d, c, f, m, _, z, q, b, F]);
|
|
Kr(() => {
|
|
S.state.dataRef.current = Y;
|
|
}, [Y]);
|
|
let B = ra(S, (v) => v.listboxState), Z = B === cn.Open, [M, te] = ra(S, (v) => [v.buttonElement, v.optionsElement]);
|
|
exe(Z, [M, te], (v, g) => {
|
|
S.send({ type: AY.CloseListbox }), JB(g, sP.Loose) || (v.preventDefault(), M == null || M.focus());
|
|
});
|
|
let G = Ie(() => ({ open: B === cn.Open, disabled: d, invalid: c, value: $ }), [B, d, c, $]), [H, U] = C0e({ inherit: !0 }), W = { ref: h }, X = Ne(() => {
|
|
if (w !== void 0) return _ == null ? void 0 : _(w);
|
|
}, [_, w]), ee = lo();
|
|
return ae.createElement(U, { value: H, props: { htmlFor: M == null ? void 0 : M.id }, slot: { open: B === cn.Open, disabled: d } }, ae.createElement(Swe, null, ae.createElement(CY.Provider, { value: S }, ae.createElement(bx.Provider, { value: Y }, ae.createElement(yY, { value: ia(B, { [cn.Open]: ta.Open, [cn.Closed]: ta.Closed }) }, i != null && $ != null && ae.createElement(x0e, { disabled: d, data: { [i]: $ }, form: a, onReset: X }), ee({ ourProps: W, theirProps: y, slot: G, defaultTag: p2e, name: "Listbox" }))))));
|
|
}
|
|
let h2e = "button";
|
|
function g2e(e, t) {
|
|
let r = ua(), n = VB(), o = Rb("Listbox.Button"), a = gP("Listbox.Button"), { id: i = n || `headlessui-listbox-button-${r}`, disabled: s = o.disabled || !1, autoFocus: u = !1, ...c } = e, d = Ro(t, $we(), a.actions.setButtonElement), l = kwe(), f = Gt((G) => {
|
|
switch (G.key) {
|
|
case ln.Enter:
|
|
h0e(G.currentTarget);
|
|
break;
|
|
case ln.Space:
|
|
case ln.ArrowDown:
|
|
G.preventDefault(), wu(() => a.actions.openListbox()), o.value || a.actions.goToOption({ focus: dn.First });
|
|
break;
|
|
case ln.ArrowUp:
|
|
G.preventDefault(), wu(() => a.actions.openListbox()), o.value || a.actions.goToOption({ focus: dn.Last });
|
|
break;
|
|
}
|
|
}), p = Gt((G) => {
|
|
switch (G.key) {
|
|
case ln.Space:
|
|
G.preventDefault();
|
|
break;
|
|
}
|
|
}), y = Gt((G) => {
|
|
var H;
|
|
if (G.button === 0) {
|
|
if (k0e(G.currentTarget)) return G.preventDefault();
|
|
a.state.listboxState === cn.Open ? (wu(() => a.actions.closeListbox()), (H = a.state.buttonElement) == null || H.focus({ preventScroll: !0 })) : (G.preventDefault(), a.actions.openListbox());
|
|
}
|
|
}), m = Gt((G) => G.preventDefault()), h = BB([i]), w = S0e(), { isFocusVisible: $, focusProps: _ } = t0e({ autoFocus: u }), { isHovered: S, hoverProps: b } = e0e({ isDisabled: s }), { pressed: F, pressProps: z } = s0e({ disabled: s }), q = ra(a, (G) => G.listboxState), Y = Ie(() => ({ open: q === cn.Open, active: F || q === cn.Open, disabled: s, invalid: o.invalid, value: o.value, hover: S, focus: $, autofocus: u }), [q, o.value, s, S, $, F, o.invalid, u]), B = ra(a, (G) => G.listboxState === cn.Open), [Z, M] = ra(a, (G) => [G.buttonElement, G.optionsElement]), te = DB(l(), { ref: d, id: i, type: txe(e, Z), "aria-haspopup": "listbox", "aria-controls": M == null ? void 0 : M.id, "aria-expanded": B, "aria-labelledby": h, "aria-describedby": w, disabled: s || void 0, autoFocus: u, onKeyDown: f, onKeyUp: p, onKeyPress: m, onMouseDown: y }, _, b, z);
|
|
return lo()({ ourProps: te, theirProps: c, slot: Y, defaultTag: h2e, name: "Listbox.Button" });
|
|
}
|
|
let TY = zt(!1), b2e = "div", y2e = M1.RenderStrategy | M1.Static;
|
|
function v2e(e, t) {
|
|
let r = ua(), { id: n = `headlessui-listbox-options-${r}`, anchor: o, portal: a = !1, modal: i = !0, transition: s = !1, ...u } = e, c = wwe(o), [d, l] = de(null);
|
|
c && (a = !0);
|
|
let f = Rb("Listbox.Options"), p = gP("Listbox.Options"), [y, m, h, w] = ra(p, (C) => [C.listboxState, C.buttonElement, C.optionsElement, C.__demoMode]), $ = HS(m), _ = HS(h), S = mP(), [b, F] = tY(s, d, S !== null ? (S & ta.Open) === ta.Open : y === cn.Open);
|
|
W0e(b, m, p.actions.closeListbox);
|
|
let z = w ? !1 : i && y === cn.Open;
|
|
sxe(z, _);
|
|
let q = w ? !1 : i && y === cn.Open;
|
|
z0e(q, { allowed: Ne(() => [m, h], [m, h]) });
|
|
let Y = y !== cn.Open, B = i2e(Y, m) ? !1 : b, Z = b && y === cn.Closed, M = Pwe(Z, f.value), te = Gt((C) => f.compare(M, C)), G = ra(p, (C) => {
|
|
var I;
|
|
if (c == null || !((I = c == null ? void 0 : c.to) != null && I.includes("selection"))) return null;
|
|
let j = C.options.findIndex((R) => te(R.dataRef.current.value));
|
|
return j === -1 && (j = 0), j;
|
|
}), H = (() => {
|
|
if (c == null) return;
|
|
if (G === null) return { ...c, inner: void 0 };
|
|
let C = Array.from(f.listRef.current.values());
|
|
return { ...c, inner: { listRef: { current: C }, index: G } };
|
|
})(), [U, W] = Owe(H), X = _we(), ee = Ro(t, c ? U : null, p.actions.setOptionsElement, l), v = cp();
|
|
ue(() => {
|
|
var C;
|
|
let I = h;
|
|
I && y === cn.Open && I !== ((C = Tb(I)) == null ? void 0 : C.activeElement) && (I == null || I.focus({ preventScroll: !0 }));
|
|
}, [y, h]);
|
|
let g = Gt((C) => {
|
|
var I, j;
|
|
switch (v.dispose(), C.key) {
|
|
case ln.Space:
|
|
if (p.state.searchQuery !== "") return C.preventDefault(), C.stopPropagation(), p.actions.search(C.key);
|
|
case ln.Enter:
|
|
if (C.preventDefault(), C.stopPropagation(), p.state.activeOptionIndex !== null) {
|
|
let { dataRef: R } = p.state.options[p.state.activeOptionIndex];
|
|
p.actions.onChange(R.current.value);
|
|
}
|
|
f.mode === Va.Single && (wu(() => p.actions.closeListbox()), (I = p.state.buttonElement) == null || I.focus({ preventScroll: !0 }));
|
|
break;
|
|
case ia(f.orientation, { vertical: ln.ArrowDown, horizontal: ln.ArrowRight }):
|
|
return C.preventDefault(), C.stopPropagation(), p.actions.goToOption({ focus: dn.Next });
|
|
case ia(f.orientation, { vertical: ln.ArrowUp, horizontal: ln.ArrowLeft }):
|
|
return C.preventDefault(), C.stopPropagation(), p.actions.goToOption({ focus: dn.Previous });
|
|
case ln.Home:
|
|
case ln.PageUp:
|
|
return C.preventDefault(), C.stopPropagation(), p.actions.goToOption({ focus: dn.First });
|
|
case ln.End:
|
|
case ln.PageDown:
|
|
return C.preventDefault(), C.stopPropagation(), p.actions.goToOption({ focus: dn.Last });
|
|
case ln.Escape:
|
|
C.preventDefault(), C.stopPropagation(), wu(() => p.actions.closeListbox()), (j = p.state.buttonElement) == null || j.focus({ preventScroll: !0 });
|
|
return;
|
|
case ln.Tab:
|
|
C.preventDefault(), C.stopPropagation(), wu(() => p.actions.closeListbox()), K0e(p.state.buttonElement, C.shiftKey ? VS.Previous : VS.Next);
|
|
break;
|
|
default:
|
|
C.key.length === 1 && (p.actions.search(C.key), v.setTimeout(() => p.actions.clearSearch(), 350));
|
|
break;
|
|
}
|
|
}), O = ra(p, (C) => {
|
|
var I;
|
|
return (I = C.buttonElement) == null ? void 0 : I.id;
|
|
}), P = Ie(() => ({ open: y === cn.Open }), [y]), A = DB(c ? X() : {}, { id: n, ref: ee, "aria-activedescendant": ra(p, p.selectors.activeDescendantId), "aria-multiselectable": f.mode === Va.Multi ? !0 : void 0, "aria-labelledby": O, "aria-orientation": f.orientation, onKeyDown: g, role: "listbox", tabIndex: y === cn.Open ? 0 : void 0, style: { ...u.style, ...W, "--button-width": F0e(m, !0).width }, ...eY(F) }), T = lo(), N = Ie(() => f.mode === Va.Multi ? f : { ...f, isSelected: te }, [f, te]);
|
|
return ae.createElement(Xwe, { enabled: a ? e.static || b : !1, ownerDocument: $ }, ae.createElement(bx.Provider, { value: N }, T({ ourProps: A, theirProps: u, slot: P, defaultTag: b2e, features: y2e, visible: B, name: "Listbox.Options" })));
|
|
}
|
|
let x2e = "div";
|
|
function w2e(e, t) {
|
|
let r = ua(), { id: n = `headlessui-listbox-option-${r}`, disabled: o = !1, value: a, ...i } = e, s = nt(TY) === !0, u = Rb("Listbox.Option"), c = gP("Listbox.Option"), d = ra(c, (B) => c.selectors.isActive(B, n)), l = u.isSelected(a), f = ne(null), p = l2e(f), y = cf({ disabled: o, value: a, domRef: f, get textValue() {
|
|
return p();
|
|
} }), m = Ro(t, f, (B) => {
|
|
B ? u.listRef.current.set(n, B) : u.listRef.current.delete(n);
|
|
}), h = ra(c, (B) => c.selectors.shouldScrollIntoView(B, n));
|
|
Kr(() => {
|
|
if (h) return hi().requestAnimationFrame(() => {
|
|
var B, Z;
|
|
(Z = (B = f.current) == null ? void 0 : B.scrollIntoView) == null || Z.call(B, { block: "nearest" });
|
|
});
|
|
}, [h, f]), Kr(() => {
|
|
if (!s) return c.actions.registerOption(n, y), () => c.actions.unregisterOption(n);
|
|
}, [y, n, s]);
|
|
let w = Gt((B) => {
|
|
var Z;
|
|
if (o) return B.preventDefault();
|
|
c.actions.onChange(a), u.mode === Va.Single && (wu(() => c.actions.closeListbox()), (Z = c.state.buttonElement) == null || Z.focus({ preventScroll: !0 }));
|
|
}), $ = Gt(() => {
|
|
if (o) return c.actions.goToOption({ focus: dn.Nothing });
|
|
c.actions.goToOption({ focus: dn.Specific, id: n });
|
|
}), _ = lxe(), S = Gt((B) => {
|
|
_.update(B), !o && (d || c.actions.goToOption({ focus: dn.Specific, id: n }, qS.Pointer));
|
|
}), b = Gt((B) => {
|
|
_.wasMoved(B) && (o || d || c.actions.goToOption({ focus: dn.Specific, id: n }, qS.Pointer));
|
|
}), F = Gt((B) => {
|
|
_.wasMoved(B) && (o || d && c.actions.goToOption({ focus: dn.Nothing }));
|
|
}), z = Ie(() => ({ active: d, focus: d, selected: l, disabled: o, selectedOption: l && s }), [d, l, o, s]), q = s ? {} : { id: n, ref: m, role: "option", tabIndex: o === !0 ? void 0 : -1, "aria-disabled": o === !0 ? !0 : void 0, "aria-selected": l, disabled: void 0, onClick: w, onFocus: $, onPointerEnter: S, onMouseEnter: S, onPointerMove: b, onMouseMove: b, onPointerLeave: F, onMouseLeave: F }, Y = lo();
|
|
return !l && s ? null : Y({ ourProps: q, theirProps: i, slot: z, defaultTag: x2e, name: "Listbox.Option" });
|
|
}
|
|
let $2e = Ut;
|
|
function k2e(e, t) {
|
|
let { options: r, placeholder: n, ...o } = e, a = { ref: Ro(t) }, i = Rb("ListboxSelectedOption"), s = Ie(() => ({}), []), u = i.value === void 0 || i.value === null || i.mode === Va.Multi && Array.isArray(i.value) && i.value.length === 0, c = lo();
|
|
return ae.createElement(TY.Provider, { value: !0 }, c({ ourProps: a, theirProps: { ...o, children: ae.createElement(ae.Fragment, null, n && u ? n : r) }, slot: s, defaultTag: $2e, name: "ListboxSelectedOption" }));
|
|
}
|
|
let _2e = eo(m2e), IY = eo(g2e), O2e = j0e, jY = eo(v2e), RY = eo(w2e), S2e = eo(k2e), E2e = Object.assign(_2e, { Button: IY, Label: O2e, Options: jY, Option: RY, SelectedOption: S2e });
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const A2e = {
|
|
prefix: "fas",
|
|
iconName: "chevron-down",
|
|
icon: [512, 512, [], "f078", "M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]
|
|
}, P2e = {
|
|
prefix: "fas",
|
|
iconName: "check",
|
|
icon: [448, 512, [10003, 10004], "f00c", "M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]
|
|
};
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function C2e(e, t, r) {
|
|
return (t = T2e(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function B9(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ve(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? B9(Object(r), !0).forEach(function(n) {
|
|
C2e(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : B9(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function N2e(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function T2e(e) {
|
|
var t = N2e(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const Y9 = () => {
|
|
};
|
|
let bP = {}, MY = {}, DY = null, FY = {
|
|
mark: Y9,
|
|
measure: Y9
|
|
};
|
|
try {
|
|
typeof window < "u" && (bP = window), typeof document < "u" && (MY = document), typeof MutationObserver < "u" && (DY = MutationObserver), typeof performance < "u" && (FY = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: q9 = ""
|
|
} = bP.navigator || {}, yc = bP, zr = MY, K9 = DY, Ny = FY;
|
|
yc.document;
|
|
const bs = !!zr.documentElement && !!zr.head && typeof zr.addEventListener == "function" && typeof zr.createElement == "function", LY = ~q9.indexOf("MSIE") || ~q9.indexOf("Trident/");
|
|
var I2e = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, j2e = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, zY = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, R2e = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, WY = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], kn = "classic", yx = "duotone", M2e = "sharp", D2e = "sharp-duotone", VY = [kn, yx, M2e, D2e], F2e = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, L2e = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, z2e = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), W2e = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, V2e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], X9 = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, H2e = ["kit"], G2e = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, U2e = ["fak", "fakd"], B2e = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, J9 = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Ty = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Y2e = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], q2e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], K2e = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, X2e = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, J2e = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, KS = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, Q2e = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], XS = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Y2e, ...Q2e], Z2e = ["solid", "regular", "light", "thin", "duotone", "brands"], HY = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], e$e = HY.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), t$e = [...Object.keys(J2e), ...Z2e, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Ty.GROUP, Ty.SWAP_OPACITY, Ty.PRIMARY, Ty.SECONDARY].concat(HY.map((e) => "".concat(e, "x"))).concat(e$e.map((e) => "w-".concat(e))), r$e = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const qi = "___FONT_AWESOME___", JS = 16, GY = "fa", UY = "svg-inline--fa", Fu = "data-fa-i2svg", QS = "data-fa-pseudo-element", n$e = "data-fa-pseudo-element-pending", yP = "data-prefix", vP = "data-icon", Q9 = "fontawesome-i2svg", o$e = "async", a$e = ["HTML", "HEAD", "STYLE", "SCRIPT"], BY = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Mb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[kn];
|
|
}
|
|
});
|
|
}
|
|
const YY = ve({}, zY);
|
|
YY[kn] = ve(ve(ve(ve({}, {
|
|
"fa-duotone": "duotone"
|
|
}), zY[kn]), X9.kit), X9["kit-duotone"]);
|
|
const i$e = Mb(YY), ZS = ve({}, W2e);
|
|
ZS[kn] = ve(ve(ve(ve({}, {
|
|
duotone: "fad"
|
|
}), ZS[kn]), J9.kit), J9["kit-duotone"]);
|
|
const Z9 = Mb(ZS), eE = ve({}, KS);
|
|
eE[kn] = ve(ve({}, eE[kn]), B2e.kit);
|
|
const xP = Mb(eE), tE = ve({}, X2e);
|
|
tE[kn] = ve(ve({}, tE[kn]), G2e.kit);
|
|
Mb(tE);
|
|
const s$e = I2e, qY = "fa-layers-text", l$e = j2e, c$e = ve({}, F2e);
|
|
Mb(c$e);
|
|
const u$e = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], d$ = R2e, f$e = [...H2e, ...t$e], Vh = yc.FontAwesomeConfig || {};
|
|
function d$e(e) {
|
|
var t = zr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function p$e(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
zr && typeof zr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = p$e(d$e(t));
|
|
n != null && (Vh[r] = n);
|
|
});
|
|
const KY = {
|
|
styleDefault: "solid",
|
|
familyDefault: kn,
|
|
cssPrefix: GY,
|
|
replacementClass: UY,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Vh.familyPrefix && (Vh.cssPrefix = Vh.familyPrefix);
|
|
const Wd = ve(ve({}, KY), Vh);
|
|
Wd.autoReplaceSvg || (Wd.observeMutations = !1);
|
|
const Ge = {};
|
|
Object.keys(KY).forEach((e) => {
|
|
Object.defineProperty(Ge, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Wd[e] = t, Hh.forEach((r) => r(Ge));
|
|
},
|
|
get: function() {
|
|
return Wd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Ge, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Wd.cssPrefix = e, Hh.forEach((t) => t(Ge));
|
|
},
|
|
get: function() {
|
|
return Wd.cssPrefix;
|
|
}
|
|
});
|
|
yc.FontAwesomeConfig = Ge;
|
|
const Hh = [];
|
|
function m$e(e) {
|
|
return Hh.push(e), () => {
|
|
Hh.splice(Hh.indexOf(e), 1);
|
|
};
|
|
}
|
|
const pl = JS, Ha = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function h$e(e) {
|
|
if (!e || !bs)
|
|
return;
|
|
const t = zr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = zr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return zr.head.insertBefore(t, n), e;
|
|
}
|
|
const g$e = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function zg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += g$e[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function pp(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function wP(e) {
|
|
return e.classList ? pp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function XY(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function b$e(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(XY(e[r]), '" '), "").trim();
|
|
}
|
|
function vx(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function $P(e) {
|
|
return e.size !== Ha.size || e.x !== Ha.x || e.y !== Ha.y || e.rotate !== Ha.rotate || e.flipX || e.flipY;
|
|
}
|
|
function y$e(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function v$e(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = JS,
|
|
height: n = JS,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && LY ? a += "translate(".concat(t.x / pl - r / 2, "em, ").concat(t.y / pl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / pl, "em), calc(-50% + ").concat(t.y / pl, "em)) ") : a += "translate(".concat(t.x / pl, "em, ").concat(t.y / pl, "em) "), a += "scale(".concat(t.size / pl * (t.flipX ? -1 : 1), ", ").concat(t.size / pl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var x$e = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function JY() {
|
|
const e = GY, t = UY, r = Ge.cssPrefix, n = Ge.replacementClass;
|
|
let o = x$e;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let eR = !1;
|
|
function p$() {
|
|
Ge.autoAddCss && !eR && (h$e(JY()), eR = !0);
|
|
}
|
|
var w$e = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: JY,
|
|
insertCss: p$
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
p$();
|
|
},
|
|
beforeI2svg() {
|
|
p$();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Ki = yc || {};
|
|
Ki[qi] || (Ki[qi] = {});
|
|
Ki[qi].styles || (Ki[qi].styles = {});
|
|
Ki[qi].hooks || (Ki[qi].hooks = {});
|
|
Ki[qi].shims || (Ki[qi].shims = []);
|
|
var Ga = Ki[qi];
|
|
const QY = [], ZY = function() {
|
|
zr.removeEventListener("DOMContentLoaded", ZY), z1 = 1, QY.map((e) => e());
|
|
};
|
|
let z1 = !1;
|
|
bs && (z1 = (zr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(zr.readyState), z1 || zr.addEventListener("DOMContentLoaded", ZY));
|
|
function $$e(e) {
|
|
bs && (z1 ? setTimeout(e, 0) : QY.push(e));
|
|
}
|
|
function Db(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? XY(e) : "<".concat(t, " ").concat(b$e(r), ">").concat(n.map(Db).join(""), "</").concat(t, ">");
|
|
}
|
|
function tR(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var m$ = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function k$e(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function eq(e) {
|
|
const t = k$e(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function _$e(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function rR(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function rE(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = rR(t);
|
|
typeof Ga.hooks.addPack == "function" && !n ? Ga.hooks.addPack(e, rR(t)) : Ga.styles[e] = ve(ve({}, Ga.styles[e] || {}), o), e === "fas" && rE("fa", t);
|
|
}
|
|
const {
|
|
styles: Wg,
|
|
shims: O$e
|
|
} = Ga, tq = Object.keys(xP), S$e = tq.reduce((e, t) => (e[t] = Object.keys(xP[t]), e), {});
|
|
let kP = null, rq = {}, nq = {}, oq = {}, aq = {}, iq = {};
|
|
function E$e(e) {
|
|
return ~f$e.indexOf(e);
|
|
}
|
|
function A$e(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !E$e(o) ? o : null;
|
|
}
|
|
const sq = () => {
|
|
const e = (n) => m$(Wg, (o, a, i) => (o[i] = m$(a, n, {}), o), {});
|
|
rq = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), nq = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), iq = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Wg || Ge.autoFetchSvg, r = m$(O$e, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
oq = r.names, aq = r.unicodes, kP = xx(Ge.styleDefault, {
|
|
family: Ge.familyDefault
|
|
});
|
|
};
|
|
m$e((e) => {
|
|
kP = xx(e.styleDefault, {
|
|
family: Ge.familyDefault
|
|
});
|
|
});
|
|
sq();
|
|
function _P(e, t) {
|
|
return (rq[e] || {})[t];
|
|
}
|
|
function P$e(e, t) {
|
|
return (nq[e] || {})[t];
|
|
}
|
|
function lu(e, t) {
|
|
return (iq[e] || {})[t];
|
|
}
|
|
function lq(e) {
|
|
return oq[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function C$e(e) {
|
|
const t = aq[e], r = _P("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function vc() {
|
|
return kP;
|
|
}
|
|
const cq = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function N$e(e) {
|
|
let t = kn;
|
|
const r = tq.reduce((n, o) => (n[o] = "".concat(Ge.cssPrefix, "-").concat(o), n), {});
|
|
return VY.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => S$e[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function xx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = kn
|
|
} = t, n = i$e[r][e];
|
|
if (r === yx && !e)
|
|
return "fad";
|
|
const o = Z9[r][e] || Z9[r][n], a = e in Ga.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function T$e(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = A$e(Ge.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function nR(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function wx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = XS.concat(q2e), a = nR(e.filter((l) => o.includes(l))), i = nR(e.filter((l) => !XS.includes(l))), s = a.filter((l) => (n = l, !WY.includes(l))), [u = null] = s, c = N$e(a), d = ve(ve({}, T$e(i)), {}, {
|
|
prefix: xx(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return ve(ve(ve({}, d), M$e({
|
|
values: e,
|
|
family: c,
|
|
styles: Wg,
|
|
config: Ge,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), I$e(r, n, d));
|
|
}
|
|
function I$e(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? lq(o) : {}, i = lu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Wg.far && Wg.fas && !Ge.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const j$e = VY.filter((e) => e !== kn || e !== yx), R$e = Object.keys(KS).filter((e) => e !== kn).map((e) => Object.keys(KS[e])).flat();
|
|
function M$e(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === yx, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && j$e.includes(r) && (Object.keys(a).find((l) => R$e.includes(l)) || i.autoFetchSvg)) {
|
|
const l = z2e.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = lu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = vc() || "fas"), n;
|
|
}
|
|
let D$e = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = ve(ve({}, this.definitions[a] || {}), o[a]), rE(a, o[a]);
|
|
const i = xP[kn][a];
|
|
i && rE(i, o[a]), sq();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, oR = [], Rf = {};
|
|
const md = {}, F$e = Object.keys(md);
|
|
function L$e(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return oR = e, Rf = {}, Object.keys(md).forEach((n) => {
|
|
F$e.indexOf(n) === -1 && delete md[n];
|
|
}), oR.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Rf[i] || (Rf[i] = []), Rf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(md);
|
|
}), r;
|
|
}
|
|
function nE(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Rf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Lu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Rf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function xc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return md[e] ? md[e].apply(null, t) : void 0;
|
|
}
|
|
function oE(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || vc();
|
|
if (t)
|
|
return t = lu(r, t) || t, tR(uq.definitions, r, t) || tR(Ga.styles, r, t);
|
|
}
|
|
const uq = new D$e(), z$e = () => {
|
|
Ge.autoReplaceSvg = !1, Ge.observeMutations = !1, Lu("noAuto");
|
|
}, W$e = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return bs ? (Lu("beforeI2svg", e), xc("pseudoElements2svg", e), xc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Ge.autoReplaceSvg === !1 && (Ge.autoReplaceSvg = !0), Ge.observeMutations = !0, $$e(() => {
|
|
H$e({
|
|
autoReplaceSvgRoot: t
|
|
}), Lu("watch", e);
|
|
});
|
|
}
|
|
}, V$e = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: lu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = xx(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: lu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Ge.cssPrefix, "-")) > -1 || e.match(s$e))) {
|
|
const t = wx(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || vc(),
|
|
iconName: lu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = vc();
|
|
return {
|
|
prefix: t,
|
|
iconName: lu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, co = {
|
|
noAuto: z$e,
|
|
config: Ge,
|
|
dom: W$e,
|
|
parse: V$e,
|
|
library: uq,
|
|
findIconDefinition: oE,
|
|
toHtml: Db
|
|
}, H$e = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = zr
|
|
} = e;
|
|
(Object.keys(Ga.styles).length > 0 || Ge.autoFetchSvg) && bs && Ge.autoReplaceSvg && co.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function $x(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Db(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!bs) return;
|
|
const r = zr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function G$e(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if ($P(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = vx(ve(ve({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function U$e(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Ge.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ve(ve({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function OP(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = U2e.includes(n), m = [Ge.replacementClass, o ? "".concat(Ge.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: ve(ve({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Fu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || zg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = ve(ve({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ve(ve({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? xc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : xc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? U$e($) : G$e($);
|
|
}
|
|
function aR(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = ve(ve(ve({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Fu] = "");
|
|
const c = ve({}, i.styles);
|
|
$P(o) && (c.transform = v$e({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = vx(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function B$e(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ve(ve(ve({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = vx(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: h$
|
|
} = Ga;
|
|
function aE(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Ge.cssPrefix, "-").concat(d$.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ge.cssPrefix, "-").concat(d$.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ge.cssPrefix, "-").concat(d$.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const Y$e = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function q$e(e, t) {
|
|
!BY && !Ge.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function iE(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Ge.styleDefault !== null && (t = vc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = lq(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && h$[t] && h$[t][e]) {
|
|
const a = h$[t][e];
|
|
return n(aE(a));
|
|
}
|
|
q$e(e, t), n(ve(ve({}, Y$e), {}, {
|
|
icon: Ge.showMissingIcons && e ? xc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const iR = () => {
|
|
}, sE = Ge.measurePerformance && Ny && Ny.mark && Ny.measure ? Ny : {
|
|
mark: iR,
|
|
measure: iR
|
|
}, fh = 'FA "6.7.2"', K$e = (e) => (sE.mark("".concat(fh, " ").concat(e, " begins")), () => fq(e)), fq = (e) => {
|
|
sE.mark("".concat(fh, " ").concat(e, " ends")), sE.measure("".concat(fh, " ").concat(e), "".concat(fh, " ").concat(e, " begins"), "".concat(fh, " ").concat(e, " ends"));
|
|
};
|
|
var SP = {
|
|
begin: K$e,
|
|
end: fq
|
|
};
|
|
const Lv = () => {
|
|
};
|
|
function sR(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Fu) : null) == "string";
|
|
}
|
|
function X$e(e) {
|
|
const t = e.getAttribute ? e.getAttribute(yP) : null, r = e.getAttribute ? e.getAttribute(vP) : null;
|
|
return t && r;
|
|
}
|
|
function J$e(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Ge.replacementClass);
|
|
}
|
|
function Q$e() {
|
|
return Ge.autoReplaceSvg === !0 ? zv.replace : zv[Ge.autoReplaceSvg] || zv.replace;
|
|
}
|
|
function Z$e(e) {
|
|
return zr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function eke(e) {
|
|
return zr.createElement(e);
|
|
}
|
|
function dq(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? Z$e : eke
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return zr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(dq(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function tke(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const zv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(dq(r), t);
|
|
}), t.getAttribute(Fu) === null && Ge.keepOriginalSource) {
|
|
let r = zr.createComment(tke(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~wP(t).indexOf(Ge.replacementClass))
|
|
return zv.replace(e);
|
|
const n = new RegExp("".concat(Ge.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ge.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Db(a)).join(`
|
|
`);
|
|
t.setAttribute(Fu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function lR(e) {
|
|
e();
|
|
}
|
|
function pq(e, t) {
|
|
const r = typeof t == "function" ? t : Lv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = lR;
|
|
Ge.mutateApproach === o$e && (n = yc.requestAnimationFrame || lR), n(() => {
|
|
const o = Q$e(), a = SP.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let EP = !1;
|
|
function mq() {
|
|
EP = !0;
|
|
}
|
|
function lE() {
|
|
EP = !1;
|
|
}
|
|
let W1 = null;
|
|
function cR(e) {
|
|
if (!K9 || !Ge.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Lv,
|
|
nodeCallback: r = Lv,
|
|
pseudoElementsCallback: n = Lv,
|
|
observeMutationsRoot: o = zr
|
|
} = e;
|
|
W1 = new K9((a) => {
|
|
if (EP) return;
|
|
const i = vc();
|
|
pp(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !sR(s.addedNodes[0]) && (Ge.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ge.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && sR(s.target) && ~u$e.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && X$e(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = wx(wP(s.target));
|
|
s.target.setAttribute(yP, u || i), c && s.target.setAttribute(vP, c);
|
|
} else J$e(s.target) && r(s.target);
|
|
});
|
|
}), bs && W1.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function rke() {
|
|
W1 && W1.disconnect();
|
|
}
|
|
function nke(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function oke(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = wx(wP(e));
|
|
return o.prefix || (o.prefix = vc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = P$e(o.prefix, e.innerText) || _P(o.prefix, eq(e.innerText))), !o.iconName && Ge.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function ake(e) {
|
|
const t = pp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Ge.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ge.replacementClass, "-title-").concat(n || zg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function ike() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Ha,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function uR(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = oke(e), a = ake(e), i = nE("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? nke(e) : [];
|
|
return ve({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Ha,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: ske
|
|
} = Ga;
|
|
function hq(e) {
|
|
const t = Ge.autoReplaceSvg === "nest" ? uR(e, {
|
|
styleParser: !1
|
|
}) : uR(e);
|
|
return ~t.extra.classes.indexOf(qY) ? xc("generateLayersText", e, t) : xc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function lke() {
|
|
return [...V2e, ...XS];
|
|
}
|
|
function fR(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!bs) return Promise.resolve();
|
|
const r = zr.documentElement.classList, n = (d) => r.add("".concat(Q9, "-").concat(d)), o = (d) => r.remove("".concat(Q9, "-").concat(d)), a = Ge.autoFetchSvg ? lke() : WY.concat(Object.keys(ske));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(qY, ":not([").concat(Fu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Fu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = pp(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = SP.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = hq(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
BY || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
pq(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function cke(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
hq(e).then((r) => {
|
|
r && pq([r], t);
|
|
});
|
|
}
|
|
function uke(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : oE(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : oE(o || {})), e(n, ve(ve({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const fke = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ha,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return $x(ve({
|
|
type: "icon"
|
|
}, e), () => (Lu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Ge.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ge.replacementClass, "-title-").concat(s || zg()) : (c["aria-hidden"] = "true", c.focusable = "false")), OP({
|
|
icons: {
|
|
main: aE(p),
|
|
mask: o ? aE(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: ve(ve({}, Ha), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var dke = {
|
|
mixout() {
|
|
return {
|
|
icon: uke(fke)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = fR, e.nodeCallback = cke, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = zr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return fR(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([iE(n, i), c.iconName ? iE(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, OP({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = vx(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return $P(a) && (u = xc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, pke = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return $x({
|
|
type: "layer"
|
|
}, () => {
|
|
Lu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Ge.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, mke = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return $x({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Lu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), B$e({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Ge.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, hke = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ha,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return $x({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Lu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), aR({
|
|
content: e,
|
|
transform: ve(ve({}, Ha), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Ge.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (LY) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Ge.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, aR({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const gke = new RegExp('"', "ug"), dR = [1105920, 1112319], pR = ve(ve(ve(ve({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), L2e), r$e), K2e), cE = Object.keys(pR).reduce((e, t) => (e[t.toLowerCase()] = pR[t], e), {}), bke = Object.keys(cE).reduce((e, t) => {
|
|
const r = cE[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function yke(e) {
|
|
const t = e.replace(gke, ""), r = _$e(t, 0), n = r >= dR[0] && r <= dR[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: eq(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function vke(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (cE[r] || {})[o] || bke[r];
|
|
}
|
|
function mR(e, t) {
|
|
const r = "".concat(n$e).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = pp(e.children).filter((l) => l.getAttribute(QS) === t)[0], i = yc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(l$e), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = vke(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = yke(l), m = u[0].startsWith("FontAwesome");
|
|
let h = _P(f, p), w = h;
|
|
if (m) {
|
|
const $ = C$e(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(yP) !== f || a.getAttribute(vP) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = ike(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[QS] = t, iE(h, f).then((S) => {
|
|
const b = OP(ve(ve({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: cq()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = zr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Db(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function xke(e) {
|
|
return Promise.all([mR(e, "::before"), mR(e, "::after")]);
|
|
}
|
|
function wke(e) {
|
|
return e.parentNode !== document.head && !~a$e.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(QS) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function hR(e) {
|
|
if (bs)
|
|
return new Promise((t, r) => {
|
|
const n = pp(e.querySelectorAll("*")).filter(wke).map(xke), o = SP.begin("searchPseudoElements");
|
|
mq(), Promise.all(n).then(() => {
|
|
o(), lE(), t();
|
|
}).catch(() => {
|
|
o(), lE(), r();
|
|
});
|
|
});
|
|
}
|
|
var $ke = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = hR, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = zr
|
|
} = t;
|
|
Ge.searchPseudoElements && hR(r);
|
|
};
|
|
}
|
|
};
|
|
let gR = !1;
|
|
var kke = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
mq(), gR = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
cR(nE("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
rke();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
gR ? lE() : cR(nE("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const bR = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var _ke = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => bR(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = bR(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ve({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ve({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ve(ve({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const g$ = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function yR(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function Oke(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var Ske = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? wx(r.split(" ").map((o) => o.trim())) : cq();
|
|
return n.prefix || (n.prefix = vc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = y$e({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: ve(ve({}, g$), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(yR)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ve({}, f.inner),
|
|
children: [yR(ve({
|
|
tag: c.tag,
|
|
attributes: ve(ve({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: ve({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || zg()), $ = "clip-".concat(i || zg()), _ = {
|
|
tag: "mask",
|
|
attributes: ve(ve({}, g$), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: Oke(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: ve({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, g$)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Eke = {
|
|
provides(e) {
|
|
let t = !1;
|
|
yc.matchMedia && (t = yc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: ve(ve({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = ve(ve({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ve(ve({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ve(ve({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ve(ve({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ve(ve({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: ve(ve({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ve(ve({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: ve(ve({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, Ake = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, Pke = [w$e, dke, pke, mke, hke, $ke, kke, _ke, Ske, Eke, Ake];
|
|
L$e(Pke, {
|
|
mixoutsTo: co
|
|
});
|
|
co.noAuto;
|
|
co.config;
|
|
co.library;
|
|
co.dom;
|
|
const uE = co.parse;
|
|
co.findIconDefinition;
|
|
co.toHtml;
|
|
const Cke = co.icon;
|
|
co.layer;
|
|
co.text;
|
|
co.counter;
|
|
var Iy = { exports: {} }, b$ = { exports: {} }, Jt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var vR;
|
|
function Nke() {
|
|
if (vR) return Jt;
|
|
vR = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return Jt.AsyncMode = u, Jt.ConcurrentMode = c, Jt.ContextConsumer = s, Jt.ContextProvider = i, Jt.Element = t, Jt.ForwardRef = d, Jt.Fragment = n, Jt.Lazy = y, Jt.Memo = p, Jt.Portal = r, Jt.Profiler = a, Jt.StrictMode = o, Jt.Suspense = l, Jt.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, Jt.isConcurrentMode = S, Jt.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, Jt.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, Jt.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Jt.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, Jt.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, Jt.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, Jt.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, Jt.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, Jt.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, Jt.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, Jt.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, Jt.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, Jt.typeOf = _, Jt;
|
|
}
|
|
var cr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var xR;
|
|
function Tke() {
|
|
return xR || (xR = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
cr.AsyncMode = b, cr.ConcurrentMode = F, cr.ContextConsumer = z, cr.ContextProvider = q, cr.Element = Y, cr.ForwardRef = B, cr.Fragment = Z, cr.Lazy = M, cr.Memo = te, cr.Portal = G, cr.Profiler = H, cr.StrictMode = U, cr.Suspense = W, cr.isAsyncMode = ee, cr.isConcurrentMode = v, cr.isContextConsumer = g, cr.isContextProvider = O, cr.isElement = P, cr.isForwardRef = A, cr.isFragment = T, cr.isLazy = N, cr.isMemo = C, cr.isPortal = I, cr.isProfiler = j, cr.isStrictMode = R, cr.isSuspense = Q, cr.isValidElementType = _, cr.typeOf = S;
|
|
}()), cr;
|
|
}
|
|
var wR;
|
|
function gq() {
|
|
return wR || (wR = 1, process.env.NODE_ENV === "production" ? b$.exports = Nke() : b$.exports = Tke()), b$.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var y$, $R;
|
|
function Ike() {
|
|
if ($R) return y$;
|
|
$R = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return y$ = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, y$;
|
|
}
|
|
var v$, kR;
|
|
function AP() {
|
|
if (kR) return v$;
|
|
kR = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return v$ = e, v$;
|
|
}
|
|
var _R, OR;
|
|
function bq() {
|
|
return OR || (OR = 1, _R = Function.call.bind(Object.prototype.hasOwnProperty)), _R;
|
|
}
|
|
var x$, SR;
|
|
function jke() {
|
|
if (SR) return x$;
|
|
SR = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ AP(), r = {}, n = /* @__PURE__ */ bq();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, x$ = o, x$;
|
|
}
|
|
var w$, ER;
|
|
function Rke() {
|
|
if (ER) return w$;
|
|
ER = 1;
|
|
var e = gq(), t = Ike(), r = /* @__PURE__ */ AP(), n = /* @__PURE__ */ bq(), o = /* @__PURE__ */ jke(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return w$ = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, w$;
|
|
}
|
|
var $$, AR;
|
|
function Mke() {
|
|
if (AR) return $$;
|
|
AR = 1;
|
|
var e = /* @__PURE__ */ AP();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, $$ = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, $$;
|
|
}
|
|
var PR;
|
|
function Dke() {
|
|
if (PR) return Iy.exports;
|
|
if (PR = 1, process.env.NODE_ENV !== "production") {
|
|
var e = gq(), t = !0;
|
|
Iy.exports = /* @__PURE__ */ Rke()(e.isElement, t);
|
|
} else
|
|
Iy.exports = /* @__PURE__ */ Mke()();
|
|
return Iy.exports;
|
|
}
|
|
var Fke = /* @__PURE__ */ Dke();
|
|
const Nt = /* @__PURE__ */ Cwe(Fke);
|
|
function CR(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ka(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? CR(Object(r), !0).forEach(function(n) {
|
|
Mf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : CR(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function V1(e) {
|
|
"@babel/helpers - typeof";
|
|
return V1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, V1(e);
|
|
}
|
|
function Mf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Lke(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function zke(e, t) {
|
|
if (e == null) return {};
|
|
var r = Lke(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function fE(e) {
|
|
return Wke(e) || Vke(e) || Hke(e) || Gke();
|
|
}
|
|
function Wke(e) {
|
|
if (Array.isArray(e)) return dE(e);
|
|
}
|
|
function Vke(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function Hke(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return dE(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return dE(e, t);
|
|
}
|
|
}
|
|
function dE(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function Gke() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function Uke(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Mf(t, "fa-".concat(w), typeof w < "u" && w !== null), Mf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Mf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Mf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function Bke(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function yq(e) {
|
|
return Bke(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var Yke = ["style"];
|
|
function qke(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function Kke(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = yq(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[qke(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function vq(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return vq(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = Kke(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[yq(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = zke(r, Yke);
|
|
return o.attrs.style = ka(ka({}, o.attrs.style), i), e.apply(void 0, [t.tag, ka(ka({}, o.attrs), s)].concat(fE(n)));
|
|
}
|
|
var xq = !1;
|
|
try {
|
|
xq = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function Xke() {
|
|
if (!xq && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function NR(e) {
|
|
if (e && V1(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (uE.icon)
|
|
return uE.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && V1(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function k$(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Mf({}, e, t) : {};
|
|
}
|
|
var TR = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, H1 = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = ka(ka({}, TR), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = NR(n), l = k$("classes", [].concat(fE(Uke(r)), fE((i || "").split(" ")))), f = k$("transform", typeof r.transform == "string" ? uE.transform(r.transform) : r.transform), p = k$("mask", NR(o)), y = Cke(d, ka(ka(ka(ka({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return Xke("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
TR.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), Jke(m[0], h);
|
|
});
|
|
H1.displayName = "FontAwesomeIcon";
|
|
H1.propTypes = {
|
|
beat: Nt.bool,
|
|
border: Nt.bool,
|
|
beatFade: Nt.bool,
|
|
bounce: Nt.bool,
|
|
className: Nt.string,
|
|
fade: Nt.bool,
|
|
flash: Nt.bool,
|
|
mask: Nt.oneOfType([Nt.object, Nt.array, Nt.string]),
|
|
maskId: Nt.string,
|
|
fixedWidth: Nt.bool,
|
|
inverse: Nt.bool,
|
|
flip: Nt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Nt.oneOfType([Nt.object, Nt.array, Nt.string]),
|
|
listItem: Nt.bool,
|
|
pull: Nt.oneOf(["right", "left"]),
|
|
pulse: Nt.bool,
|
|
rotation: Nt.oneOf([0, 90, 180, 270]),
|
|
shake: Nt.bool,
|
|
size: Nt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Nt.bool,
|
|
spinPulse: Nt.bool,
|
|
spinReverse: Nt.bool,
|
|
symbol: Nt.oneOfType([Nt.bool, Nt.string]),
|
|
title: Nt.string,
|
|
titleId: Nt.string,
|
|
transform: Nt.oneOfType([Nt.string, Nt.object]),
|
|
swapOpacity: Nt.bool
|
|
};
|
|
var Jke = vq.bind(null, ae.createElement);
|
|
const PP = "-", Qke = (e) => {
|
|
const t = e_e(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(PP);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), wq(a, t) || Zke(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, wq = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? wq(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(PP);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, IR = /^\[(.+)\]$/, Zke = (e) => {
|
|
if (IR.test(e)) {
|
|
const t = IR.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, e_e = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return r_e(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
pE(a, n, o, t);
|
|
}), n;
|
|
}, pE = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : jR(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (t_e(o)) {
|
|
pE(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
pE(i, jR(t, a), r, n);
|
|
});
|
|
});
|
|
}, jR = (e, t) => {
|
|
let r = e;
|
|
return t.split(PP).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, t_e = (e) => e.isThemeGetter, r_e = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, n_e = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, $q = "!", o_e = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith($q), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, a_e = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, i_e = (e) => ({
|
|
cache: n_e(e.cacheSize),
|
|
parseClassName: o_e(e),
|
|
...Qke(e)
|
|
}), s_e = /\s+/, l_e = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(s_e);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = a_e(d).join(":"), w = l ? h + $q : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function c_e() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = kq(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const kq = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = kq(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function u_e(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = i_e(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = l_e(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(c_e.apply(null, arguments));
|
|
};
|
|
}
|
|
const Pr = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, _q = /^\[(?:([a-z-]+):)?(.+)\]$/i, f_e = /^\d+\/\d+$/, d_e = /* @__PURE__ */ new Set(["px", "full", "screen"]), p_e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, m_e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, h_e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, g_e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, b_e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ki = (e) => hd(e) || d_e.has(e) || f_e.test(e), ml = (e) => mp(e, "length", O_e), hd = (e) => !!e && !Number.isNaN(Number(e)), _$ = (e) => mp(e, "number", hd), Rm = (e) => !!e && Number.isInteger(Number(e)), y_e = (e) => e.endsWith("%") && hd(e.slice(0, -1)), mt = (e) => _q.test(e), hl = (e) => p_e.test(e), v_e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), x_e = (e) => mp(e, v_e, Oq), w_e = (e) => mp(e, "position", Oq), $_e = /* @__PURE__ */ new Set(["image", "url"]), k_e = (e) => mp(e, $_e, E_e), __e = (e) => mp(e, "", S_e), Mm = () => !0, mp = (e, t, r) => {
|
|
const n = _q.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, O_e = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
m_e.test(e) && !h_e.test(e)
|
|
), Oq = () => !1, S_e = (e) => g_e.test(e), E_e = (e) => b_e.test(e), A_e = () => {
|
|
const e = Pr("colors"), t = Pr("spacing"), r = Pr("blur"), n = Pr("brightness"), o = Pr("borderColor"), a = Pr("borderRadius"), i = Pr("borderSpacing"), s = Pr("borderWidth"), u = Pr("contrast"), c = Pr("grayscale"), d = Pr("hueRotate"), l = Pr("invert"), f = Pr("gap"), p = Pr("gradientColorStops"), y = Pr("gradientColorStopPositions"), m = Pr("inset"), h = Pr("margin"), w = Pr("opacity"), $ = Pr("padding"), _ = Pr("saturate"), S = Pr("scale"), b = Pr("sepia"), F = Pr("skew"), z = Pr("space"), q = Pr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", mt, t], M = () => [mt, t], te = () => ["", ki, ml], G = () => ["auto", hd, mt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", mt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [hd, mt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Mm],
|
|
spacing: [ki, ml],
|
|
blur: ["none", "", hl, mt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", hl, mt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [y_e, ml],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", mt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [hl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), mt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Rm, mt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", mt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Rm, mt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Mm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Rm, mt]
|
|
}, mt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Mm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Rm, mt]
|
|
}, mt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", mt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", mt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", mt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [mt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [mt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [hl]
|
|
}, hl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [mt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [mt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [mt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [mt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", hl, ml]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", _$]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Mm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", mt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", hd, _$]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", ki, mt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", mt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", mt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", ki, ml]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", ki, mt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", mt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", mt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), w_e]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", x_e]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, k_e]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [ki, mt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [ki, ml]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [ki, ml]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", hl, __e]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Mm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", hl, mt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", mt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", mt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", mt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Rm, mt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", mt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", mt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", mt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [ki, ml, _$]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, O$ = /* @__PURE__ */ u_e(A_e), jy = ({
|
|
onChange: e,
|
|
options: t,
|
|
placeholder: r,
|
|
value: n,
|
|
id: o,
|
|
className: a
|
|
}) => {
|
|
const i = t.find(
|
|
(s) => s.value === n
|
|
) || { label: r || "" };
|
|
return /* @__PURE__ */ K("div", { className: O$("relative", a), children: /* @__PURE__ */ K(E2e, { value: n || "", onChange: e, children: ({ open: s }) => /* @__PURE__ */ Te(rn, { children: [
|
|
/* @__PURE__ */ Te(
|
|
IY,
|
|
{
|
|
id: o,
|
|
className: "relative h-10 w-full cursor-pointer rounded-md bg-ui-controls text-base-fg border border-ui-controls-border py-2 pl-3 pr-10 text-left outline-none outline-offset-0 transition-all duration-150 ease-in-out sm:text-sm focus:!outline-none hover:bg-ui-controls/80",
|
|
children: [
|
|
/* @__PURE__ */ K(
|
|
"span",
|
|
{
|
|
className: O$("block truncate", !n && "opacity-50"),
|
|
children: i.label
|
|
}
|
|
),
|
|
/* @__PURE__ */ K("span", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2.5", children: /* @__PURE__ */ K(H1, { icon: A2e, "aria-hidden": "true" }) })
|
|
]
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(
|
|
a2e,
|
|
{
|
|
as: "div",
|
|
show: s,
|
|
leave: "transition ease-in duration-[50ms]",
|
|
leaveFrom: "opacity-100",
|
|
leaveTo: "opacity-0",
|
|
children: /* @__PURE__ */ K(jY, { className: "absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-ui-panel border border-ui-panel-border py-1.5 text-base shadow-xl focus:outline-none sm:text-sm", children: t.map((u, c) => /* @__PURE__ */ K(
|
|
RY,
|
|
{
|
|
className: ({ focus: d, selected: l }) => O$(
|
|
"relative cursor-pointer select-none py-2 pl-7 pr-2 transition-all duration-150 ease-in-out",
|
|
d && "bg-ui-controls/50",
|
|
l && "bg-primary/20",
|
|
l ? "text-base-fg" : "text-base-fg/90"
|
|
),
|
|
value: u.value,
|
|
children: ({ selected: d }) => /* @__PURE__ */ Te(rn, { children: [
|
|
/* @__PURE__ */ K(
|
|
"span",
|
|
{
|
|
className: `block truncate ${d ? "font-medium" : "font-normal"}`,
|
|
children: u.label
|
|
}
|
|
),
|
|
d ? /* @__PURE__ */ K("span", { className: "absolute inset-y-0 left-0 flex items-center pl-2.5", children: /* @__PURE__ */ K(
|
|
H1,
|
|
{
|
|
icon: P2e,
|
|
"aria-hidden": "true",
|
|
className: "text-xs"
|
|
}
|
|
) }) : null
|
|
] })
|
|
},
|
|
c
|
|
)) })
|
|
}
|
|
)
|
|
] }) }) });
|
|
}, Sq = typeof document < "u" ? ae.useLayoutEffect : () => {
|
|
};
|
|
function P_e(e) {
|
|
const t = ne(null);
|
|
return Sq(() => {
|
|
t.current = e;
|
|
}, [
|
|
e
|
|
]), Ne((...r) => {
|
|
const n = t.current;
|
|
return n == null ? void 0 : n(...r);
|
|
}, []);
|
|
}
|
|
const Bc = (e) => {
|
|
var t;
|
|
return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document;
|
|
}, cu = (e) => e && "window" in e && e.window === e ? e : Bc(e).defaultView || window;
|
|
function Eq(e, t) {
|
|
return t && e ? e.contains(t) : !1;
|
|
}
|
|
const mE = (e = document) => e.activeElement;
|
|
function Aq(e) {
|
|
return e.target;
|
|
}
|
|
function C_e(e) {
|
|
var t;
|
|
return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((r) => e.test(r.brand))) || e.test(window.navigator.userAgent);
|
|
}
|
|
function N_e(e) {
|
|
var t;
|
|
return typeof window < "u" && window.navigator != null ? e.test(((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.platform) || window.navigator.platform) : !1;
|
|
}
|
|
function Pq(e) {
|
|
let t = null;
|
|
return () => (t == null && (t = e()), t);
|
|
}
|
|
const T_e = Pq(function() {
|
|
return N_e(/^Mac/i);
|
|
}), I_e = Pq(function() {
|
|
return C_e(/Android/i);
|
|
});
|
|
function Cq() {
|
|
let e = ne(/* @__PURE__ */ new Map()), t = Ne((o, a, i, s) => {
|
|
let u = s != null && s.once ? (...c) => {
|
|
e.current.delete(i), i(...c);
|
|
} : i;
|
|
e.current.set(i, {
|
|
type: a,
|
|
eventTarget: o,
|
|
fn: u,
|
|
options: s
|
|
}), o.addEventListener(a, u, s);
|
|
}, []), r = Ne((o, a, i, s) => {
|
|
var u;
|
|
let c = ((u = e.current.get(i)) === null || u === void 0 ? void 0 : u.fn) || i;
|
|
o.removeEventListener(a, c, s), e.current.delete(i);
|
|
}, []), n = Ne(() => {
|
|
e.current.forEach((o, a) => {
|
|
r(o.eventTarget, o.type, a, o.options);
|
|
});
|
|
}, [
|
|
r
|
|
]);
|
|
return ue(() => n, [
|
|
n
|
|
]), {
|
|
addGlobalListener: t,
|
|
removeGlobalListener: r,
|
|
removeAllGlobalListeners: n
|
|
};
|
|
}
|
|
function j_e(e) {
|
|
return e.mozInputSource === 0 && e.isTrusted ? !0 : I_e() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
|
|
}
|
|
let Nq = class {
|
|
isDefaultPrevented() {
|
|
return this.nativeEvent.defaultPrevented;
|
|
}
|
|
preventDefault() {
|
|
this.defaultPrevented = !0, this.nativeEvent.preventDefault();
|
|
}
|
|
stopPropagation() {
|
|
this.nativeEvent.stopPropagation(), this.isPropagationStopped = () => !0;
|
|
}
|
|
isPropagationStopped() {
|
|
return !1;
|
|
}
|
|
persist() {
|
|
}
|
|
constructor(t, r) {
|
|
this.nativeEvent = r, this.target = r.target, this.currentTarget = r.currentTarget, this.relatedTarget = r.relatedTarget, this.bubbles = r.bubbles, this.cancelable = r.cancelable, this.defaultPrevented = r.defaultPrevented, this.eventPhase = r.eventPhase, this.isTrusted = r.isTrusted, this.timeStamp = r.timeStamp, this.type = t;
|
|
}
|
|
};
|
|
function Tq(e) {
|
|
let t = ne({
|
|
isFocused: !1,
|
|
observer: null
|
|
});
|
|
Sq(() => {
|
|
const n = t.current;
|
|
return () => {
|
|
n.observer && (n.observer.disconnect(), n.observer = null);
|
|
};
|
|
}, []);
|
|
let r = P_e((n) => {
|
|
e == null || e(n);
|
|
});
|
|
return Ne((n) => {
|
|
if (n.target instanceof HTMLButtonElement || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement || n.target instanceof HTMLSelectElement) {
|
|
t.current.isFocused = !0;
|
|
let o = n.target, a = (i) => {
|
|
t.current.isFocused = !1, o.disabled && r(new Nq("blur", i)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
|
|
};
|
|
o.addEventListener("focusout", a, {
|
|
once: !0
|
|
}), t.current.observer = new MutationObserver(() => {
|
|
if (t.current.isFocused && o.disabled) {
|
|
var i;
|
|
(i = t.current.observer) === null || i === void 0 || i.disconnect();
|
|
let s = o === document.activeElement ? null : document.activeElement;
|
|
o.dispatchEvent(new FocusEvent("blur", {
|
|
relatedTarget: s
|
|
})), o.dispatchEvent(new FocusEvent("focusout", {
|
|
bubbles: !0,
|
|
relatedTarget: s
|
|
}));
|
|
}
|
|
}), t.current.observer.observe(o, {
|
|
attributes: !0,
|
|
attributeFilter: [
|
|
"disabled"
|
|
]
|
|
});
|
|
}
|
|
}, [
|
|
r
|
|
]);
|
|
}
|
|
let R_e = !1, Fb = null, hE = /* @__PURE__ */ new Set(), Gh = /* @__PURE__ */ new Map(), zu = !1, gE = !1;
|
|
const M_e = {
|
|
Tab: !0,
|
|
Escape: !0
|
|
};
|
|
function CP(e, t) {
|
|
for (let r of hE) r(e, t);
|
|
}
|
|
function D_e(e) {
|
|
return !(e.metaKey || !T_e() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
|
|
}
|
|
function G1(e) {
|
|
zu = !0, D_e(e) && (Fb = "keyboard", CP("keyboard", e));
|
|
}
|
|
function Eo(e) {
|
|
Fb = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (zu = !0, CP("pointer", e));
|
|
}
|
|
function Iq(e) {
|
|
j_e(e) && (zu = !0, Fb = "virtual");
|
|
}
|
|
function jq(e) {
|
|
e.target === window || e.target === document || R_e || !e.isTrusted || (!zu && !gE && (Fb = "virtual", CP("virtual", e)), zu = !1, gE = !1);
|
|
}
|
|
function Rq() {
|
|
zu = !1, gE = !0;
|
|
}
|
|
function bE(e) {
|
|
if (typeof window > "u" || Gh.get(cu(e))) return;
|
|
const t = cu(e), r = Bc(e);
|
|
let n = t.HTMLElement.prototype.focus;
|
|
t.HTMLElement.prototype.focus = function() {
|
|
zu = !0, n.apply(this, arguments);
|
|
}, r.addEventListener("keydown", G1, !0), r.addEventListener("keyup", G1, !0), r.addEventListener("click", Iq, !0), t.addEventListener("focus", jq, !0), t.addEventListener("blur", Rq, !1), typeof PointerEvent < "u" ? (r.addEventListener("pointerdown", Eo, !0), r.addEventListener("pointermove", Eo, !0), r.addEventListener("pointerup", Eo, !0)) : (r.addEventListener("mousedown", Eo, !0), r.addEventListener("mousemove", Eo, !0), r.addEventListener("mouseup", Eo, !0)), t.addEventListener("beforeunload", () => {
|
|
Mq(e);
|
|
}, {
|
|
once: !0
|
|
}), Gh.set(t, {
|
|
focus: n
|
|
});
|
|
}
|
|
const Mq = (e, t) => {
|
|
const r = cu(e), n = Bc(e);
|
|
t && n.removeEventListener("DOMContentLoaded", t), Gh.has(r) && (r.HTMLElement.prototype.focus = Gh.get(r).focus, n.removeEventListener("keydown", G1, !0), n.removeEventListener("keyup", G1, !0), n.removeEventListener("click", Iq, !0), r.removeEventListener("focus", jq, !0), r.removeEventListener("blur", Rq, !1), typeof PointerEvent < "u" ? (n.removeEventListener("pointerdown", Eo, !0), n.removeEventListener("pointermove", Eo, !0), n.removeEventListener("pointerup", Eo, !0)) : (n.removeEventListener("mousedown", Eo, !0), n.removeEventListener("mousemove", Eo, !0), n.removeEventListener("mouseup", Eo, !0)), Gh.delete(r));
|
|
};
|
|
function F_e(e) {
|
|
const t = Bc(e);
|
|
let r;
|
|
return t.readyState !== "loading" ? bE(e) : (r = () => {
|
|
bE(e);
|
|
}, t.addEventListener("DOMContentLoaded", r)), () => Mq(e, r);
|
|
}
|
|
typeof document < "u" && F_e();
|
|
function Dq() {
|
|
return Fb !== "pointer";
|
|
}
|
|
const L_e = /* @__PURE__ */ new Set([
|
|
"checkbox",
|
|
"radio",
|
|
"range",
|
|
"color",
|
|
"file",
|
|
"image",
|
|
"button",
|
|
"submit",
|
|
"reset"
|
|
]);
|
|
function z_e(e, t, r) {
|
|
let n = Bc(r == null ? void 0 : r.target);
|
|
const o = typeof window < "u" ? cu(r == null ? void 0 : r.target).HTMLInputElement : HTMLInputElement, a = typeof window < "u" ? cu(r == null ? void 0 : r.target).HTMLTextAreaElement : HTMLTextAreaElement, i = typeof window < "u" ? cu(r == null ? void 0 : r.target).HTMLElement : HTMLElement, s = typeof window < "u" ? cu(r == null ? void 0 : r.target).KeyboardEvent : KeyboardEvent;
|
|
return e = e || n.activeElement instanceof o && !L_e.has(n.activeElement.type) || n.activeElement instanceof a || n.activeElement instanceof i && n.activeElement.isContentEditable, !(e && t === "keyboard" && r instanceof s && !M_e[r.key]);
|
|
}
|
|
function W_e(e, t, r) {
|
|
bE(), ue(() => {
|
|
let n = (o, a) => {
|
|
z_e(!!(r != null && r.isTextInput), o, a) && e(Dq());
|
|
};
|
|
return hE.add(n), () => {
|
|
hE.delete(n);
|
|
};
|
|
}, t);
|
|
}
|
|
function V_e(e) {
|
|
let { isDisabled: t, onFocus: r, onBlur: n, onFocusChange: o } = e;
|
|
const a = Ne((u) => {
|
|
if (u.target === u.currentTarget)
|
|
return n && n(u), o && o(!1), !0;
|
|
}, [
|
|
n,
|
|
o
|
|
]), i = Tq(a), s = Ne((u) => {
|
|
const c = Bc(u.target), d = c ? mE(c) : mE();
|
|
u.target === u.currentTarget && d === Aq(u.nativeEvent) && (r && r(u), o && o(!0), i(u));
|
|
}, [
|
|
o,
|
|
r,
|
|
i
|
|
]);
|
|
return {
|
|
focusProps: {
|
|
onFocus: !t && (r || o || n) ? s : void 0,
|
|
onBlur: !t && (n || o) ? a : void 0
|
|
}
|
|
};
|
|
}
|
|
function H_e(e) {
|
|
let { isDisabled: t, onBlurWithin: r, onFocusWithin: n, onFocusWithinChange: o } = e, a = ne({
|
|
isFocusWithin: !1
|
|
}), { addGlobalListener: i, removeAllGlobalListeners: s } = Cq(), u = Ne((l) => {
|
|
l.currentTarget.contains(l.target) && a.current.isFocusWithin && !l.currentTarget.contains(l.relatedTarget) && (a.current.isFocusWithin = !1, s(), r && r(l), o && o(!1));
|
|
}, [
|
|
r,
|
|
o,
|
|
a,
|
|
s
|
|
]), c = Tq(u), d = Ne((l) => {
|
|
if (!l.currentTarget.contains(l.target)) return;
|
|
const f = Bc(l.target), p = mE(f);
|
|
if (!a.current.isFocusWithin && p === Aq(l.nativeEvent)) {
|
|
n && n(l), o && o(!0), a.current.isFocusWithin = !0, c(l);
|
|
let y = l.currentTarget;
|
|
i(f, "focus", (m) => {
|
|
if (a.current.isFocusWithin && !Eq(y, m.target)) {
|
|
let h = new Nq("blur", new f.defaultView.FocusEvent("blur", {
|
|
relatedTarget: m.target
|
|
}));
|
|
h.target = y, h.currentTarget = y, u(h);
|
|
}
|
|
}, {
|
|
capture: !0
|
|
});
|
|
}
|
|
}, [
|
|
n,
|
|
o,
|
|
c,
|
|
i,
|
|
u
|
|
]);
|
|
return t ? {
|
|
focusWithinProps: {
|
|
// These cannot be null, that would conflict in mergeProps
|
|
onFocus: void 0,
|
|
onBlur: void 0
|
|
}
|
|
} : {
|
|
focusWithinProps: {
|
|
onFocus: d,
|
|
onBlur: u
|
|
}
|
|
};
|
|
}
|
|
let U1 = !1, S$ = 0;
|
|
function yE() {
|
|
U1 = !0, setTimeout(() => {
|
|
U1 = !1;
|
|
}, 50);
|
|
}
|
|
function RR(e) {
|
|
e.pointerType === "touch" && yE();
|
|
}
|
|
function G_e() {
|
|
if (!(typeof document > "u"))
|
|
return typeof PointerEvent < "u" ? document.addEventListener("pointerup", RR) : document.addEventListener("touchend", yE), S$++, () => {
|
|
S$--, !(S$ > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", RR) : document.removeEventListener("touchend", yE));
|
|
};
|
|
}
|
|
function U_e(e) {
|
|
let { onHoverStart: t, onHoverChange: r, onHoverEnd: n, isDisabled: o } = e, [a, i] = de(!1), s = ne({
|
|
isHovered: !1,
|
|
ignoreEmulatedMouseEvents: !1,
|
|
pointerType: "",
|
|
target: null
|
|
}).current;
|
|
ue(G_e, []);
|
|
let { addGlobalListener: u, removeAllGlobalListeners: c } = Cq(), { hoverProps: d, triggerHoverEnd: l } = Ie(() => {
|
|
let f = (m, h) => {
|
|
if (s.pointerType = h, o || h === "touch" || s.isHovered || !m.currentTarget.contains(m.target)) return;
|
|
s.isHovered = !0;
|
|
let w = m.currentTarget;
|
|
s.target = w, u(Bc(m.target), "pointerover", ($) => {
|
|
s.isHovered && s.target && !Eq(s.target, $.target) && p($, $.pointerType);
|
|
}, {
|
|
capture: !0
|
|
}), t && t({
|
|
type: "hoverstart",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!0), i(!0);
|
|
}, p = (m, h) => {
|
|
let w = s.target;
|
|
s.pointerType = "", s.target = null, !(h === "touch" || !s.isHovered || !w) && (s.isHovered = !1, c(), n && n({
|
|
type: "hoverend",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!1), i(!1));
|
|
}, y = {};
|
|
return typeof PointerEvent < "u" ? (y.onPointerEnter = (m) => {
|
|
U1 && m.pointerType === "mouse" || f(m, m.pointerType);
|
|
}, y.onPointerLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && p(m, m.pointerType);
|
|
}) : (y.onTouchStart = () => {
|
|
s.ignoreEmulatedMouseEvents = !0;
|
|
}, y.onMouseEnter = (m) => {
|
|
!s.ignoreEmulatedMouseEvents && !U1 && f(m, "mouse"), s.ignoreEmulatedMouseEvents = !1;
|
|
}, y.onMouseLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && p(m, "mouse");
|
|
}), {
|
|
hoverProps: y,
|
|
triggerHoverEnd: p
|
|
};
|
|
}, [
|
|
t,
|
|
r,
|
|
n,
|
|
o,
|
|
s,
|
|
u,
|
|
c
|
|
]);
|
|
return ue(() => {
|
|
o && l({
|
|
currentTarget: s.target
|
|
}, s.pointerType);
|
|
}, [
|
|
o
|
|
]), {
|
|
hoverProps: d,
|
|
isHovered: a
|
|
};
|
|
}
|
|
function B_e(e = {}) {
|
|
let { autoFocus: t = !1, isTextInput: r, within: n } = e, o = ne({
|
|
isFocused: !1,
|
|
isFocusVisible: t || Dq()
|
|
}), [a, i] = de(!1), [s, u] = de(() => o.current.isFocused && o.current.isFocusVisible), c = Ne(() => u(o.current.isFocused && o.current.isFocusVisible), []), d = Ne((p) => {
|
|
o.current.isFocused = p, i(p), c();
|
|
}, [
|
|
c
|
|
]);
|
|
W_e((p) => {
|
|
o.current.isFocusVisible = p, c();
|
|
}, [], {
|
|
isTextInput: r
|
|
});
|
|
let { focusProps: l } = V_e({
|
|
isDisabled: n,
|
|
onFocusChange: d
|
|
}), { focusWithinProps: f } = H_e({
|
|
isDisabled: !n,
|
|
onFocusWithinChange: d
|
|
});
|
|
return {
|
|
isFocused: a,
|
|
isFocusVisible: s,
|
|
focusProps: n ? f : l
|
|
};
|
|
}
|
|
var Y_e = Object.defineProperty, q_e = (e, t, r) => t in e ? Y_e(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, E$ = (e, t, r) => (q_e(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let K_e = class {
|
|
constructor() {
|
|
E$(this, "current", this.detect()), E$(this, "handoffState", "pending"), E$(this, "currentId", 0);
|
|
}
|
|
set(t) {
|
|
this.current !== t && (this.handoffState = "pending", this.currentId = 0, this.current = t);
|
|
}
|
|
reset() {
|
|
this.set(this.detect());
|
|
}
|
|
nextId() {
|
|
return ++this.currentId;
|
|
}
|
|
get isServer() {
|
|
return this.current === "server";
|
|
}
|
|
get isClient() {
|
|
return this.current === "client";
|
|
}
|
|
detect() {
|
|
return typeof window > "u" || typeof document > "u" ? "server" : "client";
|
|
}
|
|
handoff() {
|
|
this.handoffState === "pending" && (this.handoffState = "complete");
|
|
}
|
|
get isHandoffComplete() {
|
|
return this.handoffState === "complete";
|
|
}
|
|
}, Fq = new K_e();
|
|
function X_e(e) {
|
|
var t, r;
|
|
return Fq.isServer ? null : e ? "ownerDocument" in e ? e.ownerDocument : "current" in e ? (r = (t = e.current) == null ? void 0 : t.ownerDocument) != null ? r : document : null : document;
|
|
}
|
|
function J_e(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function Lq() {
|
|
let e = [], t = { addEventListener(r, n, o, a) {
|
|
return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a));
|
|
}, requestAnimationFrame(...r) {
|
|
let n = requestAnimationFrame(...r);
|
|
return t.add(() => cancelAnimationFrame(n));
|
|
}, nextFrame(...r) {
|
|
return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));
|
|
}, setTimeout(...r) {
|
|
let n = setTimeout(...r);
|
|
return t.add(() => clearTimeout(n));
|
|
}, microTask(...r) {
|
|
let n = { current: !0 };
|
|
return J_e(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, o) {
|
|
let a = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: o }), this.add(() => {
|
|
Object.assign(r.style, { [n]: a });
|
|
});
|
|
}, group(r) {
|
|
let n = Lq();
|
|
return r(n), this.add(() => n.dispose());
|
|
}, add(r) {
|
|
return e.includes(r) || e.push(r), () => {
|
|
let n = e.indexOf(r);
|
|
if (n >= 0) for (let o of e.splice(n, 1)) o();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function NP() {
|
|
let [e] = de(Lq);
|
|
return ue(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let TP = (e, t) => {
|
|
Fq.isServer ? ue(e, t) : pi(e, t);
|
|
};
|
|
function Q_e(e) {
|
|
let t = ne(e);
|
|
return TP(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let na = function(e) {
|
|
let t = Q_e(e);
|
|
return ae.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function Z_e(e) {
|
|
let t = e.width / 2, r = e.height / 2;
|
|
return { top: e.clientY - r, right: e.clientX + t, bottom: e.clientY + r, left: e.clientX - t };
|
|
}
|
|
function eOe(e, t) {
|
|
return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
|
|
}
|
|
function tOe({ disabled: e = !1 } = {}) {
|
|
let t = ne(null), [r, n] = de(!1), o = NP(), a = na(() => {
|
|
t.current = null, n(!1), o.dispose();
|
|
}), i = na((s) => {
|
|
if (o.dispose(), t.current === null) {
|
|
t.current = s.currentTarget, n(!0);
|
|
{
|
|
let u = X_e(s.currentTarget);
|
|
o.addEventListener(u, "pointerup", a, !1), o.addEventListener(u, "pointermove", (c) => {
|
|
if (t.current) {
|
|
let d = Z_e(c);
|
|
n(eOe(d, t.current.getBoundingClientRect()));
|
|
}
|
|
}, !1), o.addEventListener(u, "pointercancel", a, !1);
|
|
}
|
|
}
|
|
});
|
|
return { pressed: r, pressProps: e ? {} : { onPointerDown: i, onPointerUp: a, onClick: a } };
|
|
}
|
|
let rOe = zt(void 0);
|
|
function IP() {
|
|
return nt(rOe);
|
|
}
|
|
function MR(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function zq(e, t, ...r) {
|
|
if (e in t) {
|
|
let o = t[e];
|
|
return typeof o == "function" ? o(...r) : o;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, zq), n;
|
|
}
|
|
var nOe = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(nOe || {}), oOe = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(oOe || {});
|
|
function Lb() {
|
|
let e = iOe();
|
|
return Ne((t) => aOe({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function aOe({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? sOe;
|
|
let u = Wq(t, e);
|
|
if (a) return Ry(u, r, n, i, s);
|
|
let c = o ?? 0;
|
|
if (c & 2) {
|
|
let { static: d = !1, ...l } = u;
|
|
if (d) return Ry(l, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: d = !0, ...l } = u;
|
|
return zq(d ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return Ry({ ...l, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return Ry(u, r, n, i, s);
|
|
}
|
|
function Ry(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...u } = A$(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, d = typeof i == "function" ? i(t) : i;
|
|
"className" in u && u.className && typeof u.className == "function" && (u.className = u.className(t)), u["aria-labelledby"] && u["aria-labelledby"] === u.id && (u["aria-labelledby"] = void 0);
|
|
let l = {};
|
|
if (t) {
|
|
let f = !1, p = [];
|
|
for (let [y, m] of Object.entries(t)) typeof m == "boolean" && (f = !0), m === !0 && p.push(y.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
|
|
if (f) {
|
|
l["data-headlessui-state"] = p.join(" ");
|
|
for (let y of p) l[`data-${y}`] = "";
|
|
}
|
|
}
|
|
if (a === Ut && (Object.keys(Qc(u)).length > 0 || Object.keys(Qc(l)).length > 0)) if (!Fi(d) || Array.isArray(d) && d.length > 1) {
|
|
if (Object.keys(Qc(u)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(Qc(u)).concat(Object.keys(Qc(l))).map((f) => ` - ${f}`).join(`
|
|
`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((f) => ` - ${f}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let f = d.props, p = f == null ? void 0 : f.className, y = typeof p == "function" ? (...w) => MR(p(...w), u.className) : MR(p, u.className), m = y ? { className: y } : {}, h = Wq(d.props, Qc(A$(u, ["ref"])));
|
|
for (let w in l) w in h && delete l[w];
|
|
return Li(d, Object.assign({}, h, l, c, { ref: o(cOe(d), c.ref) }, m));
|
|
}
|
|
return vb(a, Object.assign({}, A$(u, ["ref"]), a !== Ut && c, a !== Ut && l), d);
|
|
}
|
|
function iOe() {
|
|
let e = ne([]), t = Ne((r) => {
|
|
for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r);
|
|
}, []);
|
|
return (...r) => {
|
|
if (!r.every((n) => n == null)) return e.current = r, t;
|
|
};
|
|
}
|
|
function sOe(...e) {
|
|
return e.every((t) => t == null) ? void 0 : (t) => {
|
|
for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t);
|
|
};
|
|
}
|
|
function Wq(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => {
|
|
var a;
|
|
return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](o, ...a) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
|
|
s(o, ...a);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function lOe(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
for (let n in r) Object.assign(t, { [n](...o) {
|
|
let a = r[n];
|
|
for (let i of a) i == null || i(...o);
|
|
} });
|
|
return t;
|
|
}
|
|
function kx(e) {
|
|
var t;
|
|
return Object.assign(sf(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function Qc(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function A$(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function cOe(e) {
|
|
return ae.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
function uOe(e, t, r) {
|
|
let [n, o] = de(r), a = e !== void 0, i = ne(a), s = ne(!1), u = ne(!1);
|
|
return a && !i.current && !s.current ? (s.current = !0, i.current = a, console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")) : !a && i.current && !u.current && (u.current = !0, i.current = a, console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")), [a ? e : n, na((c) => (a || o(c), t == null ? void 0 : t(c)))];
|
|
}
|
|
function fOe(e) {
|
|
let [t] = de(e);
|
|
return t;
|
|
}
|
|
function Vq(e = {}, t = null, r = []) {
|
|
for (let [n, o] of Object.entries(e)) Gq(r, Hq(t, n), o);
|
|
return r;
|
|
}
|
|
function Hq(e, t) {
|
|
return e ? e + "[" + t + "]" : t;
|
|
}
|
|
function Gq(e, t, r) {
|
|
if (Array.isArray(r)) for (let [n, o] of r.entries()) Gq(e, Hq(t, n.toString()), o);
|
|
else r instanceof Date ? e.push([t, r.toISOString()]) : typeof r == "boolean" ? e.push([t, r ? "1" : "0"]) : typeof r == "string" ? e.push([t, r]) : typeof r == "number" ? e.push([t, `${r}`]) : r == null ? e.push([t, ""]) : Vq(r, t, e);
|
|
}
|
|
function dOe(e) {
|
|
var t, r;
|
|
let n = (t = e == null ? void 0 : e.form) != null ? t : e.closest("form");
|
|
if (n) {
|
|
for (let o of n.elements) if (o !== e && (o.tagName === "INPUT" && o.type === "submit" || o.tagName === "BUTTON" && o.type === "submit" || o.nodeName === "INPUT" && o.type === "image")) {
|
|
o.click();
|
|
return;
|
|
}
|
|
(r = n.requestSubmit) == null || r.call(n);
|
|
}
|
|
}
|
|
let pOe = "span";
|
|
var jP = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(jP || {});
|
|
function mOe(e, t) {
|
|
var r;
|
|
let { features: n = 1, ...o } = e, a = { ref: t, "aria-hidden": (n & 2) === 2 ? !0 : (r = o["aria-hidden"]) != null ? r : void 0, hidden: (n & 4) === 4 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } };
|
|
return Lb()({ ourProps: a, theirProps: o, slot: {}, defaultTag: pOe, name: "Hidden" });
|
|
}
|
|
let Uq = kx(mOe), hOe = zt(null);
|
|
function gOe({ children: e }) {
|
|
let t = nt(hOe);
|
|
if (!t) return ae.createElement(ae.Fragment, null, e);
|
|
let { target: r } = t;
|
|
return r ? C0(ae.createElement(ae.Fragment, null, e), r) : null;
|
|
}
|
|
function bOe({ data: e, form: t, disabled: r, onReset: n, overrides: o }) {
|
|
let [a, i] = de(null), s = NP();
|
|
return ue(() => {
|
|
if (n && a) return s.addEventListener(a, "reset", n);
|
|
}, [a, t, n]), ae.createElement(gOe, null, ae.createElement(yOe, { setForm: i, formId: t }), Vq(e).map(([u, c]) => ae.createElement(Uq, { features: jP.Hidden, ...Qc({ key: u, as: "input", type: "hidden", hidden: !0, readOnly: !0, form: t, disabled: r, name: u, value: c, ...o }) })));
|
|
}
|
|
function yOe({ setForm: e, formId: t }) {
|
|
return ue(() => {
|
|
if (t) {
|
|
let r = document.getElementById(t);
|
|
r && e(r);
|
|
}
|
|
}, [e, t]), t ? null : ae.createElement(Uq, { features: jP.Hidden, as: "input", type: "hidden", hidden: !0, readOnly: !0, ref: (r) => {
|
|
if (!r) return;
|
|
let n = r.closest("form");
|
|
n && e(n);
|
|
} });
|
|
}
|
|
let vOe = zt(void 0);
|
|
function Bq() {
|
|
return nt(vOe);
|
|
}
|
|
function xOe(e) {
|
|
let t = e.parentElement, r = null;
|
|
for (; t && !(t instanceof HTMLFieldSetElement); ) t instanceof HTMLLegendElement && (r = t), t = t.parentElement;
|
|
let n = (t == null ? void 0 : t.getAttribute("disabled")) === "";
|
|
return n && wOe(r) ? !1 : n;
|
|
}
|
|
function wOe(e) {
|
|
if (!e) return !1;
|
|
let t = e.previousElementSibling;
|
|
for (; t !== null; ) {
|
|
if (t instanceof HTMLLegendElement) return !1;
|
|
t = t.previousElementSibling;
|
|
}
|
|
return !0;
|
|
}
|
|
let $Oe = Symbol();
|
|
function RP(...e) {
|
|
let t = ne(e);
|
|
ue(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = na((n) => {
|
|
for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[$Oe])) ? void 0 : r;
|
|
}
|
|
let _x = zt(null);
|
|
_x.displayName = "DescriptionContext";
|
|
function Yq() {
|
|
let e = nt(_x);
|
|
if (e === null) {
|
|
let t = new Error("You used a <Description /> component, but it is not inside a relevant parent.");
|
|
throw Error.captureStackTrace && Error.captureStackTrace(t, Yq), t;
|
|
}
|
|
return e;
|
|
}
|
|
function kOe() {
|
|
var e, t;
|
|
return (t = (e = nt(_x)) == null ? void 0 : e.value) != null ? t : void 0;
|
|
}
|
|
function _Oe() {
|
|
let [e, t] = de([]);
|
|
return [e.length > 0 ? e.join(" ") : void 0, Ie(() => function(r) {
|
|
let n = na((a) => (t((i) => [...i, a]), () => t((i) => {
|
|
let s = i.slice(), u = s.indexOf(a);
|
|
return u !== -1 && s.splice(u, 1), s;
|
|
}))), o = Ie(() => ({ register: n, slot: r.slot, name: r.name, props: r.props, value: r.value }), [n, r.slot, r.name, r.props, r.value]);
|
|
return ae.createElement(_x.Provider, { value: o }, r.children);
|
|
}, [t])];
|
|
}
|
|
let OOe = "p";
|
|
function SOe(e, t) {
|
|
let r = ua(), n = IP(), { id: o = `headlessui-description-${r}`, ...a } = e, i = Yq(), s = RP(t);
|
|
TP(() => i.register(o), [o, i.register]);
|
|
let u = n || !1, c = Ie(() => ({ ...i.slot, disabled: u }), [i.slot, u]), d = { ref: s, ...i.props, id: o };
|
|
return Lb()({ ourProps: d, theirProps: a, slot: c, defaultTag: OOe, name: i.name || "Description" });
|
|
}
|
|
let EOe = kx(SOe), AOe = Object.assign(EOe, {});
|
|
var vE = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(vE || {});
|
|
let Ox = zt(null);
|
|
Ox.displayName = "LabelContext";
|
|
function qq() {
|
|
let e = nt(Ox);
|
|
if (e === null) {
|
|
let t = new Error("You used a <Label /> component, but it is not inside a relevant parent.");
|
|
throw Error.captureStackTrace && Error.captureStackTrace(t, qq), t;
|
|
}
|
|
return e;
|
|
}
|
|
function Kq(e) {
|
|
var t, r, n;
|
|
let o = (r = (t = nt(Ox)) == null ? void 0 : t.value) != null ? r : void 0;
|
|
return ((n = void 0) != null ? n : 0) > 0 ? [o, ...e].filter(Boolean).join(" ") : o;
|
|
}
|
|
function POe({ inherit: e = !1 } = {}) {
|
|
let t = Kq(), [r, n] = de([]), o = e ? [t, ...r].filter(Boolean) : r;
|
|
return [o.length > 0 ? o.join(" ") : void 0, Ie(() => function(a) {
|
|
let i = na((u) => (n((c) => [...c, u]), () => n((c) => {
|
|
let d = c.slice(), l = d.indexOf(u);
|
|
return l !== -1 && d.splice(l, 1), d;
|
|
}))), s = Ie(() => ({ register: i, slot: a.slot, name: a.name, props: a.props, value: a.value }), [i, a.slot, a.name, a.props, a.value]);
|
|
return ae.createElement(Ox.Provider, { value: s }, a.children);
|
|
}, [n])];
|
|
}
|
|
let COe = "label";
|
|
function NOe(e, t) {
|
|
var r;
|
|
let n = ua(), o = qq(), a = Bq(), i = IP(), { id: s = `headlessui-label-${n}`, htmlFor: u = a ?? ((r = o.props) == null ? void 0 : r.htmlFor), passive: c = !1, ...d } = e, l = RP(t);
|
|
TP(() => o.register(s), [s, o.register]);
|
|
let f = na((h) => {
|
|
let w = h.currentTarget;
|
|
if (w instanceof HTMLLabelElement && h.preventDefault(), o.props && "onClick" in o.props && typeof o.props.onClick == "function" && o.props.onClick(h), w instanceof HTMLLabelElement) {
|
|
let $ = document.getElementById(w.htmlFor);
|
|
if ($) {
|
|
let _ = $.getAttribute("disabled");
|
|
if (_ === "true" || _ === "") return;
|
|
let S = $.getAttribute("aria-disabled");
|
|
if (S === "true" || S === "") return;
|
|
($ instanceof HTMLInputElement && ($.type === "radio" || $.type === "checkbox") || $.role === "radio" || $.role === "checkbox" || $.role === "switch") && $.click(), $.focus({ preventScroll: !0 });
|
|
}
|
|
}
|
|
}), p = i || !1, y = Ie(() => ({ ...o.slot, disabled: p }), [o.slot, p]), m = { ref: l, ...o.props, id: s, htmlFor: u, onClick: f };
|
|
return c && ("onClick" in m && (delete m.htmlFor, delete m.onClick), "onClick" in d && delete d.onClick), Lb()({ ourProps: m, theirProps: d, slot: y, defaultTag: u ? COe : "div", name: o.name || "Label" });
|
|
}
|
|
let TOe = kx(NOe), IOe = Object.assign(TOe, {});
|
|
function jOe(e, t) {
|
|
return Ie(() => {
|
|
var r;
|
|
if (e.type) return e.type;
|
|
let n = (r = e.as) != null ? r : "button";
|
|
if (typeof n == "string" && n.toLowerCase() === "button" || (t == null ? void 0 : t.tagName) === "BUTTON" && !t.hasAttribute("type")) return "button";
|
|
}, [e.type, e.as, t]);
|
|
}
|
|
let MP = zt(null);
|
|
MP.displayName = "GroupContext";
|
|
let ROe = Ut;
|
|
function MOe(e) {
|
|
var t;
|
|
let [r, n] = de(null), [o, a] = POe(), [i, s] = _Oe(), u = Ie(() => ({ switch: r, setSwitch: n }), [r, n]), c = {}, d = e, l = Lb();
|
|
return ae.createElement(s, { name: "Switch.Description", value: i }, ae.createElement(a, { name: "Switch.Label", value: o, props: { htmlFor: (t = u.switch) == null ? void 0 : t.id, onClick(f) {
|
|
r && (f.currentTarget instanceof HTMLLabelElement && f.preventDefault(), r.click(), r.focus({ preventScroll: !0 }));
|
|
} } }, ae.createElement(MP.Provider, { value: u }, l({ ourProps: c, theirProps: d, slot: {}, defaultTag: ROe, name: "Switch.Group" }))));
|
|
}
|
|
let DOe = "button";
|
|
function FOe(e, t) {
|
|
var r;
|
|
let n = ua(), o = Bq(), a = IP(), { id: i = o || `headlessui-switch-${n}`, disabled: s = a || !1, checked: u, defaultChecked: c, onChange: d, name: l, value: f, form: p, autoFocus: y = !1, ...m } = e, h = nt(MP), [w, $] = de(null), _ = ne(null), S = RP(_, t, h === null ? null : h.setSwitch, $), b = fOe(c), [F, z] = uOe(u, d, b ?? !1), q = NP(), [Y, B] = de(!1), Z = na(() => {
|
|
B(!0), z == null || z(!F), q.nextFrame(() => {
|
|
B(!1);
|
|
});
|
|
}), M = na((C) => {
|
|
if (xOe(C.currentTarget)) return C.preventDefault();
|
|
C.preventDefault(), Z();
|
|
}), te = na((C) => {
|
|
C.key === vE.Space ? (C.preventDefault(), Z()) : C.key === vE.Enter && dOe(C.currentTarget);
|
|
}), G = na((C) => C.preventDefault()), H = Kq(), U = kOe(), { isFocusVisible: W, focusProps: X } = B_e({ autoFocus: y }), { isHovered: ee, hoverProps: v } = U_e({ isDisabled: s }), { pressed: g, pressProps: O } = tOe({ disabled: s }), P = Ie(() => ({ checked: F, disabled: s, hover: ee, focus: W, active: g, autofocus: y, changing: Y }), [F, ee, W, g, s, Y, y]), A = lOe({ id: i, ref: S, role: "switch", type: jOe(e, w), tabIndex: e.tabIndex === -1 ? 0 : (r = e.tabIndex) != null ? r : 0, "aria-checked": F, "aria-labelledby": H, "aria-describedby": U, disabled: s || void 0, autoFocus: y, onClick: M, onKeyUp: te, onKeyPress: G }, X, v, O), T = Ne(() => {
|
|
if (b !== void 0) return z == null ? void 0 : z(b);
|
|
}, [z, b]), N = Lb();
|
|
return ae.createElement(ae.Fragment, null, l != null && ae.createElement(bOe, { disabled: s, data: { [l]: f || "on" }, overrides: { type: "checkbox", checked: F }, form: p, onReset: T }), N({ ourProps: A, theirProps: m, slot: P, defaultTag: DOe, name: "Switch" }));
|
|
}
|
|
let LOe = kx(FOe), zOe = MOe, WOe = IOe, VOe = AOe, HOe = Object.assign(LOe, { Group: zOe, Label: WOe, Description: VOe });
|
|
function Xq(e) {
|
|
var t, r, n = "";
|
|
if (typeof e == "string" || typeof e == "number") n += e;
|
|
else if (typeof e == "object") if (Array.isArray(e)) for (t = 0; t < e.length; t++) e[t] && (r = Xq(e[t])) && (n && (n += " "), n += r);
|
|
else for (t in e) e[t] && (n && (n += " "), n += t);
|
|
return n;
|
|
}
|
|
function DR() {
|
|
for (var e, t, r = 0, n = ""; r < arguments.length; ) (e = arguments[r++]) && (t = Xq(e)) && (n && (n += " "), n += t);
|
|
return n;
|
|
}
|
|
function GOe({ enabled: e, setEnabled: t, className: r }) {
|
|
return /* @__PURE__ */ K(HOe, { checked: e, onChange: t, as: Ut, children: ({ checked: n, disabled: o }) => /* @__PURE__ */ Te(
|
|
"button",
|
|
{
|
|
className: DR(
|
|
"group inline-flex h-6 w-11 items-center rounded-full",
|
|
n ? "bg-primary" : "bg-action",
|
|
o && "cursor-not-allowed opacity-50",
|
|
r
|
|
),
|
|
children: [
|
|
/* @__PURE__ */ K("span", { className: "sr-only", children: "Enable notifications" }),
|
|
/* @__PURE__ */ K(
|
|
"span",
|
|
{
|
|
className: DR(
|
|
"size-4 rounded-full bg-white transition",
|
|
n ? "translate-x-6" : "translate-x-1"
|
|
)
|
|
}
|
|
)
|
|
]
|
|
}
|
|
) });
|
|
}
|
|
const My = [
|
|
{ value: "none", label: "None (Silent)" },
|
|
// NB: MUST BE FIRST
|
|
// Other options
|
|
{ label: "Click", value: "click" },
|
|
{ label: "Correct", value: "correct" },
|
|
{ label: "Crumble", value: "crumble" },
|
|
{ label: "Dialog Done", value: "done" },
|
|
{ label: "Dialog Next", value: "next" },
|
|
{ label: "Error Chirp", value: "error_chirp" },
|
|
{ label: "Flower", value: "flower" },
|
|
{ label: "Ghost", value: "ghost" },
|
|
{ label: "Sci-Fi Alert", value: "scifi_alert" },
|
|
{ label: "Sci-Fi Menu Beep 1", value: "scifi_menu_beep_1" },
|
|
{ label: "Sci-Fi Menu Beep 2", value: "scifi_menu_beep_2" },
|
|
{ label: "Sci-Fi Menu Close", value: "scifi_menu_close" },
|
|
{ label: "Sci-Fi Menu Open", value: "scifi_menu_open" },
|
|
{ label: "Sci-Fi Menu Select", value: "scifi_menu_select" },
|
|
{ label: "Sci-Fi Shrill Alert", value: "scifi_shrill_alert" },
|
|
{ label: "Select", value: "select" },
|
|
{ label: "Shell Kick", value: "giant_shell_kick" },
|
|
{ label: "Special Alert", value: "special_alert" },
|
|
{ label: "Special Flower", value: "special_flower" },
|
|
{ label: "Spike Throw", value: "spike_throw" },
|
|
{ label: "Wrong", value: "wrong" }
|
|
], UOe = (e) => {
|
|
const [t, r] = de(void 0);
|
|
ue(() => {
|
|
(async () => {
|
|
const h = await I1();
|
|
r(h.preferences);
|
|
})();
|
|
}, []);
|
|
const n = (t == null ? void 0 : t.play_sounds) || !1, o = Dy(t == null ? void 0 : t.enqueue_success_sound), a = Dy(t == null ? void 0 : t.enqueue_failure_sound), i = Dy(t == null ? void 0 : t.generation_success_sound), s = Dy(t == null ? void 0 : t.generation_failure_sound), u = async () => {
|
|
const m = await I1();
|
|
r(m.preferences);
|
|
}, c = async (m) => {
|
|
await tu({
|
|
preference: Vl.PlaySounds,
|
|
value: m
|
|
}), await u();
|
|
}, d = async (m) => {
|
|
let h = m === "none" ? void 0 : m;
|
|
await tu({
|
|
preference: Vl.EnqueueSuccessSound,
|
|
value: h
|
|
}), Im.getInstance().playSound(m), await u();
|
|
}, l = async (m) => {
|
|
let h = m === "none" ? void 0 : m;
|
|
await tu({
|
|
preference: Vl.EnqueueFailureSound,
|
|
value: h
|
|
}), Im.getInstance().playSound(m), await u();
|
|
}, f = async (m) => {
|
|
let h = m === "none" ? void 0 : m;
|
|
await tu({
|
|
preference: Vl.GenerationSuccessSound,
|
|
value: h
|
|
}), Im.getInstance().playSound(m), await u();
|
|
}, p = async (m) => {
|
|
let h = m === "none" ? void 0 : m;
|
|
await tu({
|
|
preference: Vl.GenerationFailureSound,
|
|
value: h
|
|
}), Im.getInstance().playSound(m), await u();
|
|
}, y = (m) => {
|
|
m !== void 0 && m !== "none" && Im.getInstance().playSound(m);
|
|
};
|
|
return /* @__PURE__ */ K(rn, { children: /* @__PURE__ */ Te("div", { className: "space-y-4", children: [
|
|
/* @__PURE__ */ Te("div", { className: "flex flex-col", children: [
|
|
/* @__PURE__ */ K(jn, { htmlFor: "play-sounds", children: "Play Notification Sounds for Events?" }),
|
|
/* @__PURE__ */ K(GOe, { enabled: n, setEnabled: c })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { htmlFor: "success-sound", children: "Enqueue Success Sound" }),
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center gap-2", children: [
|
|
/* @__PURE__ */ K(
|
|
jy,
|
|
{
|
|
id: "success-sound",
|
|
value: o,
|
|
onChange: (m) => d(m),
|
|
options: My,
|
|
className: "grow"
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: "primary",
|
|
className: "w-[40px] h-[40px]",
|
|
icon: Oy,
|
|
onClick: () => y(o)
|
|
}
|
|
)
|
|
] })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { htmlFor: "success-sound", children: "Enqueue Failure Sound" }),
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center gap-2", children: [
|
|
/* @__PURE__ */ K(
|
|
jy,
|
|
{
|
|
id: "success-sound",
|
|
value: a,
|
|
onChange: (m) => l(m),
|
|
options: My,
|
|
className: "grow"
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: "primary",
|
|
className: "w-[40px] h-[40px]",
|
|
icon: Oy,
|
|
onClick: () => y(a)
|
|
}
|
|
)
|
|
] })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { htmlFor: "success-sound", children: "Generation Success Sound" }),
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center gap-2", children: [
|
|
/* @__PURE__ */ K(
|
|
jy,
|
|
{
|
|
id: "success-sound",
|
|
value: i,
|
|
onChange: (m) => f(m),
|
|
options: My,
|
|
className: "grow"
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: "primary",
|
|
className: "w-[40px] h-[40px]",
|
|
icon: Oy,
|
|
onClick: () => y(i)
|
|
}
|
|
)
|
|
] })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { htmlFor: "failure-sound", children: "Generation Failure Sound" }),
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center gap-2", children: [
|
|
/* @__PURE__ */ K(
|
|
jy,
|
|
{
|
|
id: "failure-sound",
|
|
value: s,
|
|
onChange: (m) => p(m),
|
|
options: My,
|
|
className: "grow"
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: "primary",
|
|
className: "w-[40px] h-[40px]",
|
|
icon: Oy,
|
|
onClick: () => y(s)
|
|
}
|
|
)
|
|
] })
|
|
] })
|
|
] }) });
|
|
}, Dy = (e) => e || "none", BOe = 1 * 60 * 1e3, YOe = ({
|
|
cacheKey: e = "soraSettingsSessionCache",
|
|
cacheTtlMs: t = BOe
|
|
}) => {
|
|
const [r, n] = de(void 0), [o, a] = de(!1);
|
|
t1e(() => {
|
|
a(!0), u9().then((s) => {
|
|
n(s), localStorage.setItem(
|
|
e,
|
|
JSON.stringify({ session: s, timestamp: Date.now() })
|
|
);
|
|
}).finally(() => a(!1));
|
|
}), ue(() => {
|
|
(async () => {
|
|
a(!0);
|
|
try {
|
|
const u = localStorage.getItem(e);
|
|
if (u) {
|
|
const { session: d, timestamp: l } = JSON.parse(u);
|
|
if (Date.now() - l < t) {
|
|
n(d), a(!1);
|
|
return;
|
|
}
|
|
}
|
|
const c = await u9();
|
|
n(c), localStorage.setItem(
|
|
e,
|
|
JSON.stringify({ session: c, timestamp: Date.now() })
|
|
);
|
|
} catch (u) {
|
|
console.error("Error fetching Sora session", u), n(void 0);
|
|
} finally {
|
|
a(!1);
|
|
}
|
|
})();
|
|
}, [e, t]);
|
|
const i = async () => {
|
|
if (!o)
|
|
if ((r == null ? void 0 : r.state) === _f.Valid)
|
|
a(!0), await e1e(), n({ state: _f.NotSetUp }), localStorage.removeItem(e), a(!1);
|
|
else {
|
|
a(!0);
|
|
try {
|
|
await Mg("open_sora_login_command");
|
|
} catch {
|
|
} finally {
|
|
a(!1);
|
|
}
|
|
}
|
|
};
|
|
return /* @__PURE__ */ Te("div", { className: "flex justify-between items-center", children: [
|
|
/* @__PURE__ */ K("span", { children: "OpenAI / Sora Account:" }),
|
|
/* @__PURE__ */ K("pre", { children: (r == null ? void 0 : r.maybe_account_email) || "" }),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: (r == null ? void 0 : r.state) === _f.Valid && !o ? "destructive" : (r == null ? void 0 : r.state) === _f.NotSetUp ? "primary" : "secondary",
|
|
className: "h-[30px]",
|
|
onClick: i,
|
|
disabled: o,
|
|
children: o ? /* @__PURE__ */ K(
|
|
To,
|
|
{
|
|
icon: nx,
|
|
className: "animate-spin text-sm"
|
|
}
|
|
) : (r == null ? void 0 : r.state) === _f.Valid ? "Disconnect" : "Connect"
|
|
}
|
|
)
|
|
] });
|
|
};
|
|
var qOe = Object.defineProperty, KOe = (e, t, r) => t in e ? qOe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Jq = (e, t, r) => KOe(e, typeof t != "symbol" ? t + "" : t, r);
|
|
const XOe = "https://api.storyteller.ai";
|
|
window.STORYTELLER_API_HOST_STORE = void 0;
|
|
let JOe = class Qq {
|
|
constructor(t) {
|
|
Jq(this, "apiSchemeAndHost"), this.apiSchemeAndHost = t;
|
|
}
|
|
// NB(bt,2025-09-25): 'nx' is creating multiple copies of the library with name
|
|
// mangling, so the singleton pattern fails to resolve to a single instance.
|
|
// public static getInstance(): StorytellerApiHostStore {
|
|
// if (StorytellerApiHostStore.instance !== undefined) {
|
|
// return StorytellerApiHostStore.instance;
|
|
// }
|
|
// const instance = new StorytellerApiHostStore(DEFAULT_API_HOST);
|
|
// StorytellerApiHostStore.instance = instance;
|
|
// return instance;
|
|
// }
|
|
static getInstance() {
|
|
if (window.STORYTELLER_API_HOST_STORE !== void 0)
|
|
return window.STORYTELLER_API_HOST_STORE;
|
|
const t = new Qq(XOe);
|
|
return window.STORYTELLER_API_HOST_STORE = t, t;
|
|
}
|
|
/** Get the API scheme and host. */
|
|
getApiSchemeAndHost() {
|
|
return console.debug("StorytellerApiHostStore.getApiSchemeAndHost()", this.apiSchemeAndHost, this.constructor.name), this.apiSchemeAndHost;
|
|
}
|
|
/**
|
|
* Externally update the API host.
|
|
* This is used to sync with Tauri for enabling easier development.
|
|
*/
|
|
setApiSchemeAndHost(t) {
|
|
if (console.debug("StorytellerApiHostStore.setApiSchemeAndHost()", t, this.constructor.name), !t.startsWith("http://") && !t.startsWith("https://"))
|
|
throw new Error(`Scheme not included in URL: ${t}`);
|
|
const r = "https://".lastIndexOf("/");
|
|
if (t.lastIndexOf("/") > r)
|
|
throw new Error(`Path components should not be included in URL: ${t}`);
|
|
this.apiSchemeAndHost = t;
|
|
}
|
|
};
|
|
var dh = /* @__PURE__ */ ((e) => (e.GOOGLE_API = "https://storage.googleapis.com", e.FUNNEL_API = "https://style.storyteller.ai", e.CDN_API = "https://cdn.storyteller.ai", e.GRAVATAR_API = "https://www.gravatar.com", e))(dh || {}), P$ = { exports: {} }, _t = {};
|
|
/**
|
|
* @license React
|
|
* react.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var FR;
|
|
function QOe() {
|
|
if (FR) return _t;
|
|
FR = 1;
|
|
var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), i = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), l = Symbol.iterator;
|
|
function f(g) {
|
|
return g === null || typeof g != "object" ? null : (g = l && g[l] || g["@@iterator"], typeof g == "function" ? g : null);
|
|
}
|
|
var p = { isMounted: function() {
|
|
return !1;
|
|
}, enqueueForceUpdate: function() {
|
|
}, enqueueReplaceState: function() {
|
|
}, enqueueSetState: function() {
|
|
} }, y = Object.assign, m = {};
|
|
function h(g, O, P) {
|
|
this.props = g, this.context = O, this.refs = m, this.updater = P || p;
|
|
}
|
|
h.prototype.isReactComponent = {}, h.prototype.setState = function(g, O) {
|
|
if (typeof g != "object" && typeof g != "function" && g != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, g, O, "setState");
|
|
}, h.prototype.forceUpdate = function(g) {
|
|
this.updater.enqueueForceUpdate(this, g, "forceUpdate");
|
|
};
|
|
function w() {
|
|
}
|
|
w.prototype = h.prototype;
|
|
function $(g, O, P) {
|
|
this.props = g, this.context = O, this.refs = m, this.updater = P || p;
|
|
}
|
|
var _ = $.prototype = new w();
|
|
_.constructor = $, y(_, h.prototype), _.isPureReactComponent = !0;
|
|
var S = Array.isArray, b = Object.prototype.hasOwnProperty, F = { current: null }, z = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function q(g, O, P) {
|
|
var A, T = {}, N = null, C = null;
|
|
if (O != null) for (A in O.ref !== void 0 && (C = O.ref), O.key !== void 0 && (N = "" + O.key), O) b.call(O, A) && !z.hasOwnProperty(A) && (T[A] = O[A]);
|
|
var I = arguments.length - 2;
|
|
if (I === 1) T.children = P;
|
|
else if (1 < I) {
|
|
for (var j = Array(I), R = 0; R < I; R++) j[R] = arguments[R + 2];
|
|
T.children = j;
|
|
}
|
|
if (g && g.defaultProps) for (A in I = g.defaultProps, I) T[A] === void 0 && (T[A] = I[A]);
|
|
return { $$typeof: e, type: g, key: N, ref: C, props: T, _owner: F.current };
|
|
}
|
|
function Y(g, O) {
|
|
return { $$typeof: e, type: g.type, key: O, ref: g.ref, props: g.props, _owner: g._owner };
|
|
}
|
|
function B(g) {
|
|
return typeof g == "object" && g !== null && g.$$typeof === e;
|
|
}
|
|
function Z(g) {
|
|
var O = { "=": "=0", ":": "=2" };
|
|
return "$" + g.replace(/[=:]/g, function(P) {
|
|
return O[P];
|
|
});
|
|
}
|
|
var M = /\/+/g;
|
|
function te(g, O) {
|
|
return typeof g == "object" && g !== null && g.key != null ? Z("" + g.key) : O.toString(36);
|
|
}
|
|
function G(g, O, P, A, T) {
|
|
var N = typeof g;
|
|
(N === "undefined" || N === "boolean") && (g = null);
|
|
var C = !1;
|
|
if (g === null) C = !0;
|
|
else switch (N) {
|
|
case "string":
|
|
case "number":
|
|
C = !0;
|
|
break;
|
|
case "object":
|
|
switch (g.$$typeof) {
|
|
case e:
|
|
case t:
|
|
C = !0;
|
|
}
|
|
}
|
|
if (C) return C = g, T = T(C), g = A === "" ? "." + te(C, 0) : A, S(T) ? (P = "", g != null && (P = g.replace(M, "$&/") + "/"), G(T, O, P, "", function(R) {
|
|
return R;
|
|
})) : T != null && (B(T) && (T = Y(T, P + (!T.key || C && C.key === T.key ? "" : ("" + T.key).replace(M, "$&/") + "/") + g)), O.push(T)), 1;
|
|
if (C = 0, A = A === "" ? "." : A + ":", S(g)) for (var I = 0; I < g.length; I++) {
|
|
N = g[I];
|
|
var j = A + te(N, I);
|
|
C += G(N, O, P, j, T);
|
|
}
|
|
else if (j = f(g), typeof j == "function") for (g = j.call(g), I = 0; !(N = g.next()).done; ) N = N.value, j = A + te(N, I++), C += G(N, O, P, j, T);
|
|
else if (N === "object") throw O = String(g), Error("Objects are not valid as a React child (found: " + (O === "[object Object]" ? "object with keys {" + Object.keys(g).join(", ") + "}" : O) + "). If you meant to render a collection of children, use an array instead.");
|
|
return C;
|
|
}
|
|
function H(g, O, P) {
|
|
if (g == null) return g;
|
|
var A = [], T = 0;
|
|
return G(g, A, "", "", function(N) {
|
|
return O.call(P, N, T++);
|
|
}), A;
|
|
}
|
|
function U(g) {
|
|
if (g._status === -1) {
|
|
var O = g._result;
|
|
O = O(), O.then(function(P) {
|
|
(g._status === 0 || g._status === -1) && (g._status = 1, g._result = P);
|
|
}, function(P) {
|
|
(g._status === 0 || g._status === -1) && (g._status = 2, g._result = P);
|
|
}), g._status === -1 && (g._status = 0, g._result = O);
|
|
}
|
|
if (g._status === 1) return g._result.default;
|
|
throw g._result;
|
|
}
|
|
var W = { current: null }, X = { transition: null }, ee = { ReactCurrentDispatcher: W, ReactCurrentBatchConfig: X, ReactCurrentOwner: F };
|
|
function v() {
|
|
throw Error("act(...) is not supported in production builds of React.");
|
|
}
|
|
return _t.Children = { map: H, forEach: function(g, O, P) {
|
|
H(g, function() {
|
|
O.apply(this, arguments);
|
|
}, P);
|
|
}, count: function(g) {
|
|
var O = 0;
|
|
return H(g, function() {
|
|
O++;
|
|
}), O;
|
|
}, toArray: function(g) {
|
|
return H(g, function(O) {
|
|
return O;
|
|
}) || [];
|
|
}, only: function(g) {
|
|
if (!B(g)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return g;
|
|
} }, _t.Component = h, _t.Fragment = r, _t.Profiler = o, _t.PureComponent = $, _t.StrictMode = n, _t.Suspense = u, _t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ee, _t.act = v, _t.cloneElement = function(g, O, P) {
|
|
if (g == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + g + ".");
|
|
var A = y({}, g.props), T = g.key, N = g.ref, C = g._owner;
|
|
if (O != null) {
|
|
if (O.ref !== void 0 && (N = O.ref, C = F.current), O.key !== void 0 && (T = "" + O.key), g.type && g.type.defaultProps) var I = g.type.defaultProps;
|
|
for (j in O) b.call(O, j) && !z.hasOwnProperty(j) && (A[j] = O[j] === void 0 && I !== void 0 ? I[j] : O[j]);
|
|
}
|
|
var j = arguments.length - 2;
|
|
if (j === 1) A.children = P;
|
|
else if (1 < j) {
|
|
I = Array(j);
|
|
for (var R = 0; R < j; R++) I[R] = arguments[R + 2];
|
|
A.children = I;
|
|
}
|
|
return { $$typeof: e, type: g.type, key: T, ref: N, props: A, _owner: C };
|
|
}, _t.createContext = function(g) {
|
|
return g = { $$typeof: i, _currentValue: g, _currentValue2: g, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, g.Provider = { $$typeof: a, _context: g }, g.Consumer = g;
|
|
}, _t.createElement = q, _t.createFactory = function(g) {
|
|
var O = q.bind(null, g);
|
|
return O.type = g, O;
|
|
}, _t.createRef = function() {
|
|
return { current: null };
|
|
}, _t.forwardRef = function(g) {
|
|
return { $$typeof: s, render: g };
|
|
}, _t.isValidElement = B, _t.lazy = function(g) {
|
|
return { $$typeof: d, _payload: { _status: -1, _result: g }, _init: U };
|
|
}, _t.memo = function(g, O) {
|
|
return { $$typeof: c, type: g, compare: O === void 0 ? null : O };
|
|
}, _t.startTransition = function(g) {
|
|
var O = X.transition;
|
|
X.transition = {};
|
|
try {
|
|
g();
|
|
} finally {
|
|
X.transition = O;
|
|
}
|
|
}, _t.unstable_act = v, _t.useCallback = function(g, O) {
|
|
return W.current.useCallback(g, O);
|
|
}, _t.useContext = function(g) {
|
|
return W.current.useContext(g);
|
|
}, _t.useDebugValue = function() {
|
|
}, _t.useDeferredValue = function(g) {
|
|
return W.current.useDeferredValue(g);
|
|
}, _t.useEffect = function(g, O) {
|
|
return W.current.useEffect(g, O);
|
|
}, _t.useId = function() {
|
|
return W.current.useId();
|
|
}, _t.useImperativeHandle = function(g, O, P) {
|
|
return W.current.useImperativeHandle(g, O, P);
|
|
}, _t.useInsertionEffect = function(g, O) {
|
|
return W.current.useInsertionEffect(g, O);
|
|
}, _t.useLayoutEffect = function(g, O) {
|
|
return W.current.useLayoutEffect(g, O);
|
|
}, _t.useMemo = function(g, O) {
|
|
return W.current.useMemo(g, O);
|
|
}, _t.useReducer = function(g, O, P) {
|
|
return W.current.useReducer(g, O, P);
|
|
}, _t.useRef = function(g) {
|
|
return W.current.useRef(g);
|
|
}, _t.useState = function(g) {
|
|
return W.current.useState(g);
|
|
}, _t.useSyncExternalStore = function(g, O, P) {
|
|
return W.current.useSyncExternalStore(g, O, P);
|
|
}, _t.useTransition = function() {
|
|
return W.current.useTransition();
|
|
}, _t.version = "18.3.1", _t;
|
|
}
|
|
var Wv = { exports: {} };
|
|
/**
|
|
* @license React
|
|
* react.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
Wv.exports;
|
|
var LR;
|
|
function ZOe() {
|
|
return LR || (LR = 1, function(e, t) {
|
|
process.env.NODE_ENV !== "production" && function() {
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
|
var r = "18.3.1", n = Symbol.for("react.element"), o = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), u = Symbol.for("react.provider"), c = Symbol.for("react.context"), d = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), f = Symbol.for("react.suspense_list"), p = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), m = Symbol.for("react.offscreen"), h = Symbol.iterator, w = "@@iterator";
|
|
function $(x) {
|
|
if (x === null || typeof x != "object")
|
|
return null;
|
|
var E = h && x[h] || x[w];
|
|
return typeof E == "function" ? E : null;
|
|
}
|
|
var _ = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, S = {
|
|
transition: null
|
|
}, b = {
|
|
current: null,
|
|
// Used to reproduce behavior of `batchedUpdates` in legacy mode.
|
|
isBatchingLegacy: !1,
|
|
didScheduleLegacyUpdate: !1
|
|
}, F = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, z = {}, q = null;
|
|
function Y(x) {
|
|
q = x;
|
|
}
|
|
z.setExtraStackFrame = function(x) {
|
|
q = x;
|
|
}, z.getCurrentStack = null, z.getStackAddendum = function() {
|
|
var x = "";
|
|
q && (x += q);
|
|
var E = z.getCurrentStack;
|
|
return E && (x += E() || ""), x;
|
|
};
|
|
var B = !1, Z = !1, M = !1, te = !1, G = !1, H = {
|
|
ReactCurrentDispatcher: _,
|
|
ReactCurrentBatchConfig: S,
|
|
ReactCurrentOwner: F
|
|
};
|
|
H.ReactDebugCurrentFrame = z, H.ReactCurrentActQueue = b;
|
|
function U(x) {
|
|
{
|
|
for (var E = arguments.length, D = new Array(E > 1 ? E - 1 : 0), L = 1; L < E; L++)
|
|
D[L - 1] = arguments[L];
|
|
X("warn", x, D);
|
|
}
|
|
}
|
|
function W(x) {
|
|
{
|
|
for (var E = arguments.length, D = new Array(E > 1 ? E - 1 : 0), L = 1; L < E; L++)
|
|
D[L - 1] = arguments[L];
|
|
X("error", x, D);
|
|
}
|
|
}
|
|
function X(x, E, D) {
|
|
{
|
|
var L = H.ReactDebugCurrentFrame, J = L.getStackAddendum();
|
|
J !== "" && (E += "%s", D = D.concat([J]));
|
|
var ie = D.map(function(re) {
|
|
return String(re);
|
|
});
|
|
ie.unshift("Warning: " + E), Function.prototype.apply.call(console[x], console, ie);
|
|
}
|
|
}
|
|
var ee = {};
|
|
function v(x, E) {
|
|
{
|
|
var D = x.constructor, L = D && (D.displayName || D.name) || "ReactClass", J = L + "." + E;
|
|
if (ee[J])
|
|
return;
|
|
W("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", E, L), ee[J] = !0;
|
|
}
|
|
}
|
|
var g = {
|
|
/**
|
|
* Checks whether or not this composite component is mounted.
|
|
* @param {ReactClass} publicInstance The instance we want to test.
|
|
* @return {boolean} True if mounted, false otherwise.
|
|
* @protected
|
|
* @final
|
|
*/
|
|
isMounted: function(x) {
|
|
return !1;
|
|
},
|
|
/**
|
|
* Forces an update. This should only be invoked when it is known with
|
|
* certainty that we are **not** in a DOM transaction.
|
|
*
|
|
* You may want to call this when you know that some deeper aspect of the
|
|
* component's state has changed but `setState` was not called.
|
|
*
|
|
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
|
* `componentWillUpdate` and `componentDidUpdate`.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueForceUpdate: function(x, E, D) {
|
|
v(x, "forceUpdate");
|
|
},
|
|
/**
|
|
* Replaces all of the state. Always use this or `setState` to mutate state.
|
|
* You should treat `this.state` as immutable.
|
|
*
|
|
* There is no guarantee that `this.state` will be immediately updated, so
|
|
* accessing `this.state` after calling this method may return the old value.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} completeState Next state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueReplaceState: function(x, E, D, L) {
|
|
v(x, "replaceState");
|
|
},
|
|
/**
|
|
* Sets a subset of the state. This only exists because _pendingState is
|
|
* internal. This provides a merging strategy that is not available to deep
|
|
* properties which is confusing. TODO: Expose pendingState or don't use it
|
|
* during the merge.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} partialState Next partial state to be merged with state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} Name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueSetState: function(x, E, D, L) {
|
|
v(x, "setState");
|
|
}
|
|
}, O = Object.assign, P = {};
|
|
Object.freeze(P);
|
|
function A(x, E, D) {
|
|
this.props = x, this.context = E, this.refs = P, this.updater = D || g;
|
|
}
|
|
A.prototype.isReactComponent = {}, A.prototype.setState = function(x, E) {
|
|
if (typeof x != "object" && typeof x != "function" && x != null)
|
|
throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, x, E, "setState");
|
|
}, A.prototype.forceUpdate = function(x) {
|
|
this.updater.enqueueForceUpdate(this, x, "forceUpdate");
|
|
};
|
|
{
|
|
var T = {
|
|
isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
|
|
replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
|
|
}, N = function(x, E) {
|
|
Object.defineProperty(A.prototype, x, {
|
|
get: function() {
|
|
U("%s(...) is deprecated in plain JavaScript React classes. %s", E[0], E[1]);
|
|
}
|
|
});
|
|
};
|
|
for (var C in T)
|
|
T.hasOwnProperty(C) && N(C, T[C]);
|
|
}
|
|
function I() {
|
|
}
|
|
I.prototype = A.prototype;
|
|
function j(x, E, D) {
|
|
this.props = x, this.context = E, this.refs = P, this.updater = D || g;
|
|
}
|
|
var R = j.prototype = new I();
|
|
R.constructor = j, O(R, A.prototype), R.isPureReactComponent = !0;
|
|
function Q() {
|
|
var x = {
|
|
current: null
|
|
};
|
|
return Object.seal(x), x;
|
|
}
|
|
var k = Array.isArray;
|
|
function oe(x) {
|
|
return k(x);
|
|
}
|
|
function me(x) {
|
|
{
|
|
var E = typeof Symbol == "function" && Symbol.toStringTag, D = E && x[Symbol.toStringTag] || x.constructor.name || "Object";
|
|
return D;
|
|
}
|
|
}
|
|
function Le(x) {
|
|
try {
|
|
return Xr(x), !1;
|
|
} catch {
|
|
return !0;
|
|
}
|
|
}
|
|
function Xr(x) {
|
|
return "" + x;
|
|
}
|
|
function Jr(x) {
|
|
if (Le(x))
|
|
return W("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", me(x)), Xr(x);
|
|
}
|
|
function ce(x, E, D) {
|
|
var L = x.displayName;
|
|
if (L)
|
|
return L;
|
|
var J = E.displayName || E.name || "";
|
|
return J !== "" ? D + "(" + J + ")" : D;
|
|
}
|
|
function le(x) {
|
|
return x.displayName || "Context";
|
|
}
|
|
function fe(x) {
|
|
if (x == null)
|
|
return null;
|
|
if (typeof x.tag == "number" && W("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof x == "function")
|
|
return x.displayName || x.name || null;
|
|
if (typeof x == "string")
|
|
return x;
|
|
switch (x) {
|
|
case a:
|
|
return "Fragment";
|
|
case o:
|
|
return "Portal";
|
|
case s:
|
|
return "Profiler";
|
|
case i:
|
|
return "StrictMode";
|
|
case l:
|
|
return "Suspense";
|
|
case f:
|
|
return "SuspenseList";
|
|
}
|
|
if (typeof x == "object")
|
|
switch (x.$$typeof) {
|
|
case c:
|
|
var E = x;
|
|
return le(E) + ".Consumer";
|
|
case u:
|
|
var D = x;
|
|
return le(D._context) + ".Provider";
|
|
case d:
|
|
return ce(x, x.render, "ForwardRef");
|
|
case p:
|
|
var L = x.displayName || null;
|
|
return L !== null ? L : fe(x.type) || "Memo";
|
|
case y: {
|
|
var J = x, ie = J._payload, re = J._init;
|
|
try {
|
|
return fe(re(ie));
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var ot = Object.prototype.hasOwnProperty, kt = {
|
|
key: !0,
|
|
ref: !0,
|
|
__self: !0,
|
|
__source: !0
|
|
}, De, Ze, rt;
|
|
rt = {};
|
|
function Wt(x) {
|
|
if (ot.call(x, "ref")) {
|
|
var E = Object.getOwnPropertyDescriptor(x, "ref").get;
|
|
if (E && E.isReactWarning)
|
|
return !1;
|
|
}
|
|
return x.ref !== void 0;
|
|
}
|
|
function lt(x) {
|
|
if (ot.call(x, "key")) {
|
|
var E = Object.getOwnPropertyDescriptor(x, "key").get;
|
|
if (E && E.isReactWarning)
|
|
return !1;
|
|
}
|
|
return x.key !== void 0;
|
|
}
|
|
function $r(x, E) {
|
|
var D = function() {
|
|
De || (De = !0, W("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", E));
|
|
};
|
|
D.isReactWarning = !0, Object.defineProperty(x, "key", {
|
|
get: D,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function pn(x, E) {
|
|
var D = function() {
|
|
Ze || (Ze = !0, W("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", E));
|
|
};
|
|
D.isReactWarning = !0, Object.defineProperty(x, "ref", {
|
|
get: D,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function ro(x) {
|
|
if (typeof x.ref == "string" && F.current && x.__self && F.current.stateNode !== x.__self) {
|
|
var E = fe(F.current.type);
|
|
rt[E] || (W('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', E, x.ref), rt[E] = !0);
|
|
}
|
|
}
|
|
var kr = function(x, E, D, L, J, ie, re) {
|
|
var se = {
|
|
// This tag allows us to uniquely identify this as a React Element
|
|
$$typeof: n,
|
|
// Built-in properties that belong on the element
|
|
type: x,
|
|
key: E,
|
|
ref: D,
|
|
props: re,
|
|
// Record the component responsible for creating this element.
|
|
_owner: ie
|
|
};
|
|
return se._store = {}, Object.defineProperty(se._store, "validated", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: !1
|
|
}), Object.defineProperty(se, "_self", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: L
|
|
}), Object.defineProperty(se, "_source", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: J
|
|
}), Object.freeze && (Object.freeze(se.props), Object.freeze(se)), se;
|
|
};
|
|
function vo(x, E, D) {
|
|
var L, J = {}, ie = null, re = null, se = null, pe = null;
|
|
if (E != null) {
|
|
Wt(E) && (re = E.ref, ro(E)), lt(E) && (Jr(E.key), ie = "" + E.key), se = E.__self === void 0 ? null : E.__self, pe = E.__source === void 0 ? null : E.__source;
|
|
for (L in E)
|
|
ot.call(E, L) && !kt.hasOwnProperty(L) && (J[L] = E[L]);
|
|
}
|
|
var Ce = arguments.length - 2;
|
|
if (Ce === 1)
|
|
J.children = D;
|
|
else if (Ce > 1) {
|
|
for (var je = Array(Ce), Re = 0; Re < Ce; Re++)
|
|
je[Re] = arguments[Re + 2];
|
|
Object.freeze && Object.freeze(je), J.children = je;
|
|
}
|
|
if (x && x.defaultProps) {
|
|
var Me = x.defaultProps;
|
|
for (L in Me)
|
|
J[L] === void 0 && (J[L] = Me[L]);
|
|
}
|
|
if (ie || re) {
|
|
var Fe = typeof x == "function" ? x.displayName || x.name || "Unknown" : x;
|
|
ie && $r(J, Fe), re && pn(J, Fe);
|
|
}
|
|
return kr(x, ie, re, se, pe, F.current, J);
|
|
}
|
|
function Mo(x, E) {
|
|
var D = kr(x.type, E, x.ref, x._self, x._source, x._owner, x.props);
|
|
return D;
|
|
}
|
|
function Do(x, E, D) {
|
|
if (x == null)
|
|
throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + x + ".");
|
|
var L, J = O({}, x.props), ie = x.key, re = x.ref, se = x._self, pe = x._source, Ce = x._owner;
|
|
if (E != null) {
|
|
Wt(E) && (re = E.ref, Ce = F.current), lt(E) && (Jr(E.key), ie = "" + E.key);
|
|
var je;
|
|
x.type && x.type.defaultProps && (je = x.type.defaultProps);
|
|
for (L in E)
|
|
ot.call(E, L) && !kt.hasOwnProperty(L) && (E[L] === void 0 && je !== void 0 ? J[L] = je[L] : J[L] = E[L]);
|
|
}
|
|
var Re = arguments.length - 2;
|
|
if (Re === 1)
|
|
J.children = D;
|
|
else if (Re > 1) {
|
|
for (var Me = Array(Re), Fe = 0; Fe < Re; Fe++)
|
|
Me[Fe] = arguments[Fe + 2];
|
|
J.children = Me;
|
|
}
|
|
return kr(x.type, ie, re, se, pe, Ce, J);
|
|
}
|
|
function yr(x) {
|
|
return typeof x == "object" && x !== null && x.$$typeof === n;
|
|
}
|
|
var Tn = ".", Fo = ":";
|
|
function Ss(x) {
|
|
var E = /[=:]/g, D = {
|
|
"=": "=0",
|
|
":": "=2"
|
|
}, L = x.replace(E, function(J) {
|
|
return D[J];
|
|
});
|
|
return "$" + L;
|
|
}
|
|
var pa = !1, Kc = /\/+/g;
|
|
function ma(x) {
|
|
return x.replace(Kc, "$&/");
|
|
}
|
|
function vr(x, E) {
|
|
return typeof x == "object" && x !== null && x.key != null ? (Jr(x.key), Ss("" + x.key)) : E.toString(36);
|
|
}
|
|
function xr(x, E, D, L, J) {
|
|
var ie = typeof x;
|
|
(ie === "undefined" || ie === "boolean") && (x = null);
|
|
var re = !1;
|
|
if (x === null)
|
|
re = !0;
|
|
else
|
|
switch (ie) {
|
|
case "string":
|
|
case "number":
|
|
re = !0;
|
|
break;
|
|
case "object":
|
|
switch (x.$$typeof) {
|
|
case n:
|
|
case o:
|
|
re = !0;
|
|
}
|
|
}
|
|
if (re) {
|
|
var se = x, pe = J(se), Ce = L === "" ? Tn + vr(se, 0) : L;
|
|
if (oe(pe)) {
|
|
var je = "";
|
|
Ce != null && (je = ma(Ce) + "/"), xr(pe, E, je, "", function(bm) {
|
|
return bm;
|
|
});
|
|
} else pe != null && (yr(pe) && (pe.key && (!se || se.key !== pe.key) && Jr(pe.key), pe = Mo(
|
|
pe,
|
|
// Keep both the (mapped) and old keys if they differ, just as
|
|
// traverseAllChildren used to do for objects as children
|
|
D + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key
|
|
(pe.key && (!se || se.key !== pe.key) ? (
|
|
// $FlowFixMe Flow incorrectly thinks existing element's key can be a number
|
|
// eslint-disable-next-line react-internal/safe-string-coercion
|
|
ma("" + pe.key) + "/"
|
|
) : "") + Ce
|
|
)), E.push(pe));
|
|
return 1;
|
|
}
|
|
var Re, Me, Fe = 0, tt = L === "" ? Tn : L + Fo;
|
|
if (oe(x))
|
|
for (var Bn = 0; Bn < x.length; Bn++)
|
|
Re = x[Bn], Me = tt + vr(Re, Bn), Fe += xr(Re, E, D, Me, J);
|
|
else {
|
|
var qo = $(x);
|
|
if (typeof qo == "function") {
|
|
var qs = x;
|
|
qo === qs.entries && (pa || U("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), pa = !0);
|
|
for (var hm = qo.call(qs), Ks, gm = 0; !(Ks = hm.next()).done; )
|
|
Re = Ks.value, Me = tt + vr(Re, gm++), Fe += xr(Re, E, D, Me, J);
|
|
} else if (ie === "object") {
|
|
var Xs = String(x);
|
|
throw new Error("Objects are not valid as a React child (found: " + (Xs === "[object Object]" ? "object with keys {" + Object.keys(x).join(", ") + "}" : Xs) + "). If you meant to render a collection of children, use an array instead.");
|
|
}
|
|
}
|
|
return Fe;
|
|
}
|
|
function wr(x, E, D) {
|
|
if (x == null)
|
|
return x;
|
|
var L = [], J = 0;
|
|
return xr(x, L, "", "", function(ie) {
|
|
return E.call(D, ie, J++);
|
|
}), L;
|
|
}
|
|
function Dn(x) {
|
|
var E = 0;
|
|
return wr(x, function() {
|
|
E++;
|
|
}), E;
|
|
}
|
|
function sn(x, E, D) {
|
|
wr(x, function() {
|
|
E.apply(this, arguments);
|
|
}, D);
|
|
}
|
|
function nn(x) {
|
|
return wr(x, function(E) {
|
|
return E;
|
|
}) || [];
|
|
}
|
|
function mn(x) {
|
|
if (!yr(x))
|
|
throw new Error("React.Children.only expected to receive a single React element child.");
|
|
return x;
|
|
}
|
|
function xo(x) {
|
|
var E = {
|
|
$$typeof: c,
|
|
// As a workaround to support multiple concurrent renderers, we categorize
|
|
// some renderers as primary and others as secondary. We only expect
|
|
// there to be two concurrent renderers at most: React Native (primary) and
|
|
// Fabric (secondary); React DOM (primary) and React ART (secondary).
|
|
// Secondary renderers store their context values on separate fields.
|
|
_currentValue: x,
|
|
_currentValue2: x,
|
|
// Used to track how many concurrent renderers this context currently
|
|
// supports within in a single renderer. Such as parallel server rendering.
|
|
_threadCount: 0,
|
|
// These are circular
|
|
Provider: null,
|
|
Consumer: null,
|
|
// Add these to use same hidden class in VM as ServerContext
|
|
_defaultValue: null,
|
|
_globalName: null
|
|
};
|
|
E.Provider = {
|
|
$$typeof: u,
|
|
_context: E
|
|
};
|
|
var D = !1, L = !1, J = !1;
|
|
{
|
|
var ie = {
|
|
$$typeof: c,
|
|
_context: E
|
|
};
|
|
Object.defineProperties(ie, {
|
|
Provider: {
|
|
get: function() {
|
|
return L || (L = !0, W("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), E.Provider;
|
|
},
|
|
set: function(re) {
|
|
E.Provider = re;
|
|
}
|
|
},
|
|
_currentValue: {
|
|
get: function() {
|
|
return E._currentValue;
|
|
},
|
|
set: function(re) {
|
|
E._currentValue = re;
|
|
}
|
|
},
|
|
_currentValue2: {
|
|
get: function() {
|
|
return E._currentValue2;
|
|
},
|
|
set: function(re) {
|
|
E._currentValue2 = re;
|
|
}
|
|
},
|
|
_threadCount: {
|
|
get: function() {
|
|
return E._threadCount;
|
|
},
|
|
set: function(re) {
|
|
E._threadCount = re;
|
|
}
|
|
},
|
|
Consumer: {
|
|
get: function() {
|
|
return D || (D = !0, W("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), E.Consumer;
|
|
}
|
|
},
|
|
displayName: {
|
|
get: function() {
|
|
return E.displayName;
|
|
},
|
|
set: function(re) {
|
|
J || (U("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", re), J = !0);
|
|
}
|
|
}
|
|
}), E.Consumer = ie;
|
|
}
|
|
return E._currentRenderer = null, E._currentRenderer2 = null, E;
|
|
}
|
|
var Vt = -1, Qr = 0, on = 1, In = 2;
|
|
function Lo(x) {
|
|
if (x._status === Vt) {
|
|
var E = x._result, D = E();
|
|
if (D.then(function(ie) {
|
|
if (x._status === Qr || x._status === Vt) {
|
|
var re = x;
|
|
re._status = on, re._result = ie;
|
|
}
|
|
}, function(ie) {
|
|
if (x._status === Qr || x._status === Vt) {
|
|
var re = x;
|
|
re._status = In, re._result = ie;
|
|
}
|
|
}), x._status === Vt) {
|
|
var L = x;
|
|
L._status = Qr, L._result = D;
|
|
}
|
|
}
|
|
if (x._status === on) {
|
|
var J = x._result;
|
|
return J === void 0 && W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))
|
|
|
|
Did you accidentally put curly braces around the import?`, J), "default" in J || W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))`, J), J.default;
|
|
} else
|
|
throw x._result;
|
|
}
|
|
function zo(x) {
|
|
var E = {
|
|
// We use these fields to store the result.
|
|
_status: Vt,
|
|
_result: x
|
|
}, D = {
|
|
$$typeof: y,
|
|
_payload: E,
|
|
_init: Lo
|
|
};
|
|
{
|
|
var L, J;
|
|
Object.defineProperties(D, {
|
|
defaultProps: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return L;
|
|
},
|
|
set: function(ie) {
|
|
W("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), L = ie, Object.defineProperty(D, "defaultProps", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
},
|
|
propTypes: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return J;
|
|
},
|
|
set: function(ie) {
|
|
W("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), J = ie, Object.defineProperty(D, "propTypes", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return D;
|
|
}
|
|
function Fn(x) {
|
|
x != null && x.$$typeof === p ? W("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof x != "function" ? W("forwardRef requires a render function but was given %s.", x === null ? "null" : typeof x) : x.length !== 0 && x.length !== 2 && W("forwardRef render functions accept exactly two parameters: props and ref. %s", x.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), x != null && (x.defaultProps != null || x.propTypes != null) && W("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");
|
|
var E = {
|
|
$$typeof: d,
|
|
render: x
|
|
};
|
|
{
|
|
var D;
|
|
Object.defineProperty(E, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return D;
|
|
},
|
|
set: function(L) {
|
|
D = L, !x.name && !x.displayName && (x.displayName = L);
|
|
}
|
|
});
|
|
}
|
|
return E;
|
|
}
|
|
var Ln;
|
|
Ln = Symbol.for("react.module.reference");
|
|
function wo(x) {
|
|
return !!(typeof x == "string" || typeof x == "function" || x === a || x === s || G || x === i || x === l || x === f || te || x === m || B || Z || M || typeof x == "object" && x !== null && (x.$$typeof === y || x.$$typeof === p || x.$$typeof === u || x.$$typeof === c || x.$$typeof === d || // This needs to include all possible module reference object
|
|
// types supported by any Flight configuration anywhere since
|
|
// we don't know which Flight build this will end up being used
|
|
// with.
|
|
x.$$typeof === Ln || x.getModuleId !== void 0));
|
|
}
|
|
function Rp(x, E) {
|
|
wo(x) || W("memo: The first argument must be a component. Instead received: %s", x === null ? "null" : typeof x);
|
|
var D = {
|
|
$$typeof: p,
|
|
type: x,
|
|
compare: E === void 0 ? null : E
|
|
};
|
|
{
|
|
var L;
|
|
Object.defineProperty(D, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return L;
|
|
},
|
|
set: function(J) {
|
|
L = J, !x.name && !x.displayName && (x.displayName = J);
|
|
}
|
|
});
|
|
}
|
|
return D;
|
|
}
|
|
function at() {
|
|
var x = _.current;
|
|
return x === null && W(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
2. You might be breaking the Rules of Hooks
|
|
3. You might have more than one copy of React in the same app
|
|
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), x;
|
|
}
|
|
function Mp(x) {
|
|
var E = at();
|
|
if (x._context !== void 0) {
|
|
var D = x._context;
|
|
D.Consumer === x ? W("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : D.Provider === x && W("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
|
|
}
|
|
return E.useContext(x);
|
|
}
|
|
function Dp(x) {
|
|
var E = at();
|
|
return E.useState(x);
|
|
}
|
|
function Fp(x, E, D) {
|
|
var L = at();
|
|
return L.useReducer(x, E, D);
|
|
}
|
|
function Lp(x) {
|
|
var E = at();
|
|
return E.useRef(x);
|
|
}
|
|
function zp(x, E) {
|
|
var D = at();
|
|
return D.useEffect(x, E);
|
|
}
|
|
function Wp(x, E) {
|
|
var D = at();
|
|
return D.useInsertionEffect(x, E);
|
|
}
|
|
function Vp(x, E) {
|
|
var D = at();
|
|
return D.useLayoutEffect(x, E);
|
|
}
|
|
function Hp(x, E) {
|
|
var D = at();
|
|
return D.useCallback(x, E);
|
|
}
|
|
function Gp(x, E) {
|
|
var D = at();
|
|
return D.useMemo(x, E);
|
|
}
|
|
function Up(x, E, D) {
|
|
var L = at();
|
|
return L.useImperativeHandle(x, E, D);
|
|
}
|
|
function Bp(x, E) {
|
|
{
|
|
var D = at();
|
|
return D.useDebugValue(x, E);
|
|
}
|
|
}
|
|
function Yp() {
|
|
var x = at();
|
|
return x.useTransition();
|
|
}
|
|
function qp(x) {
|
|
var E = at();
|
|
return E.useDeferredValue(x);
|
|
}
|
|
function Kp() {
|
|
var x = at();
|
|
return x.useId();
|
|
}
|
|
function Xp(x, E, D) {
|
|
var L = at();
|
|
return L.useSyncExternalStore(x, E, D);
|
|
}
|
|
var fn = 0, Es, As, Ps, Cs, Ns, Ts, Is;
|
|
function js() {
|
|
}
|
|
js.__reactDisabledLog = !0;
|
|
function Jp() {
|
|
{
|
|
if (fn === 0) {
|
|
Es = console.log, As = console.info, Ps = console.warn, Cs = console.error, Ns = console.group, Ts = console.groupCollapsed, Is = console.groupEnd;
|
|
var x = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
value: js,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
info: x,
|
|
log: x,
|
|
warn: x,
|
|
error: x,
|
|
group: x,
|
|
groupCollapsed: x,
|
|
groupEnd: x
|
|
});
|
|
}
|
|
fn++;
|
|
}
|
|
}
|
|
function Qp() {
|
|
{
|
|
if (fn--, fn === 0) {
|
|
var x = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
log: O({}, x, {
|
|
value: Es
|
|
}),
|
|
info: O({}, x, {
|
|
value: As
|
|
}),
|
|
warn: O({}, x, {
|
|
value: Ps
|
|
}),
|
|
error: O({}, x, {
|
|
value: Cs
|
|
}),
|
|
group: O({}, x, {
|
|
value: Ns
|
|
}),
|
|
groupCollapsed: O({}, x, {
|
|
value: Ts
|
|
}),
|
|
groupEnd: O({}, x, {
|
|
value: Is
|
|
})
|
|
});
|
|
}
|
|
fn < 0 && W("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
}
|
|
}
|
|
var Wo = H.ReactCurrentDispatcher, Vo;
|
|
function zn(x, E, D) {
|
|
{
|
|
if (Vo === void 0)
|
|
try {
|
|
throw Error();
|
|
} catch (J) {
|
|
var L = J.stack.trim().match(/\n( *(at )?)/);
|
|
Vo = L && L[1] || "";
|
|
}
|
|
return `
|
|
` + Vo + x;
|
|
}
|
|
}
|
|
var Ho = !1, Wn;
|
|
{
|
|
var Zp = typeof WeakMap == "function" ? WeakMap : Map;
|
|
Wn = new Zp();
|
|
}
|
|
function Rs(x, E) {
|
|
if (!x || Ho)
|
|
return "";
|
|
{
|
|
var D = Wn.get(x);
|
|
if (D !== void 0)
|
|
return D;
|
|
}
|
|
var L;
|
|
Ho = !0;
|
|
var J = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
var ie;
|
|
ie = Wo.current, Wo.current = null, Jp();
|
|
try {
|
|
if (E) {
|
|
var re = function() {
|
|
throw Error();
|
|
};
|
|
if (Object.defineProperty(re.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(re, []);
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
Reflect.construct(x, [], re);
|
|
} else {
|
|
try {
|
|
re.call();
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
x.call(re.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
x();
|
|
}
|
|
} catch (tt) {
|
|
if (tt && L && typeof tt.stack == "string") {
|
|
for (var se = tt.stack.split(`
|
|
`), pe = L.stack.split(`
|
|
`), Ce = se.length - 1, je = pe.length - 1; Ce >= 1 && je >= 0 && se[Ce] !== pe[je]; )
|
|
je--;
|
|
for (; Ce >= 1 && je >= 0; Ce--, je--)
|
|
if (se[Ce] !== pe[je]) {
|
|
if (Ce !== 1 || je !== 1)
|
|
do
|
|
if (Ce--, je--, je < 0 || se[Ce] !== pe[je]) {
|
|
var Re = `
|
|
` + se[Ce].replace(" at new ", " at ");
|
|
return x.displayName && Re.includes("<anonymous>") && (Re = Re.replace("<anonymous>", x.displayName)), typeof x == "function" && Wn.set(x, Re), Re;
|
|
}
|
|
while (Ce >= 1 && je >= 0);
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
Ho = !1, Wo.current = ie, Qp(), Error.prepareStackTrace = J;
|
|
}
|
|
var Me = x ? x.displayName || x.name : "", Fe = Me ? zn(Me) : "";
|
|
return typeof x == "function" && Wn.set(x, Fe), Fe;
|
|
}
|
|
function em(x, E, D) {
|
|
return Rs(x, !1);
|
|
}
|
|
function tm(x) {
|
|
var E = x.prototype;
|
|
return !!(E && E.isReactComponent);
|
|
}
|
|
function Vn(x, E, D) {
|
|
if (x == null)
|
|
return "";
|
|
if (typeof x == "function")
|
|
return Rs(x, tm(x));
|
|
if (typeof x == "string")
|
|
return zn(x);
|
|
switch (x) {
|
|
case l:
|
|
return zn("Suspense");
|
|
case f:
|
|
return zn("SuspenseList");
|
|
}
|
|
if (typeof x == "object")
|
|
switch (x.$$typeof) {
|
|
case d:
|
|
return em(x.render);
|
|
case p:
|
|
return Vn(x.type, E, D);
|
|
case y: {
|
|
var L = x, J = L._payload, ie = L._init;
|
|
try {
|
|
return Vn(ie(J), E, D);
|
|
} catch {
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
var Ms = {}, Ds = H.ReactDebugCurrentFrame;
|
|
function Hn(x) {
|
|
if (x) {
|
|
var E = x._owner, D = Vn(x.type, x._source, E ? E.type : null);
|
|
Ds.setExtraStackFrame(D);
|
|
} else
|
|
Ds.setExtraStackFrame(null);
|
|
}
|
|
function rm(x, E, D, L, J) {
|
|
{
|
|
var ie = Function.call.bind(ot);
|
|
for (var re in x)
|
|
if (ie(x, re)) {
|
|
var se = void 0;
|
|
try {
|
|
if (typeof x[re] != "function") {
|
|
var pe = Error((L || "React class") + ": " + D + " type `" + re + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof x[re] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
throw pe.name = "Invariant Violation", pe;
|
|
}
|
|
se = x[re](E, re, L, D, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
} catch (Ce) {
|
|
se = Ce;
|
|
}
|
|
se && !(se instanceof Error) && (Hn(J), W("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", L || "React class", D, re, typeof se), Hn(null)), se instanceof Error && !(se.message in Ms) && (Ms[se.message] = !0, Hn(J), W("Failed %s type: %s", D, se.message), Hn(null));
|
|
}
|
|
}
|
|
}
|
|
function Zr(x) {
|
|
if (x) {
|
|
var E = x._owner, D = Vn(x.type, x._source, E ? E.type : null);
|
|
Y(D);
|
|
} else
|
|
Y(null);
|
|
}
|
|
var Go;
|
|
Go = !1;
|
|
function Fs() {
|
|
if (F.current) {
|
|
var x = fe(F.current.type);
|
|
if (x)
|
|
return `
|
|
|
|
Check the render method of \`` + x + "`.";
|
|
}
|
|
return "";
|
|
}
|
|
function nm(x) {
|
|
if (x !== void 0) {
|
|
var E = x.fileName.replace(/^.*[\\\/]/, ""), D = x.lineNumber;
|
|
return `
|
|
|
|
Check your code at ` + E + ":" + D + ".";
|
|
}
|
|
return "";
|
|
}
|
|
function om(x) {
|
|
return x != null ? nm(x.__source) : "";
|
|
}
|
|
var Ls = {};
|
|
function am(x) {
|
|
var E = Fs();
|
|
if (!E) {
|
|
var D = typeof x == "string" ? x : x.displayName || x.name;
|
|
D && (E = `
|
|
|
|
Check the top-level render call using <` + D + ">.");
|
|
}
|
|
return E;
|
|
}
|
|
function zs(x, E) {
|
|
if (!(!x._store || x._store.validated || x.key != null)) {
|
|
x._store.validated = !0;
|
|
var D = am(E);
|
|
if (!Ls[D]) {
|
|
Ls[D] = !0;
|
|
var L = "";
|
|
x && x._owner && x._owner !== F.current && (L = " It was passed a child from " + fe(x._owner.type) + "."), Zr(x), W('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', D, L), Zr(null);
|
|
}
|
|
}
|
|
}
|
|
function Ws(x, E) {
|
|
if (typeof x == "object") {
|
|
if (oe(x))
|
|
for (var D = 0; D < x.length; D++) {
|
|
var L = x[D];
|
|
yr(L) && zs(L, E);
|
|
}
|
|
else if (yr(x))
|
|
x._store && (x._store.validated = !0);
|
|
else if (x) {
|
|
var J = $(x);
|
|
if (typeof J == "function" && J !== x.entries)
|
|
for (var ie = J.call(x), re; !(re = ie.next()).done; )
|
|
yr(re.value) && zs(re.value, E);
|
|
}
|
|
}
|
|
}
|
|
function Vs(x) {
|
|
{
|
|
var E = x.type;
|
|
if (E == null || typeof E == "string")
|
|
return;
|
|
var D;
|
|
if (typeof E == "function")
|
|
D = E.propTypes;
|
|
else if (typeof E == "object" && (E.$$typeof === d || // Note: Memo only checks outer props here.
|
|
// Inner props are checked in the reconciler.
|
|
E.$$typeof === p))
|
|
D = E.propTypes;
|
|
else
|
|
return;
|
|
if (D) {
|
|
var L = fe(E);
|
|
rm(D, x.props, "prop", L, x);
|
|
} else if (E.PropTypes !== void 0 && !Go) {
|
|
Go = !0;
|
|
var J = fe(E);
|
|
W("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", J || "Unknown");
|
|
}
|
|
typeof E.getDefaultProps == "function" && !E.getDefaultProps.isReactClassApproved && W("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
}
|
|
}
|
|
function im(x) {
|
|
{
|
|
for (var E = Object.keys(x.props), D = 0; D < E.length; D++) {
|
|
var L = E[D];
|
|
if (L !== "children" && L !== "key") {
|
|
Zr(x), W("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", L), Zr(null);
|
|
break;
|
|
}
|
|
}
|
|
x.ref !== null && (Zr(x), W("Invalid attribute `ref` supplied to `React.Fragment`."), Zr(null));
|
|
}
|
|
}
|
|
function Hs(x, E, D) {
|
|
var L = wo(x);
|
|
if (!L) {
|
|
var J = "";
|
|
(x === void 0 || typeof x == "object" && x !== null && Object.keys(x).length === 0) && (J += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
var ie = om(E);
|
|
ie ? J += ie : J += Fs();
|
|
var re;
|
|
x === null ? re = "null" : oe(x) ? re = "array" : x !== void 0 && x.$$typeof === n ? (re = "<" + (fe(x.type) || "Unknown") + " />", J = " Did you accidentally export a JSX literal instead of a component?") : re = typeof x, W("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", re, J);
|
|
}
|
|
var se = vo.apply(this, arguments);
|
|
if (se == null)
|
|
return se;
|
|
if (L)
|
|
for (var pe = 2; pe < arguments.length; pe++)
|
|
Ws(arguments[pe], x);
|
|
return x === a ? im(se) : Vs(se), se;
|
|
}
|
|
var Gs = !1;
|
|
function sm(x) {
|
|
var E = Hs.bind(null, x);
|
|
return E.type = x, Gs || (Gs = !0, U("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(E, "type", {
|
|
enumerable: !1,
|
|
get: function() {
|
|
return U("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
|
|
value: x
|
|
}), x;
|
|
}
|
|
}), E;
|
|
}
|
|
function lm(x, E, D) {
|
|
for (var L = Do.apply(this, arguments), J = 2; J < arguments.length; J++)
|
|
Ws(arguments[J], L.type);
|
|
return Vs(L), L;
|
|
}
|
|
function cm(x, E) {
|
|
var D = S.transition;
|
|
S.transition = {};
|
|
var L = S.transition;
|
|
S.transition._updatedFibers = /* @__PURE__ */ new Set();
|
|
try {
|
|
x();
|
|
} finally {
|
|
if (S.transition = D, D === null && L._updatedFibers) {
|
|
var J = L._updatedFibers.size;
|
|
J > 10 && U("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), L._updatedFibers.clear();
|
|
}
|
|
}
|
|
}
|
|
var Us = !1, Gn = null;
|
|
function um(x) {
|
|
if (Gn === null)
|
|
try {
|
|
var E = ("require" + Math.random()).slice(0, 7), D = e && e[E];
|
|
Gn = D.call(e, "timers").setImmediate;
|
|
} catch {
|
|
Gn = function(L) {
|
|
Us === !1 && (Us = !0, typeof MessageChannel > "u" && W("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));
|
|
var J = new MessageChannel();
|
|
J.port1.onmessage = L, J.port2.postMessage(void 0);
|
|
};
|
|
}
|
|
return Gn(x);
|
|
}
|
|
var en = 0, Bs = !1;
|
|
function Ys(x) {
|
|
{
|
|
var E = en;
|
|
en++, b.current === null && (b.current = []);
|
|
var D = b.isBatchingLegacy, L;
|
|
try {
|
|
if (b.isBatchingLegacy = !0, L = x(), !D && b.didScheduleLegacyUpdate) {
|
|
var J = b.current;
|
|
J !== null && (b.didScheduleLegacyUpdate = !1, Yo(J));
|
|
}
|
|
} catch (Me) {
|
|
throw Un(E), Me;
|
|
} finally {
|
|
b.isBatchingLegacy = D;
|
|
}
|
|
if (L !== null && typeof L == "object" && typeof L.then == "function") {
|
|
var ie = L, re = !1, se = {
|
|
then: function(Me, Fe) {
|
|
re = !0, ie.then(function(tt) {
|
|
Un(E), en === 0 ? Uo(tt, Me, Fe) : Me(tt);
|
|
}, function(tt) {
|
|
Un(E), Fe(tt);
|
|
});
|
|
}
|
|
};
|
|
return !Bs && typeof Promise < "u" && Promise.resolve().then(function() {
|
|
}).then(function() {
|
|
re || (Bs = !0, W("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"));
|
|
}), se;
|
|
} else {
|
|
var pe = L;
|
|
if (Un(E), en === 0) {
|
|
var Ce = b.current;
|
|
Ce !== null && (Yo(Ce), b.current = null);
|
|
var je = {
|
|
then: function(Me, Fe) {
|
|
b.current === null ? (b.current = [], Uo(pe, Me, Fe)) : Me(pe);
|
|
}
|
|
};
|
|
return je;
|
|
} else {
|
|
var Re = {
|
|
then: function(Me, Fe) {
|
|
Me(pe);
|
|
}
|
|
};
|
|
return Re;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function Un(x) {
|
|
x !== en - 1 && W("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), en = x;
|
|
}
|
|
function Uo(x, E, D) {
|
|
{
|
|
var L = b.current;
|
|
if (L !== null)
|
|
try {
|
|
Yo(L), um(function() {
|
|
L.length === 0 ? (b.current = null, E(x)) : Uo(x, E, D);
|
|
});
|
|
} catch (J) {
|
|
D(J);
|
|
}
|
|
else
|
|
E(x);
|
|
}
|
|
}
|
|
var Bo = !1;
|
|
function Yo(x) {
|
|
if (!Bo) {
|
|
Bo = !0;
|
|
var E = 0;
|
|
try {
|
|
for (; E < x.length; E++) {
|
|
var D = x[E];
|
|
do
|
|
D = D(!0);
|
|
while (D !== null);
|
|
}
|
|
x.length = 0;
|
|
} catch (L) {
|
|
throw x = x.slice(E + 1), L;
|
|
} finally {
|
|
Bo = !1;
|
|
}
|
|
}
|
|
}
|
|
var fm = Hs, dm = lm, pm = sm, mm = {
|
|
map: wr,
|
|
forEach: sn,
|
|
count: Dn,
|
|
toArray: nn,
|
|
only: mn
|
|
};
|
|
t.Children = mm, t.Component = A, t.Fragment = a, t.Profiler = s, t.PureComponent = j, t.StrictMode = i, t.Suspense = l, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = H, t.act = Ys, t.cloneElement = dm, t.createContext = xo, t.createElement = fm, t.createFactory = pm, t.createRef = Q, t.forwardRef = Fn, t.isValidElement = yr, t.lazy = zo, t.memo = Rp, t.startTransition = cm, t.unstable_act = Ys, t.useCallback = Hp, t.useContext = Mp, t.useDebugValue = Bp, t.useDeferredValue = qp, t.useEffect = zp, t.useId = Kp, t.useImperativeHandle = Up, t.useInsertionEffect = Wp, t.useLayoutEffect = Vp, t.useMemo = Gp, t.useReducer = Fp, t.useRef = Lp, t.useState = Dp, t.useSyncExternalStore = Xp, t.useTransition = Yp, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
|
|
}();
|
|
}(Wv, Wv.exports)), Wv.exports;
|
|
}
|
|
var zR;
|
|
function eSe() {
|
|
return zR || (zR = 1, process.env.NODE_ENV === "production" ? P$.exports = QOe() : P$.exports = ZOe()), P$.exports;
|
|
}
|
|
eSe();
|
|
function Zq() {
|
|
return typeof window < "u" && ("__TAURI_INTERNALS__" in window || "__TAURI__" in window);
|
|
}
|
|
window.IsDesktopApp = Zq;
|
|
function hn(e, t, r, n) {
|
|
if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
return r === "m" ? n : r === "a" ? n.call(e) : n ? n.value : t.get(e);
|
|
}
|
|
function Dm(e, t, r, n, o) {
|
|
if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
return t.set(e, r), r;
|
|
}
|
|
var Xc, $o, gf, Fy;
|
|
const WR = "__TAURI_TO_IPC_KEY__";
|
|
function tSe(e, t = !1) {
|
|
return window.__TAURI_INTERNALS__.transformCallback(e, t);
|
|
}
|
|
let rSe = class {
|
|
constructor(t) {
|
|
Xc.set(this, void 0), $o.set(this, 0), gf.set(this, []), Fy.set(this, void 0), Dm(this, Xc, t || (() => {
|
|
})), this.id = tSe((r) => {
|
|
const n = r.index;
|
|
if ("end" in r) {
|
|
n == hn(this, $o, "f") ? this.cleanupCallback() : Dm(this, Fy, n);
|
|
return;
|
|
}
|
|
const o = r.message;
|
|
if (n == hn(this, $o, "f")) {
|
|
for (hn(this, Xc, "f").call(this, o), Dm(this, $o, hn(this, $o, "f") + 1); hn(this, $o, "f") in hn(this, gf, "f"); ) {
|
|
const a = hn(this, gf, "f")[hn(this, $o, "f")];
|
|
hn(this, Xc, "f").call(this, a), delete hn(this, gf, "f")[hn(this, $o, "f")], Dm(this, $o, hn(this, $o, "f") + 1);
|
|
}
|
|
hn(this, $o, "f") === hn(this, Fy, "f") && this.cleanupCallback();
|
|
} else
|
|
hn(this, gf, "f")[n] = o;
|
|
});
|
|
}
|
|
cleanupCallback() {
|
|
window.__TAURI_INTERNALS__.unregisterCallback(this.id);
|
|
}
|
|
set onmessage(t) {
|
|
Dm(this, Xc, t);
|
|
}
|
|
get onmessage() {
|
|
return hn(this, Xc, "f");
|
|
}
|
|
[(Xc = /* @__PURE__ */ new WeakMap(), $o = /* @__PURE__ */ new WeakMap(), gf = /* @__PURE__ */ new WeakMap(), Fy = /* @__PURE__ */ new WeakMap(), WR)]() {
|
|
return `__CHANNEL__:${this.id}`;
|
|
}
|
|
toJSON() {
|
|
return this[WR]();
|
|
}
|
|
};
|
|
async function Ly(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
const zy = "Request cancelled";
|
|
async function VR(e, t) {
|
|
const r = t == null ? void 0 : t.signal;
|
|
if (r != null && r.aborted)
|
|
throw new Error(zy);
|
|
const n = t == null ? void 0 : t.maxRedirections, o = t == null ? void 0 : t.connectTimeout, a = t == null ? void 0 : t.proxy, i = t == null ? void 0 : t.danger;
|
|
t && (delete t.maxRedirections, delete t.connectTimeout, delete t.proxy, delete t.danger);
|
|
const s = t != null && t.headers ? t.headers instanceof Headers ? t.headers : new Headers(t.headers) : new Headers(), u = new Request(e, t), c = await u.arrayBuffer(), d = c.byteLength !== 0 ? Array.from(new Uint8Array(c)) : null;
|
|
for (const [b, F] of u.headers)
|
|
s.get(b) || s.set(b, F);
|
|
const l = (s instanceof Headers ? Array.from(s.entries()) : Array.isArray(s) ? s : Object.entries(s)).map(([b, F]) => [
|
|
b,
|
|
// we need to ensure we have all header values as strings
|
|
// eslint-disable-next-line
|
|
typeof F == "string" ? F : F.toString()
|
|
]);
|
|
if (r != null && r.aborted)
|
|
throw new Error(zy);
|
|
const f = await Ly("plugin:http|fetch", {
|
|
clientConfig: {
|
|
method: u.method,
|
|
url: u.url,
|
|
headers: l,
|
|
data: d,
|
|
maxRedirections: n,
|
|
connectTimeout: o,
|
|
proxy: a,
|
|
danger: i
|
|
}
|
|
}), p = () => Ly("plugin:http|fetch_cancel", { rid: f });
|
|
if (r != null && r.aborted)
|
|
throw p(), new Error(zy);
|
|
r == null || r.addEventListener("abort", () => void p());
|
|
const { status: y, statusText: m, url: h, headers: w, rid: $ } = await Ly("plugin:http|fetch_send", {
|
|
rid: f
|
|
}), _ = [101, 103, 204, 205, 304].includes(y) ? null : new ReadableStream({
|
|
start: (b) => {
|
|
const F = new rSe();
|
|
F.onmessage = (z) => {
|
|
if (r != null && r.aborted) {
|
|
b.error(zy);
|
|
return;
|
|
}
|
|
const q = new Uint8Array(z), Y = q[q.byteLength - 1], B = q.slice(0, q.byteLength - 1);
|
|
if (Y == 1) {
|
|
b.close();
|
|
return;
|
|
}
|
|
b.enqueue(B);
|
|
}, Ly("plugin:http|fetch_read_body", {
|
|
rid: $,
|
|
streamChannel: F
|
|
}).catch((z) => {
|
|
b.error(z);
|
|
});
|
|
}
|
|
}), S = new Response(_, {
|
|
status: y,
|
|
statusText: m
|
|
});
|
|
return Object.defineProperty(S, "url", { value: h }), Object.defineProperty(S, "headers", {
|
|
value: new Headers(w)
|
|
}), S;
|
|
}
|
|
function B1(e, t) {
|
|
return Zq() ? t !== void 0 ? VR(e, t) : VR(e) : t !== void 0 ? fetch(e, t) : fetch(e);
|
|
}
|
|
window.FetchProxy = B1;
|
|
let nSe = class {
|
|
constructor() {
|
|
Jq(this, "ApiTargets", {}), this.ApiTargets = {
|
|
GoggleApi: dh.GOOGLE_API,
|
|
FunnelApi: dh.FUNNEL_API,
|
|
CdnApi: dh.CDN_API,
|
|
GravatarApi: dh.GRAVATAR_API
|
|
};
|
|
}
|
|
getApiSchemeAndHost() {
|
|
return JOe.getInstance().getApiSchemeAndHost();
|
|
}
|
|
async fetch(t, {
|
|
method: r,
|
|
query: n,
|
|
body: o
|
|
}) {
|
|
const a = n && Object.entries(n).reduce(
|
|
(c, [d, l]) => (l && (c[d] = l.toString()), c),
|
|
{}
|
|
), i = a ? t + "?" + new URLSearchParams(a) : t, s = JSON.stringify(o), u = await B1(i, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: s
|
|
});
|
|
if (!u.ok)
|
|
throw new Error(`HTTP error! status: ${u.status}`);
|
|
return u.json();
|
|
}
|
|
async fetchMultipartFormData(t, {
|
|
method: r,
|
|
body: n
|
|
}) {
|
|
return (await B1(t, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: n
|
|
})).json();
|
|
}
|
|
get({
|
|
endpoint: t,
|
|
query: r
|
|
}) {
|
|
return this.fetch(t, { method: "GET", query: r });
|
|
}
|
|
post({
|
|
endpoint: t,
|
|
query: r,
|
|
body: n
|
|
}) {
|
|
return this.fetch(t, {
|
|
method: "POST",
|
|
query: r,
|
|
body: n
|
|
});
|
|
}
|
|
delete({
|
|
endpoint: t,
|
|
query: r,
|
|
body: n
|
|
}) {
|
|
return this.fetch(t, {
|
|
method: "DELETE",
|
|
query: r,
|
|
body: n
|
|
});
|
|
}
|
|
async postFormVideo({
|
|
endpoint: t,
|
|
formRecord: r,
|
|
uuid: n,
|
|
blob: o,
|
|
blobFileName: a
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, u]) => {
|
|
i.append(s, u);
|
|
}), o && a ? i.append("video", o, a) : o && i.append("video", o), this.fetchMultipartFormData(t, {
|
|
method: "POST",
|
|
body: i
|
|
});
|
|
}
|
|
async postForm({
|
|
endpoint: t,
|
|
formRecord: r,
|
|
uuid: n,
|
|
blob: o,
|
|
blobFileName: a
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, u]) => {
|
|
i.append(s, u);
|
|
}), o && a ? i.append("file", o, a) : o && i.append("file", o), this.fetchMultipartFormData(t, {
|
|
method: "POST",
|
|
body: i
|
|
});
|
|
}
|
|
camelToSnakeCase(t) {
|
|
return t.replace(/([a-z0])([A-Z])/g, "$1_$2").toLowerCase();
|
|
}
|
|
parseQueryValues(t) {
|
|
return Object.entries(t).reduce(
|
|
(r, [n, o]) => {
|
|
if (!o)
|
|
return r;
|
|
const a = this.camelToSnakeCase(n);
|
|
return Array.isArray(o) ? { ...r, [a]: o.join(",") } : { ...r, [a]: o.toString() };
|
|
},
|
|
{}
|
|
);
|
|
}
|
|
parseBodyValues(t) {
|
|
return Object.entries(t).reduce((r, [n, o]) => {
|
|
if (!o)
|
|
return r;
|
|
const a = this.camelToSnakeCase(n);
|
|
return Array.isArray(o) ? { ...r, [a]: o } : { ...r, [a]: o };
|
|
}, {});
|
|
}
|
|
};
|
|
var HR;
|
|
(function(e) {
|
|
e[e.Audio = 1] = "Audio", e[e.Cache = 2] = "Cache", e[e.Config = 3] = "Config", e[e.Data = 4] = "Data", e[e.LocalData = 5] = "LocalData", e[e.Document = 6] = "Document", e[e.Download = 7] = "Download", e[e.Picture = 8] = "Picture", e[e.Public = 9] = "Public", e[e.Video = 10] = "Video", e[e.Resource = 11] = "Resource", e[e.Temp = 12] = "Temp", e[e.AppConfig = 13] = "AppConfig", e[e.AppData = 14] = "AppData", e[e.AppLocalData = 15] = "AppLocalData", e[e.AppCache = 16] = "AppCache", e[e.AppLog = 17] = "AppLog", e[e.Desktop = 18] = "Desktop", e[e.Executable = 19] = "Executable", e[e.Font = 20] = "Font", e[e.Home = 21] = "Home", e[e.Runtime = 22] = "Runtime", e[e.Template = 23] = "Template";
|
|
})(HR || (HR = {}));
|
|
let eK = class extends nSe {
|
|
async authFetch(t, {
|
|
method: r,
|
|
body: n
|
|
}) {
|
|
const o = JSON.stringify(n);
|
|
return await (await B1(t, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: o
|
|
})).json();
|
|
}
|
|
GetSession() {
|
|
const t = `${this.getApiSchemeAndHost()}/v1/session`;
|
|
return this.get({ endpoint: t }).then((r) => ({
|
|
success: r.success,
|
|
data: {
|
|
loggedIn: r.logged_in,
|
|
user: r.user
|
|
}
|
|
})).catch((r) => ({
|
|
success: !1,
|
|
errorMessage: r.message
|
|
}));
|
|
}
|
|
GetUserProfile(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/user/${t}/profile`;
|
|
return console.log("endpoint", r), this.get({ endpoint: r }).then((n) => ({
|
|
success: n.success,
|
|
data: {
|
|
user: n.user
|
|
}
|
|
})).catch((n) => ({
|
|
success: !1,
|
|
errorMessage: n.message
|
|
}));
|
|
}
|
|
async Login({
|
|
usernameOrEmail: t,
|
|
password: r
|
|
}) {
|
|
console.log("libs/api - Logging in with usernameOrEmail:", t);
|
|
const n = `${this.getApiSchemeAndHost()}/v1/login`;
|
|
console.log("libs/api - Login endpoint", n);
|
|
const o = {
|
|
username_or_email: t,
|
|
password: r
|
|
};
|
|
try {
|
|
const a = await this.authFetch(n, {
|
|
method: "POST",
|
|
body: o
|
|
});
|
|
return {
|
|
success: a.success,
|
|
data: a.success ? { signedSession: a.signed_session } : void 0,
|
|
errorMessage: a.error_message
|
|
};
|
|
} catch (a) {
|
|
return {
|
|
success: !1,
|
|
errorMessage: a.message
|
|
};
|
|
}
|
|
}
|
|
Logout() {
|
|
const t = `${this.getApiSchemeAndHost()}/v1/logout`;
|
|
return this.post({
|
|
endpoint: t
|
|
}).then((r) => ({
|
|
success: r.success
|
|
})).catch((r) => ({
|
|
success: !1,
|
|
errorMessage: r.message
|
|
}));
|
|
}
|
|
async Signup({
|
|
username: t,
|
|
email: r,
|
|
password: n,
|
|
passwordConfirmation: o,
|
|
signupSource: a
|
|
}) {
|
|
const i = `${this.getApiSchemeAndHost()}/v1/create_account`, s = {
|
|
email_address: r,
|
|
password: n,
|
|
password_confirmation: o,
|
|
username: t
|
|
};
|
|
a && (s.signup_source = a);
|
|
try {
|
|
const u = await this.authFetch(i, {
|
|
method: "POST",
|
|
body: s
|
|
});
|
|
return {
|
|
success: u.success,
|
|
data: u.success ? { signedSession: u.signed_session } : void 0,
|
|
errorMessage: u.error_message || Object.values(u.error_fields ?? {}).join(", ")
|
|
};
|
|
} catch (u) {
|
|
return {
|
|
success: !1,
|
|
errorMessage: u.message
|
|
};
|
|
}
|
|
}
|
|
};
|
|
window.UsersApi = new eK();
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function oSe(e, t, r) {
|
|
return (t = iSe(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function GR(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function xe(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? GR(Object(r), !0).forEach(function(n) {
|
|
oSe(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : GR(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function aSe(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function iSe(e) {
|
|
var t = aSe(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const UR = () => {
|
|
};
|
|
let DP = {}, tK = {}, rK = null, nK = {
|
|
mark: UR,
|
|
measure: UR
|
|
};
|
|
try {
|
|
typeof window < "u" && (DP = window), typeof document < "u" && (tK = document), typeof MutationObserver < "u" && (rK = MutationObserver), typeof performance < "u" && (nK = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: BR = ""
|
|
} = DP.navigator || {}, wc = DP, Wr = tK, YR = rK, Wy = nK;
|
|
wc.document;
|
|
const ys = !!Wr.documentElement && !!Wr.head && typeof Wr.addEventListener == "function" && typeof Wr.createElement == "function", oK = ~BR.indexOf("MSIE") || ~BR.indexOf("Trident/");
|
|
var sSe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, lSe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, aK = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, cSe = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, iK = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], _n = "classic", Sx = "duotone", uSe = "sharp", fSe = "sharp-duotone", sK = [_n, Sx, uSe, fSe], dSe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, pSe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, mSe = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), hSe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, gSe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], qR = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, bSe = ["kit"], ySe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, vSe = ["fak", "fakd"], xSe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, KR = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Vy = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, wSe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], $Se = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], kSe = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, _Se = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, OSe = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, xE = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, SSe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], wE = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...wSe, ...SSe], ESe = ["solid", "regular", "light", "thin", "duotone", "brands"], lK = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ASe = lK.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), PSe = [...Object.keys(OSe), ...ESe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Vy.GROUP, Vy.SWAP_OPACITY, Vy.PRIMARY, Vy.SECONDARY].concat(lK.map((e) => "".concat(e, "x"))).concat(ASe.map((e) => "w-".concat(e))), CSe = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const Xi = "___FONT_AWESOME___", $E = 16, cK = "fa", uK = "svg-inline--fa", Wu = "data-fa-i2svg", kE = "data-fa-pseudo-element", NSe = "data-fa-pseudo-element-pending", FP = "data-prefix", LP = "data-icon", XR = "fontawesome-i2svg", TSe = "async", ISe = ["HTML", "HEAD", "STYLE", "SCRIPT"], fK = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function zb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[_n];
|
|
}
|
|
});
|
|
}
|
|
const dK = xe({}, aK);
|
|
dK[_n] = xe(xe(xe(xe({}, {
|
|
"fa-duotone": "duotone"
|
|
}), aK[_n]), qR.kit), qR["kit-duotone"]);
|
|
const jSe = zb(dK), _E = xe({}, hSe);
|
|
_E[_n] = xe(xe(xe(xe({}, {
|
|
duotone: "fad"
|
|
}), _E[_n]), KR.kit), KR["kit-duotone"]);
|
|
const JR = zb(_E), OE = xe({}, xE);
|
|
OE[_n] = xe(xe({}, OE[_n]), xSe.kit);
|
|
const zP = zb(OE), SE = xe({}, _Se);
|
|
SE[_n] = xe(xe({}, SE[_n]), ySe.kit);
|
|
zb(SE);
|
|
const RSe = sSe, pK = "fa-layers-text", MSe = lSe, DSe = xe({}, dSe);
|
|
zb(DSe);
|
|
const FSe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], C$ = cSe, LSe = [...bSe, ...PSe], Uh = wc.FontAwesomeConfig || {};
|
|
function zSe(e) {
|
|
var t = Wr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function WSe(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Wr && typeof Wr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = WSe(zSe(t));
|
|
n != null && (Uh[r] = n);
|
|
});
|
|
const mK = {
|
|
styleDefault: "solid",
|
|
familyDefault: _n,
|
|
cssPrefix: cK,
|
|
replacementClass: uK,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Uh.familyPrefix && (Uh.cssPrefix = Uh.familyPrefix);
|
|
const Vd = xe(xe({}, mK), Uh);
|
|
Vd.autoReplaceSvg || (Vd.observeMutations = !1);
|
|
const Ue = {};
|
|
Object.keys(mK).forEach((e) => {
|
|
Object.defineProperty(Ue, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Vd[e] = t, Bh.forEach((r) => r(Ue));
|
|
},
|
|
get: function() {
|
|
return Vd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Ue, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Vd.cssPrefix = e, Bh.forEach((t) => t(Ue));
|
|
},
|
|
get: function() {
|
|
return Vd.cssPrefix;
|
|
}
|
|
});
|
|
wc.FontAwesomeConfig = Ue;
|
|
const Bh = [];
|
|
function VSe(e) {
|
|
return Bh.push(e), () => {
|
|
Bh.splice(Bh.indexOf(e), 1);
|
|
};
|
|
}
|
|
const gl = $E, Ua = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function HSe(e) {
|
|
if (!e || !ys)
|
|
return;
|
|
const t = Wr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Wr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Wr.head.insertBefore(t, n), e;
|
|
}
|
|
const GSe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Vg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += GSe[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function hp(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function WP(e) {
|
|
return e.classList ? hp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function hK(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function USe(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(hK(e[r]), '" '), "").trim();
|
|
}
|
|
function Ex(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function VP(e) {
|
|
return e.size !== Ua.size || e.x !== Ua.x || e.y !== Ua.y || e.rotate !== Ua.rotate || e.flipX || e.flipY;
|
|
}
|
|
function BSe(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function YSe(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = $E,
|
|
height: n = $E,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && oK ? a += "translate(".concat(t.x / gl - r / 2, "em, ").concat(t.y / gl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / gl, "em), calc(-50% + ").concat(t.y / gl, "em)) ") : a += "translate(".concat(t.x / gl, "em, ").concat(t.y / gl, "em) "), a += "scale(".concat(t.size / gl * (t.flipX ? -1 : 1), ", ").concat(t.size / gl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var qSe = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function gK() {
|
|
const e = cK, t = uK, r = Ue.cssPrefix, n = Ue.replacementClass;
|
|
let o = qSe;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let QR = !1;
|
|
function N$() {
|
|
Ue.autoAddCss && !QR && (HSe(gK()), QR = !0);
|
|
}
|
|
var KSe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: gK,
|
|
insertCss: N$
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
N$();
|
|
},
|
|
beforeI2svg() {
|
|
N$();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Ji = wc || {};
|
|
Ji[Xi] || (Ji[Xi] = {});
|
|
Ji[Xi].styles || (Ji[Xi].styles = {});
|
|
Ji[Xi].hooks || (Ji[Xi].hooks = {});
|
|
Ji[Xi].shims || (Ji[Xi].shims = []);
|
|
var Ba = Ji[Xi];
|
|
const bK = [], yK = function() {
|
|
Wr.removeEventListener("DOMContentLoaded", yK), Y1 = 1, bK.map((e) => e());
|
|
};
|
|
let Y1 = !1;
|
|
ys && (Y1 = (Wr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Wr.readyState), Y1 || Wr.addEventListener("DOMContentLoaded", yK));
|
|
function XSe(e) {
|
|
ys && (Y1 ? setTimeout(e, 0) : bK.push(e));
|
|
}
|
|
function Wb(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? hK(e) : "<".concat(t, " ").concat(USe(r), ">").concat(n.map(Wb).join(""), "</").concat(t, ">");
|
|
}
|
|
function ZR(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var T$ = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function JSe(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function vK(e) {
|
|
const t = JSe(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function QSe(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function e7(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function EE(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = e7(t);
|
|
typeof Ba.hooks.addPack == "function" && !n ? Ba.hooks.addPack(e, e7(t)) : Ba.styles[e] = xe(xe({}, Ba.styles[e] || {}), o), e === "fas" && EE("fa", t);
|
|
}
|
|
const {
|
|
styles: Hg,
|
|
shims: ZSe
|
|
} = Ba, xK = Object.keys(zP), eEe = xK.reduce((e, t) => (e[t] = Object.keys(zP[t]), e), {});
|
|
let HP = null, wK = {}, $K = {}, kK = {}, _K = {}, OK = {};
|
|
function tEe(e) {
|
|
return ~LSe.indexOf(e);
|
|
}
|
|
function rEe(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !tEe(o) ? o : null;
|
|
}
|
|
const SK = () => {
|
|
const e = (n) => T$(Hg, (o, a, i) => (o[i] = T$(a, n, {}), o), {});
|
|
wK = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), $K = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), OK = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Hg || Ue.autoFetchSvg, r = T$(ZSe, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
kK = r.names, _K = r.unicodes, HP = Ax(Ue.styleDefault, {
|
|
family: Ue.familyDefault
|
|
});
|
|
};
|
|
VSe((e) => {
|
|
HP = Ax(e.styleDefault, {
|
|
family: Ue.familyDefault
|
|
});
|
|
});
|
|
SK();
|
|
function GP(e, t) {
|
|
return (wK[e] || {})[t];
|
|
}
|
|
function nEe(e, t) {
|
|
return ($K[e] || {})[t];
|
|
}
|
|
function uu(e, t) {
|
|
return (OK[e] || {})[t];
|
|
}
|
|
function EK(e) {
|
|
return kK[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function oEe(e) {
|
|
const t = _K[e], r = GP("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function $c() {
|
|
return HP;
|
|
}
|
|
const AK = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function aEe(e) {
|
|
let t = _n;
|
|
const r = xK.reduce((n, o) => (n[o] = "".concat(Ue.cssPrefix, "-").concat(o), n), {});
|
|
return sK.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => eEe[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Ax(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = _n
|
|
} = t, n = jSe[r][e];
|
|
if (r === Sx && !e)
|
|
return "fad";
|
|
const o = JR[r][e] || JR[r][n], a = e in Ba.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function iEe(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = rEe(Ue.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function t7(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Px(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = wE.concat($Se), a = t7(e.filter((l) => o.includes(l))), i = t7(e.filter((l) => !wE.includes(l))), s = a.filter((l) => (n = l, !iK.includes(l))), [u = null] = s, c = aEe(a), d = xe(xe({}, iEe(i)), {}, {
|
|
prefix: Ax(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return xe(xe(xe({}, d), uEe({
|
|
values: e,
|
|
family: c,
|
|
styles: Hg,
|
|
config: Ue,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), sEe(r, n, d));
|
|
}
|
|
function sEe(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? EK(o) : {}, i = uu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Hg.far && Hg.fas && !Ue.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const lEe = sK.filter((e) => e !== _n || e !== Sx), cEe = Object.keys(xE).filter((e) => e !== _n).map((e) => Object.keys(xE[e])).flat();
|
|
function uEe(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Sx, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && lEe.includes(r) && (Object.keys(a).find((l) => cEe.includes(l)) || i.autoFetchSvg)) {
|
|
const l = mSe.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = uu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = $c() || "fas"), n;
|
|
}
|
|
let fEe = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = xe(xe({}, this.definitions[a] || {}), o[a]), EE(a, o[a]);
|
|
const i = zP[_n][a];
|
|
i && EE(i, o[a]), SK();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, r7 = [], Df = {};
|
|
const gd = {}, dEe = Object.keys(gd);
|
|
function pEe(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return r7 = e, Df = {}, Object.keys(gd).forEach((n) => {
|
|
dEe.indexOf(n) === -1 && delete gd[n];
|
|
}), r7.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Df[i] || (Df[i] = []), Df[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(gd);
|
|
}), r;
|
|
}
|
|
function AE(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Df[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Vu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Df[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function kc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return gd[e] ? gd[e].apply(null, t) : void 0;
|
|
}
|
|
function PE(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || $c();
|
|
if (t)
|
|
return t = uu(r, t) || t, ZR(PK.definitions, r, t) || ZR(Ba.styles, r, t);
|
|
}
|
|
const PK = new fEe(), mEe = () => {
|
|
Ue.autoReplaceSvg = !1, Ue.observeMutations = !1, Vu("noAuto");
|
|
}, hEe = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return ys ? (Vu("beforeI2svg", e), kc("pseudoElements2svg", e), kc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Ue.autoReplaceSvg === !1 && (Ue.autoReplaceSvg = !0), Ue.observeMutations = !0, XSe(() => {
|
|
bEe({
|
|
autoReplaceSvgRoot: t
|
|
}), Vu("watch", e);
|
|
});
|
|
}
|
|
}, gEe = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: uu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = Ax(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: uu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Ue.cssPrefix, "-")) > -1 || e.match(RSe))) {
|
|
const t = Px(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || $c(),
|
|
iconName: uu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = $c();
|
|
return {
|
|
prefix: t,
|
|
iconName: uu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, uo = {
|
|
noAuto: mEe,
|
|
config: Ue,
|
|
dom: hEe,
|
|
parse: gEe,
|
|
library: PK,
|
|
findIconDefinition: PE,
|
|
toHtml: Wb
|
|
}, bEe = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Wr
|
|
} = e;
|
|
(Object.keys(Ba.styles).length > 0 || Ue.autoFetchSvg) && ys && Ue.autoReplaceSvg && uo.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Cx(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Wb(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!ys) return;
|
|
const r = Wr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function yEe(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (VP(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Ex(xe(xe({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function vEe(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Ue.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: xe(xe({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function UP(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = vSe.includes(n), m = [Ue.replacementClass, o ? "".concat(Ue.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: xe(xe({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Wu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || Vg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = xe(xe({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: xe(xe({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? kc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : kc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? vEe($) : yEe($);
|
|
}
|
|
function n7(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = xe(xe(xe({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Wu] = "");
|
|
const c = xe({}, i.styles);
|
|
VP(o) && (c.transform = YSe({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Ex(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function xEe(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = xe(xe(xe({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Ex(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: I$
|
|
} = Ba;
|
|
function CE(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Ue.cssPrefix, "-").concat(C$.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ue.cssPrefix, "-").concat(C$.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ue.cssPrefix, "-").concat(C$.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const wEe = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function $Ee(e, t) {
|
|
!fK && !Ue.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function NE(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Ue.styleDefault !== null && (t = $c()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = EK(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && I$[t] && I$[t][e]) {
|
|
const a = I$[t][e];
|
|
return n(CE(a));
|
|
}
|
|
$Ee(e, t), n(xe(xe({}, wEe), {}, {
|
|
icon: Ue.showMissingIcons && e ? kc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const o7 = () => {
|
|
}, TE = Ue.measurePerformance && Wy && Wy.mark && Wy.measure ? Wy : {
|
|
mark: o7,
|
|
measure: o7
|
|
}, ph = 'FA "6.7.2"', kEe = (e) => (TE.mark("".concat(ph, " ").concat(e, " begins")), () => CK(e)), CK = (e) => {
|
|
TE.mark("".concat(ph, " ").concat(e, " ends")), TE.measure("".concat(ph, " ").concat(e), "".concat(ph, " ").concat(e, " begins"), "".concat(ph, " ").concat(e, " ends"));
|
|
};
|
|
var BP = {
|
|
begin: kEe,
|
|
end: CK
|
|
};
|
|
const Vv = () => {
|
|
};
|
|
function a7(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Wu) : null) == "string";
|
|
}
|
|
function _Ee(e) {
|
|
const t = e.getAttribute ? e.getAttribute(FP) : null, r = e.getAttribute ? e.getAttribute(LP) : null;
|
|
return t && r;
|
|
}
|
|
function OEe(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Ue.replacementClass);
|
|
}
|
|
function SEe() {
|
|
return Ue.autoReplaceSvg === !0 ? Hv.replace : Hv[Ue.autoReplaceSvg] || Hv.replace;
|
|
}
|
|
function EEe(e) {
|
|
return Wr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function AEe(e) {
|
|
return Wr.createElement(e);
|
|
}
|
|
function NK(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? EEe : AEe
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Wr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(NK(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function PEe(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Hv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(NK(r), t);
|
|
}), t.getAttribute(Wu) === null && Ue.keepOriginalSource) {
|
|
let r = Wr.createComment(PEe(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~WP(t).indexOf(Ue.replacementClass))
|
|
return Hv.replace(e);
|
|
const n = new RegExp("".concat(Ue.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ue.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Wb(a)).join(`
|
|
`);
|
|
t.setAttribute(Wu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function i7(e) {
|
|
e();
|
|
}
|
|
function TK(e, t) {
|
|
const r = typeof t == "function" ? t : Vv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = i7;
|
|
Ue.mutateApproach === TSe && (n = wc.requestAnimationFrame || i7), n(() => {
|
|
const o = SEe(), a = BP.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let YP = !1;
|
|
function IK() {
|
|
YP = !0;
|
|
}
|
|
function IE() {
|
|
YP = !1;
|
|
}
|
|
let q1 = null;
|
|
function s7(e) {
|
|
if (!YR || !Ue.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Vv,
|
|
nodeCallback: r = Vv,
|
|
pseudoElementsCallback: n = Vv,
|
|
observeMutationsRoot: o = Wr
|
|
} = e;
|
|
q1 = new YR((a) => {
|
|
if (YP) return;
|
|
const i = $c();
|
|
hp(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !a7(s.addedNodes[0]) && (Ue.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ue.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && a7(s.target) && ~FSe.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && _Ee(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Px(WP(s.target));
|
|
s.target.setAttribute(FP, u || i), c && s.target.setAttribute(LP, c);
|
|
} else OEe(s.target) && r(s.target);
|
|
});
|
|
}), ys && q1.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function CEe() {
|
|
q1 && q1.disconnect();
|
|
}
|
|
function NEe(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function TEe(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Px(WP(e));
|
|
return o.prefix || (o.prefix = $c()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = nEe(o.prefix, e.innerText) || GP(o.prefix, vK(e.innerText))), !o.iconName && Ue.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function IEe(e) {
|
|
const t = hp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Ue.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ue.replacementClass, "-title-").concat(n || Vg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function jEe() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Ua,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function l7(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = TEe(e), a = IEe(e), i = AE("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? NEe(e) : [];
|
|
return xe({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Ua,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: REe
|
|
} = Ba;
|
|
function jK(e) {
|
|
const t = Ue.autoReplaceSvg === "nest" ? l7(e, {
|
|
styleParser: !1
|
|
}) : l7(e);
|
|
return ~t.extra.classes.indexOf(pK) ? kc("generateLayersText", e, t) : kc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function MEe() {
|
|
return [...gSe, ...wE];
|
|
}
|
|
function c7(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!ys) return Promise.resolve();
|
|
const r = Wr.documentElement.classList, n = (d) => r.add("".concat(XR, "-").concat(d)), o = (d) => r.remove("".concat(XR, "-").concat(d)), a = Ue.autoFetchSvg ? MEe() : iK.concat(Object.keys(REe));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(pK, ":not([").concat(Wu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Wu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = hp(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = BP.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = jK(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
fK || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
TK(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function DEe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
jK(e).then((r) => {
|
|
r && TK([r], t);
|
|
});
|
|
}
|
|
function FEe(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : PE(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : PE(o || {})), e(n, xe(xe({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const LEe = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ua,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return Cx(xe({
|
|
type: "icon"
|
|
}, e), () => (Vu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Ue.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ue.replacementClass, "-title-").concat(s || Vg()) : (c["aria-hidden"] = "true", c.focusable = "false")), UP({
|
|
icons: {
|
|
main: CE(p),
|
|
mask: o ? CE(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: xe(xe({}, Ua), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var zEe = {
|
|
mixout() {
|
|
return {
|
|
icon: FEe(LEe)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = c7, e.nodeCallback = DEe, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Wr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return c7(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([NE(n, i), c.iconName ? NE(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, UP({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Ex(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return VP(a) && (u = kc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, WEe = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Cx({
|
|
type: "layer"
|
|
}, () => {
|
|
Vu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Ue.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, VEe = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Cx({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Vu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), xEe({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Ue.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, HEe = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ua,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Cx({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Vu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), n7({
|
|
content: e,
|
|
transform: xe(xe({}, Ua), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Ue.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (oK) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Ue.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, n7({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const GEe = new RegExp('"', "ug"), u7 = [1105920, 1112319], f7 = xe(xe(xe(xe({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), pSe), CSe), kSe), jE = Object.keys(f7).reduce((e, t) => (e[t.toLowerCase()] = f7[t], e), {}), UEe = Object.keys(jE).reduce((e, t) => {
|
|
const r = jE[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function BEe(e) {
|
|
const t = e.replace(GEe, ""), r = QSe(t, 0), n = r >= u7[0] && r <= u7[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: vK(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function YEe(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (jE[r] || {})[o] || UEe[r];
|
|
}
|
|
function d7(e, t) {
|
|
const r = "".concat(NSe).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = hp(e.children).filter((l) => l.getAttribute(kE) === t)[0], i = wc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(MSe), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = YEe(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = BEe(l), m = u[0].startsWith("FontAwesome");
|
|
let h = GP(f, p), w = h;
|
|
if (m) {
|
|
const $ = oEe(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(FP) !== f || a.getAttribute(LP) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = jEe(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[kE] = t, NE(h, f).then((S) => {
|
|
const b = UP(xe(xe({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: AK()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Wr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Wb(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function qEe(e) {
|
|
return Promise.all([d7(e, "::before"), d7(e, "::after")]);
|
|
}
|
|
function KEe(e) {
|
|
return e.parentNode !== document.head && !~ISe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(kE) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function p7(e) {
|
|
if (ys)
|
|
return new Promise((t, r) => {
|
|
const n = hp(e.querySelectorAll("*")).filter(KEe).map(qEe), o = BP.begin("searchPseudoElements");
|
|
IK(), Promise.all(n).then(() => {
|
|
o(), IE(), t();
|
|
}).catch(() => {
|
|
o(), IE(), r();
|
|
});
|
|
});
|
|
}
|
|
var XEe = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = p7, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Wr
|
|
} = t;
|
|
Ue.searchPseudoElements && p7(r);
|
|
};
|
|
}
|
|
};
|
|
let m7 = !1;
|
|
var JEe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
IK(), m7 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
s7(AE("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
CEe();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
m7 ? IE() : s7(AE("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const h7 = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var QEe = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => h7(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = h7(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: xe({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: xe({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: xe(xe({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const j$ = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function g7(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function ZEe(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var eAe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Px(r.split(" ").map((o) => o.trim())) : AK();
|
|
return n.prefix || (n.prefix = $c()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = BSe({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: xe(xe({}, j$), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(g7)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: xe({}, f.inner),
|
|
children: [g7(xe({
|
|
tag: c.tag,
|
|
attributes: xe(xe({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: xe({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || Vg()), $ = "clip-".concat(i || Vg()), _ = {
|
|
tag: "mask",
|
|
attributes: xe(xe({}, j$), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: ZEe(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: xe({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, j$)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, tAe = {
|
|
provides(e) {
|
|
let t = !1;
|
|
wc.matchMedia && (t = wc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: xe(xe({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = xe(xe({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: xe(xe({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: xe(xe({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: xe(xe({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: xe(xe({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: xe(xe({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: xe(xe({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: xe(xe({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, rAe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, nAe = [KSe, zEe, WEe, VEe, HEe, XEe, JEe, QEe, eAe, tAe, rAe];
|
|
pEe(nAe, {
|
|
mixoutsTo: uo
|
|
});
|
|
uo.noAuto;
|
|
uo.config;
|
|
uo.library;
|
|
uo.dom;
|
|
const RE = uo.parse;
|
|
uo.findIconDefinition;
|
|
uo.toHtml;
|
|
const oAe = uo.icon;
|
|
uo.layer;
|
|
uo.text;
|
|
uo.counter;
|
|
function aAe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Hy = { exports: {} }, R$ = { exports: {} }, Qt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var b7;
|
|
function iAe() {
|
|
if (b7) return Qt;
|
|
b7 = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return Qt.AsyncMode = u, Qt.ConcurrentMode = c, Qt.ContextConsumer = s, Qt.ContextProvider = i, Qt.Element = t, Qt.ForwardRef = d, Qt.Fragment = n, Qt.Lazy = y, Qt.Memo = p, Qt.Portal = r, Qt.Profiler = a, Qt.StrictMode = o, Qt.Suspense = l, Qt.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, Qt.isConcurrentMode = S, Qt.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, Qt.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, Qt.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Qt.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, Qt.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, Qt.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, Qt.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, Qt.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, Qt.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, Qt.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, Qt.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, Qt.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, Qt.typeOf = _, Qt;
|
|
}
|
|
var ur = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var y7;
|
|
function sAe() {
|
|
return y7 || (y7 = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
ur.AsyncMode = b, ur.ConcurrentMode = F, ur.ContextConsumer = z, ur.ContextProvider = q, ur.Element = Y, ur.ForwardRef = B, ur.Fragment = Z, ur.Lazy = M, ur.Memo = te, ur.Portal = G, ur.Profiler = H, ur.StrictMode = U, ur.Suspense = W, ur.isAsyncMode = ee, ur.isConcurrentMode = v, ur.isContextConsumer = g, ur.isContextProvider = O, ur.isElement = P, ur.isForwardRef = A, ur.isFragment = T, ur.isLazy = N, ur.isMemo = C, ur.isPortal = I, ur.isProfiler = j, ur.isStrictMode = R, ur.isSuspense = Q, ur.isValidElementType = _, ur.typeOf = S;
|
|
}()), ur;
|
|
}
|
|
var v7;
|
|
function RK() {
|
|
return v7 || (v7 = 1, process.env.NODE_ENV === "production" ? R$.exports = iAe() : R$.exports = sAe()), R$.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var M$, x7;
|
|
function lAe() {
|
|
if (x7) return M$;
|
|
x7 = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return M$ = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, M$;
|
|
}
|
|
var D$, w7;
|
|
function qP() {
|
|
if (w7) return D$;
|
|
w7 = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return D$ = e, D$;
|
|
}
|
|
var $7, k7;
|
|
function MK() {
|
|
return k7 || (k7 = 1, $7 = Function.call.bind(Object.prototype.hasOwnProperty)), $7;
|
|
}
|
|
var F$, _7;
|
|
function cAe() {
|
|
if (_7) return F$;
|
|
_7 = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ qP(), r = {}, n = /* @__PURE__ */ MK();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, F$ = o, F$;
|
|
}
|
|
var L$, O7;
|
|
function uAe() {
|
|
if (O7) return L$;
|
|
O7 = 1;
|
|
var e = RK(), t = lAe(), r = /* @__PURE__ */ qP(), n = /* @__PURE__ */ MK(), o = /* @__PURE__ */ cAe(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return L$ = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, L$;
|
|
}
|
|
var z$, S7;
|
|
function fAe() {
|
|
if (S7) return z$;
|
|
S7 = 1;
|
|
var e = /* @__PURE__ */ qP();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, z$ = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, z$;
|
|
}
|
|
var E7;
|
|
function dAe() {
|
|
if (E7) return Hy.exports;
|
|
if (E7 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = RK(), t = !0;
|
|
Hy.exports = /* @__PURE__ */ uAe()(e.isElement, t);
|
|
} else
|
|
Hy.exports = /* @__PURE__ */ fAe()();
|
|
return Hy.exports;
|
|
}
|
|
var pAe = /* @__PURE__ */ dAe();
|
|
const Tt = /* @__PURE__ */ aAe(pAe);
|
|
function A7(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function _a(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? A7(Object(r), !0).forEach(function(n) {
|
|
Ff(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : A7(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function K1(e) {
|
|
"@babel/helpers - typeof";
|
|
return K1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, K1(e);
|
|
}
|
|
function Ff(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function mAe(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function hAe(e, t) {
|
|
if (e == null) return {};
|
|
var r = mAe(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function ME(e) {
|
|
return gAe(e) || bAe(e) || yAe(e) || vAe();
|
|
}
|
|
function gAe(e) {
|
|
if (Array.isArray(e)) return DE(e);
|
|
}
|
|
function bAe(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function yAe(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return DE(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return DE(e, t);
|
|
}
|
|
}
|
|
function DE(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function vAe() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function xAe(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Ff(t, "fa-".concat(w), typeof w < "u" && w !== null), Ff(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Ff(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Ff(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function wAe(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function DK(e) {
|
|
return wAe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var $Ae = ["style"];
|
|
function kAe(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function _Ae(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = DK(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[kAe(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function FK(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return FK(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = _Ae(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[DK(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = hAe(r, $Ae);
|
|
return o.attrs.style = _a(_a({}, o.attrs.style), i), e.apply(void 0, [t.tag, _a(_a({}, o.attrs), s)].concat(ME(n)));
|
|
}
|
|
var LK = !1;
|
|
try {
|
|
LK = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function OAe() {
|
|
if (!LK && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function P7(e) {
|
|
if (e && K1(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (RE.icon)
|
|
return RE.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && K1(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function W$(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ff({}, e, t) : {};
|
|
}
|
|
var C7 = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, zK = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = _a(_a({}, C7), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = P7(n), l = W$("classes", [].concat(ME(xAe(r)), ME((i || "").split(" ")))), f = W$("transform", typeof r.transform == "string" ? RE.transform(r.transform) : r.transform), p = W$("mask", P7(o)), y = oAe(d, _a(_a(_a(_a({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return OAe("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
C7.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), SAe(m[0], h);
|
|
});
|
|
zK.displayName = "FontAwesomeIcon";
|
|
zK.propTypes = {
|
|
beat: Tt.bool,
|
|
border: Tt.bool,
|
|
beatFade: Tt.bool,
|
|
bounce: Tt.bool,
|
|
className: Tt.string,
|
|
fade: Tt.bool,
|
|
flash: Tt.bool,
|
|
mask: Tt.oneOfType([Tt.object, Tt.array, Tt.string]),
|
|
maskId: Tt.string,
|
|
fixedWidth: Tt.bool,
|
|
inverse: Tt.bool,
|
|
flip: Tt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Tt.oneOfType([Tt.object, Tt.array, Tt.string]),
|
|
listItem: Tt.bool,
|
|
pull: Tt.oneOf(["right", "left"]),
|
|
pulse: Tt.bool,
|
|
rotation: Tt.oneOf([0, 90, 180, 270]),
|
|
shake: Tt.bool,
|
|
size: Tt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Tt.bool,
|
|
spinPulse: Tt.bool,
|
|
spinReverse: Tt.bool,
|
|
symbol: Tt.oneOfType([Tt.bool, Tt.string]),
|
|
title: Tt.string,
|
|
titleId: Tt.string,
|
|
transform: Tt.oneOfType([Tt.string, Tt.object]),
|
|
swapOpacity: Tt.bool
|
|
};
|
|
var SAe = FK.bind(null, ae.createElement), Gv = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Gv || {});
|
|
Gv.FEATURED, Gv.MINE, Gv.BOOKMARKED;
|
|
var EAe = Object.defineProperty, AAe = (e, t, r) => t in e ? EAe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, V$ = (e, t, r) => (AAe(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let PAe = class {
|
|
constructor() {
|
|
V$(this, "current", this.detect()), V$(this, "handoffState", "pending"), V$(this, "currentId", 0);
|
|
}
|
|
set(t) {
|
|
this.current !== t && (this.handoffState = "pending", this.currentId = 0, this.current = t);
|
|
}
|
|
reset() {
|
|
this.set(this.detect());
|
|
}
|
|
nextId() {
|
|
return ++this.currentId;
|
|
}
|
|
get isServer() {
|
|
return this.current === "server";
|
|
}
|
|
get isClient() {
|
|
return this.current === "client";
|
|
}
|
|
detect() {
|
|
return typeof window > "u" || typeof document > "u" ? "server" : "client";
|
|
}
|
|
handoff() {
|
|
this.handoffState === "pending" && (this.handoffState = "complete");
|
|
}
|
|
get isHandoffComplete() {
|
|
return this.handoffState === "complete";
|
|
}
|
|
}, Uv = new PAe();
|
|
function CAe(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function Nx() {
|
|
let e = [], t = { addEventListener(r, n, o, a) {
|
|
return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a));
|
|
}, requestAnimationFrame(...r) {
|
|
let n = requestAnimationFrame(...r);
|
|
return t.add(() => cancelAnimationFrame(n));
|
|
}, nextFrame(...r) {
|
|
return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));
|
|
}, setTimeout(...r) {
|
|
let n = setTimeout(...r);
|
|
return t.add(() => clearTimeout(n));
|
|
}, microTask(...r) {
|
|
let n = { current: !0 };
|
|
return CAe(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, o) {
|
|
let a = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: o }), this.add(() => {
|
|
Object.assign(r.style, { [n]: a });
|
|
});
|
|
}, group(r) {
|
|
let n = Nx();
|
|
return r(n), this.add(() => n.dispose());
|
|
}, add(r) {
|
|
return e.includes(r) || e.push(r), () => {
|
|
let n = e.indexOf(r);
|
|
if (n >= 0) for (let o of e.splice(n, 1)) o();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function WK() {
|
|
let [e] = de(Nx);
|
|
return ue(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let ec = (e, t) => {
|
|
Uv.isServer ? ue(e, t) : pi(e, t);
|
|
};
|
|
function VK(e) {
|
|
let t = ne(e);
|
|
return ec(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let Mi = function(e) {
|
|
let t = VK(e);
|
|
return ae.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function FE(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function Tx(e, t, ...r) {
|
|
if (e in t) {
|
|
let o = t[e];
|
|
return typeof o == "function" ? o(...r) : o;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, Tx), n;
|
|
}
|
|
var HK = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(HK || {}), Yl = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Yl || {});
|
|
function GK() {
|
|
let e = TAe();
|
|
return Ne((t) => NAe({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function NAe({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? IAe;
|
|
let u = UK(t, e);
|
|
if (a) return Gy(u, r, n, i, s);
|
|
let c = o ?? 0;
|
|
if (c & 2) {
|
|
let { static: d = !1, ...l } = u;
|
|
if (d) return Gy(l, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: d = !0, ...l } = u;
|
|
return Tx(d ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return Gy({ ...l, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return Gy(u, r, n, i, s);
|
|
}
|
|
function Gy(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...u } = H$(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, d = typeof i == "function" ? i(t) : i;
|
|
"className" in u && u.className && typeof u.className == "function" && (u.className = u.className(t)), u["aria-labelledby"] && u["aria-labelledby"] === u.id && (u["aria-labelledby"] = void 0);
|
|
let l = {};
|
|
if (t) {
|
|
let f = !1, p = [];
|
|
for (let [y, m] of Object.entries(t)) typeof m == "boolean" && (f = !0), m === !0 && p.push(y.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
|
|
if (f) {
|
|
l["data-headlessui-state"] = p.join(" ");
|
|
for (let y of p) l[`data-${y}`] = "";
|
|
}
|
|
}
|
|
if (a === Ut && (Object.keys(Zc(u)).length > 0 || Object.keys(Zc(l)).length > 0)) if (!Fi(d) || Array.isArray(d) && d.length > 1) {
|
|
if (Object.keys(Zc(u)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(Zc(u)).concat(Object.keys(Zc(l))).map((f) => ` - ${f}`).join(`
|
|
`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((f) => ` - ${f}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let f = d.props, p = f == null ? void 0 : f.className, y = typeof p == "function" ? (...w) => FE(p(...w), u.className) : FE(p, u.className), m = y ? { className: y } : {}, h = UK(d.props, Zc(H$(u, ["ref"])));
|
|
for (let w in l) w in h && delete l[w];
|
|
return Li(d, Object.assign({}, h, l, c, { ref: o(jAe(d), c.ref) }, m));
|
|
}
|
|
return vb(a, Object.assign({}, H$(u, ["ref"]), a !== Ut && c, a !== Ut && l), d);
|
|
}
|
|
function TAe() {
|
|
let e = ne([]), t = Ne((r) => {
|
|
for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r);
|
|
}, []);
|
|
return (...r) => {
|
|
if (!r.every((n) => n == null)) return e.current = r, t;
|
|
};
|
|
}
|
|
function IAe(...e) {
|
|
return e.every((t) => t == null) ? void 0 : (t) => {
|
|
for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t);
|
|
};
|
|
}
|
|
function UK(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => {
|
|
var a;
|
|
return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](o, ...a) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
|
|
s(o, ...a);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function KP(e) {
|
|
var t;
|
|
return Object.assign(sf(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function Zc(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function H$(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function jAe(e) {
|
|
return ae.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
let RAe = Symbol();
|
|
function BK(...e) {
|
|
let t = ne(e);
|
|
ue(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = Mi((n) => {
|
|
for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[RAe])) ? void 0 : r;
|
|
}
|
|
function MAe(e = 0) {
|
|
let [t, r] = de(e), n = Ne((u) => r(u), [t]), o = Ne((u) => r((c) => c | u), [t]), a = Ne((u) => (t & u) === u, [t]), i = Ne((u) => r((c) => c & ~u), [r]), s = Ne((u) => r((c) => c ^ u), [r]);
|
|
return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var N7, T7;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((N7 = process == null ? void 0 : process.env) == null ? void 0 : N7.NODE_ENV) === "test" && typeof ((T7 = Element == null ? void 0 : Element.prototype) == null ? void 0 : T7.getAnimations) > "u" && (Element.prototype.getAnimations = function() {
|
|
return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.", "Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.", "", "Example usage:", "```js", "import { mockAnimationsApi } from 'jsdom-testing-mocks'", "mockAnimationsApi()", "```"].join(`
|
|
`)), [];
|
|
});
|
|
var DAe = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(DAe || {});
|
|
function FAe(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function LAe(e, t, r, n) {
|
|
let [o, a] = de(r), { hasFlag: i, addFlag: s, removeFlag: u } = MAe(e && o ? 3 : 0), c = ne(!1), d = ne(!1), l = WK();
|
|
return ec(() => {
|
|
var f;
|
|
if (e) {
|
|
if (r && a(!0), !t) {
|
|
r && s(3);
|
|
return;
|
|
}
|
|
return (f = n == null ? void 0 : n.start) == null || f.call(n, r), zAe(t, { inFlight: c, prepare() {
|
|
d.current ? d.current = !1 : d.current = c.current, c.current = !0, !d.current && (r ? (s(3), u(4)) : (s(4), u(2)));
|
|
}, run() {
|
|
d.current ? r ? (u(3), s(4)) : (u(4), s(3)) : r ? u(1) : s(1);
|
|
}, done() {
|
|
var p;
|
|
d.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, u(7), r || a(!1), (p = n == null ? void 0 : n.end) == null || p.call(n, r));
|
|
} });
|
|
}
|
|
}, [e, r, t, l]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }];
|
|
}
|
|
function zAe(e, { prepare: t, run: r, done: n, inFlight: o }) {
|
|
let a = Nx();
|
|
return VAe(e, { prepare: t, inFlight: o }), a.nextFrame(() => {
|
|
r(), a.requestAnimationFrame(() => {
|
|
a.add(WAe(e, n));
|
|
});
|
|
}), a.dispose;
|
|
}
|
|
function WAe(e, t) {
|
|
var r, n;
|
|
let o = Nx();
|
|
if (!e) return o.dispose;
|
|
let a = !1;
|
|
o.add(() => {
|
|
a = !0;
|
|
});
|
|
let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : [];
|
|
return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => {
|
|
a || t();
|
|
}), o.dispose);
|
|
}
|
|
function VAe(e, { inFlight: t, prepare: r }) {
|
|
if (t != null && t.current) {
|
|
r();
|
|
return;
|
|
}
|
|
let n = e.style.transition;
|
|
e.style.transition = "none", r(), e.offsetHeight, e.style.transition = n;
|
|
}
|
|
let XP = zt(null);
|
|
XP.displayName = "OpenClosedContext";
|
|
var fu = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(fu || {});
|
|
function YK() {
|
|
return nt(XP);
|
|
}
|
|
function HAe({ value: e, children: t }) {
|
|
return ae.createElement(XP.Provider, { value: e }, t);
|
|
}
|
|
function GAe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
function UAe() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in V ? ((t) => t.useSyncExternalStore)(V)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function qK() {
|
|
let e = UAe(), [t, r] = V.useState(Uv.isHandoffComplete);
|
|
return t && Uv.isHandoffComplete === !1 && r(!1), V.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), V.useEffect(() => Uv.handoff(), []), e ? !1 : t;
|
|
}
|
|
function BAe() {
|
|
let e = ne(!1);
|
|
return ec(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function KK(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : JK) !== Ut || ae.Children.count(e.children) === 1;
|
|
}
|
|
let Ix = zt(null);
|
|
Ix.displayName = "TransitionContext";
|
|
var YAe = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(YAe || {});
|
|
function qAe() {
|
|
let e = nt(Ix);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function KAe() {
|
|
let e = nt(jx);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let jx = zt(null);
|
|
jx.displayName = "NestingContext";
|
|
function Rx(e) {
|
|
return "children" in e ? Rx(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function XK(e, t) {
|
|
let r = VK(e), n = ne([]), o = BAe(), a = WK(), i = Mi((p, y = Yl.Hidden) => {
|
|
let m = n.current.findIndex(({ el: h }) => h === p);
|
|
m !== -1 && (Tx(y, { [Yl.Unmount]() {
|
|
n.current.splice(m, 1);
|
|
}, [Yl.Hidden]() {
|
|
n.current[m].state = "hidden";
|
|
} }), a.microTask(() => {
|
|
var h;
|
|
!Rx(n) && o.current && ((h = r.current) == null || h.call(r));
|
|
}));
|
|
}), s = Mi((p) => {
|
|
let y = n.current.find(({ el: m }) => m === p);
|
|
return y ? y.state !== "visible" && (y.state = "visible") : n.current.push({ el: p, state: "visible" }), () => i(p, Yl.Unmount);
|
|
}), u = ne([]), c = ne(Promise.resolve()), d = ne({ enter: [], leave: [] }), l = Mi((p, y, m) => {
|
|
u.current.splice(0), t && (t.chains.current[y] = t.chains.current[y].filter(([h]) => h !== p)), t == null || t.chains.current[y].push([p, new Promise((h) => {
|
|
u.current.push(h);
|
|
})]), t == null || t.chains.current[y].push([p, new Promise((h) => {
|
|
Promise.all(d.current[y].map(([w, $]) => $)).then(() => h());
|
|
})]), y === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => m(y)) : m(y);
|
|
}), f = Mi((p, y, m) => {
|
|
Promise.all(d.current[y].splice(0).map(([h, w]) => w)).then(() => {
|
|
var h;
|
|
(h = u.current.shift()) == null || h();
|
|
}).then(() => m(y));
|
|
});
|
|
return Ie(() => ({ children: n, register: s, unregister: i, onStart: l, onStop: f, wait: c, chains: d }), [s, i, n, l, f, d, c]);
|
|
}
|
|
let JK = Ut, QK = HK.RenderStrategy;
|
|
function XAe(e, t) {
|
|
var r, n;
|
|
let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: u, enter: c, enterFrom: d, enterTo: l, entered: f, leave: p, leaveFrom: y, leaveTo: m, ...h } = e, [w, $] = de(null), _ = ne(null), S = KK(e), b = BK(...S ? [_, t, $] : t === null ? [] : [t]), F = (r = h.unmount) == null || r ? Yl.Unmount : Yl.Hidden, { show: z, appear: q, initial: Y } = qAe(), [B, Z] = de(z ? "visible" : "hidden"), M = KAe(), { register: te, unregister: G } = M;
|
|
ec(() => te(_), [te, _]), ec(() => {
|
|
if (F === Yl.Hidden && _.current) {
|
|
if (z && B !== "visible") {
|
|
Z("visible");
|
|
return;
|
|
}
|
|
return Tx(B, { hidden: () => G(_), visible: () => te(_) });
|
|
}
|
|
}, [B, _, te, G, z, F]);
|
|
let H = qK();
|
|
ec(() => {
|
|
if (S && H && B === "visible" && _.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [_, B, H, S]);
|
|
let U = Y && !q, W = q && z && Y, X = ne(!1), ee = XK(() => {
|
|
X.current || (Z("hidden"), G(_));
|
|
}, M), v = Mi((C) => {
|
|
X.current = !0;
|
|
let I = C ? "enter" : "leave";
|
|
ee.onStart(_, I, (j) => {
|
|
j === "enter" ? a == null || a() : j === "leave" && (s == null || s());
|
|
});
|
|
}), g = Mi((C) => {
|
|
let I = C ? "enter" : "leave";
|
|
X.current = !1, ee.onStop(_, I, (j) => {
|
|
j === "enter" ? i == null || i() : j === "leave" && (u == null || u());
|
|
}), I === "leave" && !Rx(ee) && (Z("hidden"), G(_));
|
|
});
|
|
ue(() => {
|
|
S && o || (v(z), g(z));
|
|
}, [z, S, o]);
|
|
let O = !(!o || !S || !H || U), [, P] = LAe(O, w, z, { start: v, end: g }), A = Zc({ ref: b, className: ((n = FE(h.className, W && c, W && d, P.enter && c, P.enter && P.closed && d, P.enter && !P.closed && l, P.leave && p, P.leave && !P.closed && y, P.leave && P.closed && m, !P.transition && z && f)) == null ? void 0 : n.trim()) || void 0, ...FAe(P) }), T = 0;
|
|
B === "visible" && (T |= fu.Open), B === "hidden" && (T |= fu.Closed), z && B === "hidden" && (T |= fu.Opening), !z && B === "visible" && (T |= fu.Closing);
|
|
let N = GK();
|
|
return ae.createElement(jx.Provider, { value: ee }, ae.createElement(HAe, { value: T }, N({ ourProps: A, theirProps: h, defaultTag: JK, features: QK, visible: B === "visible", name: "Transition.Child" })));
|
|
}
|
|
function JAe(e, t) {
|
|
let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = ne(null), s = KK(e), u = BK(...s ? [i, t] : t === null ? [] : [t]);
|
|
qK();
|
|
let c = YK();
|
|
if (r === void 0 && c !== null && (r = (c & fu.Open) === fu.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [d, l] = de(r ? "visible" : "hidden"), f = XK(() => {
|
|
r || l("hidden");
|
|
}), [p, y] = de(!0), m = ne([r]);
|
|
ec(() => {
|
|
p !== !1 && m.current[m.current.length - 1] !== r && (m.current.push(r), y(!1));
|
|
}, [m, r]);
|
|
let h = Ie(() => ({ show: r, appear: n, initial: p }), [r, n, p]);
|
|
ec(() => {
|
|
r ? l("visible") : !Rx(f) && i.current !== null && l("hidden");
|
|
}, [r, f]);
|
|
let w = { unmount: o }, $ = Mi(() => {
|
|
var b;
|
|
p && y(!1), (b = e.beforeEnter) == null || b.call(e);
|
|
}), _ = Mi(() => {
|
|
var b;
|
|
p && y(!1), (b = e.beforeLeave) == null || b.call(e);
|
|
}), S = GK();
|
|
return ae.createElement(jx.Provider, { value: f }, ae.createElement(Ix.Provider, { value: h }, S({ ourProps: { ...w, as: Ut, children: ae.createElement(ZK, { ref: u, ...w, ...a, beforeEnter: $, beforeLeave: _ }) }, theirProps: {}, defaultTag: Ut, features: QK, visible: d === "visible", name: "Transition" })));
|
|
}
|
|
function QAe(e, t) {
|
|
let r = nt(Ix) !== null, n = YK() !== null;
|
|
return ae.createElement(ae.Fragment, null, !r && n ? ae.createElement(LE, { ref: t, ...e }) : ae.createElement(ZK, { ref: t, ...e }));
|
|
}
|
|
let LE = KP(JAe), ZK = KP(XAe), ZAe = KP(QAe);
|
|
Object.assign(LE, { Child: ZAe, Root: LE });
|
|
var I7;
|
|
(function(e) {
|
|
e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave";
|
|
})(I7 || (I7 = {}));
|
|
const JP = "-", e5e = (e) => {
|
|
const t = r5e(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(JP);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), eX(a, t) || t5e(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, eX = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? eX(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(JP);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, j7 = /^\[(.+)\]$/, t5e = (e) => {
|
|
if (j7.test(e)) {
|
|
const t = j7.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, r5e = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return o5e(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
zE(a, n, o, t);
|
|
}), n;
|
|
}, zE = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : R7(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (n5e(o)) {
|
|
zE(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
zE(i, R7(t, a), r, n);
|
|
});
|
|
});
|
|
}, R7 = (e, t) => {
|
|
let r = e;
|
|
return t.split(JP).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, n5e = (e) => e.isThemeGetter, o5e = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, a5e = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, tX = "!", i5e = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(tX), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, s5e = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, l5e = (e) => ({
|
|
cache: a5e(e.cacheSize),
|
|
parseClassName: i5e(e),
|
|
...e5e(e)
|
|
}), c5e = /\s+/, u5e = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(c5e);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = s5e(d).join(":"), w = l ? h + tX : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function f5e() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = rX(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const rX = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = rX(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function d5e(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = l5e(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = u5e(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(f5e.apply(null, arguments));
|
|
};
|
|
}
|
|
const Cr = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, nX = /^\[(?:([a-z-]+):)?(.+)\]$/i, p5e = /^\d+\/\d+$/, m5e = /* @__PURE__ */ new Set(["px", "full", "screen"]), h5e = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, g5e = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, b5e = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, y5e = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, v5e = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, _i = (e) => bd(e) || m5e.has(e) || p5e.test(e), bl = (e) => gp(e, "length", E5e), bd = (e) => !!e && !Number.isNaN(Number(e)), G$ = (e) => gp(e, "number", bd), Fm = (e) => !!e && Number.isInteger(Number(e)), x5e = (e) => e.endsWith("%") && bd(e.slice(0, -1)), ht = (e) => nX.test(e), yl = (e) => h5e.test(e), w5e = /* @__PURE__ */ new Set(["length", "size", "percentage"]), $5e = (e) => gp(e, w5e, oX), k5e = (e) => gp(e, "position", oX), _5e = /* @__PURE__ */ new Set(["image", "url"]), O5e = (e) => gp(e, _5e, P5e), S5e = (e) => gp(e, "", A5e), Lm = () => !0, gp = (e, t, r) => {
|
|
const n = nX.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, E5e = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
g5e.test(e) && !b5e.test(e)
|
|
), oX = () => !1, A5e = (e) => y5e.test(e), P5e = (e) => v5e.test(e), C5e = () => {
|
|
const e = Cr("colors"), t = Cr("spacing"), r = Cr("blur"), n = Cr("brightness"), o = Cr("borderColor"), a = Cr("borderRadius"), i = Cr("borderSpacing"), s = Cr("borderWidth"), u = Cr("contrast"), c = Cr("grayscale"), d = Cr("hueRotate"), l = Cr("invert"), f = Cr("gap"), p = Cr("gradientColorStops"), y = Cr("gradientColorStopPositions"), m = Cr("inset"), h = Cr("margin"), w = Cr("opacity"), $ = Cr("padding"), _ = Cr("saturate"), S = Cr("scale"), b = Cr("sepia"), F = Cr("skew"), z = Cr("space"), q = Cr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", ht, t], M = () => [ht, t], te = () => ["", _i, bl], G = () => ["auto", bd, ht], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", ht], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [bd, ht];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Lm],
|
|
spacing: [_i, bl],
|
|
blur: ["none", "", yl, ht],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", yl, ht],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [x5e, bl],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ht]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [yl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), ht]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Fm, ht]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", ht]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Fm, ht]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Lm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Fm, ht]
|
|
}, ht]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Lm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Fm, ht]
|
|
}, ht]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", ht]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ht]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", ht, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ht, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ht, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [yl]
|
|
}, yl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ht, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ht, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ht, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ht, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", yl, bl]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", G$]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Lm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", ht]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", bd, G$]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", _i, ht]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ht]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ht]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", _i, bl]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", _i, ht]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ht]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", ht]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), k5e]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", $5e]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, O5e]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [_i, ht]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [_i, bl]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [_i, bl]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", yl, S5e]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Lm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", yl, ht]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ht]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ht]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ht]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Fm, ht]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", ht]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", ht]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", ht]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [_i, bl, G$]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, U$ = /* @__PURE__ */ d5e(C5e);
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function N5e(e, t, r) {
|
|
return (t = I5e(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function M7(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function we(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? M7(Object(r), !0).forEach(function(n) {
|
|
N5e(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : M7(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function T5e(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function I5e(e) {
|
|
var t = T5e(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const D7 = () => {
|
|
};
|
|
let QP = {}, aX = {}, iX = null, sX = {
|
|
mark: D7,
|
|
measure: D7
|
|
};
|
|
try {
|
|
typeof window < "u" && (QP = window), typeof document < "u" && (aX = document), typeof MutationObserver < "u" && (iX = MutationObserver), typeof performance < "u" && (sX = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: F7 = ""
|
|
} = QP.navigator || {}, _c = QP, Vr = aX, L7 = iX, Uy = sX;
|
|
_c.document;
|
|
const vs = !!Vr.documentElement && !!Vr.head && typeof Vr.addEventListener == "function" && typeof Vr.createElement == "function", lX = ~F7.indexOf("MSIE") || ~F7.indexOf("Trident/");
|
|
var j5e = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, R5e = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, cX = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, M5e = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, uX = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], On = "classic", Mx = "duotone", D5e = "sharp", F5e = "sharp-duotone", fX = [On, Mx, D5e, F5e], L5e = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, z5e = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, W5e = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), V5e = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, H5e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], z7 = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, G5e = ["kit"], U5e = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, B5e = ["fak", "fakd"], Y5e = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, W7 = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, By = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, q5e = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], K5e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], X5e = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, J5e = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, Q5e = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, WE = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, Z5e = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], VE = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...q5e, ...Z5e], e4e = ["solid", "regular", "light", "thin", "duotone", "brands"], dX = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], t4e = dX.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), r4e = [...Object.keys(Q5e), ...e4e, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", By.GROUP, By.SWAP_OPACITY, By.PRIMARY, By.SECONDARY].concat(dX.map((e) => "".concat(e, "x"))).concat(t4e.map((e) => "w-".concat(e))), n4e = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const Qi = "___FONT_AWESOME___", HE = 16, pX = "fa", mX = "svg-inline--fa", Hu = "data-fa-i2svg", GE = "data-fa-pseudo-element", o4e = "data-fa-pseudo-element-pending", ZP = "data-prefix", eC = "data-icon", V7 = "fontawesome-i2svg", a4e = "async", i4e = ["HTML", "HEAD", "STYLE", "SCRIPT"], hX = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Vb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[On];
|
|
}
|
|
});
|
|
}
|
|
const gX = we({}, cX);
|
|
gX[On] = we(we(we(we({}, {
|
|
"fa-duotone": "duotone"
|
|
}), cX[On]), z7.kit), z7["kit-duotone"]);
|
|
const s4e = Vb(gX), UE = we({}, V5e);
|
|
UE[On] = we(we(we(we({}, {
|
|
duotone: "fad"
|
|
}), UE[On]), W7.kit), W7["kit-duotone"]);
|
|
const H7 = Vb(UE), BE = we({}, WE);
|
|
BE[On] = we(we({}, BE[On]), Y5e.kit);
|
|
const tC = Vb(BE), YE = we({}, J5e);
|
|
YE[On] = we(we({}, YE[On]), U5e.kit);
|
|
Vb(YE);
|
|
const l4e = j5e, bX = "fa-layers-text", c4e = R5e, u4e = we({}, L5e);
|
|
Vb(u4e);
|
|
const f4e = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], B$ = M5e, d4e = [...G5e, ...r4e], Yh = _c.FontAwesomeConfig || {};
|
|
function p4e(e) {
|
|
var t = Vr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function m4e(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Vr && typeof Vr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = m4e(p4e(t));
|
|
n != null && (Yh[r] = n);
|
|
});
|
|
const yX = {
|
|
styleDefault: "solid",
|
|
familyDefault: On,
|
|
cssPrefix: pX,
|
|
replacementClass: mX,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Yh.familyPrefix && (Yh.cssPrefix = Yh.familyPrefix);
|
|
const Hd = we(we({}, yX), Yh);
|
|
Hd.autoReplaceSvg || (Hd.observeMutations = !1);
|
|
const Be = {};
|
|
Object.keys(yX).forEach((e) => {
|
|
Object.defineProperty(Be, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Hd[e] = t, qh.forEach((r) => r(Be));
|
|
},
|
|
get: function() {
|
|
return Hd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Be, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Hd.cssPrefix = e, qh.forEach((t) => t(Be));
|
|
},
|
|
get: function() {
|
|
return Hd.cssPrefix;
|
|
}
|
|
});
|
|
_c.FontAwesomeConfig = Be;
|
|
const qh = [];
|
|
function h4e(e) {
|
|
return qh.push(e), () => {
|
|
qh.splice(qh.indexOf(e), 1);
|
|
};
|
|
}
|
|
const vl = HE, Ya = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function g4e(e) {
|
|
if (!e || !vs)
|
|
return;
|
|
const t = Vr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Vr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Vr.head.insertBefore(t, n), e;
|
|
}
|
|
const b4e = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Gg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += b4e[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function bp(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function rC(e) {
|
|
return e.classList ? bp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function vX(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function y4e(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(vX(e[r]), '" '), "").trim();
|
|
}
|
|
function Dx(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function nC(e) {
|
|
return e.size !== Ya.size || e.x !== Ya.x || e.y !== Ya.y || e.rotate !== Ya.rotate || e.flipX || e.flipY;
|
|
}
|
|
function v4e(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function x4e(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = HE,
|
|
height: n = HE,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && lX ? a += "translate(".concat(t.x / vl - r / 2, "em, ").concat(t.y / vl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / vl, "em), calc(-50% + ").concat(t.y / vl, "em)) ") : a += "translate(".concat(t.x / vl, "em, ").concat(t.y / vl, "em) "), a += "scale(".concat(t.size / vl * (t.flipX ? -1 : 1), ", ").concat(t.size / vl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var w4e = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function xX() {
|
|
const e = pX, t = mX, r = Be.cssPrefix, n = Be.replacementClass;
|
|
let o = w4e;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let G7 = !1;
|
|
function Y$() {
|
|
Be.autoAddCss && !G7 && (g4e(xX()), G7 = !0);
|
|
}
|
|
var $4e = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: xX,
|
|
insertCss: Y$
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Y$();
|
|
},
|
|
beforeI2svg() {
|
|
Y$();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Zi = _c || {};
|
|
Zi[Qi] || (Zi[Qi] = {});
|
|
Zi[Qi].styles || (Zi[Qi].styles = {});
|
|
Zi[Qi].hooks || (Zi[Qi].hooks = {});
|
|
Zi[Qi].shims || (Zi[Qi].shims = []);
|
|
var qa = Zi[Qi];
|
|
const wX = [], $X = function() {
|
|
Vr.removeEventListener("DOMContentLoaded", $X), X1 = 1, wX.map((e) => e());
|
|
};
|
|
let X1 = !1;
|
|
vs && (X1 = (Vr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Vr.readyState), X1 || Vr.addEventListener("DOMContentLoaded", $X));
|
|
function k4e(e) {
|
|
vs && (X1 ? setTimeout(e, 0) : wX.push(e));
|
|
}
|
|
function Hb(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? vX(e) : "<".concat(t, " ").concat(y4e(r), ">").concat(n.map(Hb).join(""), "</").concat(t, ">");
|
|
}
|
|
function U7(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var q$ = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function _4e(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function kX(e) {
|
|
const t = _4e(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function O4e(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function B7(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function qE(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = B7(t);
|
|
typeof qa.hooks.addPack == "function" && !n ? qa.hooks.addPack(e, B7(t)) : qa.styles[e] = we(we({}, qa.styles[e] || {}), o), e === "fas" && qE("fa", t);
|
|
}
|
|
const {
|
|
styles: Ug,
|
|
shims: S4e
|
|
} = qa, _X = Object.keys(tC), E4e = _X.reduce((e, t) => (e[t] = Object.keys(tC[t]), e), {});
|
|
let oC = null, OX = {}, SX = {}, EX = {}, AX = {}, PX = {};
|
|
function A4e(e) {
|
|
return ~d4e.indexOf(e);
|
|
}
|
|
function P4e(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !A4e(o) ? o : null;
|
|
}
|
|
const CX = () => {
|
|
const e = (n) => q$(Ug, (o, a, i) => (o[i] = q$(a, n, {}), o), {});
|
|
OX = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), SX = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), PX = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Ug || Be.autoFetchSvg, r = q$(S4e, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
EX = r.names, AX = r.unicodes, oC = Fx(Be.styleDefault, {
|
|
family: Be.familyDefault
|
|
});
|
|
};
|
|
h4e((e) => {
|
|
oC = Fx(e.styleDefault, {
|
|
family: Be.familyDefault
|
|
});
|
|
});
|
|
CX();
|
|
function aC(e, t) {
|
|
return (OX[e] || {})[t];
|
|
}
|
|
function C4e(e, t) {
|
|
return (SX[e] || {})[t];
|
|
}
|
|
function du(e, t) {
|
|
return (PX[e] || {})[t];
|
|
}
|
|
function NX(e) {
|
|
return EX[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function N4e(e) {
|
|
const t = AX[e], r = aC("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Oc() {
|
|
return oC;
|
|
}
|
|
const TX = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function T4e(e) {
|
|
let t = On;
|
|
const r = _X.reduce((n, o) => (n[o] = "".concat(Be.cssPrefix, "-").concat(o), n), {});
|
|
return fX.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => E4e[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Fx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = On
|
|
} = t, n = s4e[r][e];
|
|
if (r === Mx && !e)
|
|
return "fad";
|
|
const o = H7[r][e] || H7[r][n], a = e in qa.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function I4e(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = P4e(Be.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Y7(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Lx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = VE.concat(K5e), a = Y7(e.filter((l) => o.includes(l))), i = Y7(e.filter((l) => !VE.includes(l))), s = a.filter((l) => (n = l, !uX.includes(l))), [u = null] = s, c = T4e(a), d = we(we({}, I4e(i)), {}, {
|
|
prefix: Fx(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return we(we(we({}, d), D4e({
|
|
values: e,
|
|
family: c,
|
|
styles: Ug,
|
|
config: Be,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), j4e(r, n, d));
|
|
}
|
|
function j4e(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? NX(o) : {}, i = du(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Ug.far && Ug.fas && !Be.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const R4e = fX.filter((e) => e !== On || e !== Mx), M4e = Object.keys(WE).filter((e) => e !== On).map((e) => Object.keys(WE[e])).flat();
|
|
function D4e(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Mx, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && R4e.includes(r) && (Object.keys(a).find((l) => M4e.includes(l)) || i.autoFetchSvg)) {
|
|
const l = W5e.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = du(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Oc() || "fas"), n;
|
|
}
|
|
let F4e = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = we(we({}, this.definitions[a] || {}), o[a]), qE(a, o[a]);
|
|
const i = tC[On][a];
|
|
i && qE(i, o[a]), CX();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, q7 = [], Lf = {};
|
|
const yd = {}, L4e = Object.keys(yd);
|
|
function z4e(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return q7 = e, Lf = {}, Object.keys(yd).forEach((n) => {
|
|
L4e.indexOf(n) === -1 && delete yd[n];
|
|
}), q7.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Lf[i] || (Lf[i] = []), Lf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(yd);
|
|
}), r;
|
|
}
|
|
function KE(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Lf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Gu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Lf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Sc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return yd[e] ? yd[e].apply(null, t) : void 0;
|
|
}
|
|
function XE(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Oc();
|
|
if (t)
|
|
return t = du(r, t) || t, U7(IX.definitions, r, t) || U7(qa.styles, r, t);
|
|
}
|
|
const IX = new F4e(), W4e = () => {
|
|
Be.autoReplaceSvg = !1, Be.observeMutations = !1, Gu("noAuto");
|
|
}, V4e = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return vs ? (Gu("beforeI2svg", e), Sc("pseudoElements2svg", e), Sc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Be.autoReplaceSvg === !1 && (Be.autoReplaceSvg = !0), Be.observeMutations = !0, k4e(() => {
|
|
G4e({
|
|
autoReplaceSvgRoot: t
|
|
}), Gu("watch", e);
|
|
});
|
|
}
|
|
}, H4e = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: du(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = Fx(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: du(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Be.cssPrefix, "-")) > -1 || e.match(l4e))) {
|
|
const t = Lx(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Oc(),
|
|
iconName: du(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Oc();
|
|
return {
|
|
prefix: t,
|
|
iconName: du(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, fo = {
|
|
noAuto: W4e,
|
|
config: Be,
|
|
dom: V4e,
|
|
parse: H4e,
|
|
library: IX,
|
|
findIconDefinition: XE,
|
|
toHtml: Hb
|
|
}, G4e = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Vr
|
|
} = e;
|
|
(Object.keys(qa.styles).length > 0 || Be.autoFetchSvg) && vs && Be.autoReplaceSvg && fo.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function zx(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Hb(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!vs) return;
|
|
const r = Vr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function U4e(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (nC(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Dx(we(we({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function B4e(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Be.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: we(we({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function iC(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = B5e.includes(n), m = [Be.replacementClass, o ? "".concat(Be.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: we(we({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Hu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || Gg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = we(we({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: we(we({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? Sc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Sc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? B4e($) : U4e($);
|
|
}
|
|
function K7(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = we(we(we({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Hu] = "");
|
|
const c = we({}, i.styles);
|
|
nC(o) && (c.transform = x4e({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Dx(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function Y4e(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = we(we(we({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Dx(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: K$
|
|
} = qa;
|
|
function JE(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Be.cssPrefix, "-").concat(B$.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Be.cssPrefix, "-").concat(B$.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Be.cssPrefix, "-").concat(B$.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const q4e = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function K4e(e, t) {
|
|
!hX && !Be.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function QE(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Be.styleDefault !== null && (t = Oc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = NX(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && K$[t] && K$[t][e]) {
|
|
const a = K$[t][e];
|
|
return n(JE(a));
|
|
}
|
|
K4e(e, t), n(we(we({}, q4e), {}, {
|
|
icon: Be.showMissingIcons && e ? Sc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const X7 = () => {
|
|
}, ZE = Be.measurePerformance && Uy && Uy.mark && Uy.measure ? Uy : {
|
|
mark: X7,
|
|
measure: X7
|
|
}, mh = 'FA "6.7.2"', X4e = (e) => (ZE.mark("".concat(mh, " ").concat(e, " begins")), () => jX(e)), jX = (e) => {
|
|
ZE.mark("".concat(mh, " ").concat(e, " ends")), ZE.measure("".concat(mh, " ").concat(e), "".concat(mh, " ").concat(e, " begins"), "".concat(mh, " ").concat(e, " ends"));
|
|
};
|
|
var sC = {
|
|
begin: X4e,
|
|
end: jX
|
|
};
|
|
const Bv = () => {
|
|
};
|
|
function J7(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Hu) : null) == "string";
|
|
}
|
|
function J4e(e) {
|
|
const t = e.getAttribute ? e.getAttribute(ZP) : null, r = e.getAttribute ? e.getAttribute(eC) : null;
|
|
return t && r;
|
|
}
|
|
function Q4e(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Be.replacementClass);
|
|
}
|
|
function Z4e() {
|
|
return Be.autoReplaceSvg === !0 ? Yv.replace : Yv[Be.autoReplaceSvg] || Yv.replace;
|
|
}
|
|
function e3e(e) {
|
|
return Vr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function t3e(e) {
|
|
return Vr.createElement(e);
|
|
}
|
|
function RX(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? e3e : t3e
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Vr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(RX(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function r3e(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Yv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(RX(r), t);
|
|
}), t.getAttribute(Hu) === null && Be.keepOriginalSource) {
|
|
let r = Vr.createComment(r3e(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~rC(t).indexOf(Be.replacementClass))
|
|
return Yv.replace(e);
|
|
const n = new RegExp("".concat(Be.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Be.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Hb(a)).join(`
|
|
`);
|
|
t.setAttribute(Hu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function Q7(e) {
|
|
e();
|
|
}
|
|
function MX(e, t) {
|
|
const r = typeof t == "function" ? t : Bv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Q7;
|
|
Be.mutateApproach === a4e && (n = _c.requestAnimationFrame || Q7), n(() => {
|
|
const o = Z4e(), a = sC.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let lC = !1;
|
|
function DX() {
|
|
lC = !0;
|
|
}
|
|
function eA() {
|
|
lC = !1;
|
|
}
|
|
let J1 = null;
|
|
function Z7(e) {
|
|
if (!L7 || !Be.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Bv,
|
|
nodeCallback: r = Bv,
|
|
pseudoElementsCallback: n = Bv,
|
|
observeMutationsRoot: o = Vr
|
|
} = e;
|
|
J1 = new L7((a) => {
|
|
if (lC) return;
|
|
const i = Oc();
|
|
bp(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !J7(s.addedNodes[0]) && (Be.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Be.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && J7(s.target) && ~f4e.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && J4e(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Lx(rC(s.target));
|
|
s.target.setAttribute(ZP, u || i), c && s.target.setAttribute(eC, c);
|
|
} else Q4e(s.target) && r(s.target);
|
|
});
|
|
}), vs && J1.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function n3e() {
|
|
J1 && J1.disconnect();
|
|
}
|
|
function o3e(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function a3e(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Lx(rC(e));
|
|
return o.prefix || (o.prefix = Oc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = C4e(o.prefix, e.innerText) || aC(o.prefix, kX(e.innerText))), !o.iconName && Be.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function i3e(e) {
|
|
const t = bp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Be.autoA11y && (r ? t["aria-labelledby"] = "".concat(Be.replacementClass, "-title-").concat(n || Gg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function s3e() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Ya,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function eM(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = a3e(e), a = i3e(e), i = KE("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? o3e(e) : [];
|
|
return we({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Ya,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: l3e
|
|
} = qa;
|
|
function FX(e) {
|
|
const t = Be.autoReplaceSvg === "nest" ? eM(e, {
|
|
styleParser: !1
|
|
}) : eM(e);
|
|
return ~t.extra.classes.indexOf(bX) ? Sc("generateLayersText", e, t) : Sc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function c3e() {
|
|
return [...H5e, ...VE];
|
|
}
|
|
function tM(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!vs) return Promise.resolve();
|
|
const r = Vr.documentElement.classList, n = (d) => r.add("".concat(V7, "-").concat(d)), o = (d) => r.remove("".concat(V7, "-").concat(d)), a = Be.autoFetchSvg ? c3e() : uX.concat(Object.keys(l3e));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(bX, ":not([").concat(Hu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Hu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = bp(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = sC.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = FX(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
hX || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
MX(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function u3e(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
FX(e).then((r) => {
|
|
r && MX([r], t);
|
|
});
|
|
}
|
|
function f3e(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : XE(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : XE(o || {})), e(n, we(we({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const d3e = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ya,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return zx(we({
|
|
type: "icon"
|
|
}, e), () => (Gu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Be.autoA11y && (i ? c["aria-labelledby"] = "".concat(Be.replacementClass, "-title-").concat(s || Gg()) : (c["aria-hidden"] = "true", c.focusable = "false")), iC({
|
|
icons: {
|
|
main: JE(p),
|
|
mask: o ? JE(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: we(we({}, Ya), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var p3e = {
|
|
mixout() {
|
|
return {
|
|
icon: f3e(d3e)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = tM, e.nodeCallback = u3e, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Vr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return tM(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([QE(n, i), c.iconName ? QE(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, iC({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Dx(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return nC(a) && (u = Sc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, m3e = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return zx({
|
|
type: "layer"
|
|
}, () => {
|
|
Gu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Be.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, h3e = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return zx({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Gu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Y4e({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Be.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, g3e = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ya,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return zx({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Gu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), K7({
|
|
content: e,
|
|
transform: we(we({}, Ya), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Be.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (lX) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Be.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, K7({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const b3e = new RegExp('"', "ug"), rM = [1105920, 1112319], nM = we(we(we(we({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), z5e), n4e), X5e), tA = Object.keys(nM).reduce((e, t) => (e[t.toLowerCase()] = nM[t], e), {}), y3e = Object.keys(tA).reduce((e, t) => {
|
|
const r = tA[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function v3e(e) {
|
|
const t = e.replace(b3e, ""), r = O4e(t, 0), n = r >= rM[0] && r <= rM[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: kX(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function x3e(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (tA[r] || {})[o] || y3e[r];
|
|
}
|
|
function oM(e, t) {
|
|
const r = "".concat(o4e).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = bp(e.children).filter((l) => l.getAttribute(GE) === t)[0], i = _c.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(c4e), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = x3e(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = v3e(l), m = u[0].startsWith("FontAwesome");
|
|
let h = aC(f, p), w = h;
|
|
if (m) {
|
|
const $ = N4e(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(ZP) !== f || a.getAttribute(eC) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = s3e(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[GE] = t, QE(h, f).then((S) => {
|
|
const b = iC(we(we({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: TX()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Vr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Hb(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function w3e(e) {
|
|
return Promise.all([oM(e, "::before"), oM(e, "::after")]);
|
|
}
|
|
function $3e(e) {
|
|
return e.parentNode !== document.head && !~i4e.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(GE) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function aM(e) {
|
|
if (vs)
|
|
return new Promise((t, r) => {
|
|
const n = bp(e.querySelectorAll("*")).filter($3e).map(w3e), o = sC.begin("searchPseudoElements");
|
|
DX(), Promise.all(n).then(() => {
|
|
o(), eA(), t();
|
|
}).catch(() => {
|
|
o(), eA(), r();
|
|
});
|
|
});
|
|
}
|
|
var k3e = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = aM, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Vr
|
|
} = t;
|
|
Be.searchPseudoElements && aM(r);
|
|
};
|
|
}
|
|
};
|
|
let iM = !1;
|
|
var _3e = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
DX(), iM = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Z7(KE("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
n3e();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
iM ? eA() : Z7(KE("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const sM = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var O3e = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => sM(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = sM(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: we({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: we({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: we(we({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const X$ = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function lM(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function S3e(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var E3e = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Lx(r.split(" ").map((o) => o.trim())) : TX();
|
|
return n.prefix || (n.prefix = Oc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = v4e({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: we(we({}, X$), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(lM)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: we({}, f.inner),
|
|
children: [lM(we({
|
|
tag: c.tag,
|
|
attributes: we(we({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: we({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || Gg()), $ = "clip-".concat(i || Gg()), _ = {
|
|
tag: "mask",
|
|
attributes: we(we({}, X$), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: S3e(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: we({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, X$)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, A3e = {
|
|
provides(e) {
|
|
let t = !1;
|
|
_c.matchMedia && (t = _c.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: we(we({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = we(we({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: we(we({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: we(we({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: we(we({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: we(we({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: we(we({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: we(we({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: we(we({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, P3e = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, C3e = [$4e, p3e, m3e, h3e, g3e, k3e, _3e, O3e, E3e, A3e, P3e];
|
|
z4e(C3e, {
|
|
mixoutsTo: fo
|
|
});
|
|
fo.noAuto;
|
|
fo.config;
|
|
fo.library;
|
|
fo.dom;
|
|
const rA = fo.parse;
|
|
fo.findIconDefinition;
|
|
fo.toHtml;
|
|
const N3e = fo.icon;
|
|
fo.layer;
|
|
fo.text;
|
|
fo.counter;
|
|
function T3e(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Yy = { exports: {} }, J$ = { exports: {} }, Zt = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var cM;
|
|
function I3e() {
|
|
if (cM) return Zt;
|
|
cM = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return Zt.AsyncMode = u, Zt.ConcurrentMode = c, Zt.ContextConsumer = s, Zt.ContextProvider = i, Zt.Element = t, Zt.ForwardRef = d, Zt.Fragment = n, Zt.Lazy = y, Zt.Memo = p, Zt.Portal = r, Zt.Profiler = a, Zt.StrictMode = o, Zt.Suspense = l, Zt.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, Zt.isConcurrentMode = S, Zt.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, Zt.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, Zt.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Zt.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, Zt.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, Zt.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, Zt.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, Zt.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, Zt.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, Zt.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, Zt.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, Zt.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, Zt.typeOf = _, Zt;
|
|
}
|
|
var fr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var uM;
|
|
function j3e() {
|
|
return uM || (uM = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
fr.AsyncMode = b, fr.ConcurrentMode = F, fr.ContextConsumer = z, fr.ContextProvider = q, fr.Element = Y, fr.ForwardRef = B, fr.Fragment = Z, fr.Lazy = M, fr.Memo = te, fr.Portal = G, fr.Profiler = H, fr.StrictMode = U, fr.Suspense = W, fr.isAsyncMode = ee, fr.isConcurrentMode = v, fr.isContextConsumer = g, fr.isContextProvider = O, fr.isElement = P, fr.isForwardRef = A, fr.isFragment = T, fr.isLazy = N, fr.isMemo = C, fr.isPortal = I, fr.isProfiler = j, fr.isStrictMode = R, fr.isSuspense = Q, fr.isValidElementType = _, fr.typeOf = S;
|
|
}()), fr;
|
|
}
|
|
var fM;
|
|
function LX() {
|
|
return fM || (fM = 1, process.env.NODE_ENV === "production" ? J$.exports = I3e() : J$.exports = j3e()), J$.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Q$, dM;
|
|
function R3e() {
|
|
if (dM) return Q$;
|
|
dM = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Q$ = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, Q$;
|
|
}
|
|
var Z$, pM;
|
|
function cC() {
|
|
if (pM) return Z$;
|
|
pM = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Z$ = e, Z$;
|
|
}
|
|
var mM, hM;
|
|
function zX() {
|
|
return hM || (hM = 1, mM = Function.call.bind(Object.prototype.hasOwnProperty)), mM;
|
|
}
|
|
var ek, gM;
|
|
function M3e() {
|
|
if (gM) return ek;
|
|
gM = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ cC(), r = {}, n = /* @__PURE__ */ zX();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, ek = o, ek;
|
|
}
|
|
var tk, bM;
|
|
function D3e() {
|
|
if (bM) return tk;
|
|
bM = 1;
|
|
var e = LX(), t = R3e(), r = /* @__PURE__ */ cC(), n = /* @__PURE__ */ zX(), o = /* @__PURE__ */ M3e(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return tk = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, tk;
|
|
}
|
|
var rk, yM;
|
|
function F3e() {
|
|
if (yM) return rk;
|
|
yM = 1;
|
|
var e = /* @__PURE__ */ cC();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, rk = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, rk;
|
|
}
|
|
var vM;
|
|
function L3e() {
|
|
if (vM) return Yy.exports;
|
|
if (vM = 1, process.env.NODE_ENV !== "production") {
|
|
var e = LX(), t = !0;
|
|
Yy.exports = /* @__PURE__ */ D3e()(e.isElement, t);
|
|
} else
|
|
Yy.exports = /* @__PURE__ */ F3e()();
|
|
return Yy.exports;
|
|
}
|
|
var z3e = /* @__PURE__ */ L3e();
|
|
const It = /* @__PURE__ */ T3e(z3e);
|
|
function xM(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Oa(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? xM(Object(r), !0).forEach(function(n) {
|
|
zf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : xM(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Q1(e) {
|
|
"@babel/helpers - typeof";
|
|
return Q1 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, Q1(e);
|
|
}
|
|
function zf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function W3e(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function V3e(e, t) {
|
|
if (e == null) return {};
|
|
var r = W3e(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function nA(e) {
|
|
return H3e(e) || G3e(e) || U3e(e) || B3e();
|
|
}
|
|
function H3e(e) {
|
|
if (Array.isArray(e)) return oA(e);
|
|
}
|
|
function G3e(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function U3e(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return oA(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return oA(e, t);
|
|
}
|
|
}
|
|
function oA(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function B3e() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function Y3e(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, zf(t, "fa-".concat(w), typeof w < "u" && w !== null), zf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), zf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), zf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function q3e(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function WX(e) {
|
|
return q3e(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var K3e = ["style"];
|
|
function X3e(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function J3e(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = WX(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[X3e(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function VX(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return VX(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = J3e(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[WX(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = V3e(r, K3e);
|
|
return o.attrs.style = Oa(Oa({}, o.attrs.style), i), e.apply(void 0, [t.tag, Oa(Oa({}, o.attrs), s)].concat(nA(n)));
|
|
}
|
|
var HX = !1;
|
|
try {
|
|
HX = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function Q3e() {
|
|
if (!HX && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function wM(e) {
|
|
if (e && Q1(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (rA.icon)
|
|
return rA.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && Q1(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function nk(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? zf({}, e, t) : {};
|
|
}
|
|
var $M = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, uC = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = Oa(Oa({}, $M), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = wM(n), l = nk("classes", [].concat(nA(Y3e(r)), nA((i || "").split(" ")))), f = nk("transform", typeof r.transform == "string" ? rA.transform(r.transform) : r.transform), p = nk("mask", wM(o)), y = N3e(d, Oa(Oa(Oa(Oa({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return Q3e("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
$M.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), Z3e(m[0], h);
|
|
});
|
|
uC.displayName = "FontAwesomeIcon";
|
|
uC.propTypes = {
|
|
beat: It.bool,
|
|
border: It.bool,
|
|
beatFade: It.bool,
|
|
bounce: It.bool,
|
|
className: It.string,
|
|
fade: It.bool,
|
|
flash: It.bool,
|
|
mask: It.oneOfType([It.object, It.array, It.string]),
|
|
maskId: It.string,
|
|
fixedWidth: It.bool,
|
|
inverse: It.bool,
|
|
flip: It.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: It.oneOfType([It.object, It.array, It.string]),
|
|
listItem: It.bool,
|
|
pull: It.oneOf(["right", "left"]),
|
|
pulse: It.bool,
|
|
rotation: It.oneOf([0, 90, 180, 270]),
|
|
shake: It.bool,
|
|
size: It.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: It.bool,
|
|
spinPulse: It.bool,
|
|
spinReverse: It.bool,
|
|
symbol: It.oneOfType([It.bool, It.string]),
|
|
title: It.string,
|
|
titleId: It.string,
|
|
transform: It.oneOfType([It.string, It.object]),
|
|
swapOpacity: It.bool
|
|
};
|
|
var Z3e = VX.bind(null, ae.createElement);
|
|
const fC = "-", ePe = (e) => {
|
|
const t = rPe(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(fC);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), GX(a, t) || tPe(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, GX = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? GX(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(fC);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, kM = /^\[(.+)\]$/, tPe = (e) => {
|
|
if (kM.test(e)) {
|
|
const t = kM.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, rPe = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return oPe(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
aA(a, n, o, t);
|
|
}), n;
|
|
}, aA = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : _M(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (nPe(o)) {
|
|
aA(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
aA(i, _M(t, a), r, n);
|
|
});
|
|
});
|
|
}, _M = (e, t) => {
|
|
let r = e;
|
|
return t.split(fC).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, nPe = (e) => e.isThemeGetter, oPe = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, aPe = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, UX = "!", iPe = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(UX), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, sPe = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, lPe = (e) => ({
|
|
cache: aPe(e.cacheSize),
|
|
parseClassName: iPe(e),
|
|
...ePe(e)
|
|
}), cPe = /\s+/, uPe = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(cPe);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = sPe(d).join(":"), w = l ? h + UX : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function fPe() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = BX(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const BX = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = BX(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function dPe(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = lPe(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = uPe(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(fPe.apply(null, arguments));
|
|
};
|
|
}
|
|
const Nr = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, YX = /^\[(?:([a-z-]+):)?(.+)\]$/i, pPe = /^\d+\/\d+$/, mPe = /* @__PURE__ */ new Set(["px", "full", "screen"]), hPe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, gPe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, bPe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, yPe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, vPe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Oi = (e) => vd(e) || mPe.has(e) || pPe.test(e), xl = (e) => yp(e, "length", EPe), vd = (e) => !!e && !Number.isNaN(Number(e)), ok = (e) => yp(e, "number", vd), zm = (e) => !!e && Number.isInteger(Number(e)), xPe = (e) => e.endsWith("%") && vd(e.slice(0, -1)), gt = (e) => YX.test(e), wl = (e) => hPe.test(e), wPe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), $Pe = (e) => yp(e, wPe, qX), kPe = (e) => yp(e, "position", qX), _Pe = /* @__PURE__ */ new Set(["image", "url"]), OPe = (e) => yp(e, _Pe, PPe), SPe = (e) => yp(e, "", APe), Wm = () => !0, yp = (e, t, r) => {
|
|
const n = YX.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, EPe = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
gPe.test(e) && !bPe.test(e)
|
|
), qX = () => !1, APe = (e) => yPe.test(e), PPe = (e) => vPe.test(e), CPe = () => {
|
|
const e = Nr("colors"), t = Nr("spacing"), r = Nr("blur"), n = Nr("brightness"), o = Nr("borderColor"), a = Nr("borderRadius"), i = Nr("borderSpacing"), s = Nr("borderWidth"), u = Nr("contrast"), c = Nr("grayscale"), d = Nr("hueRotate"), l = Nr("invert"), f = Nr("gap"), p = Nr("gradientColorStops"), y = Nr("gradientColorStopPositions"), m = Nr("inset"), h = Nr("margin"), w = Nr("opacity"), $ = Nr("padding"), _ = Nr("saturate"), S = Nr("scale"), b = Nr("sepia"), F = Nr("skew"), z = Nr("space"), q = Nr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", gt, t], M = () => [gt, t], te = () => ["", Oi, xl], G = () => ["auto", vd, gt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", gt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [vd, gt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Wm],
|
|
spacing: [Oi, xl],
|
|
blur: ["none", "", wl, gt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", wl, gt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [xPe, xl],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", gt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [wl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), gt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", zm, gt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", gt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", zm, gt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Wm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", zm, gt]
|
|
}, gt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Wm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [zm, gt]
|
|
}, gt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", gt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", gt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", gt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [gt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [gt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [wl]
|
|
}, wl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [gt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [gt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [gt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [gt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", wl, xl]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", ok]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Wm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", gt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", vd, ok]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Oi, gt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", gt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", gt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Oi, xl]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Oi, gt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", gt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", gt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), kPe]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", $Pe]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, OPe]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Oi, gt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Oi, xl]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Oi, xl]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", wl, SPe]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Wm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", wl, gt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", gt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", gt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", gt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [zm, gt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", gt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", gt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", gt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Oi, xl, ok]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, NPe = /* @__PURE__ */ dPe(CPe), TPe = ({
|
|
className: e,
|
|
children: t,
|
|
required: r,
|
|
...n
|
|
}) => /* @__PURE__ */ Te(
|
|
"label",
|
|
{
|
|
className: NPe("text-base-fg mb-2 text-[15px] font-medium", e),
|
|
...n,
|
|
children: [
|
|
t,
|
|
r && /* @__PURE__ */ K("span", { className: "ml-0.5 text-[#ff6467]", children: "*" })
|
|
]
|
|
}
|
|
), IPe = ae.forwardRef(
|
|
({
|
|
label: e,
|
|
icon: t,
|
|
inputClassName: r,
|
|
iconClassName: n,
|
|
className: o,
|
|
id: a,
|
|
isError: i,
|
|
onBlur: s,
|
|
onFocus: u,
|
|
errorMessage: c,
|
|
...d
|
|
}, l) => /* @__PURE__ */ Te("div", { className: U$("flex flex-col", o), children: [
|
|
e && /* @__PURE__ */ K(TPe, { htmlFor: a || e, children: e }),
|
|
/* @__PURE__ */ Te("div", { className: "relative w-full", children: [
|
|
t && /* @__PURE__ */ K(
|
|
uC,
|
|
{
|
|
icon: t,
|
|
className: U$("text-md absolute pl-3 pt-3", n)
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(
|
|
"input",
|
|
{
|
|
ref: l,
|
|
id: a || e || void 0,
|
|
className: U$(
|
|
"h-10 w-full rounded-lg px-3 py-2.5 outline-none",
|
|
"bg-ui-panel text-base-fg placeholder-base-fg/50",
|
|
"border border-ui-panel-border transition-all duration-150 ease-in-out hover:border-primary/60 focus:border-primary focus:!outline-none",
|
|
"disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:border-ui-panel-border",
|
|
t && "pl-10",
|
|
i && "outline-red focus:outline-red",
|
|
r
|
|
),
|
|
onFocus: (f) => {
|
|
u && u(f);
|
|
},
|
|
onBlur: (f) => {
|
|
s && s(f);
|
|
},
|
|
...d
|
|
}
|
|
),
|
|
c && /* @__PURE__ */ K("h6", { className: "absolute z-10 text-red", children: c })
|
|
] })
|
|
] })
|
|
);
|
|
IPe.displayName = "Input";
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function jPe(e, t, r) {
|
|
return (t = MPe(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function OM(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function $e(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? OM(Object(r), !0).forEach(function(n) {
|
|
jPe(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : OM(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function RPe(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function MPe(e) {
|
|
var t = RPe(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const SM = () => {
|
|
};
|
|
let dC = {}, KX = {}, XX = null, JX = {
|
|
mark: SM,
|
|
measure: SM
|
|
};
|
|
try {
|
|
typeof window < "u" && (dC = window), typeof document < "u" && (KX = document), typeof MutationObserver < "u" && (XX = MutationObserver), typeof performance < "u" && (JX = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: EM = ""
|
|
} = dC.navigator || {}, Ec = dC, Hr = KX, AM = XX, qy = JX;
|
|
Ec.document;
|
|
const xs = !!Hr.documentElement && !!Hr.head && typeof Hr.addEventListener == "function" && typeof Hr.createElement == "function", QX = ~EM.indexOf("MSIE") || ~EM.indexOf("Trident/");
|
|
var DPe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, FPe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, ZX = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, LPe = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, eJ = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Sn = "classic", Wx = "duotone", zPe = "sharp", WPe = "sharp-duotone", tJ = [Sn, Wx, zPe, WPe], VPe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, HPe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, GPe = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), UPe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, BPe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], PM = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, YPe = ["kit"], qPe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, KPe = ["fak", "fakd"], XPe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, CM = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Ky = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, JPe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], QPe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], ZPe = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, eCe = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, tCe = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, iA = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, rCe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], sA = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...JPe, ...rCe], nCe = ["solid", "regular", "light", "thin", "duotone", "brands"], rJ = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], oCe = rJ.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), aCe = [...Object.keys(tCe), ...nCe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", Ky.GROUP, Ky.SWAP_OPACITY, Ky.PRIMARY, Ky.SECONDARY].concat(rJ.map((e) => "".concat(e, "x"))).concat(oCe.map((e) => "w-".concat(e))), iCe = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const es = "___FONT_AWESOME___", lA = 16, nJ = "fa", oJ = "svg-inline--fa", Uu = "data-fa-i2svg", cA = "data-fa-pseudo-element", sCe = "data-fa-pseudo-element-pending", pC = "data-prefix", mC = "data-icon", NM = "fontawesome-i2svg", lCe = "async", cCe = ["HTML", "HEAD", "STYLE", "SCRIPT"], aJ = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Gb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Sn];
|
|
}
|
|
});
|
|
}
|
|
const iJ = $e({}, ZX);
|
|
iJ[Sn] = $e($e($e($e({}, {
|
|
"fa-duotone": "duotone"
|
|
}), ZX[Sn]), PM.kit), PM["kit-duotone"]);
|
|
const uCe = Gb(iJ), uA = $e({}, UPe);
|
|
uA[Sn] = $e($e($e($e({}, {
|
|
duotone: "fad"
|
|
}), uA[Sn]), CM.kit), CM["kit-duotone"]);
|
|
const TM = Gb(uA), fA = $e({}, iA);
|
|
fA[Sn] = $e($e({}, fA[Sn]), XPe.kit);
|
|
const hC = Gb(fA), dA = $e({}, eCe);
|
|
dA[Sn] = $e($e({}, dA[Sn]), qPe.kit);
|
|
Gb(dA);
|
|
const fCe = DPe, sJ = "fa-layers-text", dCe = FPe, pCe = $e({}, VPe);
|
|
Gb(pCe);
|
|
const mCe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], ak = LPe, hCe = [...YPe, ...aCe], Kh = Ec.FontAwesomeConfig || {};
|
|
function gCe(e) {
|
|
var t = Hr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function bCe(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Hr && typeof Hr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = bCe(gCe(t));
|
|
n != null && (Kh[r] = n);
|
|
});
|
|
const lJ = {
|
|
styleDefault: "solid",
|
|
familyDefault: Sn,
|
|
cssPrefix: nJ,
|
|
replacementClass: oJ,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Kh.familyPrefix && (Kh.cssPrefix = Kh.familyPrefix);
|
|
const Gd = $e($e({}, lJ), Kh);
|
|
Gd.autoReplaceSvg || (Gd.observeMutations = !1);
|
|
const Ye = {};
|
|
Object.keys(lJ).forEach((e) => {
|
|
Object.defineProperty(Ye, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Gd[e] = t, Xh.forEach((r) => r(Ye));
|
|
},
|
|
get: function() {
|
|
return Gd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Ye, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Gd.cssPrefix = e, Xh.forEach((t) => t(Ye));
|
|
},
|
|
get: function() {
|
|
return Gd.cssPrefix;
|
|
}
|
|
});
|
|
Ec.FontAwesomeConfig = Ye;
|
|
const Xh = [];
|
|
function yCe(e) {
|
|
return Xh.push(e), () => {
|
|
Xh.splice(Xh.indexOf(e), 1);
|
|
};
|
|
}
|
|
const $l = lA, Ka = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function vCe(e) {
|
|
if (!e || !xs)
|
|
return;
|
|
const t = Hr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Hr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Hr.head.insertBefore(t, n), e;
|
|
}
|
|
const xCe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Bg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += xCe[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function vp(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function gC(e) {
|
|
return e.classList ? vp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function cJ(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function wCe(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(cJ(e[r]), '" '), "").trim();
|
|
}
|
|
function Vx(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function bC(e) {
|
|
return e.size !== Ka.size || e.x !== Ka.x || e.y !== Ka.y || e.rotate !== Ka.rotate || e.flipX || e.flipY;
|
|
}
|
|
function $Ce(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function kCe(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = lA,
|
|
height: n = lA,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && QX ? a += "translate(".concat(t.x / $l - r / 2, "em, ").concat(t.y / $l - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / $l, "em), calc(-50% + ").concat(t.y / $l, "em)) ") : a += "translate(".concat(t.x / $l, "em, ").concat(t.y / $l, "em) "), a += "scale(".concat(t.size / $l * (t.flipX ? -1 : 1), ", ").concat(t.size / $l * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var _Ce = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function uJ() {
|
|
const e = nJ, t = oJ, r = Ye.cssPrefix, n = Ye.replacementClass;
|
|
let o = _Ce;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let IM = !1;
|
|
function ik() {
|
|
Ye.autoAddCss && !IM && (vCe(uJ()), IM = !0);
|
|
}
|
|
var OCe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: uJ,
|
|
insertCss: ik
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
ik();
|
|
},
|
|
beforeI2svg() {
|
|
ik();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const ts = Ec || {};
|
|
ts[es] || (ts[es] = {});
|
|
ts[es].styles || (ts[es].styles = {});
|
|
ts[es].hooks || (ts[es].hooks = {});
|
|
ts[es].shims || (ts[es].shims = []);
|
|
var Xa = ts[es];
|
|
const fJ = [], dJ = function() {
|
|
Hr.removeEventListener("DOMContentLoaded", dJ), Z1 = 1, fJ.map((e) => e());
|
|
};
|
|
let Z1 = !1;
|
|
xs && (Z1 = (Hr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Hr.readyState), Z1 || Hr.addEventListener("DOMContentLoaded", dJ));
|
|
function SCe(e) {
|
|
xs && (Z1 ? setTimeout(e, 0) : fJ.push(e));
|
|
}
|
|
function Ub(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? cJ(e) : "<".concat(t, " ").concat(wCe(r), ">").concat(n.map(Ub).join(""), "</").concat(t, ">");
|
|
}
|
|
function jM(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var sk = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function ECe(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function pJ(e) {
|
|
const t = ECe(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function ACe(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function RM(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function pA(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = RM(t);
|
|
typeof Xa.hooks.addPack == "function" && !n ? Xa.hooks.addPack(e, RM(t)) : Xa.styles[e] = $e($e({}, Xa.styles[e] || {}), o), e === "fas" && pA("fa", t);
|
|
}
|
|
const {
|
|
styles: Yg,
|
|
shims: PCe
|
|
} = Xa, mJ = Object.keys(hC), CCe = mJ.reduce((e, t) => (e[t] = Object.keys(hC[t]), e), {});
|
|
let yC = null, hJ = {}, gJ = {}, bJ = {}, yJ = {}, vJ = {};
|
|
function NCe(e) {
|
|
return ~hCe.indexOf(e);
|
|
}
|
|
function TCe(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !NCe(o) ? o : null;
|
|
}
|
|
const xJ = () => {
|
|
const e = (n) => sk(Yg, (o, a, i) => (o[i] = sk(a, n, {}), o), {});
|
|
hJ = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), gJ = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), vJ = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Yg || Ye.autoFetchSvg, r = sk(PCe, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
bJ = r.names, yJ = r.unicodes, yC = Hx(Ye.styleDefault, {
|
|
family: Ye.familyDefault
|
|
});
|
|
};
|
|
yCe((e) => {
|
|
yC = Hx(e.styleDefault, {
|
|
family: Ye.familyDefault
|
|
});
|
|
});
|
|
xJ();
|
|
function vC(e, t) {
|
|
return (hJ[e] || {})[t];
|
|
}
|
|
function ICe(e, t) {
|
|
return (gJ[e] || {})[t];
|
|
}
|
|
function pu(e, t) {
|
|
return (vJ[e] || {})[t];
|
|
}
|
|
function wJ(e) {
|
|
return bJ[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function jCe(e) {
|
|
const t = yJ[e], r = vC("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Ac() {
|
|
return yC;
|
|
}
|
|
const $J = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function RCe(e) {
|
|
let t = Sn;
|
|
const r = mJ.reduce((n, o) => (n[o] = "".concat(Ye.cssPrefix, "-").concat(o), n), {});
|
|
return tJ.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => CCe[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Hx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Sn
|
|
} = t, n = uCe[r][e];
|
|
if (r === Wx && !e)
|
|
return "fad";
|
|
const o = TM[r][e] || TM[r][n], a = e in Xa.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function MCe(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = TCe(Ye.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function MM(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Gx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = sA.concat(QPe), a = MM(e.filter((l) => o.includes(l))), i = MM(e.filter((l) => !sA.includes(l))), s = a.filter((l) => (n = l, !eJ.includes(l))), [u = null] = s, c = RCe(a), d = $e($e({}, MCe(i)), {}, {
|
|
prefix: Hx(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return $e($e($e({}, d), zCe({
|
|
values: e,
|
|
family: c,
|
|
styles: Yg,
|
|
config: Ye,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), DCe(r, n, d));
|
|
}
|
|
function DCe(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? wJ(o) : {}, i = pu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Yg.far && Yg.fas && !Ye.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const FCe = tJ.filter((e) => e !== Sn || e !== Wx), LCe = Object.keys(iA).filter((e) => e !== Sn).map((e) => Object.keys(iA[e])).flat();
|
|
function zCe(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Wx, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && FCe.includes(r) && (Object.keys(a).find((l) => LCe.includes(l)) || i.autoFetchSvg)) {
|
|
const l = GPe.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = pu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Ac() || "fas"), n;
|
|
}
|
|
let WCe = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = $e($e({}, this.definitions[a] || {}), o[a]), pA(a, o[a]);
|
|
const i = hC[Sn][a];
|
|
i && pA(i, o[a]), xJ();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, DM = [], Wf = {};
|
|
const xd = {}, VCe = Object.keys(xd);
|
|
function HCe(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return DM = e, Wf = {}, Object.keys(xd).forEach((n) => {
|
|
VCe.indexOf(n) === -1 && delete xd[n];
|
|
}), DM.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Wf[i] || (Wf[i] = []), Wf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(xd);
|
|
}), r;
|
|
}
|
|
function mA(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Wf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Bu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Wf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Pc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return xd[e] ? xd[e].apply(null, t) : void 0;
|
|
}
|
|
function hA(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Ac();
|
|
if (t)
|
|
return t = pu(r, t) || t, jM(kJ.definitions, r, t) || jM(Xa.styles, r, t);
|
|
}
|
|
const kJ = new WCe(), GCe = () => {
|
|
Ye.autoReplaceSvg = !1, Ye.observeMutations = !1, Bu("noAuto");
|
|
}, UCe = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return xs ? (Bu("beforeI2svg", e), Pc("pseudoElements2svg", e), Pc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Ye.autoReplaceSvg === !1 && (Ye.autoReplaceSvg = !0), Ye.observeMutations = !0, SCe(() => {
|
|
YCe({
|
|
autoReplaceSvgRoot: t
|
|
}), Bu("watch", e);
|
|
});
|
|
}
|
|
}, BCe = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: pu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = Hx(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: pu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Ye.cssPrefix, "-")) > -1 || e.match(fCe))) {
|
|
const t = Gx(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Ac(),
|
|
iconName: pu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Ac();
|
|
return {
|
|
prefix: t,
|
|
iconName: pu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, po = {
|
|
noAuto: GCe,
|
|
config: Ye,
|
|
dom: UCe,
|
|
parse: BCe,
|
|
library: kJ,
|
|
findIconDefinition: hA,
|
|
toHtml: Ub
|
|
}, YCe = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Hr
|
|
} = e;
|
|
(Object.keys(Xa.styles).length > 0 || Ye.autoFetchSvg) && xs && Ye.autoReplaceSvg && po.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Ux(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Ub(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!xs) return;
|
|
const r = Hr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function qCe(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (bC(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Vx($e($e({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function KCe(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Ye.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: $e($e({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function xC(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = KPe.includes(n), m = [Ye.replacementClass, o ? "".concat(Ye.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: $e($e({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Uu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || Bg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = $e($e({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: $e($e({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? Pc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Pc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? KCe($) : qCe($);
|
|
}
|
|
function FM(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = $e($e($e({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Uu] = "");
|
|
const c = $e({}, i.styles);
|
|
bC(o) && (c.transform = kCe({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Vx(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function XCe(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = $e($e($e({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Vx(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: lk
|
|
} = Xa;
|
|
function gA(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Ye.cssPrefix, "-").concat(ak.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ye.cssPrefix, "-").concat(ak.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ye.cssPrefix, "-").concat(ak.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const JCe = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function QCe(e, t) {
|
|
!aJ && !Ye.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function bA(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Ye.styleDefault !== null && (t = Ac()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = wJ(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && lk[t] && lk[t][e]) {
|
|
const a = lk[t][e];
|
|
return n(gA(a));
|
|
}
|
|
QCe(e, t), n($e($e({}, JCe), {}, {
|
|
icon: Ye.showMissingIcons && e ? Pc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const LM = () => {
|
|
}, yA = Ye.measurePerformance && qy && qy.mark && qy.measure ? qy : {
|
|
mark: LM,
|
|
measure: LM
|
|
}, hh = 'FA "6.7.2"', ZCe = (e) => (yA.mark("".concat(hh, " ").concat(e, " begins")), () => _J(e)), _J = (e) => {
|
|
yA.mark("".concat(hh, " ").concat(e, " ends")), yA.measure("".concat(hh, " ").concat(e), "".concat(hh, " ").concat(e, " begins"), "".concat(hh, " ").concat(e, " ends"));
|
|
};
|
|
var wC = {
|
|
begin: ZCe,
|
|
end: _J
|
|
};
|
|
const qv = () => {
|
|
};
|
|
function zM(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Uu) : null) == "string";
|
|
}
|
|
function e6e(e) {
|
|
const t = e.getAttribute ? e.getAttribute(pC) : null, r = e.getAttribute ? e.getAttribute(mC) : null;
|
|
return t && r;
|
|
}
|
|
function t6e(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Ye.replacementClass);
|
|
}
|
|
function r6e() {
|
|
return Ye.autoReplaceSvg === !0 ? Kv.replace : Kv[Ye.autoReplaceSvg] || Kv.replace;
|
|
}
|
|
function n6e(e) {
|
|
return Hr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function o6e(e) {
|
|
return Hr.createElement(e);
|
|
}
|
|
function OJ(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? n6e : o6e
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Hr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(OJ(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function a6e(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Kv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(OJ(r), t);
|
|
}), t.getAttribute(Uu) === null && Ye.keepOriginalSource) {
|
|
let r = Hr.createComment(a6e(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~gC(t).indexOf(Ye.replacementClass))
|
|
return Kv.replace(e);
|
|
const n = new RegExp("".concat(Ye.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ye.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Ub(a)).join(`
|
|
`);
|
|
t.setAttribute(Uu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function WM(e) {
|
|
e();
|
|
}
|
|
function SJ(e, t) {
|
|
const r = typeof t == "function" ? t : qv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = WM;
|
|
Ye.mutateApproach === lCe && (n = Ec.requestAnimationFrame || WM), n(() => {
|
|
const o = r6e(), a = wC.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let $C = !1;
|
|
function EJ() {
|
|
$C = !0;
|
|
}
|
|
function vA() {
|
|
$C = !1;
|
|
}
|
|
let e0 = null;
|
|
function VM(e) {
|
|
if (!AM || !Ye.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = qv,
|
|
nodeCallback: r = qv,
|
|
pseudoElementsCallback: n = qv,
|
|
observeMutationsRoot: o = Hr
|
|
} = e;
|
|
e0 = new AM((a) => {
|
|
if ($C) return;
|
|
const i = Ac();
|
|
vp(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !zM(s.addedNodes[0]) && (Ye.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ye.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && zM(s.target) && ~mCe.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && e6e(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Gx(gC(s.target));
|
|
s.target.setAttribute(pC, u || i), c && s.target.setAttribute(mC, c);
|
|
} else t6e(s.target) && r(s.target);
|
|
});
|
|
}), xs && e0.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function i6e() {
|
|
e0 && e0.disconnect();
|
|
}
|
|
function s6e(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function l6e(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Gx(gC(e));
|
|
return o.prefix || (o.prefix = Ac()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = ICe(o.prefix, e.innerText) || vC(o.prefix, pJ(e.innerText))), !o.iconName && Ye.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function c6e(e) {
|
|
const t = vp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Ye.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ye.replacementClass, "-title-").concat(n || Bg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function u6e() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Ka,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function HM(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = l6e(e), a = c6e(e), i = mA("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? s6e(e) : [];
|
|
return $e({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Ka,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: f6e
|
|
} = Xa;
|
|
function AJ(e) {
|
|
const t = Ye.autoReplaceSvg === "nest" ? HM(e, {
|
|
styleParser: !1
|
|
}) : HM(e);
|
|
return ~t.extra.classes.indexOf(sJ) ? Pc("generateLayersText", e, t) : Pc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function d6e() {
|
|
return [...BPe, ...sA];
|
|
}
|
|
function GM(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!xs) return Promise.resolve();
|
|
const r = Hr.documentElement.classList, n = (d) => r.add("".concat(NM, "-").concat(d)), o = (d) => r.remove("".concat(NM, "-").concat(d)), a = Ye.autoFetchSvg ? d6e() : eJ.concat(Object.keys(f6e));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(sJ, ":not([").concat(Uu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Uu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = vp(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = wC.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = AJ(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
aJ || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
SJ(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function p6e(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
AJ(e).then((r) => {
|
|
r && SJ([r], t);
|
|
});
|
|
}
|
|
function m6e(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : hA(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : hA(o || {})), e(n, $e($e({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const h6e = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ka,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return Ux($e({
|
|
type: "icon"
|
|
}, e), () => (Bu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Ye.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ye.replacementClass, "-title-").concat(s || Bg()) : (c["aria-hidden"] = "true", c.focusable = "false")), xC({
|
|
icons: {
|
|
main: gA(p),
|
|
mask: o ? gA(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: $e($e({}, Ka), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var g6e = {
|
|
mixout() {
|
|
return {
|
|
icon: m6e(h6e)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = GM, e.nodeCallback = p6e, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Hr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return GM(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([bA(n, i), c.iconName ? bA(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, xC({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Vx(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return bC(a) && (u = Pc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, b6e = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Ux({
|
|
type: "layer"
|
|
}, () => {
|
|
Bu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Ye.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, y6e = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Ux({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Bu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), XCe({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Ye.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, v6e = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ka,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Ux({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Bu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), FM({
|
|
content: e,
|
|
transform: $e($e({}, Ka), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Ye.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (QX) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Ye.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, FM({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const x6e = new RegExp('"', "ug"), UM = [1105920, 1112319], BM = $e($e($e($e({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), HPe), iCe), ZPe), xA = Object.keys(BM).reduce((e, t) => (e[t.toLowerCase()] = BM[t], e), {}), w6e = Object.keys(xA).reduce((e, t) => {
|
|
const r = xA[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function $6e(e) {
|
|
const t = e.replace(x6e, ""), r = ACe(t, 0), n = r >= UM[0] && r <= UM[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: pJ(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function k6e(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (xA[r] || {})[o] || w6e[r];
|
|
}
|
|
function YM(e, t) {
|
|
const r = "".concat(sCe).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = vp(e.children).filter((l) => l.getAttribute(cA) === t)[0], i = Ec.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(dCe), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = k6e(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = $6e(l), m = u[0].startsWith("FontAwesome");
|
|
let h = vC(f, p), w = h;
|
|
if (m) {
|
|
const $ = jCe(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(pC) !== f || a.getAttribute(mC) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = u6e(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[cA] = t, bA(h, f).then((S) => {
|
|
const b = xC($e($e({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: $J()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Hr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Ub(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function _6e(e) {
|
|
return Promise.all([YM(e, "::before"), YM(e, "::after")]);
|
|
}
|
|
function O6e(e) {
|
|
return e.parentNode !== document.head && !~cCe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(cA) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function qM(e) {
|
|
if (xs)
|
|
return new Promise((t, r) => {
|
|
const n = vp(e.querySelectorAll("*")).filter(O6e).map(_6e), o = wC.begin("searchPseudoElements");
|
|
EJ(), Promise.all(n).then(() => {
|
|
o(), vA(), t();
|
|
}).catch(() => {
|
|
o(), vA(), r();
|
|
});
|
|
});
|
|
}
|
|
var S6e = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = qM, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Hr
|
|
} = t;
|
|
Ye.searchPseudoElements && qM(r);
|
|
};
|
|
}
|
|
};
|
|
let KM = !1;
|
|
var E6e = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
EJ(), KM = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
VM(mA("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
i6e();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
KM ? vA() : VM(mA("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const XM = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var A6e = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => XM(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = XM(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: $e({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: $e({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: $e($e({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const ck = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function JM(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function P6e(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var C6e = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Gx(r.split(" ").map((o) => o.trim())) : $J();
|
|
return n.prefix || (n.prefix = Ac()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = $Ce({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: $e($e({}, ck), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(JM)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: $e({}, f.inner),
|
|
children: [JM($e({
|
|
tag: c.tag,
|
|
attributes: $e($e({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: $e({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || Bg()), $ = "clip-".concat(i || Bg()), _ = {
|
|
tag: "mask",
|
|
attributes: $e($e({}, ck), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: P6e(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: $e({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, ck)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, N6e = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Ec.matchMedia && (t = Ec.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: $e($e({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = $e($e({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: $e($e({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: $e($e({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: $e($e({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: $e($e({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: $e($e({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: $e($e({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: $e($e({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, T6e = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, I6e = [OCe, g6e, b6e, y6e, v6e, S6e, E6e, A6e, C6e, N6e, T6e];
|
|
HCe(I6e, {
|
|
mixoutsTo: po
|
|
});
|
|
po.noAuto;
|
|
po.config;
|
|
po.library;
|
|
po.dom;
|
|
const wA = po.parse;
|
|
po.findIconDefinition;
|
|
po.toHtml;
|
|
const j6e = po.icon;
|
|
po.layer;
|
|
po.text;
|
|
po.counter;
|
|
var Xy = { exports: {} }, uk = { exports: {} }, er = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var QM;
|
|
function R6e() {
|
|
if (QM) return er;
|
|
QM = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return er.AsyncMode = u, er.ConcurrentMode = c, er.ContextConsumer = s, er.ContextProvider = i, er.Element = t, er.ForwardRef = d, er.Fragment = n, er.Lazy = y, er.Memo = p, er.Portal = r, er.Profiler = a, er.StrictMode = o, er.Suspense = l, er.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, er.isConcurrentMode = S, er.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, er.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, er.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, er.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, er.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, er.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, er.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, er.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, er.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, er.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, er.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, er.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, er.typeOf = _, er;
|
|
}
|
|
var dr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var ZM;
|
|
function M6e() {
|
|
return ZM || (ZM = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
dr.AsyncMode = b, dr.ConcurrentMode = F, dr.ContextConsumer = z, dr.ContextProvider = q, dr.Element = Y, dr.ForwardRef = B, dr.Fragment = Z, dr.Lazy = M, dr.Memo = te, dr.Portal = G, dr.Profiler = H, dr.StrictMode = U, dr.Suspense = W, dr.isAsyncMode = ee, dr.isConcurrentMode = v, dr.isContextConsumer = g, dr.isContextProvider = O, dr.isElement = P, dr.isForwardRef = A, dr.isFragment = T, dr.isLazy = N, dr.isMemo = C, dr.isPortal = I, dr.isProfiler = j, dr.isStrictMode = R, dr.isSuspense = Q, dr.isValidElementType = _, dr.typeOf = S;
|
|
}()), dr;
|
|
}
|
|
var eD;
|
|
function PJ() {
|
|
return eD || (eD = 1, process.env.NODE_ENV === "production" ? uk.exports = R6e() : uk.exports = M6e()), uk.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var fk, tD;
|
|
function D6e() {
|
|
if (tD) return fk;
|
|
tD = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return fk = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, fk;
|
|
}
|
|
var dk, rD;
|
|
function kC() {
|
|
if (rD) return dk;
|
|
rD = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return dk = e, dk;
|
|
}
|
|
var nD, oD;
|
|
function CJ() {
|
|
return oD || (oD = 1, nD = Function.call.bind(Object.prototype.hasOwnProperty)), nD;
|
|
}
|
|
var pk, aD;
|
|
function F6e() {
|
|
if (aD) return pk;
|
|
aD = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ kC(), r = {}, n = /* @__PURE__ */ CJ();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, pk = o, pk;
|
|
}
|
|
var mk, iD;
|
|
function L6e() {
|
|
if (iD) return mk;
|
|
iD = 1;
|
|
var e = PJ(), t = D6e(), r = /* @__PURE__ */ kC(), n = /* @__PURE__ */ CJ(), o = /* @__PURE__ */ F6e(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return mk = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, mk;
|
|
}
|
|
var hk, sD;
|
|
function z6e() {
|
|
if (sD) return hk;
|
|
sD = 1;
|
|
var e = /* @__PURE__ */ kC();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, hk = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, hk;
|
|
}
|
|
var lD;
|
|
function W6e() {
|
|
if (lD) return Xy.exports;
|
|
if (lD = 1, process.env.NODE_ENV !== "production") {
|
|
var e = PJ(), t = !0;
|
|
Xy.exports = /* @__PURE__ */ L6e()(e.isElement, t);
|
|
} else
|
|
Xy.exports = /* @__PURE__ */ z6e()();
|
|
return Xy.exports;
|
|
}
|
|
var V6e = /* @__PURE__ */ W6e();
|
|
const jt = /* @__PURE__ */ GAe(V6e);
|
|
function cD(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Sa(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? cD(Object(r), !0).forEach(function(n) {
|
|
Vf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : cD(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function t0(e) {
|
|
"@babel/helpers - typeof";
|
|
return t0 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, t0(e);
|
|
}
|
|
function Vf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function H6e(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function G6e(e, t) {
|
|
if (e == null) return {};
|
|
var r = H6e(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function $A(e) {
|
|
return U6e(e) || B6e(e) || Y6e(e) || q6e();
|
|
}
|
|
function U6e(e) {
|
|
if (Array.isArray(e)) return kA(e);
|
|
}
|
|
function B6e(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function Y6e(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return kA(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return kA(e, t);
|
|
}
|
|
}
|
|
function kA(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function q6e() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function K6e(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Vf(t, "fa-".concat(w), typeof w < "u" && w !== null), Vf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Vf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Vf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function X6e(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function NJ(e) {
|
|
return X6e(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var J6e = ["style"];
|
|
function Q6e(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function Z6e(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = NJ(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[Q6e(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function TJ(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return TJ(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = Z6e(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[NJ(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = G6e(r, J6e);
|
|
return o.attrs.style = Sa(Sa({}, o.attrs.style), i), e.apply(void 0, [t.tag, Sa(Sa({}, o.attrs), s)].concat($A(n)));
|
|
}
|
|
var IJ = !1;
|
|
try {
|
|
IJ = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function eNe() {
|
|
if (!IJ && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function uD(e) {
|
|
if (e && t0(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (wA.icon)
|
|
return wA.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && t0(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function gk(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Vf({}, e, t) : {};
|
|
}
|
|
var fD = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, jJ = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = Sa(Sa({}, fD), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = uD(n), l = gk("classes", [].concat($A(K6e(r)), $A((i || "").split(" ")))), f = gk("transform", typeof r.transform == "string" ? wA.transform(r.transform) : r.transform), p = gk("mask", uD(o)), y = j6e(d, Sa(Sa(Sa(Sa({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return eNe("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
fD.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), tNe(m[0], h);
|
|
});
|
|
jJ.displayName = "FontAwesomeIcon";
|
|
jJ.propTypes = {
|
|
beat: jt.bool,
|
|
border: jt.bool,
|
|
beatFade: jt.bool,
|
|
bounce: jt.bool,
|
|
className: jt.string,
|
|
fade: jt.bool,
|
|
flash: jt.bool,
|
|
mask: jt.oneOfType([jt.object, jt.array, jt.string]),
|
|
maskId: jt.string,
|
|
fixedWidth: jt.bool,
|
|
inverse: jt.bool,
|
|
flip: jt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: jt.oneOfType([jt.object, jt.array, jt.string]),
|
|
listItem: jt.bool,
|
|
pull: jt.oneOf(["right", "left"]),
|
|
pulse: jt.bool,
|
|
rotation: jt.oneOf([0, 90, 180, 270]),
|
|
shake: jt.bool,
|
|
size: jt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: jt.bool,
|
|
spinPulse: jt.bool,
|
|
spinReverse: jt.bool,
|
|
symbol: jt.oneOfType([jt.bool, jt.string]),
|
|
title: jt.string,
|
|
titleId: jt.string,
|
|
transform: jt.oneOfType([jt.string, jt.object]),
|
|
swapOpacity: jt.bool
|
|
};
|
|
var tNe = TJ.bind(null, ae.createElement), rNe = Object.defineProperty, nNe = (e, t, r) => t in e ? rNe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, RJ = (e, t, r) => nNe(e, typeof t != "symbol" ? t + "" : t, r);
|
|
const oNe = "https://api.storyteller.ai";
|
|
window.STORYTELLER_API_HOST_STORE = void 0;
|
|
let aNe = class MJ {
|
|
constructor(t) {
|
|
RJ(this, "apiSchemeAndHost"), this.apiSchemeAndHost = t;
|
|
}
|
|
// NB(bt,2025-09-25): 'nx' is creating multiple copies of the library with name
|
|
// mangling, so the singleton pattern fails to resolve to a single instance.
|
|
// public static getInstance(): StorytellerApiHostStore {
|
|
// if (StorytellerApiHostStore.instance !== undefined) {
|
|
// return StorytellerApiHostStore.instance;
|
|
// }
|
|
// const instance = new StorytellerApiHostStore(DEFAULT_API_HOST);
|
|
// StorytellerApiHostStore.instance = instance;
|
|
// return instance;
|
|
// }
|
|
static getInstance() {
|
|
if (window.STORYTELLER_API_HOST_STORE !== void 0)
|
|
return window.STORYTELLER_API_HOST_STORE;
|
|
const t = new MJ(oNe);
|
|
return window.STORYTELLER_API_HOST_STORE = t, t;
|
|
}
|
|
/** Get the API scheme and host. */
|
|
getApiSchemeAndHost() {
|
|
return console.debug("StorytellerApiHostStore.getApiSchemeAndHost()", this.apiSchemeAndHost, this.constructor.name), this.apiSchemeAndHost;
|
|
}
|
|
/**
|
|
* Externally update the API host.
|
|
* This is used to sync with Tauri for enabling easier development.
|
|
*/
|
|
setApiSchemeAndHost(t) {
|
|
if (console.debug("StorytellerApiHostStore.setApiSchemeAndHost()", t, this.constructor.name), !t.startsWith("http://") && !t.startsWith("https://"))
|
|
throw new Error(`Scheme not included in URL: ${t}`);
|
|
const r = "https://".lastIndexOf("/");
|
|
if (t.lastIndexOf("/") > r)
|
|
throw new Error(`Path components should not be included in URL: ${t}`);
|
|
this.apiSchemeAndHost = t;
|
|
}
|
|
};
|
|
var gh = /* @__PURE__ */ ((e) => (e.GOOGLE_API = "https://storage.googleapis.com", e.FUNNEL_API = "https://style.storyteller.ai", e.CDN_API = "https://cdn.storyteller.ai", e.GRAVATAR_API = "https://www.gravatar.com", e))(gh || {}), bk = { exports: {} }, Ot = {};
|
|
/**
|
|
* @license React
|
|
* react.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var dD;
|
|
function iNe() {
|
|
if (dD) return Ot;
|
|
dD = 1;
|
|
var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), i = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), l = Symbol.iterator;
|
|
function f(g) {
|
|
return g === null || typeof g != "object" ? null : (g = l && g[l] || g["@@iterator"], typeof g == "function" ? g : null);
|
|
}
|
|
var p = { isMounted: function() {
|
|
return !1;
|
|
}, enqueueForceUpdate: function() {
|
|
}, enqueueReplaceState: function() {
|
|
}, enqueueSetState: function() {
|
|
} }, y = Object.assign, m = {};
|
|
function h(g, O, P) {
|
|
this.props = g, this.context = O, this.refs = m, this.updater = P || p;
|
|
}
|
|
h.prototype.isReactComponent = {}, h.prototype.setState = function(g, O) {
|
|
if (typeof g != "object" && typeof g != "function" && g != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, g, O, "setState");
|
|
}, h.prototype.forceUpdate = function(g) {
|
|
this.updater.enqueueForceUpdate(this, g, "forceUpdate");
|
|
};
|
|
function w() {
|
|
}
|
|
w.prototype = h.prototype;
|
|
function $(g, O, P) {
|
|
this.props = g, this.context = O, this.refs = m, this.updater = P || p;
|
|
}
|
|
var _ = $.prototype = new w();
|
|
_.constructor = $, y(_, h.prototype), _.isPureReactComponent = !0;
|
|
var S = Array.isArray, b = Object.prototype.hasOwnProperty, F = { current: null }, z = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function q(g, O, P) {
|
|
var A, T = {}, N = null, C = null;
|
|
if (O != null) for (A in O.ref !== void 0 && (C = O.ref), O.key !== void 0 && (N = "" + O.key), O) b.call(O, A) && !z.hasOwnProperty(A) && (T[A] = O[A]);
|
|
var I = arguments.length - 2;
|
|
if (I === 1) T.children = P;
|
|
else if (1 < I) {
|
|
for (var j = Array(I), R = 0; R < I; R++) j[R] = arguments[R + 2];
|
|
T.children = j;
|
|
}
|
|
if (g && g.defaultProps) for (A in I = g.defaultProps, I) T[A] === void 0 && (T[A] = I[A]);
|
|
return { $$typeof: e, type: g, key: N, ref: C, props: T, _owner: F.current };
|
|
}
|
|
function Y(g, O) {
|
|
return { $$typeof: e, type: g.type, key: O, ref: g.ref, props: g.props, _owner: g._owner };
|
|
}
|
|
function B(g) {
|
|
return typeof g == "object" && g !== null && g.$$typeof === e;
|
|
}
|
|
function Z(g) {
|
|
var O = { "=": "=0", ":": "=2" };
|
|
return "$" + g.replace(/[=:]/g, function(P) {
|
|
return O[P];
|
|
});
|
|
}
|
|
var M = /\/+/g;
|
|
function te(g, O) {
|
|
return typeof g == "object" && g !== null && g.key != null ? Z("" + g.key) : O.toString(36);
|
|
}
|
|
function G(g, O, P, A, T) {
|
|
var N = typeof g;
|
|
(N === "undefined" || N === "boolean") && (g = null);
|
|
var C = !1;
|
|
if (g === null) C = !0;
|
|
else switch (N) {
|
|
case "string":
|
|
case "number":
|
|
C = !0;
|
|
break;
|
|
case "object":
|
|
switch (g.$$typeof) {
|
|
case e:
|
|
case t:
|
|
C = !0;
|
|
}
|
|
}
|
|
if (C) return C = g, T = T(C), g = A === "" ? "." + te(C, 0) : A, S(T) ? (P = "", g != null && (P = g.replace(M, "$&/") + "/"), G(T, O, P, "", function(R) {
|
|
return R;
|
|
})) : T != null && (B(T) && (T = Y(T, P + (!T.key || C && C.key === T.key ? "" : ("" + T.key).replace(M, "$&/") + "/") + g)), O.push(T)), 1;
|
|
if (C = 0, A = A === "" ? "." : A + ":", S(g)) for (var I = 0; I < g.length; I++) {
|
|
N = g[I];
|
|
var j = A + te(N, I);
|
|
C += G(N, O, P, j, T);
|
|
}
|
|
else if (j = f(g), typeof j == "function") for (g = j.call(g), I = 0; !(N = g.next()).done; ) N = N.value, j = A + te(N, I++), C += G(N, O, P, j, T);
|
|
else if (N === "object") throw O = String(g), Error("Objects are not valid as a React child (found: " + (O === "[object Object]" ? "object with keys {" + Object.keys(g).join(", ") + "}" : O) + "). If you meant to render a collection of children, use an array instead.");
|
|
return C;
|
|
}
|
|
function H(g, O, P) {
|
|
if (g == null) return g;
|
|
var A = [], T = 0;
|
|
return G(g, A, "", "", function(N) {
|
|
return O.call(P, N, T++);
|
|
}), A;
|
|
}
|
|
function U(g) {
|
|
if (g._status === -1) {
|
|
var O = g._result;
|
|
O = O(), O.then(function(P) {
|
|
(g._status === 0 || g._status === -1) && (g._status = 1, g._result = P);
|
|
}, function(P) {
|
|
(g._status === 0 || g._status === -1) && (g._status = 2, g._result = P);
|
|
}), g._status === -1 && (g._status = 0, g._result = O);
|
|
}
|
|
if (g._status === 1) return g._result.default;
|
|
throw g._result;
|
|
}
|
|
var W = { current: null }, X = { transition: null }, ee = { ReactCurrentDispatcher: W, ReactCurrentBatchConfig: X, ReactCurrentOwner: F };
|
|
function v() {
|
|
throw Error("act(...) is not supported in production builds of React.");
|
|
}
|
|
return Ot.Children = { map: H, forEach: function(g, O, P) {
|
|
H(g, function() {
|
|
O.apply(this, arguments);
|
|
}, P);
|
|
}, count: function(g) {
|
|
var O = 0;
|
|
return H(g, function() {
|
|
O++;
|
|
}), O;
|
|
}, toArray: function(g) {
|
|
return H(g, function(O) {
|
|
return O;
|
|
}) || [];
|
|
}, only: function(g) {
|
|
if (!B(g)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return g;
|
|
} }, Ot.Component = h, Ot.Fragment = r, Ot.Profiler = o, Ot.PureComponent = $, Ot.StrictMode = n, Ot.Suspense = u, Ot.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ee, Ot.act = v, Ot.cloneElement = function(g, O, P) {
|
|
if (g == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + g + ".");
|
|
var A = y({}, g.props), T = g.key, N = g.ref, C = g._owner;
|
|
if (O != null) {
|
|
if (O.ref !== void 0 && (N = O.ref, C = F.current), O.key !== void 0 && (T = "" + O.key), g.type && g.type.defaultProps) var I = g.type.defaultProps;
|
|
for (j in O) b.call(O, j) && !z.hasOwnProperty(j) && (A[j] = O[j] === void 0 && I !== void 0 ? I[j] : O[j]);
|
|
}
|
|
var j = arguments.length - 2;
|
|
if (j === 1) A.children = P;
|
|
else if (1 < j) {
|
|
I = Array(j);
|
|
for (var R = 0; R < j; R++) I[R] = arguments[R + 2];
|
|
A.children = I;
|
|
}
|
|
return { $$typeof: e, type: g.type, key: T, ref: N, props: A, _owner: C };
|
|
}, Ot.createContext = function(g) {
|
|
return g = { $$typeof: i, _currentValue: g, _currentValue2: g, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, g.Provider = { $$typeof: a, _context: g }, g.Consumer = g;
|
|
}, Ot.createElement = q, Ot.createFactory = function(g) {
|
|
var O = q.bind(null, g);
|
|
return O.type = g, O;
|
|
}, Ot.createRef = function() {
|
|
return { current: null };
|
|
}, Ot.forwardRef = function(g) {
|
|
return { $$typeof: s, render: g };
|
|
}, Ot.isValidElement = B, Ot.lazy = function(g) {
|
|
return { $$typeof: d, _payload: { _status: -1, _result: g }, _init: U };
|
|
}, Ot.memo = function(g, O) {
|
|
return { $$typeof: c, type: g, compare: O === void 0 ? null : O };
|
|
}, Ot.startTransition = function(g) {
|
|
var O = X.transition;
|
|
X.transition = {};
|
|
try {
|
|
g();
|
|
} finally {
|
|
X.transition = O;
|
|
}
|
|
}, Ot.unstable_act = v, Ot.useCallback = function(g, O) {
|
|
return W.current.useCallback(g, O);
|
|
}, Ot.useContext = function(g) {
|
|
return W.current.useContext(g);
|
|
}, Ot.useDebugValue = function() {
|
|
}, Ot.useDeferredValue = function(g) {
|
|
return W.current.useDeferredValue(g);
|
|
}, Ot.useEffect = function(g, O) {
|
|
return W.current.useEffect(g, O);
|
|
}, Ot.useId = function() {
|
|
return W.current.useId();
|
|
}, Ot.useImperativeHandle = function(g, O, P) {
|
|
return W.current.useImperativeHandle(g, O, P);
|
|
}, Ot.useInsertionEffect = function(g, O) {
|
|
return W.current.useInsertionEffect(g, O);
|
|
}, Ot.useLayoutEffect = function(g, O) {
|
|
return W.current.useLayoutEffect(g, O);
|
|
}, Ot.useMemo = function(g, O) {
|
|
return W.current.useMemo(g, O);
|
|
}, Ot.useReducer = function(g, O, P) {
|
|
return W.current.useReducer(g, O, P);
|
|
}, Ot.useRef = function(g) {
|
|
return W.current.useRef(g);
|
|
}, Ot.useState = function(g) {
|
|
return W.current.useState(g);
|
|
}, Ot.useSyncExternalStore = function(g, O, P) {
|
|
return W.current.useSyncExternalStore(g, O, P);
|
|
}, Ot.useTransition = function() {
|
|
return W.current.useTransition();
|
|
}, Ot.version = "18.3.1", Ot;
|
|
}
|
|
var Xv = { exports: {} };
|
|
/**
|
|
* @license React
|
|
* react.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
Xv.exports;
|
|
var pD;
|
|
function sNe() {
|
|
return pD || (pD = 1, function(e, t) {
|
|
process.env.NODE_ENV !== "production" && function() {
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
|
var r = "18.3.1", n = Symbol.for("react.element"), o = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), u = Symbol.for("react.provider"), c = Symbol.for("react.context"), d = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), f = Symbol.for("react.suspense_list"), p = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), m = Symbol.for("react.offscreen"), h = Symbol.iterator, w = "@@iterator";
|
|
function $(x) {
|
|
if (x === null || typeof x != "object")
|
|
return null;
|
|
var E = h && x[h] || x[w];
|
|
return typeof E == "function" ? E : null;
|
|
}
|
|
var _ = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, S = {
|
|
transition: null
|
|
}, b = {
|
|
current: null,
|
|
// Used to reproduce behavior of `batchedUpdates` in legacy mode.
|
|
isBatchingLegacy: !1,
|
|
didScheduleLegacyUpdate: !1
|
|
}, F = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, z = {}, q = null;
|
|
function Y(x) {
|
|
q = x;
|
|
}
|
|
z.setExtraStackFrame = function(x) {
|
|
q = x;
|
|
}, z.getCurrentStack = null, z.getStackAddendum = function() {
|
|
var x = "";
|
|
q && (x += q);
|
|
var E = z.getCurrentStack;
|
|
return E && (x += E() || ""), x;
|
|
};
|
|
var B = !1, Z = !1, M = !1, te = !1, G = !1, H = {
|
|
ReactCurrentDispatcher: _,
|
|
ReactCurrentBatchConfig: S,
|
|
ReactCurrentOwner: F
|
|
};
|
|
H.ReactDebugCurrentFrame = z, H.ReactCurrentActQueue = b;
|
|
function U(x) {
|
|
{
|
|
for (var E = arguments.length, D = new Array(E > 1 ? E - 1 : 0), L = 1; L < E; L++)
|
|
D[L - 1] = arguments[L];
|
|
X("warn", x, D);
|
|
}
|
|
}
|
|
function W(x) {
|
|
{
|
|
for (var E = arguments.length, D = new Array(E > 1 ? E - 1 : 0), L = 1; L < E; L++)
|
|
D[L - 1] = arguments[L];
|
|
X("error", x, D);
|
|
}
|
|
}
|
|
function X(x, E, D) {
|
|
{
|
|
var L = H.ReactDebugCurrentFrame, J = L.getStackAddendum();
|
|
J !== "" && (E += "%s", D = D.concat([J]));
|
|
var ie = D.map(function(re) {
|
|
return String(re);
|
|
});
|
|
ie.unshift("Warning: " + E), Function.prototype.apply.call(console[x], console, ie);
|
|
}
|
|
}
|
|
var ee = {};
|
|
function v(x, E) {
|
|
{
|
|
var D = x.constructor, L = D && (D.displayName || D.name) || "ReactClass", J = L + "." + E;
|
|
if (ee[J])
|
|
return;
|
|
W("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", E, L), ee[J] = !0;
|
|
}
|
|
}
|
|
var g = {
|
|
/**
|
|
* Checks whether or not this composite component is mounted.
|
|
* @param {ReactClass} publicInstance The instance we want to test.
|
|
* @return {boolean} True if mounted, false otherwise.
|
|
* @protected
|
|
* @final
|
|
*/
|
|
isMounted: function(x) {
|
|
return !1;
|
|
},
|
|
/**
|
|
* Forces an update. This should only be invoked when it is known with
|
|
* certainty that we are **not** in a DOM transaction.
|
|
*
|
|
* You may want to call this when you know that some deeper aspect of the
|
|
* component's state has changed but `setState` was not called.
|
|
*
|
|
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
|
* `componentWillUpdate` and `componentDidUpdate`.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueForceUpdate: function(x, E, D) {
|
|
v(x, "forceUpdate");
|
|
},
|
|
/**
|
|
* Replaces all of the state. Always use this or `setState` to mutate state.
|
|
* You should treat `this.state` as immutable.
|
|
*
|
|
* There is no guarantee that `this.state` will be immediately updated, so
|
|
* accessing `this.state` after calling this method may return the old value.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} completeState Next state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueReplaceState: function(x, E, D, L) {
|
|
v(x, "replaceState");
|
|
},
|
|
/**
|
|
* Sets a subset of the state. This only exists because _pendingState is
|
|
* internal. This provides a merging strategy that is not available to deep
|
|
* properties which is confusing. TODO: Expose pendingState or don't use it
|
|
* during the merge.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} partialState Next partial state to be merged with state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} Name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueSetState: function(x, E, D, L) {
|
|
v(x, "setState");
|
|
}
|
|
}, O = Object.assign, P = {};
|
|
Object.freeze(P);
|
|
function A(x, E, D) {
|
|
this.props = x, this.context = E, this.refs = P, this.updater = D || g;
|
|
}
|
|
A.prototype.isReactComponent = {}, A.prototype.setState = function(x, E) {
|
|
if (typeof x != "object" && typeof x != "function" && x != null)
|
|
throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, x, E, "setState");
|
|
}, A.prototype.forceUpdate = function(x) {
|
|
this.updater.enqueueForceUpdate(this, x, "forceUpdate");
|
|
};
|
|
{
|
|
var T = {
|
|
isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
|
|
replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
|
|
}, N = function(x, E) {
|
|
Object.defineProperty(A.prototype, x, {
|
|
get: function() {
|
|
U("%s(...) is deprecated in plain JavaScript React classes. %s", E[0], E[1]);
|
|
}
|
|
});
|
|
};
|
|
for (var C in T)
|
|
T.hasOwnProperty(C) && N(C, T[C]);
|
|
}
|
|
function I() {
|
|
}
|
|
I.prototype = A.prototype;
|
|
function j(x, E, D) {
|
|
this.props = x, this.context = E, this.refs = P, this.updater = D || g;
|
|
}
|
|
var R = j.prototype = new I();
|
|
R.constructor = j, O(R, A.prototype), R.isPureReactComponent = !0;
|
|
function Q() {
|
|
var x = {
|
|
current: null
|
|
};
|
|
return Object.seal(x), x;
|
|
}
|
|
var k = Array.isArray;
|
|
function oe(x) {
|
|
return k(x);
|
|
}
|
|
function me(x) {
|
|
{
|
|
var E = typeof Symbol == "function" && Symbol.toStringTag, D = E && x[Symbol.toStringTag] || x.constructor.name || "Object";
|
|
return D;
|
|
}
|
|
}
|
|
function Le(x) {
|
|
try {
|
|
return Xr(x), !1;
|
|
} catch {
|
|
return !0;
|
|
}
|
|
}
|
|
function Xr(x) {
|
|
return "" + x;
|
|
}
|
|
function Jr(x) {
|
|
if (Le(x))
|
|
return W("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", me(x)), Xr(x);
|
|
}
|
|
function ce(x, E, D) {
|
|
var L = x.displayName;
|
|
if (L)
|
|
return L;
|
|
var J = E.displayName || E.name || "";
|
|
return J !== "" ? D + "(" + J + ")" : D;
|
|
}
|
|
function le(x) {
|
|
return x.displayName || "Context";
|
|
}
|
|
function fe(x) {
|
|
if (x == null)
|
|
return null;
|
|
if (typeof x.tag == "number" && W("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof x == "function")
|
|
return x.displayName || x.name || null;
|
|
if (typeof x == "string")
|
|
return x;
|
|
switch (x) {
|
|
case a:
|
|
return "Fragment";
|
|
case o:
|
|
return "Portal";
|
|
case s:
|
|
return "Profiler";
|
|
case i:
|
|
return "StrictMode";
|
|
case l:
|
|
return "Suspense";
|
|
case f:
|
|
return "SuspenseList";
|
|
}
|
|
if (typeof x == "object")
|
|
switch (x.$$typeof) {
|
|
case c:
|
|
var E = x;
|
|
return le(E) + ".Consumer";
|
|
case u:
|
|
var D = x;
|
|
return le(D._context) + ".Provider";
|
|
case d:
|
|
return ce(x, x.render, "ForwardRef");
|
|
case p:
|
|
var L = x.displayName || null;
|
|
return L !== null ? L : fe(x.type) || "Memo";
|
|
case y: {
|
|
var J = x, ie = J._payload, re = J._init;
|
|
try {
|
|
return fe(re(ie));
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var ot = Object.prototype.hasOwnProperty, kt = {
|
|
key: !0,
|
|
ref: !0,
|
|
__self: !0,
|
|
__source: !0
|
|
}, De, Ze, rt;
|
|
rt = {};
|
|
function Wt(x) {
|
|
if (ot.call(x, "ref")) {
|
|
var E = Object.getOwnPropertyDescriptor(x, "ref").get;
|
|
if (E && E.isReactWarning)
|
|
return !1;
|
|
}
|
|
return x.ref !== void 0;
|
|
}
|
|
function lt(x) {
|
|
if (ot.call(x, "key")) {
|
|
var E = Object.getOwnPropertyDescriptor(x, "key").get;
|
|
if (E && E.isReactWarning)
|
|
return !1;
|
|
}
|
|
return x.key !== void 0;
|
|
}
|
|
function $r(x, E) {
|
|
var D = function() {
|
|
De || (De = !0, W("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", E));
|
|
};
|
|
D.isReactWarning = !0, Object.defineProperty(x, "key", {
|
|
get: D,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function pn(x, E) {
|
|
var D = function() {
|
|
Ze || (Ze = !0, W("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", E));
|
|
};
|
|
D.isReactWarning = !0, Object.defineProperty(x, "ref", {
|
|
get: D,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function ro(x) {
|
|
if (typeof x.ref == "string" && F.current && x.__self && F.current.stateNode !== x.__self) {
|
|
var E = fe(F.current.type);
|
|
rt[E] || (W('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', E, x.ref), rt[E] = !0);
|
|
}
|
|
}
|
|
var kr = function(x, E, D, L, J, ie, re) {
|
|
var se = {
|
|
// This tag allows us to uniquely identify this as a React Element
|
|
$$typeof: n,
|
|
// Built-in properties that belong on the element
|
|
type: x,
|
|
key: E,
|
|
ref: D,
|
|
props: re,
|
|
// Record the component responsible for creating this element.
|
|
_owner: ie
|
|
};
|
|
return se._store = {}, Object.defineProperty(se._store, "validated", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: !1
|
|
}), Object.defineProperty(se, "_self", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: L
|
|
}), Object.defineProperty(se, "_source", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: J
|
|
}), Object.freeze && (Object.freeze(se.props), Object.freeze(se)), se;
|
|
};
|
|
function vo(x, E, D) {
|
|
var L, J = {}, ie = null, re = null, se = null, pe = null;
|
|
if (E != null) {
|
|
Wt(E) && (re = E.ref, ro(E)), lt(E) && (Jr(E.key), ie = "" + E.key), se = E.__self === void 0 ? null : E.__self, pe = E.__source === void 0 ? null : E.__source;
|
|
for (L in E)
|
|
ot.call(E, L) && !kt.hasOwnProperty(L) && (J[L] = E[L]);
|
|
}
|
|
var Ce = arguments.length - 2;
|
|
if (Ce === 1)
|
|
J.children = D;
|
|
else if (Ce > 1) {
|
|
for (var je = Array(Ce), Re = 0; Re < Ce; Re++)
|
|
je[Re] = arguments[Re + 2];
|
|
Object.freeze && Object.freeze(je), J.children = je;
|
|
}
|
|
if (x && x.defaultProps) {
|
|
var Me = x.defaultProps;
|
|
for (L in Me)
|
|
J[L] === void 0 && (J[L] = Me[L]);
|
|
}
|
|
if (ie || re) {
|
|
var Fe = typeof x == "function" ? x.displayName || x.name || "Unknown" : x;
|
|
ie && $r(J, Fe), re && pn(J, Fe);
|
|
}
|
|
return kr(x, ie, re, se, pe, F.current, J);
|
|
}
|
|
function Mo(x, E) {
|
|
var D = kr(x.type, E, x.ref, x._self, x._source, x._owner, x.props);
|
|
return D;
|
|
}
|
|
function Do(x, E, D) {
|
|
if (x == null)
|
|
throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + x + ".");
|
|
var L, J = O({}, x.props), ie = x.key, re = x.ref, se = x._self, pe = x._source, Ce = x._owner;
|
|
if (E != null) {
|
|
Wt(E) && (re = E.ref, Ce = F.current), lt(E) && (Jr(E.key), ie = "" + E.key);
|
|
var je;
|
|
x.type && x.type.defaultProps && (je = x.type.defaultProps);
|
|
for (L in E)
|
|
ot.call(E, L) && !kt.hasOwnProperty(L) && (E[L] === void 0 && je !== void 0 ? J[L] = je[L] : J[L] = E[L]);
|
|
}
|
|
var Re = arguments.length - 2;
|
|
if (Re === 1)
|
|
J.children = D;
|
|
else if (Re > 1) {
|
|
for (var Me = Array(Re), Fe = 0; Fe < Re; Fe++)
|
|
Me[Fe] = arguments[Fe + 2];
|
|
J.children = Me;
|
|
}
|
|
return kr(x.type, ie, re, se, pe, Ce, J);
|
|
}
|
|
function yr(x) {
|
|
return typeof x == "object" && x !== null && x.$$typeof === n;
|
|
}
|
|
var Tn = ".", Fo = ":";
|
|
function Ss(x) {
|
|
var E = /[=:]/g, D = {
|
|
"=": "=0",
|
|
":": "=2"
|
|
}, L = x.replace(E, function(J) {
|
|
return D[J];
|
|
});
|
|
return "$" + L;
|
|
}
|
|
var pa = !1, Kc = /\/+/g;
|
|
function ma(x) {
|
|
return x.replace(Kc, "$&/");
|
|
}
|
|
function vr(x, E) {
|
|
return typeof x == "object" && x !== null && x.key != null ? (Jr(x.key), Ss("" + x.key)) : E.toString(36);
|
|
}
|
|
function xr(x, E, D, L, J) {
|
|
var ie = typeof x;
|
|
(ie === "undefined" || ie === "boolean") && (x = null);
|
|
var re = !1;
|
|
if (x === null)
|
|
re = !0;
|
|
else
|
|
switch (ie) {
|
|
case "string":
|
|
case "number":
|
|
re = !0;
|
|
break;
|
|
case "object":
|
|
switch (x.$$typeof) {
|
|
case n:
|
|
case o:
|
|
re = !0;
|
|
}
|
|
}
|
|
if (re) {
|
|
var se = x, pe = J(se), Ce = L === "" ? Tn + vr(se, 0) : L;
|
|
if (oe(pe)) {
|
|
var je = "";
|
|
Ce != null && (je = ma(Ce) + "/"), xr(pe, E, je, "", function(bm) {
|
|
return bm;
|
|
});
|
|
} else pe != null && (yr(pe) && (pe.key && (!se || se.key !== pe.key) && Jr(pe.key), pe = Mo(
|
|
pe,
|
|
// Keep both the (mapped) and old keys if they differ, just as
|
|
// traverseAllChildren used to do for objects as children
|
|
D + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key
|
|
(pe.key && (!se || se.key !== pe.key) ? (
|
|
// $FlowFixMe Flow incorrectly thinks existing element's key can be a number
|
|
// eslint-disable-next-line react-internal/safe-string-coercion
|
|
ma("" + pe.key) + "/"
|
|
) : "") + Ce
|
|
)), E.push(pe));
|
|
return 1;
|
|
}
|
|
var Re, Me, Fe = 0, tt = L === "" ? Tn : L + Fo;
|
|
if (oe(x))
|
|
for (var Bn = 0; Bn < x.length; Bn++)
|
|
Re = x[Bn], Me = tt + vr(Re, Bn), Fe += xr(Re, E, D, Me, J);
|
|
else {
|
|
var qo = $(x);
|
|
if (typeof qo == "function") {
|
|
var qs = x;
|
|
qo === qs.entries && (pa || U("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), pa = !0);
|
|
for (var hm = qo.call(qs), Ks, gm = 0; !(Ks = hm.next()).done; )
|
|
Re = Ks.value, Me = tt + vr(Re, gm++), Fe += xr(Re, E, D, Me, J);
|
|
} else if (ie === "object") {
|
|
var Xs = String(x);
|
|
throw new Error("Objects are not valid as a React child (found: " + (Xs === "[object Object]" ? "object with keys {" + Object.keys(x).join(", ") + "}" : Xs) + "). If you meant to render a collection of children, use an array instead.");
|
|
}
|
|
}
|
|
return Fe;
|
|
}
|
|
function wr(x, E, D) {
|
|
if (x == null)
|
|
return x;
|
|
var L = [], J = 0;
|
|
return xr(x, L, "", "", function(ie) {
|
|
return E.call(D, ie, J++);
|
|
}), L;
|
|
}
|
|
function Dn(x) {
|
|
var E = 0;
|
|
return wr(x, function() {
|
|
E++;
|
|
}), E;
|
|
}
|
|
function sn(x, E, D) {
|
|
wr(x, function() {
|
|
E.apply(this, arguments);
|
|
}, D);
|
|
}
|
|
function nn(x) {
|
|
return wr(x, function(E) {
|
|
return E;
|
|
}) || [];
|
|
}
|
|
function mn(x) {
|
|
if (!yr(x))
|
|
throw new Error("React.Children.only expected to receive a single React element child.");
|
|
return x;
|
|
}
|
|
function xo(x) {
|
|
var E = {
|
|
$$typeof: c,
|
|
// As a workaround to support multiple concurrent renderers, we categorize
|
|
// some renderers as primary and others as secondary. We only expect
|
|
// there to be two concurrent renderers at most: React Native (primary) and
|
|
// Fabric (secondary); React DOM (primary) and React ART (secondary).
|
|
// Secondary renderers store their context values on separate fields.
|
|
_currentValue: x,
|
|
_currentValue2: x,
|
|
// Used to track how many concurrent renderers this context currently
|
|
// supports within in a single renderer. Such as parallel server rendering.
|
|
_threadCount: 0,
|
|
// These are circular
|
|
Provider: null,
|
|
Consumer: null,
|
|
// Add these to use same hidden class in VM as ServerContext
|
|
_defaultValue: null,
|
|
_globalName: null
|
|
};
|
|
E.Provider = {
|
|
$$typeof: u,
|
|
_context: E
|
|
};
|
|
var D = !1, L = !1, J = !1;
|
|
{
|
|
var ie = {
|
|
$$typeof: c,
|
|
_context: E
|
|
};
|
|
Object.defineProperties(ie, {
|
|
Provider: {
|
|
get: function() {
|
|
return L || (L = !0, W("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), E.Provider;
|
|
},
|
|
set: function(re) {
|
|
E.Provider = re;
|
|
}
|
|
},
|
|
_currentValue: {
|
|
get: function() {
|
|
return E._currentValue;
|
|
},
|
|
set: function(re) {
|
|
E._currentValue = re;
|
|
}
|
|
},
|
|
_currentValue2: {
|
|
get: function() {
|
|
return E._currentValue2;
|
|
},
|
|
set: function(re) {
|
|
E._currentValue2 = re;
|
|
}
|
|
},
|
|
_threadCount: {
|
|
get: function() {
|
|
return E._threadCount;
|
|
},
|
|
set: function(re) {
|
|
E._threadCount = re;
|
|
}
|
|
},
|
|
Consumer: {
|
|
get: function() {
|
|
return D || (D = !0, W("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), E.Consumer;
|
|
}
|
|
},
|
|
displayName: {
|
|
get: function() {
|
|
return E.displayName;
|
|
},
|
|
set: function(re) {
|
|
J || (U("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", re), J = !0);
|
|
}
|
|
}
|
|
}), E.Consumer = ie;
|
|
}
|
|
return E._currentRenderer = null, E._currentRenderer2 = null, E;
|
|
}
|
|
var Vt = -1, Qr = 0, on = 1, In = 2;
|
|
function Lo(x) {
|
|
if (x._status === Vt) {
|
|
var E = x._result, D = E();
|
|
if (D.then(function(ie) {
|
|
if (x._status === Qr || x._status === Vt) {
|
|
var re = x;
|
|
re._status = on, re._result = ie;
|
|
}
|
|
}, function(ie) {
|
|
if (x._status === Qr || x._status === Vt) {
|
|
var re = x;
|
|
re._status = In, re._result = ie;
|
|
}
|
|
}), x._status === Vt) {
|
|
var L = x;
|
|
L._status = Qr, L._result = D;
|
|
}
|
|
}
|
|
if (x._status === on) {
|
|
var J = x._result;
|
|
return J === void 0 && W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))
|
|
|
|
Did you accidentally put curly braces around the import?`, J), "default" in J || W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))`, J), J.default;
|
|
} else
|
|
throw x._result;
|
|
}
|
|
function zo(x) {
|
|
var E = {
|
|
// We use these fields to store the result.
|
|
_status: Vt,
|
|
_result: x
|
|
}, D = {
|
|
$$typeof: y,
|
|
_payload: E,
|
|
_init: Lo
|
|
};
|
|
{
|
|
var L, J;
|
|
Object.defineProperties(D, {
|
|
defaultProps: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return L;
|
|
},
|
|
set: function(ie) {
|
|
W("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), L = ie, Object.defineProperty(D, "defaultProps", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
},
|
|
propTypes: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return J;
|
|
},
|
|
set: function(ie) {
|
|
W("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), J = ie, Object.defineProperty(D, "propTypes", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return D;
|
|
}
|
|
function Fn(x) {
|
|
x != null && x.$$typeof === p ? W("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof x != "function" ? W("forwardRef requires a render function but was given %s.", x === null ? "null" : typeof x) : x.length !== 0 && x.length !== 2 && W("forwardRef render functions accept exactly two parameters: props and ref. %s", x.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), x != null && (x.defaultProps != null || x.propTypes != null) && W("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");
|
|
var E = {
|
|
$$typeof: d,
|
|
render: x
|
|
};
|
|
{
|
|
var D;
|
|
Object.defineProperty(E, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return D;
|
|
},
|
|
set: function(L) {
|
|
D = L, !x.name && !x.displayName && (x.displayName = L);
|
|
}
|
|
});
|
|
}
|
|
return E;
|
|
}
|
|
var Ln;
|
|
Ln = Symbol.for("react.module.reference");
|
|
function wo(x) {
|
|
return !!(typeof x == "string" || typeof x == "function" || x === a || x === s || G || x === i || x === l || x === f || te || x === m || B || Z || M || typeof x == "object" && x !== null && (x.$$typeof === y || x.$$typeof === p || x.$$typeof === u || x.$$typeof === c || x.$$typeof === d || // This needs to include all possible module reference object
|
|
// types supported by any Flight configuration anywhere since
|
|
// we don't know which Flight build this will end up being used
|
|
// with.
|
|
x.$$typeof === Ln || x.getModuleId !== void 0));
|
|
}
|
|
function Rp(x, E) {
|
|
wo(x) || W("memo: The first argument must be a component. Instead received: %s", x === null ? "null" : typeof x);
|
|
var D = {
|
|
$$typeof: p,
|
|
type: x,
|
|
compare: E === void 0 ? null : E
|
|
};
|
|
{
|
|
var L;
|
|
Object.defineProperty(D, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return L;
|
|
},
|
|
set: function(J) {
|
|
L = J, !x.name && !x.displayName && (x.displayName = J);
|
|
}
|
|
});
|
|
}
|
|
return D;
|
|
}
|
|
function at() {
|
|
var x = _.current;
|
|
return x === null && W(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
2. You might be breaking the Rules of Hooks
|
|
3. You might have more than one copy of React in the same app
|
|
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), x;
|
|
}
|
|
function Mp(x) {
|
|
var E = at();
|
|
if (x._context !== void 0) {
|
|
var D = x._context;
|
|
D.Consumer === x ? W("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : D.Provider === x && W("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
|
|
}
|
|
return E.useContext(x);
|
|
}
|
|
function Dp(x) {
|
|
var E = at();
|
|
return E.useState(x);
|
|
}
|
|
function Fp(x, E, D) {
|
|
var L = at();
|
|
return L.useReducer(x, E, D);
|
|
}
|
|
function Lp(x) {
|
|
var E = at();
|
|
return E.useRef(x);
|
|
}
|
|
function zp(x, E) {
|
|
var D = at();
|
|
return D.useEffect(x, E);
|
|
}
|
|
function Wp(x, E) {
|
|
var D = at();
|
|
return D.useInsertionEffect(x, E);
|
|
}
|
|
function Vp(x, E) {
|
|
var D = at();
|
|
return D.useLayoutEffect(x, E);
|
|
}
|
|
function Hp(x, E) {
|
|
var D = at();
|
|
return D.useCallback(x, E);
|
|
}
|
|
function Gp(x, E) {
|
|
var D = at();
|
|
return D.useMemo(x, E);
|
|
}
|
|
function Up(x, E, D) {
|
|
var L = at();
|
|
return L.useImperativeHandle(x, E, D);
|
|
}
|
|
function Bp(x, E) {
|
|
{
|
|
var D = at();
|
|
return D.useDebugValue(x, E);
|
|
}
|
|
}
|
|
function Yp() {
|
|
var x = at();
|
|
return x.useTransition();
|
|
}
|
|
function qp(x) {
|
|
var E = at();
|
|
return E.useDeferredValue(x);
|
|
}
|
|
function Kp() {
|
|
var x = at();
|
|
return x.useId();
|
|
}
|
|
function Xp(x, E, D) {
|
|
var L = at();
|
|
return L.useSyncExternalStore(x, E, D);
|
|
}
|
|
var fn = 0, Es, As, Ps, Cs, Ns, Ts, Is;
|
|
function js() {
|
|
}
|
|
js.__reactDisabledLog = !0;
|
|
function Jp() {
|
|
{
|
|
if (fn === 0) {
|
|
Es = console.log, As = console.info, Ps = console.warn, Cs = console.error, Ns = console.group, Ts = console.groupCollapsed, Is = console.groupEnd;
|
|
var x = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
value: js,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
info: x,
|
|
log: x,
|
|
warn: x,
|
|
error: x,
|
|
group: x,
|
|
groupCollapsed: x,
|
|
groupEnd: x
|
|
});
|
|
}
|
|
fn++;
|
|
}
|
|
}
|
|
function Qp() {
|
|
{
|
|
if (fn--, fn === 0) {
|
|
var x = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
log: O({}, x, {
|
|
value: Es
|
|
}),
|
|
info: O({}, x, {
|
|
value: As
|
|
}),
|
|
warn: O({}, x, {
|
|
value: Ps
|
|
}),
|
|
error: O({}, x, {
|
|
value: Cs
|
|
}),
|
|
group: O({}, x, {
|
|
value: Ns
|
|
}),
|
|
groupCollapsed: O({}, x, {
|
|
value: Ts
|
|
}),
|
|
groupEnd: O({}, x, {
|
|
value: Is
|
|
})
|
|
});
|
|
}
|
|
fn < 0 && W("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
}
|
|
}
|
|
var Wo = H.ReactCurrentDispatcher, Vo;
|
|
function zn(x, E, D) {
|
|
{
|
|
if (Vo === void 0)
|
|
try {
|
|
throw Error();
|
|
} catch (J) {
|
|
var L = J.stack.trim().match(/\n( *(at )?)/);
|
|
Vo = L && L[1] || "";
|
|
}
|
|
return `
|
|
` + Vo + x;
|
|
}
|
|
}
|
|
var Ho = !1, Wn;
|
|
{
|
|
var Zp = typeof WeakMap == "function" ? WeakMap : Map;
|
|
Wn = new Zp();
|
|
}
|
|
function Rs(x, E) {
|
|
if (!x || Ho)
|
|
return "";
|
|
{
|
|
var D = Wn.get(x);
|
|
if (D !== void 0)
|
|
return D;
|
|
}
|
|
var L;
|
|
Ho = !0;
|
|
var J = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
var ie;
|
|
ie = Wo.current, Wo.current = null, Jp();
|
|
try {
|
|
if (E) {
|
|
var re = function() {
|
|
throw Error();
|
|
};
|
|
if (Object.defineProperty(re.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(re, []);
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
Reflect.construct(x, [], re);
|
|
} else {
|
|
try {
|
|
re.call();
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
x.call(re.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
x();
|
|
}
|
|
} catch (tt) {
|
|
if (tt && L && typeof tt.stack == "string") {
|
|
for (var se = tt.stack.split(`
|
|
`), pe = L.stack.split(`
|
|
`), Ce = se.length - 1, je = pe.length - 1; Ce >= 1 && je >= 0 && se[Ce] !== pe[je]; )
|
|
je--;
|
|
for (; Ce >= 1 && je >= 0; Ce--, je--)
|
|
if (se[Ce] !== pe[je]) {
|
|
if (Ce !== 1 || je !== 1)
|
|
do
|
|
if (Ce--, je--, je < 0 || se[Ce] !== pe[je]) {
|
|
var Re = `
|
|
` + se[Ce].replace(" at new ", " at ");
|
|
return x.displayName && Re.includes("<anonymous>") && (Re = Re.replace("<anonymous>", x.displayName)), typeof x == "function" && Wn.set(x, Re), Re;
|
|
}
|
|
while (Ce >= 1 && je >= 0);
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
Ho = !1, Wo.current = ie, Qp(), Error.prepareStackTrace = J;
|
|
}
|
|
var Me = x ? x.displayName || x.name : "", Fe = Me ? zn(Me) : "";
|
|
return typeof x == "function" && Wn.set(x, Fe), Fe;
|
|
}
|
|
function em(x, E, D) {
|
|
return Rs(x, !1);
|
|
}
|
|
function tm(x) {
|
|
var E = x.prototype;
|
|
return !!(E && E.isReactComponent);
|
|
}
|
|
function Vn(x, E, D) {
|
|
if (x == null)
|
|
return "";
|
|
if (typeof x == "function")
|
|
return Rs(x, tm(x));
|
|
if (typeof x == "string")
|
|
return zn(x);
|
|
switch (x) {
|
|
case l:
|
|
return zn("Suspense");
|
|
case f:
|
|
return zn("SuspenseList");
|
|
}
|
|
if (typeof x == "object")
|
|
switch (x.$$typeof) {
|
|
case d:
|
|
return em(x.render);
|
|
case p:
|
|
return Vn(x.type, E, D);
|
|
case y: {
|
|
var L = x, J = L._payload, ie = L._init;
|
|
try {
|
|
return Vn(ie(J), E, D);
|
|
} catch {
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
var Ms = {}, Ds = H.ReactDebugCurrentFrame;
|
|
function Hn(x) {
|
|
if (x) {
|
|
var E = x._owner, D = Vn(x.type, x._source, E ? E.type : null);
|
|
Ds.setExtraStackFrame(D);
|
|
} else
|
|
Ds.setExtraStackFrame(null);
|
|
}
|
|
function rm(x, E, D, L, J) {
|
|
{
|
|
var ie = Function.call.bind(ot);
|
|
for (var re in x)
|
|
if (ie(x, re)) {
|
|
var se = void 0;
|
|
try {
|
|
if (typeof x[re] != "function") {
|
|
var pe = Error((L || "React class") + ": " + D + " type `" + re + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof x[re] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
throw pe.name = "Invariant Violation", pe;
|
|
}
|
|
se = x[re](E, re, L, D, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
} catch (Ce) {
|
|
se = Ce;
|
|
}
|
|
se && !(se instanceof Error) && (Hn(J), W("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", L || "React class", D, re, typeof se), Hn(null)), se instanceof Error && !(se.message in Ms) && (Ms[se.message] = !0, Hn(J), W("Failed %s type: %s", D, se.message), Hn(null));
|
|
}
|
|
}
|
|
}
|
|
function Zr(x) {
|
|
if (x) {
|
|
var E = x._owner, D = Vn(x.type, x._source, E ? E.type : null);
|
|
Y(D);
|
|
} else
|
|
Y(null);
|
|
}
|
|
var Go;
|
|
Go = !1;
|
|
function Fs() {
|
|
if (F.current) {
|
|
var x = fe(F.current.type);
|
|
if (x)
|
|
return `
|
|
|
|
Check the render method of \`` + x + "`.";
|
|
}
|
|
return "";
|
|
}
|
|
function nm(x) {
|
|
if (x !== void 0) {
|
|
var E = x.fileName.replace(/^.*[\\\/]/, ""), D = x.lineNumber;
|
|
return `
|
|
|
|
Check your code at ` + E + ":" + D + ".";
|
|
}
|
|
return "";
|
|
}
|
|
function om(x) {
|
|
return x != null ? nm(x.__source) : "";
|
|
}
|
|
var Ls = {};
|
|
function am(x) {
|
|
var E = Fs();
|
|
if (!E) {
|
|
var D = typeof x == "string" ? x : x.displayName || x.name;
|
|
D && (E = `
|
|
|
|
Check the top-level render call using <` + D + ">.");
|
|
}
|
|
return E;
|
|
}
|
|
function zs(x, E) {
|
|
if (!(!x._store || x._store.validated || x.key != null)) {
|
|
x._store.validated = !0;
|
|
var D = am(E);
|
|
if (!Ls[D]) {
|
|
Ls[D] = !0;
|
|
var L = "";
|
|
x && x._owner && x._owner !== F.current && (L = " It was passed a child from " + fe(x._owner.type) + "."), Zr(x), W('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', D, L), Zr(null);
|
|
}
|
|
}
|
|
}
|
|
function Ws(x, E) {
|
|
if (typeof x == "object") {
|
|
if (oe(x))
|
|
for (var D = 0; D < x.length; D++) {
|
|
var L = x[D];
|
|
yr(L) && zs(L, E);
|
|
}
|
|
else if (yr(x))
|
|
x._store && (x._store.validated = !0);
|
|
else if (x) {
|
|
var J = $(x);
|
|
if (typeof J == "function" && J !== x.entries)
|
|
for (var ie = J.call(x), re; !(re = ie.next()).done; )
|
|
yr(re.value) && zs(re.value, E);
|
|
}
|
|
}
|
|
}
|
|
function Vs(x) {
|
|
{
|
|
var E = x.type;
|
|
if (E == null || typeof E == "string")
|
|
return;
|
|
var D;
|
|
if (typeof E == "function")
|
|
D = E.propTypes;
|
|
else if (typeof E == "object" && (E.$$typeof === d || // Note: Memo only checks outer props here.
|
|
// Inner props are checked in the reconciler.
|
|
E.$$typeof === p))
|
|
D = E.propTypes;
|
|
else
|
|
return;
|
|
if (D) {
|
|
var L = fe(E);
|
|
rm(D, x.props, "prop", L, x);
|
|
} else if (E.PropTypes !== void 0 && !Go) {
|
|
Go = !0;
|
|
var J = fe(E);
|
|
W("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", J || "Unknown");
|
|
}
|
|
typeof E.getDefaultProps == "function" && !E.getDefaultProps.isReactClassApproved && W("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
}
|
|
}
|
|
function im(x) {
|
|
{
|
|
for (var E = Object.keys(x.props), D = 0; D < E.length; D++) {
|
|
var L = E[D];
|
|
if (L !== "children" && L !== "key") {
|
|
Zr(x), W("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", L), Zr(null);
|
|
break;
|
|
}
|
|
}
|
|
x.ref !== null && (Zr(x), W("Invalid attribute `ref` supplied to `React.Fragment`."), Zr(null));
|
|
}
|
|
}
|
|
function Hs(x, E, D) {
|
|
var L = wo(x);
|
|
if (!L) {
|
|
var J = "";
|
|
(x === void 0 || typeof x == "object" && x !== null && Object.keys(x).length === 0) && (J += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
var ie = om(E);
|
|
ie ? J += ie : J += Fs();
|
|
var re;
|
|
x === null ? re = "null" : oe(x) ? re = "array" : x !== void 0 && x.$$typeof === n ? (re = "<" + (fe(x.type) || "Unknown") + " />", J = " Did you accidentally export a JSX literal instead of a component?") : re = typeof x, W("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", re, J);
|
|
}
|
|
var se = vo.apply(this, arguments);
|
|
if (se == null)
|
|
return se;
|
|
if (L)
|
|
for (var pe = 2; pe < arguments.length; pe++)
|
|
Ws(arguments[pe], x);
|
|
return x === a ? im(se) : Vs(se), se;
|
|
}
|
|
var Gs = !1;
|
|
function sm(x) {
|
|
var E = Hs.bind(null, x);
|
|
return E.type = x, Gs || (Gs = !0, U("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(E, "type", {
|
|
enumerable: !1,
|
|
get: function() {
|
|
return U("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
|
|
value: x
|
|
}), x;
|
|
}
|
|
}), E;
|
|
}
|
|
function lm(x, E, D) {
|
|
for (var L = Do.apply(this, arguments), J = 2; J < arguments.length; J++)
|
|
Ws(arguments[J], L.type);
|
|
return Vs(L), L;
|
|
}
|
|
function cm(x, E) {
|
|
var D = S.transition;
|
|
S.transition = {};
|
|
var L = S.transition;
|
|
S.transition._updatedFibers = /* @__PURE__ */ new Set();
|
|
try {
|
|
x();
|
|
} finally {
|
|
if (S.transition = D, D === null && L._updatedFibers) {
|
|
var J = L._updatedFibers.size;
|
|
J > 10 && U("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), L._updatedFibers.clear();
|
|
}
|
|
}
|
|
}
|
|
var Us = !1, Gn = null;
|
|
function um(x) {
|
|
if (Gn === null)
|
|
try {
|
|
var E = ("require" + Math.random()).slice(0, 7), D = e && e[E];
|
|
Gn = D.call(e, "timers").setImmediate;
|
|
} catch {
|
|
Gn = function(L) {
|
|
Us === !1 && (Us = !0, typeof MessageChannel > "u" && W("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));
|
|
var J = new MessageChannel();
|
|
J.port1.onmessage = L, J.port2.postMessage(void 0);
|
|
};
|
|
}
|
|
return Gn(x);
|
|
}
|
|
var en = 0, Bs = !1;
|
|
function Ys(x) {
|
|
{
|
|
var E = en;
|
|
en++, b.current === null && (b.current = []);
|
|
var D = b.isBatchingLegacy, L;
|
|
try {
|
|
if (b.isBatchingLegacy = !0, L = x(), !D && b.didScheduleLegacyUpdate) {
|
|
var J = b.current;
|
|
J !== null && (b.didScheduleLegacyUpdate = !1, Yo(J));
|
|
}
|
|
} catch (Me) {
|
|
throw Un(E), Me;
|
|
} finally {
|
|
b.isBatchingLegacy = D;
|
|
}
|
|
if (L !== null && typeof L == "object" && typeof L.then == "function") {
|
|
var ie = L, re = !1, se = {
|
|
then: function(Me, Fe) {
|
|
re = !0, ie.then(function(tt) {
|
|
Un(E), en === 0 ? Uo(tt, Me, Fe) : Me(tt);
|
|
}, function(tt) {
|
|
Un(E), Fe(tt);
|
|
});
|
|
}
|
|
};
|
|
return !Bs && typeof Promise < "u" && Promise.resolve().then(function() {
|
|
}).then(function() {
|
|
re || (Bs = !0, W("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"));
|
|
}), se;
|
|
} else {
|
|
var pe = L;
|
|
if (Un(E), en === 0) {
|
|
var Ce = b.current;
|
|
Ce !== null && (Yo(Ce), b.current = null);
|
|
var je = {
|
|
then: function(Me, Fe) {
|
|
b.current === null ? (b.current = [], Uo(pe, Me, Fe)) : Me(pe);
|
|
}
|
|
};
|
|
return je;
|
|
} else {
|
|
var Re = {
|
|
then: function(Me, Fe) {
|
|
Me(pe);
|
|
}
|
|
};
|
|
return Re;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function Un(x) {
|
|
x !== en - 1 && W("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), en = x;
|
|
}
|
|
function Uo(x, E, D) {
|
|
{
|
|
var L = b.current;
|
|
if (L !== null)
|
|
try {
|
|
Yo(L), um(function() {
|
|
L.length === 0 ? (b.current = null, E(x)) : Uo(x, E, D);
|
|
});
|
|
} catch (J) {
|
|
D(J);
|
|
}
|
|
else
|
|
E(x);
|
|
}
|
|
}
|
|
var Bo = !1;
|
|
function Yo(x) {
|
|
if (!Bo) {
|
|
Bo = !0;
|
|
var E = 0;
|
|
try {
|
|
for (; E < x.length; E++) {
|
|
var D = x[E];
|
|
do
|
|
D = D(!0);
|
|
while (D !== null);
|
|
}
|
|
x.length = 0;
|
|
} catch (L) {
|
|
throw x = x.slice(E + 1), L;
|
|
} finally {
|
|
Bo = !1;
|
|
}
|
|
}
|
|
}
|
|
var fm = Hs, dm = lm, pm = sm, mm = {
|
|
map: wr,
|
|
forEach: sn,
|
|
count: Dn,
|
|
toArray: nn,
|
|
only: mn
|
|
};
|
|
t.Children = mm, t.Component = A, t.Fragment = a, t.Profiler = s, t.PureComponent = j, t.StrictMode = i, t.Suspense = l, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = H, t.act = Ys, t.cloneElement = dm, t.createContext = xo, t.createElement = fm, t.createFactory = pm, t.createRef = Q, t.forwardRef = Fn, t.isValidElement = yr, t.lazy = zo, t.memo = Rp, t.startTransition = cm, t.unstable_act = Ys, t.useCallback = Hp, t.useContext = Mp, t.useDebugValue = Bp, t.useDeferredValue = qp, t.useEffect = zp, t.useId = Kp, t.useImperativeHandle = Up, t.useInsertionEffect = Wp, t.useLayoutEffect = Vp, t.useMemo = Gp, t.useReducer = Fp, t.useRef = Lp, t.useState = Dp, t.useSyncExternalStore = Xp, t.useTransition = Yp, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
|
|
}();
|
|
}(Xv, Xv.exports)), Xv.exports;
|
|
}
|
|
var mD;
|
|
function lNe() {
|
|
return mD || (mD = 1, process.env.NODE_ENV === "production" ? bk.exports = iNe() : bk.exports = sNe()), bk.exports;
|
|
}
|
|
lNe();
|
|
function DJ() {
|
|
return typeof window < "u" && ("__TAURI_INTERNALS__" in window || "__TAURI__" in window);
|
|
}
|
|
window.IsDesktopApp = DJ;
|
|
function gn(e, t, r, n) {
|
|
if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
return r === "m" ? n : r === "a" ? n.call(e) : n ? n.value : t.get(e);
|
|
}
|
|
function Vm(e, t, r, n, o) {
|
|
if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
return t.set(e, r), r;
|
|
}
|
|
var Jc, ko, bf, Jy;
|
|
const hD = "__TAURI_TO_IPC_KEY__";
|
|
function cNe(e, t = !1) {
|
|
return window.__TAURI_INTERNALS__.transformCallback(e, t);
|
|
}
|
|
let uNe = class {
|
|
constructor(t) {
|
|
Jc.set(this, void 0), ko.set(this, 0), bf.set(this, []), Jy.set(this, void 0), Vm(this, Jc, t || (() => {
|
|
})), this.id = cNe((r) => {
|
|
const n = r.index;
|
|
if ("end" in r) {
|
|
n == gn(this, ko, "f") ? this.cleanupCallback() : Vm(this, Jy, n);
|
|
return;
|
|
}
|
|
const o = r.message;
|
|
if (n == gn(this, ko, "f")) {
|
|
for (gn(this, Jc, "f").call(this, o), Vm(this, ko, gn(this, ko, "f") + 1); gn(this, ko, "f") in gn(this, bf, "f"); ) {
|
|
const a = gn(this, bf, "f")[gn(this, ko, "f")];
|
|
gn(this, Jc, "f").call(this, a), delete gn(this, bf, "f")[gn(this, ko, "f")], Vm(this, ko, gn(this, ko, "f") + 1);
|
|
}
|
|
gn(this, ko, "f") === gn(this, Jy, "f") && this.cleanupCallback();
|
|
} else
|
|
gn(this, bf, "f")[n] = o;
|
|
});
|
|
}
|
|
cleanupCallback() {
|
|
window.__TAURI_INTERNALS__.unregisterCallback(this.id);
|
|
}
|
|
set onmessage(t) {
|
|
Vm(this, Jc, t);
|
|
}
|
|
get onmessage() {
|
|
return gn(this, Jc, "f");
|
|
}
|
|
[(Jc = /* @__PURE__ */ new WeakMap(), ko = /* @__PURE__ */ new WeakMap(), bf = /* @__PURE__ */ new WeakMap(), Jy = /* @__PURE__ */ new WeakMap(), hD)]() {
|
|
return `__CHANNEL__:${this.id}`;
|
|
}
|
|
toJSON() {
|
|
return this[hD]();
|
|
}
|
|
};
|
|
async function Qy(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
const Zy = "Request cancelled";
|
|
async function gD(e, t) {
|
|
const r = t == null ? void 0 : t.signal;
|
|
if (r != null && r.aborted)
|
|
throw new Error(Zy);
|
|
const n = t == null ? void 0 : t.maxRedirections, o = t == null ? void 0 : t.connectTimeout, a = t == null ? void 0 : t.proxy, i = t == null ? void 0 : t.danger;
|
|
t && (delete t.maxRedirections, delete t.connectTimeout, delete t.proxy, delete t.danger);
|
|
const s = t != null && t.headers ? t.headers instanceof Headers ? t.headers : new Headers(t.headers) : new Headers(), u = new Request(e, t), c = await u.arrayBuffer(), d = c.byteLength !== 0 ? Array.from(new Uint8Array(c)) : null;
|
|
for (const [b, F] of u.headers)
|
|
s.get(b) || s.set(b, F);
|
|
const l = (s instanceof Headers ? Array.from(s.entries()) : Array.isArray(s) ? s : Object.entries(s)).map(([b, F]) => [
|
|
b,
|
|
// we need to ensure we have all header values as strings
|
|
// eslint-disable-next-line
|
|
typeof F == "string" ? F : F.toString()
|
|
]);
|
|
if (r != null && r.aborted)
|
|
throw new Error(Zy);
|
|
const f = await Qy("plugin:http|fetch", {
|
|
clientConfig: {
|
|
method: u.method,
|
|
url: u.url,
|
|
headers: l,
|
|
data: d,
|
|
maxRedirections: n,
|
|
connectTimeout: o,
|
|
proxy: a,
|
|
danger: i
|
|
}
|
|
}), p = () => Qy("plugin:http|fetch_cancel", { rid: f });
|
|
if (r != null && r.aborted)
|
|
throw p(), new Error(Zy);
|
|
r == null || r.addEventListener("abort", () => void p());
|
|
const { status: y, statusText: m, url: h, headers: w, rid: $ } = await Qy("plugin:http|fetch_send", {
|
|
rid: f
|
|
}), _ = [101, 103, 204, 205, 304].includes(y) ? null : new ReadableStream({
|
|
start: (b) => {
|
|
const F = new uNe();
|
|
F.onmessage = (z) => {
|
|
if (r != null && r.aborted) {
|
|
b.error(Zy);
|
|
return;
|
|
}
|
|
const q = new Uint8Array(z), Y = q[q.byteLength - 1], B = q.slice(0, q.byteLength - 1);
|
|
if (Y == 1) {
|
|
b.close();
|
|
return;
|
|
}
|
|
b.enqueue(B);
|
|
}, Qy("plugin:http|fetch_read_body", {
|
|
rid: $,
|
|
streamChannel: F
|
|
}).catch((z) => {
|
|
b.error(z);
|
|
});
|
|
}
|
|
}), S = new Response(_, {
|
|
status: y,
|
|
statusText: m
|
|
});
|
|
return Object.defineProperty(S, "url", { value: h }), Object.defineProperty(S, "headers", {
|
|
value: new Headers(w)
|
|
}), S;
|
|
}
|
|
function r0(e, t) {
|
|
return DJ() ? t !== void 0 ? gD(e, t) : gD(e) : t !== void 0 ? fetch(e, t) : fetch(e);
|
|
}
|
|
window.FetchProxy = r0;
|
|
let fNe = class {
|
|
constructor() {
|
|
RJ(this, "ApiTargets", {}), this.ApiTargets = {
|
|
GoggleApi: gh.GOOGLE_API,
|
|
FunnelApi: gh.FUNNEL_API,
|
|
CdnApi: gh.CDN_API,
|
|
GravatarApi: gh.GRAVATAR_API
|
|
};
|
|
}
|
|
getApiSchemeAndHost() {
|
|
return aNe.getInstance().getApiSchemeAndHost();
|
|
}
|
|
async fetch(t, {
|
|
method: r,
|
|
query: n,
|
|
body: o
|
|
}) {
|
|
const a = n && Object.entries(n).reduce(
|
|
(c, [d, l]) => (l && (c[d] = l.toString()), c),
|
|
{}
|
|
), i = a ? t + "?" + new URLSearchParams(a) : t, s = JSON.stringify(o), u = await r0(i, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: s
|
|
});
|
|
if (!u.ok)
|
|
throw new Error(`HTTP error! status: ${u.status}`);
|
|
return u.json();
|
|
}
|
|
async fetchMultipartFormData(t, {
|
|
method: r,
|
|
body: n
|
|
}) {
|
|
return (await r0(t, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: n
|
|
})).json();
|
|
}
|
|
get({
|
|
endpoint: t,
|
|
query: r
|
|
}) {
|
|
return this.fetch(t, { method: "GET", query: r });
|
|
}
|
|
post({
|
|
endpoint: t,
|
|
query: r,
|
|
body: n
|
|
}) {
|
|
return this.fetch(t, {
|
|
method: "POST",
|
|
query: r,
|
|
body: n
|
|
});
|
|
}
|
|
delete({
|
|
endpoint: t,
|
|
query: r,
|
|
body: n
|
|
}) {
|
|
return this.fetch(t, {
|
|
method: "DELETE",
|
|
query: r,
|
|
body: n
|
|
});
|
|
}
|
|
async postFormVideo({
|
|
endpoint: t,
|
|
formRecord: r,
|
|
uuid: n,
|
|
blob: o,
|
|
blobFileName: a
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, u]) => {
|
|
i.append(s, u);
|
|
}), o && a ? i.append("video", o, a) : o && i.append("video", o), this.fetchMultipartFormData(t, {
|
|
method: "POST",
|
|
body: i
|
|
});
|
|
}
|
|
async postForm({
|
|
endpoint: t,
|
|
formRecord: r,
|
|
uuid: n,
|
|
blob: o,
|
|
blobFileName: a
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, u]) => {
|
|
i.append(s, u);
|
|
}), o && a ? i.append("file", o, a) : o && i.append("file", o), this.fetchMultipartFormData(t, {
|
|
method: "POST",
|
|
body: i
|
|
});
|
|
}
|
|
camelToSnakeCase(t) {
|
|
return t.replace(/([a-z0])([A-Z])/g, "$1_$2").toLowerCase();
|
|
}
|
|
parseQueryValues(t) {
|
|
return Object.entries(t).reduce(
|
|
(r, [n, o]) => {
|
|
if (!o)
|
|
return r;
|
|
const a = this.camelToSnakeCase(n);
|
|
return Array.isArray(o) ? { ...r, [a]: o.join(",") } : { ...r, [a]: o.toString() };
|
|
},
|
|
{}
|
|
);
|
|
}
|
|
parseBodyValues(t) {
|
|
return Object.entries(t).reduce((r, [n, o]) => {
|
|
if (!o)
|
|
return r;
|
|
const a = this.camelToSnakeCase(n);
|
|
return Array.isArray(o) ? { ...r, [a]: o } : { ...r, [a]: o };
|
|
}, {});
|
|
}
|
|
};
|
|
var bD;
|
|
(function(e) {
|
|
e[e.Audio = 1] = "Audio", e[e.Cache = 2] = "Cache", e[e.Config = 3] = "Config", e[e.Data = 4] = "Data", e[e.LocalData = 5] = "LocalData", e[e.Document = 6] = "Document", e[e.Download = 7] = "Download", e[e.Picture = 8] = "Picture", e[e.Public = 9] = "Public", e[e.Video = 10] = "Video", e[e.Resource = 11] = "Resource", e[e.Temp = 12] = "Temp", e[e.AppConfig = 13] = "AppConfig", e[e.AppData = 14] = "AppData", e[e.AppLocalData = 15] = "AppLocalData", e[e.AppCache = 16] = "AppCache", e[e.AppLog = 17] = "AppLog", e[e.Desktop = 18] = "Desktop", e[e.Executable = 19] = "Executable", e[e.Font = 20] = "Font", e[e.Home = 21] = "Home", e[e.Runtime = 22] = "Runtime", e[e.Template = 23] = "Template";
|
|
})(bD || (bD = {}));
|
|
let dNe = class extends fNe {
|
|
async authFetch(t, {
|
|
method: r,
|
|
body: n
|
|
}) {
|
|
const o = JSON.stringify(n);
|
|
return await (await r0(t, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: o
|
|
})).json();
|
|
}
|
|
GetSession() {
|
|
const t = `${this.getApiSchemeAndHost()}/v1/session`;
|
|
return this.get({ endpoint: t }).then((r) => ({
|
|
success: r.success,
|
|
data: {
|
|
loggedIn: r.logged_in,
|
|
user: r.user
|
|
}
|
|
})).catch((r) => ({
|
|
success: !1,
|
|
errorMessage: r.message
|
|
}));
|
|
}
|
|
GetUserProfile(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/user/${t}/profile`;
|
|
return console.log("endpoint", r), this.get({ endpoint: r }).then((n) => ({
|
|
success: n.success,
|
|
data: {
|
|
user: n.user
|
|
}
|
|
})).catch((n) => ({
|
|
success: !1,
|
|
errorMessage: n.message
|
|
}));
|
|
}
|
|
async Login({
|
|
usernameOrEmail: t,
|
|
password: r
|
|
}) {
|
|
console.log("libs/api - Logging in with usernameOrEmail:", t);
|
|
const n = `${this.getApiSchemeAndHost()}/v1/login`;
|
|
console.log("libs/api - Login endpoint", n);
|
|
const o = {
|
|
username_or_email: t,
|
|
password: r
|
|
};
|
|
try {
|
|
const a = await this.authFetch(n, {
|
|
method: "POST",
|
|
body: o
|
|
});
|
|
return {
|
|
success: a.success,
|
|
data: a.success ? { signedSession: a.signed_session } : void 0,
|
|
errorMessage: a.error_message
|
|
};
|
|
} catch (a) {
|
|
return {
|
|
success: !1,
|
|
errorMessage: a.message
|
|
};
|
|
}
|
|
}
|
|
Logout() {
|
|
const t = `${this.getApiSchemeAndHost()}/v1/logout`;
|
|
return this.post({
|
|
endpoint: t
|
|
}).then((r) => ({
|
|
success: r.success
|
|
})).catch((r) => ({
|
|
success: !1,
|
|
errorMessage: r.message
|
|
}));
|
|
}
|
|
async Signup({
|
|
username: t,
|
|
email: r,
|
|
password: n,
|
|
passwordConfirmation: o,
|
|
signupSource: a
|
|
}) {
|
|
const i = `${this.getApiSchemeAndHost()}/v1/create_account`, s = {
|
|
email_address: r,
|
|
password: n,
|
|
password_confirmation: o,
|
|
username: t
|
|
};
|
|
a && (s.signup_source = a);
|
|
try {
|
|
const u = await this.authFetch(i, {
|
|
method: "POST",
|
|
body: s
|
|
});
|
|
return {
|
|
success: u.success,
|
|
data: u.success ? { signedSession: u.signed_session } : void 0,
|
|
errorMessage: u.error_message || Object.values(u.error_fields ?? {}).join(", ")
|
|
};
|
|
} catch (u) {
|
|
return {
|
|
success: !1,
|
|
errorMessage: u.message
|
|
};
|
|
}
|
|
}
|
|
};
|
|
window.UsersApi = new dNe();
|
|
const yD = (e) => {
|
|
let t;
|
|
const r = /* @__PURE__ */ new Set(), n = (s, u) => {
|
|
const c = typeof s == "function" ? s(t) : s;
|
|
if (!Object.is(c, t)) {
|
|
const d = t;
|
|
t = u ?? (typeof c != "object" || c === null) ? c : Object.assign({}, t, c), r.forEach((l) => l(t, d));
|
|
}
|
|
}, o = () => t, a = { setState: n, getState: o, getInitialState: () => i, subscribe: (s) => (r.add(s), () => r.delete(s)) }, i = t = e(n, o, a);
|
|
return a;
|
|
}, pNe = (e) => e ? yD(e) : yD, mNe = (e) => e;
|
|
function hNe(e, t = mNe) {
|
|
const r = ae.useSyncExternalStore(
|
|
e.subscribe,
|
|
() => t(e.getState()),
|
|
() => t(e.getInitialState())
|
|
);
|
|
return ae.useDebugValue(r), r;
|
|
}
|
|
const vD = (e) => {
|
|
const t = pNe(e), r = (n) => hNe(t, n);
|
|
return Object.assign(r, t), r;
|
|
}, gNe = (e) => e ? vD(e) : vD, bNe = gNe((e) => ({
|
|
isOpen: !1,
|
|
recheckTrigger: 0,
|
|
openModal: () => e({ isOpen: !0 }),
|
|
closeModal: () => e({ isOpen: !1 }),
|
|
triggerRecheck: () => e((t) => ({ recheckTrigger: t.recheckTrigger + 1 }))
|
|
})), xD = new eK(), yNe = ({
|
|
globalAccountLogoutCallback: e
|
|
}) => {
|
|
const { triggerRecheck: t } = bNe(), [r, n] = de(
|
|
void 0
|
|
), [o, a] = de(!1), [i, s] = de(!1);
|
|
ue(() => {
|
|
(async () => {
|
|
var d, l;
|
|
s(!0);
|
|
try {
|
|
const f = await xD.GetSession();
|
|
console.log(">>> result", f), n((d = f == null ? void 0 : f.data) == null ? void 0 : d.user), a(((l = f == null ? void 0 : f.data) == null ? void 0 : l.loggedIn) || !1);
|
|
} catch (f) {
|
|
console.error("Error fetching Artcraft session", f), n(void 0), a(!1);
|
|
} finally {
|
|
s(!1);
|
|
}
|
|
})();
|
|
}, []);
|
|
const u = async () => {
|
|
i || (o && (s(!0), await xD.Logout(), n(void 0), a(!1), s(!1), e()), t());
|
|
};
|
|
return /* @__PURE__ */ Te("div", { className: "flex justify-between items-center", children: [
|
|
/* @__PURE__ */ K("span", { children: "ArtCraft Account:" }),
|
|
/* @__PURE__ */ K("pre", { children: r == null ? void 0 : r.display_name }),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: i ? "secondary" : o ? "destructive" : "primary",
|
|
className: "h-[30px]",
|
|
onClick: u,
|
|
disabled: i,
|
|
children: i ? /* @__PURE__ */ K(
|
|
To,
|
|
{
|
|
icon: nx,
|
|
className: "animate-spin text-sm"
|
|
}
|
|
) : o ? "Log Out" : "Log In"
|
|
}
|
|
)
|
|
] });
|
|
}, _C = "-", vNe = (e) => {
|
|
const t = wNe(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(_C);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), FJ(a, t) || xNe(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, FJ = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? FJ(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(_C);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, wD = /^\[(.+)\]$/, xNe = (e) => {
|
|
if (wD.test(e)) {
|
|
const t = wD.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, wNe = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return kNe(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
_A(a, n, o, t);
|
|
}), n;
|
|
}, _A = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : $D(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if ($Ne(o)) {
|
|
_A(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
_A(i, $D(t, a), r, n);
|
|
});
|
|
});
|
|
}, $D = (e, t) => {
|
|
let r = e;
|
|
return t.split(_C).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, $Ne = (e) => e.isThemeGetter, kNe = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, _Ne = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, LJ = "!", ONe = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(LJ), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, SNe = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, ENe = (e) => ({
|
|
cache: _Ne(e.cacheSize),
|
|
parseClassName: ONe(e),
|
|
...vNe(e)
|
|
}), ANe = /\s+/, PNe = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(ANe);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = SNe(d).join(":"), w = l ? h + LJ : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function CNe() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = zJ(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const zJ = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = zJ(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function NNe(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = ENe(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = PNe(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(CNe.apply(null, arguments));
|
|
};
|
|
}
|
|
const Tr = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, WJ = /^\[(?:([a-z-]+):)?(.+)\]$/i, TNe = /^\d+\/\d+$/, INe = /* @__PURE__ */ new Set(["px", "full", "screen"]), jNe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, RNe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, MNe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, DNe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, FNe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Si = (e) => wd(e) || INe.has(e) || TNe.test(e), kl = (e) => xp(e, "length", BNe), wd = (e) => !!e && !Number.isNaN(Number(e)), yk = (e) => xp(e, "number", wd), Hm = (e) => !!e && Number.isInteger(Number(e)), LNe = (e) => e.endsWith("%") && wd(e.slice(0, -1)), bt = (e) => WJ.test(e), _l = (e) => jNe.test(e), zNe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), WNe = (e) => xp(e, zNe, VJ), VNe = (e) => xp(e, "position", VJ), HNe = /* @__PURE__ */ new Set(["image", "url"]), GNe = (e) => xp(e, HNe, qNe), UNe = (e) => xp(e, "", YNe), Gm = () => !0, xp = (e, t, r) => {
|
|
const n = WJ.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, BNe = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
RNe.test(e) && !MNe.test(e)
|
|
), VJ = () => !1, YNe = (e) => DNe.test(e), qNe = (e) => FNe.test(e), KNe = () => {
|
|
const e = Tr("colors"), t = Tr("spacing"), r = Tr("blur"), n = Tr("brightness"), o = Tr("borderColor"), a = Tr("borderRadius"), i = Tr("borderSpacing"), s = Tr("borderWidth"), u = Tr("contrast"), c = Tr("grayscale"), d = Tr("hueRotate"), l = Tr("invert"), f = Tr("gap"), p = Tr("gradientColorStops"), y = Tr("gradientColorStopPositions"), m = Tr("inset"), h = Tr("margin"), w = Tr("opacity"), $ = Tr("padding"), _ = Tr("saturate"), S = Tr("scale"), b = Tr("sepia"), F = Tr("skew"), z = Tr("space"), q = Tr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", bt, t], M = () => [bt, t], te = () => ["", Si, kl], G = () => ["auto", wd, bt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", bt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [wd, bt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Gm],
|
|
spacing: [Si, kl],
|
|
blur: ["none", "", _l, bt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", _l, bt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [LNe, kl],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", bt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [_l]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), bt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Hm, bt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", bt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Hm, bt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Gm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Hm, bt]
|
|
}, bt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Gm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Hm, bt]
|
|
}, bt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", bt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", bt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", bt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [bt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [bt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [_l]
|
|
}, _l]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [bt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [bt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [bt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [bt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", _l, kl]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", yk]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Gm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", bt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", wd, yk]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Si, bt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", bt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", bt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Si, kl]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Si, bt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", bt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", bt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), VNe]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", WNe]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, GNe]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Si, bt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Si, kl]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Si, kl]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", _l, UNe]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Gm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", _l, bt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", bt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", bt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", bt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Hm, bt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", bt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", bt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", bt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Si, kl, yk]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, vk = /* @__PURE__ */ NNe(KNe);
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function XNe(e, t, r) {
|
|
return (t = QNe(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function kD(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ke(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? kD(Object(r), !0).forEach(function(n) {
|
|
XNe(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : kD(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function JNe(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function QNe(e) {
|
|
var t = JNe(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const _D = () => {
|
|
};
|
|
let OC = {}, HJ = {}, GJ = null, UJ = {
|
|
mark: _D,
|
|
measure: _D
|
|
};
|
|
try {
|
|
typeof window < "u" && (OC = window), typeof document < "u" && (HJ = document), typeof MutationObserver < "u" && (GJ = MutationObserver), typeof performance < "u" && (UJ = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: OD = ""
|
|
} = OC.navigator || {}, Cc = OC, Gr = HJ, SD = GJ, ev = UJ;
|
|
Cc.document;
|
|
const ws = !!Gr.documentElement && !!Gr.head && typeof Gr.addEventListener == "function" && typeof Gr.createElement == "function", BJ = ~OD.indexOf("MSIE") || ~OD.indexOf("Trident/");
|
|
var ZNe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, eTe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, YJ = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, tTe = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, qJ = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], En = "classic", Bx = "duotone", rTe = "sharp", nTe = "sharp-duotone", KJ = [En, Bx, rTe, nTe], oTe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, aTe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, iTe = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), sTe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, lTe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], ED = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, cTe = ["kit"], uTe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, fTe = ["fak", "fakd"], dTe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, AD = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, tv = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, pTe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], mTe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], hTe = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, gTe = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, bTe = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, OA = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, yTe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], SA = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...pTe, ...yTe], vTe = ["solid", "regular", "light", "thin", "duotone", "brands"], XJ = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], xTe = XJ.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), wTe = [...Object.keys(bTe), ...vTe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", tv.GROUP, tv.SWAP_OPACITY, tv.PRIMARY, tv.SECONDARY].concat(XJ.map((e) => "".concat(e, "x"))).concat(xTe.map((e) => "w-".concat(e))), $Te = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const rs = "___FONT_AWESOME___", EA = 16, JJ = "fa", QJ = "svg-inline--fa", Yu = "data-fa-i2svg", AA = "data-fa-pseudo-element", kTe = "data-fa-pseudo-element-pending", SC = "data-prefix", EC = "data-icon", PD = "fontawesome-i2svg", _Te = "async", OTe = ["HTML", "HEAD", "STYLE", "SCRIPT"], ZJ = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Bb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[En];
|
|
}
|
|
});
|
|
}
|
|
const eQ = ke({}, YJ);
|
|
eQ[En] = ke(ke(ke(ke({}, {
|
|
"fa-duotone": "duotone"
|
|
}), YJ[En]), ED.kit), ED["kit-duotone"]);
|
|
const STe = Bb(eQ), PA = ke({}, sTe);
|
|
PA[En] = ke(ke(ke(ke({}, {
|
|
duotone: "fad"
|
|
}), PA[En]), AD.kit), AD["kit-duotone"]);
|
|
const CD = Bb(PA), CA = ke({}, OA);
|
|
CA[En] = ke(ke({}, CA[En]), dTe.kit);
|
|
const AC = Bb(CA), NA = ke({}, gTe);
|
|
NA[En] = ke(ke({}, NA[En]), uTe.kit);
|
|
Bb(NA);
|
|
const ETe = ZNe, tQ = "fa-layers-text", ATe = eTe, PTe = ke({}, oTe);
|
|
Bb(PTe);
|
|
const CTe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], xk = tTe, NTe = [...cTe, ...wTe], Jh = Cc.FontAwesomeConfig || {};
|
|
function TTe(e) {
|
|
var t = Gr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function ITe(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Gr && typeof Gr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = ITe(TTe(t));
|
|
n != null && (Jh[r] = n);
|
|
});
|
|
const rQ = {
|
|
styleDefault: "solid",
|
|
familyDefault: En,
|
|
cssPrefix: JJ,
|
|
replacementClass: QJ,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Jh.familyPrefix && (Jh.cssPrefix = Jh.familyPrefix);
|
|
const Ud = ke(ke({}, rQ), Jh);
|
|
Ud.autoReplaceSvg || (Ud.observeMutations = !1);
|
|
const qe = {};
|
|
Object.keys(rQ).forEach((e) => {
|
|
Object.defineProperty(qe, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Ud[e] = t, Qh.forEach((r) => r(qe));
|
|
},
|
|
get: function() {
|
|
return Ud[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(qe, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Ud.cssPrefix = e, Qh.forEach((t) => t(qe));
|
|
},
|
|
get: function() {
|
|
return Ud.cssPrefix;
|
|
}
|
|
});
|
|
Cc.FontAwesomeConfig = qe;
|
|
const Qh = [];
|
|
function jTe(e) {
|
|
return Qh.push(e), () => {
|
|
Qh.splice(Qh.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Ol = EA, Ja = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function RTe(e) {
|
|
if (!e || !ws)
|
|
return;
|
|
const t = Gr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Gr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Gr.head.insertBefore(t, n), e;
|
|
}
|
|
const MTe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function qg() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += MTe[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function wp(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function PC(e) {
|
|
return e.classList ? wp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function nQ(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function DTe(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(nQ(e[r]), '" '), "").trim();
|
|
}
|
|
function Yx(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function CC(e) {
|
|
return e.size !== Ja.size || e.x !== Ja.x || e.y !== Ja.y || e.rotate !== Ja.rotate || e.flipX || e.flipY;
|
|
}
|
|
function FTe(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function LTe(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = EA,
|
|
height: n = EA,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && BJ ? a += "translate(".concat(t.x / Ol - r / 2, "em, ").concat(t.y / Ol - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Ol, "em), calc(-50% + ").concat(t.y / Ol, "em)) ") : a += "translate(".concat(t.x / Ol, "em, ").concat(t.y / Ol, "em) "), a += "scale(".concat(t.size / Ol * (t.flipX ? -1 : 1), ", ").concat(t.size / Ol * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var zTe = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function oQ() {
|
|
const e = JJ, t = QJ, r = qe.cssPrefix, n = qe.replacementClass;
|
|
let o = zTe;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let ND = !1;
|
|
function wk() {
|
|
qe.autoAddCss && !ND && (RTe(oQ()), ND = !0);
|
|
}
|
|
var WTe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: oQ,
|
|
insertCss: wk
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
wk();
|
|
},
|
|
beforeI2svg() {
|
|
wk();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const ns = Cc || {};
|
|
ns[rs] || (ns[rs] = {});
|
|
ns[rs].styles || (ns[rs].styles = {});
|
|
ns[rs].hooks || (ns[rs].hooks = {});
|
|
ns[rs].shims || (ns[rs].shims = []);
|
|
var Qa = ns[rs];
|
|
const aQ = [], iQ = function() {
|
|
Gr.removeEventListener("DOMContentLoaded", iQ), n0 = 1, aQ.map((e) => e());
|
|
};
|
|
let n0 = !1;
|
|
ws && (n0 = (Gr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Gr.readyState), n0 || Gr.addEventListener("DOMContentLoaded", iQ));
|
|
function VTe(e) {
|
|
ws && (n0 ? setTimeout(e, 0) : aQ.push(e));
|
|
}
|
|
function Yb(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? nQ(e) : "<".concat(t, " ").concat(DTe(r), ">").concat(n.map(Yb).join(""), "</").concat(t, ">");
|
|
}
|
|
function TD(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var $k = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function HTe(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function sQ(e) {
|
|
const t = HTe(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function GTe(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function ID(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function TA(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = ID(t);
|
|
typeof Qa.hooks.addPack == "function" && !n ? Qa.hooks.addPack(e, ID(t)) : Qa.styles[e] = ke(ke({}, Qa.styles[e] || {}), o), e === "fas" && TA("fa", t);
|
|
}
|
|
const {
|
|
styles: Kg,
|
|
shims: UTe
|
|
} = Qa, lQ = Object.keys(AC), BTe = lQ.reduce((e, t) => (e[t] = Object.keys(AC[t]), e), {});
|
|
let NC = null, cQ = {}, uQ = {}, fQ = {}, dQ = {}, pQ = {};
|
|
function YTe(e) {
|
|
return ~NTe.indexOf(e);
|
|
}
|
|
function qTe(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !YTe(o) ? o : null;
|
|
}
|
|
const mQ = () => {
|
|
const e = (n) => $k(Kg, (o, a, i) => (o[i] = $k(a, n, {}), o), {});
|
|
cQ = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), uQ = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), pQ = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Kg || qe.autoFetchSvg, r = $k(UTe, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
fQ = r.names, dQ = r.unicodes, NC = qx(qe.styleDefault, {
|
|
family: qe.familyDefault
|
|
});
|
|
};
|
|
jTe((e) => {
|
|
NC = qx(e.styleDefault, {
|
|
family: qe.familyDefault
|
|
});
|
|
});
|
|
mQ();
|
|
function TC(e, t) {
|
|
return (cQ[e] || {})[t];
|
|
}
|
|
function KTe(e, t) {
|
|
return (uQ[e] || {})[t];
|
|
}
|
|
function mu(e, t) {
|
|
return (pQ[e] || {})[t];
|
|
}
|
|
function hQ(e) {
|
|
return fQ[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function XTe(e) {
|
|
const t = dQ[e], r = TC("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Nc() {
|
|
return NC;
|
|
}
|
|
const gQ = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function JTe(e) {
|
|
let t = En;
|
|
const r = lQ.reduce((n, o) => (n[o] = "".concat(qe.cssPrefix, "-").concat(o), n), {});
|
|
return KJ.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => BTe[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function qx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = En
|
|
} = t, n = STe[r][e];
|
|
if (r === Bx && !e)
|
|
return "fad";
|
|
const o = CD[r][e] || CD[r][n], a = e in Qa.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function QTe(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = qTe(qe.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function jD(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Kx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = SA.concat(mTe), a = jD(e.filter((l) => o.includes(l))), i = jD(e.filter((l) => !SA.includes(l))), s = a.filter((l) => (n = l, !qJ.includes(l))), [u = null] = s, c = JTe(a), d = ke(ke({}, QTe(i)), {}, {
|
|
prefix: qx(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return ke(ke(ke({}, d), rIe({
|
|
values: e,
|
|
family: c,
|
|
styles: Kg,
|
|
config: qe,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), ZTe(r, n, d));
|
|
}
|
|
function ZTe(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? hQ(o) : {}, i = mu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Kg.far && Kg.fas && !qe.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const eIe = KJ.filter((e) => e !== En || e !== Bx), tIe = Object.keys(OA).filter((e) => e !== En).map((e) => Object.keys(OA[e])).flat();
|
|
function rIe(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Bx, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && eIe.includes(r) && (Object.keys(a).find((l) => tIe.includes(l)) || i.autoFetchSvg)) {
|
|
const l = iTe.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = mu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Nc() || "fas"), n;
|
|
}
|
|
let nIe = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = ke(ke({}, this.definitions[a] || {}), o[a]), TA(a, o[a]);
|
|
const i = AC[En][a];
|
|
i && TA(i, o[a]), mQ();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, RD = [], Hf = {};
|
|
const $d = {}, oIe = Object.keys($d);
|
|
function aIe(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return RD = e, Hf = {}, Object.keys($d).forEach((n) => {
|
|
oIe.indexOf(n) === -1 && delete $d[n];
|
|
}), RD.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Hf[i] || (Hf[i] = []), Hf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides($d);
|
|
}), r;
|
|
}
|
|
function IA(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Hf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function qu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Hf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Tc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return $d[e] ? $d[e].apply(null, t) : void 0;
|
|
}
|
|
function jA(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Nc();
|
|
if (t)
|
|
return t = mu(r, t) || t, TD(bQ.definitions, r, t) || TD(Qa.styles, r, t);
|
|
}
|
|
const bQ = new nIe(), iIe = () => {
|
|
qe.autoReplaceSvg = !1, qe.observeMutations = !1, qu("noAuto");
|
|
}, sIe = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return ws ? (qu("beforeI2svg", e), Tc("pseudoElements2svg", e), Tc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
qe.autoReplaceSvg === !1 && (qe.autoReplaceSvg = !0), qe.observeMutations = !0, VTe(() => {
|
|
cIe({
|
|
autoReplaceSvgRoot: t
|
|
}), qu("watch", e);
|
|
});
|
|
}
|
|
}, lIe = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: mu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = qx(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: mu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(qe.cssPrefix, "-")) > -1 || e.match(ETe))) {
|
|
const t = Kx(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Nc(),
|
|
iconName: mu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Nc();
|
|
return {
|
|
prefix: t,
|
|
iconName: mu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, mo = {
|
|
noAuto: iIe,
|
|
config: qe,
|
|
dom: sIe,
|
|
parse: lIe,
|
|
library: bQ,
|
|
findIconDefinition: jA,
|
|
toHtml: Yb
|
|
}, cIe = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Gr
|
|
} = e;
|
|
(Object.keys(Qa.styles).length > 0 || qe.autoFetchSvg) && ws && qe.autoReplaceSvg && mo.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Xx(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Yb(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!ws) return;
|
|
const r = Gr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function uIe(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (CC(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Yx(ke(ke({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function fIe(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(qe.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ke(ke({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function IC(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = fTe.includes(n), m = [qe.replacementClass, o ? "".concat(qe.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: ke(ke({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Yu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || qg())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = ke(ke({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ke(ke({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? Tc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Tc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? fIe($) : uIe($);
|
|
}
|
|
function MD(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = ke(ke(ke({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Yu] = "");
|
|
const c = ke({}, i.styles);
|
|
CC(o) && (c.transform = LTe({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Yx(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function dIe(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ke(ke(ke({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Yx(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: kk
|
|
} = Qa;
|
|
function RA(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(qe.cssPrefix, "-").concat(xk.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(qe.cssPrefix, "-").concat(xk.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(qe.cssPrefix, "-").concat(xk.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const pIe = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function mIe(e, t) {
|
|
!ZJ && !qe.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function MA(e, t) {
|
|
let r = t;
|
|
return t === "fa" && qe.styleDefault !== null && (t = Nc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = hQ(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && kk[t] && kk[t][e]) {
|
|
const a = kk[t][e];
|
|
return n(RA(a));
|
|
}
|
|
mIe(e, t), n(ke(ke({}, pIe), {}, {
|
|
icon: qe.showMissingIcons && e ? Tc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const DD = () => {
|
|
}, DA = qe.measurePerformance && ev && ev.mark && ev.measure ? ev : {
|
|
mark: DD,
|
|
measure: DD
|
|
}, bh = 'FA "6.7.2"', hIe = (e) => (DA.mark("".concat(bh, " ").concat(e, " begins")), () => yQ(e)), yQ = (e) => {
|
|
DA.mark("".concat(bh, " ").concat(e, " ends")), DA.measure("".concat(bh, " ").concat(e), "".concat(bh, " ").concat(e, " begins"), "".concat(bh, " ").concat(e, " ends"));
|
|
};
|
|
var jC = {
|
|
begin: hIe,
|
|
end: yQ
|
|
};
|
|
const Jv = () => {
|
|
};
|
|
function FD(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Yu) : null) == "string";
|
|
}
|
|
function gIe(e) {
|
|
const t = e.getAttribute ? e.getAttribute(SC) : null, r = e.getAttribute ? e.getAttribute(EC) : null;
|
|
return t && r;
|
|
}
|
|
function bIe(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(qe.replacementClass);
|
|
}
|
|
function yIe() {
|
|
return qe.autoReplaceSvg === !0 ? Qv.replace : Qv[qe.autoReplaceSvg] || Qv.replace;
|
|
}
|
|
function vIe(e) {
|
|
return Gr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function xIe(e) {
|
|
return Gr.createElement(e);
|
|
}
|
|
function vQ(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? vIe : xIe
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Gr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(vQ(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function wIe(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Qv = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(vQ(r), t);
|
|
}), t.getAttribute(Yu) === null && qe.keepOriginalSource) {
|
|
let r = Gr.createComment(wIe(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~PC(t).indexOf(qe.replacementClass))
|
|
return Qv.replace(e);
|
|
const n = new RegExp("".concat(qe.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === qe.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Yb(a)).join(`
|
|
`);
|
|
t.setAttribute(Yu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function LD(e) {
|
|
e();
|
|
}
|
|
function xQ(e, t) {
|
|
const r = typeof t == "function" ? t : Jv;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = LD;
|
|
qe.mutateApproach === _Te && (n = Cc.requestAnimationFrame || LD), n(() => {
|
|
const o = yIe(), a = jC.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let RC = !1;
|
|
function wQ() {
|
|
RC = !0;
|
|
}
|
|
function FA() {
|
|
RC = !1;
|
|
}
|
|
let o0 = null;
|
|
function zD(e) {
|
|
if (!SD || !qe.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Jv,
|
|
nodeCallback: r = Jv,
|
|
pseudoElementsCallback: n = Jv,
|
|
observeMutationsRoot: o = Gr
|
|
} = e;
|
|
o0 = new SD((a) => {
|
|
if (RC) return;
|
|
const i = Nc();
|
|
wp(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !FD(s.addedNodes[0]) && (qe.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && qe.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && FD(s.target) && ~CTe.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && gIe(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Kx(PC(s.target));
|
|
s.target.setAttribute(SC, u || i), c && s.target.setAttribute(EC, c);
|
|
} else bIe(s.target) && r(s.target);
|
|
});
|
|
}), ws && o0.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function $Ie() {
|
|
o0 && o0.disconnect();
|
|
}
|
|
function kIe(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function _Ie(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Kx(PC(e));
|
|
return o.prefix || (o.prefix = Nc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = KTe(o.prefix, e.innerText) || TC(o.prefix, sQ(e.innerText))), !o.iconName && qe.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function OIe(e) {
|
|
const t = wp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return qe.autoA11y && (r ? t["aria-labelledby"] = "".concat(qe.replacementClass, "-title-").concat(n || qg()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function SIe() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Ja,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function WD(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = _Ie(e), a = OIe(e), i = IA("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? kIe(e) : [];
|
|
return ke({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Ja,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: EIe
|
|
} = Qa;
|
|
function $Q(e) {
|
|
const t = qe.autoReplaceSvg === "nest" ? WD(e, {
|
|
styleParser: !1
|
|
}) : WD(e);
|
|
return ~t.extra.classes.indexOf(tQ) ? Tc("generateLayersText", e, t) : Tc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function AIe() {
|
|
return [...lTe, ...SA];
|
|
}
|
|
function VD(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!ws) return Promise.resolve();
|
|
const r = Gr.documentElement.classList, n = (d) => r.add("".concat(PD, "-").concat(d)), o = (d) => r.remove("".concat(PD, "-").concat(d)), a = qe.autoFetchSvg ? AIe() : qJ.concat(Object.keys(EIe));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(tQ, ":not([").concat(Yu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Yu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = wp(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = jC.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = $Q(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
ZJ || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
xQ(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function PIe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
$Q(e).then((r) => {
|
|
r && xQ([r], t);
|
|
});
|
|
}
|
|
function CIe(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : jA(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : jA(o || {})), e(n, ke(ke({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const NIe = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ja,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return Xx(ke({
|
|
type: "icon"
|
|
}, e), () => (qu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), qe.autoA11y && (i ? c["aria-labelledby"] = "".concat(qe.replacementClass, "-title-").concat(s || qg()) : (c["aria-hidden"] = "true", c.focusable = "false")), IC({
|
|
icons: {
|
|
main: RA(p),
|
|
mask: o ? RA(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: ke(ke({}, Ja), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var TIe = {
|
|
mixout() {
|
|
return {
|
|
icon: CIe(NIe)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = VD, e.nodeCallback = PIe, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Gr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return VD(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([MA(n, i), c.iconName ? MA(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, IC({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Yx(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return CC(a) && (u = Tc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, IIe = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Xx({
|
|
type: "layer"
|
|
}, () => {
|
|
qu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(qe.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, jIe = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Xx({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (qu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), dIe({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(qe.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, RIe = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Ja,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Xx({
|
|
type: "text",
|
|
content: e
|
|
}, () => (qu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), MD({
|
|
content: e,
|
|
transform: ke(ke({}, Ja), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(qe.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (BJ) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return qe.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, MD({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const MIe = new RegExp('"', "ug"), HD = [1105920, 1112319], GD = ke(ke(ke(ke({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), aTe), $Te), hTe), LA = Object.keys(GD).reduce((e, t) => (e[t.toLowerCase()] = GD[t], e), {}), DIe = Object.keys(LA).reduce((e, t) => {
|
|
const r = LA[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function FIe(e) {
|
|
const t = e.replace(MIe, ""), r = GTe(t, 0), n = r >= HD[0] && r <= HD[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: sQ(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function LIe(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (LA[r] || {})[o] || DIe[r];
|
|
}
|
|
function UD(e, t) {
|
|
const r = "".concat(kTe).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = wp(e.children).filter((l) => l.getAttribute(AA) === t)[0], i = Cc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(ATe), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = LIe(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = FIe(l), m = u[0].startsWith("FontAwesome");
|
|
let h = TC(f, p), w = h;
|
|
if (m) {
|
|
const $ = XTe(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(SC) !== f || a.getAttribute(EC) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = SIe(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[AA] = t, MA(h, f).then((S) => {
|
|
const b = IC(ke(ke({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: gQ()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Gr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Yb(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function zIe(e) {
|
|
return Promise.all([UD(e, "::before"), UD(e, "::after")]);
|
|
}
|
|
function WIe(e) {
|
|
return e.parentNode !== document.head && !~OTe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(AA) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function BD(e) {
|
|
if (ws)
|
|
return new Promise((t, r) => {
|
|
const n = wp(e.querySelectorAll("*")).filter(WIe).map(zIe), o = jC.begin("searchPseudoElements");
|
|
wQ(), Promise.all(n).then(() => {
|
|
o(), FA(), t();
|
|
}).catch(() => {
|
|
o(), FA(), r();
|
|
});
|
|
});
|
|
}
|
|
var VIe = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = BD, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Gr
|
|
} = t;
|
|
qe.searchPseudoElements && BD(r);
|
|
};
|
|
}
|
|
};
|
|
let YD = !1;
|
|
var HIe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
wQ(), YD = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
zD(IA("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
$Ie();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
YD ? FA() : zD(IA("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const qD = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var GIe = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => qD(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = qD(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ke({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ke({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ke(ke({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const _k = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function KD(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function UIe(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var BIe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Kx(r.split(" ").map((o) => o.trim())) : gQ();
|
|
return n.prefix || (n.prefix = Nc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = FTe({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: ke(ke({}, _k), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(KD)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ke({}, f.inner),
|
|
children: [KD(ke({
|
|
tag: c.tag,
|
|
attributes: ke(ke({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: ke({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || qg()), $ = "clip-".concat(i || qg()), _ = {
|
|
tag: "mask",
|
|
attributes: ke(ke({}, _k), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: UIe(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: ke({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, _k)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, YIe = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Cc.matchMedia && (t = Cc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: ke(ke({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = ke(ke({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ke(ke({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ke(ke({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ke(ke({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ke(ke({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: ke(ke({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ke(ke({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: ke(ke({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, qIe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, KIe = [WTe, TIe, IIe, jIe, RIe, VIe, HIe, GIe, BIe, YIe, qIe];
|
|
aIe(KIe, {
|
|
mixoutsTo: mo
|
|
});
|
|
mo.noAuto;
|
|
mo.config;
|
|
mo.library;
|
|
mo.dom;
|
|
const zA = mo.parse;
|
|
mo.findIconDefinition;
|
|
mo.toHtml;
|
|
const XIe = mo.icon;
|
|
mo.layer;
|
|
mo.text;
|
|
mo.counter;
|
|
function JIe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var rv = { exports: {} }, Ok = { exports: {} }, tr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var XD;
|
|
function QIe() {
|
|
if (XD) return tr;
|
|
XD = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return tr.AsyncMode = u, tr.ConcurrentMode = c, tr.ContextConsumer = s, tr.ContextProvider = i, tr.Element = t, tr.ForwardRef = d, tr.Fragment = n, tr.Lazy = y, tr.Memo = p, tr.Portal = r, tr.Profiler = a, tr.StrictMode = o, tr.Suspense = l, tr.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, tr.isConcurrentMode = S, tr.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, tr.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, tr.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, tr.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, tr.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, tr.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, tr.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, tr.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, tr.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, tr.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, tr.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, tr.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, tr.typeOf = _, tr;
|
|
}
|
|
var pr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var JD;
|
|
function ZIe() {
|
|
return JD || (JD = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
pr.AsyncMode = b, pr.ConcurrentMode = F, pr.ContextConsumer = z, pr.ContextProvider = q, pr.Element = Y, pr.ForwardRef = B, pr.Fragment = Z, pr.Lazy = M, pr.Memo = te, pr.Portal = G, pr.Profiler = H, pr.StrictMode = U, pr.Suspense = W, pr.isAsyncMode = ee, pr.isConcurrentMode = v, pr.isContextConsumer = g, pr.isContextProvider = O, pr.isElement = P, pr.isForwardRef = A, pr.isFragment = T, pr.isLazy = N, pr.isMemo = C, pr.isPortal = I, pr.isProfiler = j, pr.isStrictMode = R, pr.isSuspense = Q, pr.isValidElementType = _, pr.typeOf = S;
|
|
}()), pr;
|
|
}
|
|
var QD;
|
|
function kQ() {
|
|
return QD || (QD = 1, process.env.NODE_ENV === "production" ? Ok.exports = QIe() : Ok.exports = ZIe()), Ok.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Sk, ZD;
|
|
function eje() {
|
|
if (ZD) return Sk;
|
|
ZD = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Sk = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, Sk;
|
|
}
|
|
var Ek, eF;
|
|
function MC() {
|
|
if (eF) return Ek;
|
|
eF = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Ek = e, Ek;
|
|
}
|
|
var tF, rF;
|
|
function _Q() {
|
|
return rF || (rF = 1, tF = Function.call.bind(Object.prototype.hasOwnProperty)), tF;
|
|
}
|
|
var Ak, nF;
|
|
function tje() {
|
|
if (nF) return Ak;
|
|
nF = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ MC(), r = {}, n = /* @__PURE__ */ _Q();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Ak = o, Ak;
|
|
}
|
|
var Pk, oF;
|
|
function rje() {
|
|
if (oF) return Pk;
|
|
oF = 1;
|
|
var e = kQ(), t = eje(), r = /* @__PURE__ */ MC(), n = /* @__PURE__ */ _Q(), o = /* @__PURE__ */ tje(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Pk = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, Pk;
|
|
}
|
|
var Ck, aF;
|
|
function nje() {
|
|
if (aF) return Ck;
|
|
aF = 1;
|
|
var e = /* @__PURE__ */ MC();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Ck = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, Ck;
|
|
}
|
|
var iF;
|
|
function oje() {
|
|
if (iF) return rv.exports;
|
|
if (iF = 1, process.env.NODE_ENV !== "production") {
|
|
var e = kQ(), t = !0;
|
|
rv.exports = /* @__PURE__ */ rje()(e.isElement, t);
|
|
} else
|
|
rv.exports = /* @__PURE__ */ nje()();
|
|
return rv.exports;
|
|
}
|
|
var aje = /* @__PURE__ */ oje();
|
|
const Rt = /* @__PURE__ */ JIe(aje);
|
|
function sF(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Ea(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? sF(Object(r), !0).forEach(function(n) {
|
|
Gf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : sF(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function a0(e) {
|
|
"@babel/helpers - typeof";
|
|
return a0 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, a0(e);
|
|
}
|
|
function Gf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function ije(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function sje(e, t) {
|
|
if (e == null) return {};
|
|
var r = ije(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function WA(e) {
|
|
return lje(e) || cje(e) || uje(e) || fje();
|
|
}
|
|
function lje(e) {
|
|
if (Array.isArray(e)) return VA(e);
|
|
}
|
|
function cje(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function uje(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return VA(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return VA(e, t);
|
|
}
|
|
}
|
|
function VA(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function fje() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function dje(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Gf(t, "fa-".concat(w), typeof w < "u" && w !== null), Gf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Gf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Gf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function pje(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function OQ(e) {
|
|
return pje(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var mje = ["style"];
|
|
function hje(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function gje(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = OQ(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[hje(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function SQ(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return SQ(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = gje(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[OQ(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = sje(r, mje);
|
|
return o.attrs.style = Ea(Ea({}, o.attrs.style), i), e.apply(void 0, [t.tag, Ea(Ea({}, o.attrs), s)].concat(WA(n)));
|
|
}
|
|
var EQ = !1;
|
|
try {
|
|
EQ = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function bje() {
|
|
if (!EQ && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function lF(e) {
|
|
if (e && a0(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (zA.icon)
|
|
return zA.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && a0(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function Nk(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Gf({}, e, t) : {};
|
|
}
|
|
var cF = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, DC = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = Ea(Ea({}, cF), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = lF(n), l = Nk("classes", [].concat(WA(dje(r)), WA((i || "").split(" ")))), f = Nk("transform", typeof r.transform == "string" ? zA.transform(r.transform) : r.transform), p = Nk("mask", lF(o)), y = XIe(d, Ea(Ea(Ea(Ea({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return bje("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
cF.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), yje(m[0], h);
|
|
});
|
|
DC.displayName = "FontAwesomeIcon";
|
|
DC.propTypes = {
|
|
beat: Rt.bool,
|
|
border: Rt.bool,
|
|
beatFade: Rt.bool,
|
|
bounce: Rt.bool,
|
|
className: Rt.string,
|
|
fade: Rt.bool,
|
|
flash: Rt.bool,
|
|
mask: Rt.oneOfType([Rt.object, Rt.array, Rt.string]),
|
|
maskId: Rt.string,
|
|
fixedWidth: Rt.bool,
|
|
inverse: Rt.bool,
|
|
flip: Rt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Rt.oneOfType([Rt.object, Rt.array, Rt.string]),
|
|
listItem: Rt.bool,
|
|
pull: Rt.oneOf(["right", "left"]),
|
|
pulse: Rt.bool,
|
|
rotation: Rt.oneOf([0, 90, 180, 270]),
|
|
shake: Rt.bool,
|
|
size: Rt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Rt.bool,
|
|
spinPulse: Rt.bool,
|
|
spinReverse: Rt.bool,
|
|
symbol: Rt.oneOfType([Rt.bool, Rt.string]),
|
|
title: Rt.string,
|
|
titleId: Rt.string,
|
|
transform: Rt.oneOfType([Rt.string, Rt.object]),
|
|
swapOpacity: Rt.bool
|
|
};
|
|
var yje = SQ.bind(null, ae.createElement);
|
|
const FC = "-", vje = (e) => {
|
|
const t = wje(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(FC);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), AQ(a, t) || xje(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, AQ = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? AQ(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(FC);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, uF = /^\[(.+)\]$/, xje = (e) => {
|
|
if (uF.test(e)) {
|
|
const t = uF.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, wje = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return kje(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
HA(a, n, o, t);
|
|
}), n;
|
|
}, HA = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : fF(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if ($je(o)) {
|
|
HA(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
HA(i, fF(t, a), r, n);
|
|
});
|
|
});
|
|
}, fF = (e, t) => {
|
|
let r = e;
|
|
return t.split(FC).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, $je = (e) => e.isThemeGetter, kje = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, _je = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, PQ = "!", Oje = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(PQ), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, Sje = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, Eje = (e) => ({
|
|
cache: _je(e.cacheSize),
|
|
parseClassName: Oje(e),
|
|
...vje(e)
|
|
}), Aje = /\s+/, Pje = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(Aje);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = Sje(d).join(":"), w = l ? h + PQ : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function Cje() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = CQ(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const CQ = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = CQ(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function Nje(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = Eje(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = Pje(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(Cje.apply(null, arguments));
|
|
};
|
|
}
|
|
const Ir = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, NQ = /^\[(?:([a-z-]+):)?(.+)\]$/i, Tje = /^\d+\/\d+$/, Ije = /* @__PURE__ */ new Set(["px", "full", "screen"]), jje = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Rje = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Mje = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Dje = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Fje = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Ei = (e) => kd(e) || Ije.has(e) || Tje.test(e), Sl = (e) => $p(e, "length", Bje), kd = (e) => !!e && !Number.isNaN(Number(e)), Tk = (e) => $p(e, "number", kd), Um = (e) => !!e && Number.isInteger(Number(e)), Lje = (e) => e.endsWith("%") && kd(e.slice(0, -1)), yt = (e) => NQ.test(e), El = (e) => jje.test(e), zje = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Wje = (e) => $p(e, zje, TQ), Vje = (e) => $p(e, "position", TQ), Hje = /* @__PURE__ */ new Set(["image", "url"]), Gje = (e) => $p(e, Hje, qje), Uje = (e) => $p(e, "", Yje), Bm = () => !0, $p = (e, t, r) => {
|
|
const n = NQ.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, Bje = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
Rje.test(e) && !Mje.test(e)
|
|
), TQ = () => !1, Yje = (e) => Dje.test(e), qje = (e) => Fje.test(e), Kje = () => {
|
|
const e = Ir("colors"), t = Ir("spacing"), r = Ir("blur"), n = Ir("brightness"), o = Ir("borderColor"), a = Ir("borderRadius"), i = Ir("borderSpacing"), s = Ir("borderWidth"), u = Ir("contrast"), c = Ir("grayscale"), d = Ir("hueRotate"), l = Ir("invert"), f = Ir("gap"), p = Ir("gradientColorStops"), y = Ir("gradientColorStopPositions"), m = Ir("inset"), h = Ir("margin"), w = Ir("opacity"), $ = Ir("padding"), _ = Ir("saturate"), S = Ir("scale"), b = Ir("sepia"), F = Ir("skew"), z = Ir("space"), q = Ir("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", yt, t], M = () => [yt, t], te = () => ["", Ei, Sl], G = () => ["auto", kd, yt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", yt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [kd, yt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Bm],
|
|
spacing: [Ei, Sl],
|
|
blur: ["none", "", El, yt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", El, yt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [Lje, Sl],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", yt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [El]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), yt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Um, yt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", yt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Um, yt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Bm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Um, yt]
|
|
}, yt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Bm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Um, yt]
|
|
}, yt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", yt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", yt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", yt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [yt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [yt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [El]
|
|
}, El]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [yt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [yt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [yt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [yt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", El, Sl]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", Tk]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Bm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", yt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", kd, Tk]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Ei, yt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", yt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", yt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Ei, Sl]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Ei, yt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", yt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", yt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), Vje]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", Wje]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, Gje]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Ei, yt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Ei, Sl]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Ei, Sl]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", El, Uje]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Bm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", El, yt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", yt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", yt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", yt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Um, yt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", yt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", yt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", yt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Ei, Sl, Tk]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, Xje = /* @__PURE__ */ Nje(Kje), Jje = ({
|
|
className: e,
|
|
children: t,
|
|
required: r,
|
|
...n
|
|
}) => /* @__PURE__ */ Te(
|
|
"label",
|
|
{
|
|
className: Xje("text-base-fg mb-2 text-[15px] font-medium", e),
|
|
...n,
|
|
children: [
|
|
t,
|
|
r && /* @__PURE__ */ K("span", { className: "ml-0.5 text-[#ff6467]", children: "*" })
|
|
]
|
|
}
|
|
), IQ = ae.forwardRef(
|
|
({
|
|
label: e,
|
|
icon: t,
|
|
inputClassName: r,
|
|
iconClassName: n,
|
|
className: o,
|
|
id: a,
|
|
isError: i,
|
|
onBlur: s,
|
|
onFocus: u,
|
|
errorMessage: c,
|
|
...d
|
|
}, l) => /* @__PURE__ */ Te("div", { className: vk("flex flex-col", o), children: [
|
|
e && /* @__PURE__ */ K(Jje, { htmlFor: a || e, children: e }),
|
|
/* @__PURE__ */ Te("div", { className: "relative w-full", children: [
|
|
t && /* @__PURE__ */ K(
|
|
DC,
|
|
{
|
|
icon: t,
|
|
className: vk("text-md absolute pl-3 pt-3", n)
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(
|
|
"input",
|
|
{
|
|
ref: l,
|
|
id: a || e || void 0,
|
|
className: vk(
|
|
"h-10 w-full rounded-lg px-3 py-2.5 outline-none",
|
|
"bg-ui-panel text-base-fg placeholder-base-fg/50",
|
|
"border border-ui-panel-border transition-all duration-150 ease-in-out hover:border-primary/60 focus:border-primary focus:!outline-none",
|
|
"disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:border-ui-panel-border",
|
|
t && "pl-10",
|
|
i && "outline-red focus:outline-red",
|
|
r
|
|
),
|
|
onFocus: (f) => {
|
|
u && u(f);
|
|
},
|
|
onBlur: (f) => {
|
|
s && s(f);
|
|
},
|
|
...d
|
|
}
|
|
),
|
|
c && /* @__PURE__ */ K("h6", { className: "absolute z-10 text-red", children: c })
|
|
] })
|
|
] })
|
|
);
|
|
IQ.displayName = "Input";
|
|
const Qje = () => {
|
|
const [e, t] = de(
|
|
void 0
|
|
), [r, n] = de(!1);
|
|
ue(() => {
|
|
(async () => {
|
|
n(!0);
|
|
try {
|
|
const i = await Kve();
|
|
"payload" in i && t(i.payload.key);
|
|
} catch (i) {
|
|
console.error("Error fetching Fal API key", i), t(void 0);
|
|
} finally {
|
|
n(!1);
|
|
}
|
|
})();
|
|
}, []);
|
|
const o = async (a) => {
|
|
await Xve(a), t(a);
|
|
};
|
|
return /* @__PURE__ */ Te("div", { className: "flex justify-between items-center", children: [
|
|
/* @__PURE__ */ K("span", { children: "Fal API Key:" }),
|
|
/* @__PURE__ */ K(
|
|
IQ,
|
|
{
|
|
value: e,
|
|
onChange: (a) => o(a.target.value),
|
|
placeholder: "Enter Fal API key"
|
|
}
|
|
)
|
|
] });
|
|
};
|
|
function Zje(e, t = !1) {
|
|
return window.__TAURI_INTERNALS__.transformCallback(e, t);
|
|
}
|
|
async function jQ(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
var dF;
|
|
(function(e) {
|
|
e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave";
|
|
})(dF || (dF = {}));
|
|
async function e9e(e, t) {
|
|
window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(e, t), await jQ("plugin:event|unlisten", {
|
|
event: e,
|
|
eventId: t
|
|
});
|
|
}
|
|
async function t9e(e, t, r) {
|
|
var n;
|
|
const o = (n = void 0) !== null && n !== void 0 ? n : { kind: "Any" };
|
|
return jQ("plugin:event|listen", {
|
|
event: e,
|
|
target: o,
|
|
handler: Zje(t)
|
|
}).then((a) => async () => e9e(e, a));
|
|
}
|
|
const r9e = "refresh_account_state_event", n9e = (e) => {
|
|
ue(() => {
|
|
let t = !1, r;
|
|
return (async () => (r = t9e(r9e, async (n) => {
|
|
await e(n.payload.data);
|
|
}), t && r.then((n) => n())))(), () => {
|
|
t = !0, r.then((n) => n());
|
|
};
|
|
}, []);
|
|
};
|
|
var RQ = (e) => {
|
|
throw TypeError(e);
|
|
}, MQ = (e, t, r) => t.has(e) || RQ("Cannot " + r), Al = (e, t, r) => (MQ(e, t, "read from private field"), r ? r.call(e) : t.get(e)), DQ = (e, t, r) => t.has(e) ? RQ("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), pF = (e, t, r, n) => (MQ(e, t, "write to private field"), t.set(e, r), r), Ym = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, mF = {};
|
|
/*!
|
|
* howler.js v2.2.4
|
|
* howlerjs.com
|
|
*
|
|
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
* goldfirestudios.com
|
|
*
|
|
* MIT License
|
|
*/
|
|
var hF;
|
|
function o9e() {
|
|
return hF || (hF = 1, function(e) {
|
|
(function() {
|
|
var t = function() {
|
|
this.init();
|
|
};
|
|
t.prototype = {
|
|
/**
|
|
* Initialize the global Howler object.
|
|
* @return {Howler}
|
|
*/
|
|
init: function() {
|
|
var l = this || r;
|
|
return l._counter = 1e3, l._html5AudioPool = [], l.html5PoolSize = 10, l._codecs = {}, l._howls = [], l._muted = !1, l._volume = 1, l._canPlayEvent = "canplaythrough", l._navigator = typeof window < "u" && window.navigator ? window.navigator : null, l.masterGain = null, l.noAudio = !1, l.usingWebAudio = !0, l.autoSuspend = !0, l.ctx = null, l.autoUnlock = !0, l._setup(), l;
|
|
},
|
|
/**
|
|
* Get/set the global volume for all sounds.
|
|
* @param {Float} vol Volume from 0.0 to 1.0.
|
|
* @return {Howler/Float} Returns self or current volume.
|
|
*/
|
|
volume: function(l) {
|
|
var f = this || r;
|
|
if (l = parseFloat(l), f.ctx || d(), typeof l < "u" && l >= 0 && l <= 1) {
|
|
if (f._volume = l, f._muted)
|
|
return f;
|
|
f.usingWebAudio && f.masterGain.gain.setValueAtTime(l, r.ctx.currentTime);
|
|
for (var p = 0; p < f._howls.length; p++)
|
|
if (!f._howls[p]._webAudio)
|
|
for (var y = f._howls[p]._getSoundIds(), m = 0; m < y.length; m++) {
|
|
var h = f._howls[p]._soundById(y[m]);
|
|
h && h._node && (h._node.volume = h._volume * l);
|
|
}
|
|
return f;
|
|
}
|
|
return f._volume;
|
|
},
|
|
/**
|
|
* Handle muting and unmuting globally.
|
|
* @param {Boolean} muted Is muted or not.
|
|
*/
|
|
mute: function(l) {
|
|
var f = this || r;
|
|
f.ctx || d(), f._muted = l, f.usingWebAudio && f.masterGain.gain.setValueAtTime(l ? 0 : f._volume, r.ctx.currentTime);
|
|
for (var p = 0; p < f._howls.length; p++)
|
|
if (!f._howls[p]._webAudio)
|
|
for (var y = f._howls[p]._getSoundIds(), m = 0; m < y.length; m++) {
|
|
var h = f._howls[p]._soundById(y[m]);
|
|
h && h._node && (h._node.muted = l ? !0 : h._muted);
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Handle stopping all sounds globally.
|
|
*/
|
|
stop: function() {
|
|
for (var l = this || r, f = 0; f < l._howls.length; f++)
|
|
l._howls[f].stop();
|
|
return l;
|
|
},
|
|
/**
|
|
* Unload and destroy all currently loaded Howl objects.
|
|
* @return {Howler}
|
|
*/
|
|
unload: function() {
|
|
for (var l = this || r, f = l._howls.length - 1; f >= 0; f--)
|
|
l._howls[f].unload();
|
|
return l.usingWebAudio && l.ctx && typeof l.ctx.close < "u" && (l.ctx.close(), l.ctx = null, d()), l;
|
|
},
|
|
/**
|
|
* Check for codec support of specific extension.
|
|
* @param {String} ext Audio file extention.
|
|
* @return {Boolean}
|
|
*/
|
|
codecs: function(l) {
|
|
return (this || r)._codecs[l.replace(/^x-/, "")];
|
|
},
|
|
/**
|
|
* Setup various state values for global tracking.
|
|
* @return {Howler}
|
|
*/
|
|
_setup: function() {
|
|
var l = this || r;
|
|
if (l.state = l.ctx && l.ctx.state || "suspended", l._autoSuspend(), !l.usingWebAudio)
|
|
if (typeof Audio < "u")
|
|
try {
|
|
var f = new Audio();
|
|
typeof f.oncanplaythrough > "u" && (l._canPlayEvent = "canplay");
|
|
} catch {
|
|
l.noAudio = !0;
|
|
}
|
|
else
|
|
l.noAudio = !0;
|
|
try {
|
|
var f = new Audio();
|
|
f.muted && (l.noAudio = !0);
|
|
} catch {
|
|
}
|
|
return l.noAudio || l._setupCodecs(), l;
|
|
},
|
|
/**
|
|
* Check for browser support for various codecs and cache the results.
|
|
* @return {Howler}
|
|
*/
|
|
_setupCodecs: function() {
|
|
var l = this || r, f = null;
|
|
try {
|
|
f = typeof Audio < "u" ? new Audio() : null;
|
|
} catch {
|
|
return l;
|
|
}
|
|
if (!f || typeof f.canPlayType != "function")
|
|
return l;
|
|
var p = f.canPlayType("audio/mpeg;").replace(/^no$/, ""), y = l._navigator ? l._navigator.userAgent : "", m = y.match(/OPR\/(\d+)/g), h = m && parseInt(m[0].split("/")[1], 10) < 33, w = y.indexOf("Safari") !== -1 && y.indexOf("Chrome") === -1, $ = y.match(/Version\/(.*?) /), _ = w && $ && parseInt($[1], 10) < 15;
|
|
return l._codecs = {
|
|
mp3: !!(!h && (p || f.canPlayType("audio/mp3;").replace(/^no$/, ""))),
|
|
mpeg: !!p,
|
|
opus: !!f.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ""),
|
|
ogg: !!f.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""),
|
|
oga: !!f.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""),
|
|
wav: !!(f.canPlayType('audio/wav; codecs="1"') || f.canPlayType("audio/wav")).replace(/^no$/, ""),
|
|
aac: !!f.canPlayType("audio/aac;").replace(/^no$/, ""),
|
|
caf: !!f.canPlayType("audio/x-caf;").replace(/^no$/, ""),
|
|
m4a: !!(f.canPlayType("audio/x-m4a;") || f.canPlayType("audio/m4a;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""),
|
|
m4b: !!(f.canPlayType("audio/x-m4b;") || f.canPlayType("audio/m4b;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""),
|
|
mp4: !!(f.canPlayType("audio/x-mp4;") || f.canPlayType("audio/mp4;") || f.canPlayType("audio/aac;")).replace(/^no$/, ""),
|
|
weba: !!(!_ && f.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")),
|
|
webm: !!(!_ && f.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")),
|
|
dolby: !!f.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/, ""),
|
|
flac: !!(f.canPlayType("audio/x-flac;") || f.canPlayType("audio/flac;")).replace(/^no$/, "")
|
|
}, l;
|
|
},
|
|
/**
|
|
* Some browsers/devices will only allow audio to be played after a user interaction.
|
|
* Attempt to automatically unlock audio on the first user interaction.
|
|
* Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/
|
|
* @return {Howler}
|
|
*/
|
|
_unlockAudio: function() {
|
|
var l = this || r;
|
|
if (!(l._audioUnlocked || !l.ctx)) {
|
|
l._audioUnlocked = !1, l.autoUnlock = !1, !l._mobileUnloaded && l.ctx.sampleRate !== 44100 && (l._mobileUnloaded = !0, l.unload()), l._scratchBuffer = l.ctx.createBuffer(1, 1, 22050);
|
|
var f = function(p) {
|
|
for (; l._html5AudioPool.length < l.html5PoolSize; )
|
|
try {
|
|
var y = new Audio();
|
|
y._unlocked = !0, l._releaseHtml5Audio(y);
|
|
} catch {
|
|
l.noAudio = !0;
|
|
break;
|
|
}
|
|
for (var m = 0; m < l._howls.length; m++)
|
|
if (!l._howls[m]._webAudio)
|
|
for (var h = l._howls[m]._getSoundIds(), w = 0; w < h.length; w++) {
|
|
var $ = l._howls[m]._soundById(h[w]);
|
|
$ && $._node && !$._node._unlocked && ($._node._unlocked = !0, $._node.load());
|
|
}
|
|
l._autoResume();
|
|
var _ = l.ctx.createBufferSource();
|
|
_.buffer = l._scratchBuffer, _.connect(l.ctx.destination), typeof _.start > "u" ? _.noteOn(0) : _.start(0), typeof l.ctx.resume == "function" && l.ctx.resume(), _.onended = function() {
|
|
_.disconnect(0), l._audioUnlocked = !0, document.removeEventListener("touchstart", f, !0), document.removeEventListener("touchend", f, !0), document.removeEventListener("click", f, !0), document.removeEventListener("keydown", f, !0);
|
|
for (var S = 0; S < l._howls.length; S++)
|
|
l._howls[S]._emit("unlock");
|
|
};
|
|
};
|
|
return document.addEventListener("touchstart", f, !0), document.addEventListener("touchend", f, !0), document.addEventListener("click", f, !0), document.addEventListener("keydown", f, !0), l;
|
|
}
|
|
},
|
|
/**
|
|
* Get an unlocked HTML5 Audio object from the pool. If none are left,
|
|
* return a new Audio object and throw a warning.
|
|
* @return {Audio} HTML5 Audio object.
|
|
*/
|
|
_obtainHtml5Audio: function() {
|
|
var l = this || r;
|
|
if (l._html5AudioPool.length)
|
|
return l._html5AudioPool.pop();
|
|
var f = new Audio().play();
|
|
return f && typeof Promise < "u" && (f instanceof Promise || typeof f.then == "function") && f.catch(function() {
|
|
console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.");
|
|
}), new Audio();
|
|
},
|
|
/**
|
|
* Return an activated HTML5 Audio object to the pool.
|
|
* @return {Howler}
|
|
*/
|
|
_releaseHtml5Audio: function(l) {
|
|
var f = this || r;
|
|
return l._unlocked && f._html5AudioPool.push(l), f;
|
|
},
|
|
/**
|
|
* Automatically suspend the Web Audio AudioContext after no sound has played for 30 seconds.
|
|
* This saves processing/energy and fixes various browser-specific bugs with audio getting stuck.
|
|
* @return {Howler}
|
|
*/
|
|
_autoSuspend: function() {
|
|
var l = this;
|
|
if (!(!l.autoSuspend || !l.ctx || typeof l.ctx.suspend > "u" || !r.usingWebAudio)) {
|
|
for (var f = 0; f < l._howls.length; f++)
|
|
if (l._howls[f]._webAudio) {
|
|
for (var p = 0; p < l._howls[f]._sounds.length; p++)
|
|
if (!l._howls[f]._sounds[p]._paused)
|
|
return l;
|
|
}
|
|
return l._suspendTimer && clearTimeout(l._suspendTimer), l._suspendTimer = setTimeout(function() {
|
|
if (l.autoSuspend) {
|
|
l._suspendTimer = null, l.state = "suspending";
|
|
var y = function() {
|
|
l.state = "suspended", l._resumeAfterSuspend && (delete l._resumeAfterSuspend, l._autoResume());
|
|
};
|
|
l.ctx.suspend().then(y, y);
|
|
}
|
|
}, 3e4), l;
|
|
}
|
|
},
|
|
/**
|
|
* Automatically resume the Web Audio AudioContext when a new sound is played.
|
|
* @return {Howler}
|
|
*/
|
|
_autoResume: function() {
|
|
var l = this;
|
|
if (!(!l.ctx || typeof l.ctx.resume > "u" || !r.usingWebAudio))
|
|
return l.state === "running" && l.ctx.state !== "interrupted" && l._suspendTimer ? (clearTimeout(l._suspendTimer), l._suspendTimer = null) : l.state === "suspended" || l.state === "running" && l.ctx.state === "interrupted" ? (l.ctx.resume().then(function() {
|
|
l.state = "running";
|
|
for (var f = 0; f < l._howls.length; f++)
|
|
l._howls[f]._emit("resume");
|
|
}), l._suspendTimer && (clearTimeout(l._suspendTimer), l._suspendTimer = null)) : l.state === "suspending" && (l._resumeAfterSuspend = !0), l;
|
|
}
|
|
};
|
|
var r = new t(), n = function(l) {
|
|
var f = this;
|
|
if (!l.src || l.src.length === 0) {
|
|
console.error("An array of source files must be passed with any new Howl.");
|
|
return;
|
|
}
|
|
f.init(l);
|
|
};
|
|
n.prototype = {
|
|
/**
|
|
* Initialize a new Howl group object.
|
|
* @param {Object} o Passed in properties for this group.
|
|
* @return {Howl}
|
|
*/
|
|
init: function(l) {
|
|
var f = this;
|
|
return r.ctx || d(), f._autoplay = l.autoplay || !1, f._format = typeof l.format != "string" ? l.format : [l.format], f._html5 = l.html5 || !1, f._muted = l.mute || !1, f._loop = l.loop || !1, f._pool = l.pool || 5, f._preload = typeof l.preload == "boolean" || l.preload === "metadata" ? l.preload : !0, f._rate = l.rate || 1, f._sprite = l.sprite || {}, f._src = typeof l.src != "string" ? l.src : [l.src], f._volume = l.volume !== void 0 ? l.volume : 1, f._xhr = {
|
|
method: l.xhr && l.xhr.method ? l.xhr.method : "GET",
|
|
headers: l.xhr && l.xhr.headers ? l.xhr.headers : null,
|
|
withCredentials: l.xhr && l.xhr.withCredentials ? l.xhr.withCredentials : !1
|
|
}, f._duration = 0, f._state = "unloaded", f._sounds = [], f._endTimers = {}, f._queue = [], f._playLock = !1, f._onend = l.onend ? [{ fn: l.onend }] : [], f._onfade = l.onfade ? [{ fn: l.onfade }] : [], f._onload = l.onload ? [{ fn: l.onload }] : [], f._onloaderror = l.onloaderror ? [{ fn: l.onloaderror }] : [], f._onplayerror = l.onplayerror ? [{ fn: l.onplayerror }] : [], f._onpause = l.onpause ? [{ fn: l.onpause }] : [], f._onplay = l.onplay ? [{ fn: l.onplay }] : [], f._onstop = l.onstop ? [{ fn: l.onstop }] : [], f._onmute = l.onmute ? [{ fn: l.onmute }] : [], f._onvolume = l.onvolume ? [{ fn: l.onvolume }] : [], f._onrate = l.onrate ? [{ fn: l.onrate }] : [], f._onseek = l.onseek ? [{ fn: l.onseek }] : [], f._onunlock = l.onunlock ? [{ fn: l.onunlock }] : [], f._onresume = [], f._webAudio = r.usingWebAudio && !f._html5, typeof r.ctx < "u" && r.ctx && r.autoUnlock && r._unlockAudio(), r._howls.push(f), f._autoplay && f._queue.push({
|
|
event: "play",
|
|
action: function() {
|
|
f.play();
|
|
}
|
|
}), f._preload && f._preload !== "none" && f.load(), f;
|
|
},
|
|
/**
|
|
* Load the audio file.
|
|
* @return {Howler}
|
|
*/
|
|
load: function() {
|
|
var l = this, f = null;
|
|
if (r.noAudio) {
|
|
l._emit("loaderror", null, "No audio support.");
|
|
return;
|
|
}
|
|
typeof l._src == "string" && (l._src = [l._src]);
|
|
for (var p = 0; p < l._src.length; p++) {
|
|
var y, m;
|
|
if (l._format && l._format[p])
|
|
y = l._format[p];
|
|
else {
|
|
if (m = l._src[p], typeof m != "string") {
|
|
l._emit("loaderror", null, "Non-string found in selected audio sources - ignoring.");
|
|
continue;
|
|
}
|
|
y = /^data:audio\/([^;,]+);/i.exec(m), y || (y = /\.([^.]+)$/.exec(m.split("?", 1)[0])), y && (y = y[1].toLowerCase());
|
|
}
|
|
if (y || console.warn('No file extension was found. Consider using the "format" property or specify an extension.'), y && r.codecs(y)) {
|
|
f = l._src[p];
|
|
break;
|
|
}
|
|
}
|
|
if (!f) {
|
|
l._emit("loaderror", null, "No codec support for selected audio sources.");
|
|
return;
|
|
}
|
|
return l._src = f, l._state = "loading", window.location.protocol === "https:" && f.slice(0, 5) === "http:" && (l._html5 = !0, l._webAudio = !1), new o(l), l._webAudio && i(l), l;
|
|
},
|
|
/**
|
|
* Play a sound or resume previous playback.
|
|
* @param {String/Number} sprite Sprite name for sprite playback or sound id to continue previous.
|
|
* @param {Boolean} internal Internal Use: true prevents event firing.
|
|
* @return {Number} Sound ID.
|
|
*/
|
|
play: function(l, f) {
|
|
var p = this, y = null;
|
|
if (typeof l == "number")
|
|
y = l, l = null;
|
|
else {
|
|
if (typeof l == "string" && p._state === "loaded" && !p._sprite[l])
|
|
return null;
|
|
if (typeof l > "u" && (l = "__default", !p._playLock)) {
|
|
for (var m = 0, h = 0; h < p._sounds.length; h++)
|
|
p._sounds[h]._paused && !p._sounds[h]._ended && (m++, y = p._sounds[h]._id);
|
|
m === 1 ? l = null : y = null;
|
|
}
|
|
}
|
|
var w = y ? p._soundById(y) : p._inactiveSound();
|
|
if (!w)
|
|
return null;
|
|
if (y && !l && (l = w._sprite || "__default"), p._state !== "loaded") {
|
|
w._sprite = l, w._ended = !1;
|
|
var $ = w._id;
|
|
return p._queue.push({
|
|
event: "play",
|
|
action: function() {
|
|
p.play($);
|
|
}
|
|
}), $;
|
|
}
|
|
if (y && !w._paused)
|
|
return f || p._loadQueue("play"), w._id;
|
|
p._webAudio && r._autoResume();
|
|
var _ = Math.max(0, w._seek > 0 ? w._seek : p._sprite[l][0] / 1e3), S = Math.max(0, (p._sprite[l][0] + p._sprite[l][1]) / 1e3 - _), b = S * 1e3 / Math.abs(w._rate), F = p._sprite[l][0] / 1e3, z = (p._sprite[l][0] + p._sprite[l][1]) / 1e3;
|
|
w._sprite = l, w._ended = !1;
|
|
var q = function() {
|
|
w._paused = !1, w._seek = _, w._start = F, w._stop = z, w._loop = !!(w._loop || p._sprite[l][2]);
|
|
};
|
|
if (_ >= z) {
|
|
p._ended(w);
|
|
return;
|
|
}
|
|
var Y = w._node;
|
|
if (p._webAudio) {
|
|
var B = function() {
|
|
p._playLock = !1, q(), p._refreshBuffer(w);
|
|
var G = w._muted || p._muted ? 0 : w._volume;
|
|
Y.gain.setValueAtTime(G, r.ctx.currentTime), w._playStart = r.ctx.currentTime, typeof Y.bufferSource.start > "u" ? w._loop ? Y.bufferSource.noteGrainOn(0, _, 86400) : Y.bufferSource.noteGrainOn(0, _, S) : w._loop ? Y.bufferSource.start(0, _, 86400) : Y.bufferSource.start(0, _, S), b !== 1 / 0 && (p._endTimers[w._id] = setTimeout(p._ended.bind(p, w), b)), f || setTimeout(function() {
|
|
p._emit("play", w._id), p._loadQueue();
|
|
}, 0);
|
|
};
|
|
r.state === "running" && r.ctx.state !== "interrupted" ? B() : (p._playLock = !0, p.once("resume", B), p._clearTimer(w._id));
|
|
} else {
|
|
var Z = function() {
|
|
Y.currentTime = _, Y.muted = w._muted || p._muted || r._muted || Y.muted, Y.volume = w._volume * r.volume(), Y.playbackRate = w._rate;
|
|
try {
|
|
var G = Y.play();
|
|
if (G && typeof Promise < "u" && (G instanceof Promise || typeof G.then == "function") ? (p._playLock = !0, q(), G.then(function() {
|
|
p._playLock = !1, Y._unlocked = !0, f ? p._loadQueue() : p._emit("play", w._id);
|
|
}).catch(function() {
|
|
p._playLock = !1, p._emit("playerror", w._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."), w._ended = !0, w._paused = !0;
|
|
})) : f || (p._playLock = !1, q(), p._emit("play", w._id)), Y.playbackRate = w._rate, Y.paused) {
|
|
p._emit("playerror", w._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");
|
|
return;
|
|
}
|
|
l !== "__default" || w._loop ? p._endTimers[w._id] = setTimeout(p._ended.bind(p, w), b) : (p._endTimers[w._id] = function() {
|
|
p._ended(w), Y.removeEventListener("ended", p._endTimers[w._id], !1);
|
|
}, Y.addEventListener("ended", p._endTimers[w._id], !1));
|
|
} catch (H) {
|
|
p._emit("playerror", w._id, H);
|
|
}
|
|
};
|
|
Y.src === "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA" && (Y.src = p._src, Y.load());
|
|
var M = window && window.ejecta || !Y.readyState && r._navigator.isCocoonJS;
|
|
if (Y.readyState >= 3 || M)
|
|
Z();
|
|
else {
|
|
p._playLock = !0, p._state = "loading";
|
|
var te = function() {
|
|
p._state = "loaded", Z(), Y.removeEventListener(r._canPlayEvent, te, !1);
|
|
};
|
|
Y.addEventListener(r._canPlayEvent, te, !1), p._clearTimer(w._id);
|
|
}
|
|
}
|
|
return w._id;
|
|
},
|
|
/**
|
|
* Pause playback and save current position.
|
|
* @param {Number} id The sound ID (empty to pause all in group).
|
|
* @return {Howl}
|
|
*/
|
|
pause: function(l) {
|
|
var f = this;
|
|
if (f._state !== "loaded" || f._playLock)
|
|
return f._queue.push({
|
|
event: "pause",
|
|
action: function() {
|
|
f.pause(l);
|
|
}
|
|
}), f;
|
|
for (var p = f._getSoundIds(l), y = 0; y < p.length; y++) {
|
|
f._clearTimer(p[y]);
|
|
var m = f._soundById(p[y]);
|
|
if (m && !m._paused && (m._seek = f.seek(p[y]), m._rateSeek = 0, m._paused = !0, f._stopFade(p[y]), m._node))
|
|
if (f._webAudio) {
|
|
if (!m._node.bufferSource)
|
|
continue;
|
|
typeof m._node.bufferSource.stop > "u" ? m._node.bufferSource.noteOff(0) : m._node.bufferSource.stop(0), f._cleanBuffer(m._node);
|
|
} else (!isNaN(m._node.duration) || m._node.duration === 1 / 0) && m._node.pause();
|
|
arguments[1] || f._emit("pause", m ? m._id : null);
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Stop playback and reset to start.
|
|
* @param {Number} id The sound ID (empty to stop all in group).
|
|
* @param {Boolean} internal Internal Use: true prevents event firing.
|
|
* @return {Howl}
|
|
*/
|
|
stop: function(l, f) {
|
|
var p = this;
|
|
if (p._state !== "loaded" || p._playLock)
|
|
return p._queue.push({
|
|
event: "stop",
|
|
action: function() {
|
|
p.stop(l);
|
|
}
|
|
}), p;
|
|
for (var y = p._getSoundIds(l), m = 0; m < y.length; m++) {
|
|
p._clearTimer(y[m]);
|
|
var h = p._soundById(y[m]);
|
|
h && (h._seek = h._start || 0, h._rateSeek = 0, h._paused = !0, h._ended = !0, p._stopFade(y[m]), h._node && (p._webAudio ? h._node.bufferSource && (typeof h._node.bufferSource.stop > "u" ? h._node.bufferSource.noteOff(0) : h._node.bufferSource.stop(0), p._cleanBuffer(h._node)) : (!isNaN(h._node.duration) || h._node.duration === 1 / 0) && (h._node.currentTime = h._start || 0, h._node.pause(), h._node.duration === 1 / 0 && p._clearSound(h._node))), f || p._emit("stop", h._id));
|
|
}
|
|
return p;
|
|
},
|
|
/**
|
|
* Mute/unmute a single sound or all sounds in this Howl group.
|
|
* @param {Boolean} muted Set to true to mute and false to unmute.
|
|
* @param {Number} id The sound ID to update (omit to mute/unmute all).
|
|
* @return {Howl}
|
|
*/
|
|
mute: function(l, f) {
|
|
var p = this;
|
|
if (p._state !== "loaded" || p._playLock)
|
|
return p._queue.push({
|
|
event: "mute",
|
|
action: function() {
|
|
p.mute(l, f);
|
|
}
|
|
}), p;
|
|
if (typeof f > "u")
|
|
if (typeof l == "boolean")
|
|
p._muted = l;
|
|
else
|
|
return p._muted;
|
|
for (var y = p._getSoundIds(f), m = 0; m < y.length; m++) {
|
|
var h = p._soundById(y[m]);
|
|
h && (h._muted = l, h._interval && p._stopFade(h._id), p._webAudio && h._node ? h._node.gain.setValueAtTime(l ? 0 : h._volume, r.ctx.currentTime) : h._node && (h._node.muted = r._muted ? !0 : l), p._emit("mute", h._id));
|
|
}
|
|
return p;
|
|
},
|
|
/**
|
|
* Get/set the volume of this sound or of the Howl group. This method can optionally take 0, 1 or 2 arguments.
|
|
* volume() -> Returns the group's volume value.
|
|
* volume(id) -> Returns the sound id's current volume.
|
|
* volume(vol) -> Sets the volume of all sounds in this Howl group.
|
|
* volume(vol, id) -> Sets the volume of passed sound id.
|
|
* @return {Howl/Number} Returns self or current volume.
|
|
*/
|
|
volume: function() {
|
|
var l = this, f = arguments, p, y;
|
|
if (f.length === 0)
|
|
return l._volume;
|
|
if (f.length === 1 || f.length === 2 && typeof f[1] > "u") {
|
|
var m = l._getSoundIds(), h = m.indexOf(f[0]);
|
|
h >= 0 ? y = parseInt(f[0], 10) : p = parseFloat(f[0]);
|
|
} else f.length >= 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10));
|
|
var w;
|
|
if (typeof p < "u" && p >= 0 && p <= 1) {
|
|
if (l._state !== "loaded" || l._playLock)
|
|
return l._queue.push({
|
|
event: "volume",
|
|
action: function() {
|
|
l.volume.apply(l, f);
|
|
}
|
|
}), l;
|
|
typeof y > "u" && (l._volume = p), y = l._getSoundIds(y);
|
|
for (var $ = 0; $ < y.length; $++)
|
|
w = l._soundById(y[$]), w && (w._volume = p, f[2] || l._stopFade(y[$]), l._webAudio && w._node && !w._muted ? w._node.gain.setValueAtTime(p, r.ctx.currentTime) : w._node && !w._muted && (w._node.volume = p * r.volume()), l._emit("volume", w._id));
|
|
} else
|
|
return w = y ? l._soundById(y) : l._sounds[0], w ? w._volume : 0;
|
|
return l;
|
|
},
|
|
/**
|
|
* Fade a currently playing sound between two volumes (if no id is passed, all sounds will fade).
|
|
* @param {Number} from The value to fade from (0.0 to 1.0).
|
|
* @param {Number} to The volume to fade to (0.0 to 1.0).
|
|
* @param {Number} len Time in milliseconds to fade.
|
|
* @param {Number} id The sound id (omit to fade all sounds).
|
|
* @return {Howl}
|
|
*/
|
|
fade: function(l, f, p, y) {
|
|
var m = this;
|
|
if (m._state !== "loaded" || m._playLock)
|
|
return m._queue.push({
|
|
event: "fade",
|
|
action: function() {
|
|
m.fade(l, f, p, y);
|
|
}
|
|
}), m;
|
|
l = Math.min(Math.max(0, parseFloat(l)), 1), f = Math.min(Math.max(0, parseFloat(f)), 1), p = parseFloat(p), m.volume(l, y);
|
|
for (var h = m._getSoundIds(y), w = 0; w < h.length; w++) {
|
|
var $ = m._soundById(h[w]);
|
|
if ($) {
|
|
if (y || m._stopFade(h[w]), m._webAudio && !$._muted) {
|
|
var _ = r.ctx.currentTime, S = _ + p / 1e3;
|
|
$._volume = l, $._node.gain.setValueAtTime(l, _), $._node.gain.linearRampToValueAtTime(f, S);
|
|
}
|
|
m._startFadeInterval($, l, f, p, h[w], typeof y > "u");
|
|
}
|
|
}
|
|
return m;
|
|
},
|
|
/**
|
|
* Starts the internal interval to fade a sound.
|
|
* @param {Object} sound Reference to sound to fade.
|
|
* @param {Number} from The value to fade from (0.0 to 1.0).
|
|
* @param {Number} to The volume to fade to (0.0 to 1.0).
|
|
* @param {Number} len Time in milliseconds to fade.
|
|
* @param {Number} id The sound id to fade.
|
|
* @param {Boolean} isGroup If true, set the volume on the group.
|
|
*/
|
|
_startFadeInterval: function(l, f, p, y, m, h) {
|
|
var w = this, $ = f, _ = p - f, S = Math.abs(_ / 0.01), b = Math.max(4, S > 0 ? y / S : y), F = Date.now();
|
|
l._fadeTo = p, l._interval = setInterval(function() {
|
|
var z = (Date.now() - F) / y;
|
|
F = Date.now(), $ += _ * z, $ = Math.round($ * 100) / 100, _ < 0 ? $ = Math.max(p, $) : $ = Math.min(p, $), w._webAudio ? l._volume = $ : w.volume($, l._id, !0), h && (w._volume = $), (p < f && $ <= p || p > f && $ >= p) && (clearInterval(l._interval), l._interval = null, l._fadeTo = null, w.volume(p, l._id), w._emit("fade", l._id));
|
|
}, b);
|
|
},
|
|
/**
|
|
* Internal method that stops the currently playing fade when
|
|
* a new fade starts, volume is changed or the sound is stopped.
|
|
* @param {Number} id The sound id.
|
|
* @return {Howl}
|
|
*/
|
|
_stopFade: function(l) {
|
|
var f = this, p = f._soundById(l);
|
|
return p && p._interval && (f._webAudio && p._node.gain.cancelScheduledValues(r.ctx.currentTime), clearInterval(p._interval), p._interval = null, f.volume(p._fadeTo, l), p._fadeTo = null, f._emit("fade", l)), f;
|
|
},
|
|
/**
|
|
* Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.
|
|
* loop() -> Returns the group's loop value.
|
|
* loop(id) -> Returns the sound id's loop value.
|
|
* loop(loop) -> Sets the loop value for all sounds in this Howl group.
|
|
* loop(loop, id) -> Sets the loop value of passed sound id.
|
|
* @return {Howl/Boolean} Returns self or current loop value.
|
|
*/
|
|
loop: function() {
|
|
var l = this, f = arguments, p, y, m;
|
|
if (f.length === 0)
|
|
return l._loop;
|
|
if (f.length === 1)
|
|
if (typeof f[0] == "boolean")
|
|
p = f[0], l._loop = p;
|
|
else
|
|
return m = l._soundById(parseInt(f[0], 10)), m ? m._loop : !1;
|
|
else f.length === 2 && (p = f[0], y = parseInt(f[1], 10));
|
|
for (var h = l._getSoundIds(y), w = 0; w < h.length; w++)
|
|
m = l._soundById(h[w]), m && (m._loop = p, l._webAudio && m._node && m._node.bufferSource && (m._node.bufferSource.loop = p, p && (m._node.bufferSource.loopStart = m._start || 0, m._node.bufferSource.loopEnd = m._stop, l.playing(h[w]) && (l.pause(h[w], !0), l.play(h[w], !0)))));
|
|
return l;
|
|
},
|
|
/**
|
|
* Get/set the playback rate of a sound. This method can optionally take 0, 1 or 2 arguments.
|
|
* rate() -> Returns the first sound node's current playback rate.
|
|
* rate(id) -> Returns the sound id's current playback rate.
|
|
* rate(rate) -> Sets the playback rate of all sounds in this Howl group.
|
|
* rate(rate, id) -> Sets the playback rate of passed sound id.
|
|
* @return {Howl/Number} Returns self or the current playback rate.
|
|
*/
|
|
rate: function() {
|
|
var l = this, f = arguments, p, y;
|
|
if (f.length === 0)
|
|
y = l._sounds[0]._id;
|
|
else if (f.length === 1) {
|
|
var m = l._getSoundIds(), h = m.indexOf(f[0]);
|
|
h >= 0 ? y = parseInt(f[0], 10) : p = parseFloat(f[0]);
|
|
} else f.length === 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10));
|
|
var w;
|
|
if (typeof p == "number") {
|
|
if (l._state !== "loaded" || l._playLock)
|
|
return l._queue.push({
|
|
event: "rate",
|
|
action: function() {
|
|
l.rate.apply(l, f);
|
|
}
|
|
}), l;
|
|
typeof y > "u" && (l._rate = p), y = l._getSoundIds(y);
|
|
for (var $ = 0; $ < y.length; $++)
|
|
if (w = l._soundById(y[$]), w) {
|
|
l.playing(y[$]) && (w._rateSeek = l.seek(y[$]), w._playStart = l._webAudio ? r.ctx.currentTime : w._playStart), w._rate = p, l._webAudio && w._node && w._node.bufferSource ? w._node.bufferSource.playbackRate.setValueAtTime(p, r.ctx.currentTime) : w._node && (w._node.playbackRate = p);
|
|
var _ = l.seek(y[$]), S = (l._sprite[w._sprite][0] + l._sprite[w._sprite][1]) / 1e3 - _, b = S * 1e3 / Math.abs(w._rate);
|
|
(l._endTimers[y[$]] || !w._paused) && (l._clearTimer(y[$]), l._endTimers[y[$]] = setTimeout(l._ended.bind(l, w), b)), l._emit("rate", w._id);
|
|
}
|
|
} else
|
|
return w = l._soundById(y), w ? w._rate : l._rate;
|
|
return l;
|
|
},
|
|
/**
|
|
* Get/set the seek position of a sound. This method can optionally take 0, 1 or 2 arguments.
|
|
* seek() -> Returns the first sound node's current seek position.
|
|
* seek(id) -> Returns the sound id's current seek position.
|
|
* seek(seek) -> Sets the seek position of the first sound node.
|
|
* seek(seek, id) -> Sets the seek position of passed sound id.
|
|
* @return {Howl/Number} Returns self or the current seek position.
|
|
*/
|
|
seek: function() {
|
|
var l = this, f = arguments, p, y;
|
|
if (f.length === 0)
|
|
l._sounds.length && (y = l._sounds[0]._id);
|
|
else if (f.length === 1) {
|
|
var m = l._getSoundIds(), h = m.indexOf(f[0]);
|
|
h >= 0 ? y = parseInt(f[0], 10) : l._sounds.length && (y = l._sounds[0]._id, p = parseFloat(f[0]));
|
|
} else f.length === 2 && (p = parseFloat(f[0]), y = parseInt(f[1], 10));
|
|
if (typeof y > "u")
|
|
return 0;
|
|
if (typeof p == "number" && (l._state !== "loaded" || l._playLock))
|
|
return l._queue.push({
|
|
event: "seek",
|
|
action: function() {
|
|
l.seek.apply(l, f);
|
|
}
|
|
}), l;
|
|
var w = l._soundById(y);
|
|
if (w)
|
|
if (typeof p == "number" && p >= 0) {
|
|
var $ = l.playing(y);
|
|
$ && l.pause(y, !0), w._seek = p, w._ended = !1, l._clearTimer(y), !l._webAudio && w._node && !isNaN(w._node.duration) && (w._node.currentTime = p);
|
|
var _ = function() {
|
|
$ && l.play(y, !0), l._emit("seek", y);
|
|
};
|
|
if ($ && !l._webAudio) {
|
|
var S = function() {
|
|
l._playLock ? setTimeout(S, 0) : _();
|
|
};
|
|
setTimeout(S, 0);
|
|
} else
|
|
_();
|
|
} else if (l._webAudio) {
|
|
var b = l.playing(y) ? r.ctx.currentTime - w._playStart : 0, F = w._rateSeek ? w._rateSeek - w._seek : 0;
|
|
return w._seek + (F + b * Math.abs(w._rate));
|
|
} else
|
|
return w._node.currentTime;
|
|
return l;
|
|
},
|
|
/**
|
|
* Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.
|
|
* @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.
|
|
* @return {Boolean} True if playing and false if not.
|
|
*/
|
|
playing: function(l) {
|
|
var f = this;
|
|
if (typeof l == "number") {
|
|
var p = f._soundById(l);
|
|
return p ? !p._paused : !1;
|
|
}
|
|
for (var y = 0; y < f._sounds.length; y++)
|
|
if (!f._sounds[y]._paused)
|
|
return !0;
|
|
return !1;
|
|
},
|
|
/**
|
|
* Get the duration of this sound. Passing a sound id will return the sprite duration.
|
|
* @param {Number} id The sound id to check. If none is passed, return full source duration.
|
|
* @return {Number} Audio duration in seconds.
|
|
*/
|
|
duration: function(l) {
|
|
var f = this, p = f._duration, y = f._soundById(l);
|
|
return y && (p = f._sprite[y._sprite][1] / 1e3), p;
|
|
},
|
|
/**
|
|
* Returns the current loaded state of this Howl.
|
|
* @return {String} 'unloaded', 'loading', 'loaded'
|
|
*/
|
|
state: function() {
|
|
return this._state;
|
|
},
|
|
/**
|
|
* Unload and destroy the current Howl object.
|
|
* This will immediately stop all sound instances attached to this group.
|
|
*/
|
|
unload: function() {
|
|
for (var l = this, f = l._sounds, p = 0; p < f.length; p++)
|
|
f[p]._paused || l.stop(f[p]._id), l._webAudio || (l._clearSound(f[p]._node), f[p]._node.removeEventListener("error", f[p]._errorFn, !1), f[p]._node.removeEventListener(r._canPlayEvent, f[p]._loadFn, !1), f[p]._node.removeEventListener("ended", f[p]._endFn, !1), r._releaseHtml5Audio(f[p]._node)), delete f[p]._node, l._clearTimer(f[p]._id);
|
|
var y = r._howls.indexOf(l);
|
|
y >= 0 && r._howls.splice(y, 1);
|
|
var m = !0;
|
|
for (p = 0; p < r._howls.length; p++)
|
|
if (r._howls[p]._src === l._src || l._src.indexOf(r._howls[p]._src) >= 0) {
|
|
m = !1;
|
|
break;
|
|
}
|
|
return a && m && delete a[l._src], r.noAudio = !1, l._state = "unloaded", l._sounds = [], l = null, null;
|
|
},
|
|
/**
|
|
* Listen to a custom event.
|
|
* @param {String} event Event name.
|
|
* @param {Function} fn Listener to call.
|
|
* @param {Number} id (optional) Only listen to events for this sound.
|
|
* @param {Number} once (INTERNAL) Marks event to fire only once.
|
|
* @return {Howl}
|
|
*/
|
|
on: function(l, f, p, y) {
|
|
var m = this, h = m["_on" + l];
|
|
return typeof f == "function" && h.push(y ? { id: p, fn: f, once: y } : { id: p, fn: f }), m;
|
|
},
|
|
/**
|
|
* Remove a custom event. Call without parameters to remove all events.
|
|
* @param {String} event Event name.
|
|
* @param {Function} fn Listener to remove. Leave empty to remove all.
|
|
* @param {Number} id (optional) Only remove events for this sound.
|
|
* @return {Howl}
|
|
*/
|
|
off: function(l, f, p) {
|
|
var y = this, m = y["_on" + l], h = 0;
|
|
if (typeof f == "number" && (p = f, f = null), f || p)
|
|
for (h = 0; h < m.length; h++) {
|
|
var w = p === m[h].id;
|
|
if (f === m[h].fn && w || !f && w) {
|
|
m.splice(h, 1);
|
|
break;
|
|
}
|
|
}
|
|
else if (l)
|
|
y["_on" + l] = [];
|
|
else {
|
|
var $ = Object.keys(y);
|
|
for (h = 0; h < $.length; h++)
|
|
$[h].indexOf("_on") === 0 && Array.isArray(y[$[h]]) && (y[$[h]] = []);
|
|
}
|
|
return y;
|
|
},
|
|
/**
|
|
* Listen to a custom event and remove it once fired.
|
|
* @param {String} event Event name.
|
|
* @param {Function} fn Listener to call.
|
|
* @param {Number} id (optional) Only listen to events for this sound.
|
|
* @return {Howl}
|
|
*/
|
|
once: function(l, f, p) {
|
|
var y = this;
|
|
return y.on(l, f, p, 1), y;
|
|
},
|
|
/**
|
|
* Emit all events of a specific type and pass the sound id.
|
|
* @param {String} event Event name.
|
|
* @param {Number} id Sound ID.
|
|
* @param {Number} msg Message to go with event.
|
|
* @return {Howl}
|
|
*/
|
|
_emit: function(l, f, p) {
|
|
for (var y = this, m = y["_on" + l], h = m.length - 1; h >= 0; h--)
|
|
(!m[h].id || m[h].id === f || l === "load") && (setTimeout((function(w) {
|
|
w.call(this, f, p);
|
|
}).bind(y, m[h].fn), 0), m[h].once && y.off(l, m[h].fn, m[h].id));
|
|
return y._loadQueue(l), y;
|
|
},
|
|
/**
|
|
* Queue of actions initiated before the sound has loaded.
|
|
* These will be called in sequence, with the next only firing
|
|
* after the previous has finished executing (even if async like play).
|
|
* @return {Howl}
|
|
*/
|
|
_loadQueue: function(l) {
|
|
var f = this;
|
|
if (f._queue.length > 0) {
|
|
var p = f._queue[0];
|
|
p.event === l && (f._queue.shift(), f._loadQueue()), l || p.action();
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Fired when playback ends at the end of the duration.
|
|
* @param {Sound} sound The sound object to work with.
|
|
* @return {Howl}
|
|
*/
|
|
_ended: function(l) {
|
|
var f = this, p = l._sprite;
|
|
if (!f._webAudio && l._node && !l._node.paused && !l._node.ended && l._node.currentTime < l._stop)
|
|
return setTimeout(f._ended.bind(f, l), 100), f;
|
|
var y = !!(l._loop || f._sprite[p][2]);
|
|
if (f._emit("end", l._id), !f._webAudio && y && f.stop(l._id, !0).play(l._id), f._webAudio && y) {
|
|
f._emit("play", l._id), l._seek = l._start || 0, l._rateSeek = 0, l._playStart = r.ctx.currentTime;
|
|
var m = (l._stop - l._start) * 1e3 / Math.abs(l._rate);
|
|
f._endTimers[l._id] = setTimeout(f._ended.bind(f, l), m);
|
|
}
|
|
return f._webAudio && !y && (l._paused = !0, l._ended = !0, l._seek = l._start || 0, l._rateSeek = 0, f._clearTimer(l._id), f._cleanBuffer(l._node), r._autoSuspend()), !f._webAudio && !y && f.stop(l._id, !0), f;
|
|
},
|
|
/**
|
|
* Clear the end timer for a sound playback.
|
|
* @param {Number} id The sound ID.
|
|
* @return {Howl}
|
|
*/
|
|
_clearTimer: function(l) {
|
|
var f = this;
|
|
if (f._endTimers[l]) {
|
|
if (typeof f._endTimers[l] != "function")
|
|
clearTimeout(f._endTimers[l]);
|
|
else {
|
|
var p = f._soundById(l);
|
|
p && p._node && p._node.removeEventListener("ended", f._endTimers[l], !1);
|
|
}
|
|
delete f._endTimers[l];
|
|
}
|
|
return f;
|
|
},
|
|
/**
|
|
* Return the sound identified by this ID, or return null.
|
|
* @param {Number} id Sound ID
|
|
* @return {Object} Sound object or null.
|
|
*/
|
|
_soundById: function(l) {
|
|
for (var f = this, p = 0; p < f._sounds.length; p++)
|
|
if (l === f._sounds[p]._id)
|
|
return f._sounds[p];
|
|
return null;
|
|
},
|
|
/**
|
|
* Return an inactive sound from the pool or create a new one.
|
|
* @return {Sound} Sound playback object.
|
|
*/
|
|
_inactiveSound: function() {
|
|
var l = this;
|
|
l._drain();
|
|
for (var f = 0; f < l._sounds.length; f++)
|
|
if (l._sounds[f]._ended)
|
|
return l._sounds[f].reset();
|
|
return new o(l);
|
|
},
|
|
/**
|
|
* Drain excess inactive sounds from the pool.
|
|
*/
|
|
_drain: function() {
|
|
var l = this, f = l._pool, p = 0, y = 0;
|
|
if (!(l._sounds.length < f)) {
|
|
for (y = 0; y < l._sounds.length; y++)
|
|
l._sounds[y]._ended && p++;
|
|
for (y = l._sounds.length - 1; y >= 0; y--) {
|
|
if (p <= f)
|
|
return;
|
|
l._sounds[y]._ended && (l._webAudio && l._sounds[y]._node && l._sounds[y]._node.disconnect(0), l._sounds.splice(y, 1), p--);
|
|
}
|
|
}
|
|
},
|
|
/**
|
|
* Get all ID's from the sounds pool.
|
|
* @param {Number} id Only return one ID if one is passed.
|
|
* @return {Array} Array of IDs.
|
|
*/
|
|
_getSoundIds: function(l) {
|
|
var f = this;
|
|
if (typeof l > "u") {
|
|
for (var p = [], y = 0; y < f._sounds.length; y++)
|
|
p.push(f._sounds[y]._id);
|
|
return p;
|
|
} else
|
|
return [l];
|
|
},
|
|
/**
|
|
* Load the sound back into the buffer source.
|
|
* @param {Sound} sound The sound object to work with.
|
|
* @return {Howl}
|
|
*/
|
|
_refreshBuffer: function(l) {
|
|
var f = this;
|
|
return l._node.bufferSource = r.ctx.createBufferSource(), l._node.bufferSource.buffer = a[f._src], l._panner ? l._node.bufferSource.connect(l._panner) : l._node.bufferSource.connect(l._node), l._node.bufferSource.loop = l._loop, l._loop && (l._node.bufferSource.loopStart = l._start || 0, l._node.bufferSource.loopEnd = l._stop || 0), l._node.bufferSource.playbackRate.setValueAtTime(l._rate, r.ctx.currentTime), f;
|
|
},
|
|
/**
|
|
* Prevent memory leaks by cleaning up the buffer source after playback.
|
|
* @param {Object} node Sound's audio node containing the buffer source.
|
|
* @return {Howl}
|
|
*/
|
|
_cleanBuffer: function(l) {
|
|
var f = this, p = r._navigator && r._navigator.vendor.indexOf("Apple") >= 0;
|
|
if (!l.bufferSource)
|
|
return f;
|
|
if (r._scratchBuffer && l.bufferSource && (l.bufferSource.onended = null, l.bufferSource.disconnect(0), p))
|
|
try {
|
|
l.bufferSource.buffer = r._scratchBuffer;
|
|
} catch {
|
|
}
|
|
return l.bufferSource = null, f;
|
|
},
|
|
/**
|
|
* Set the source to a 0-second silence to stop any downloading (except in IE).
|
|
* @param {Object} node Audio node to clear.
|
|
*/
|
|
_clearSound: function(l) {
|
|
var f = /MSIE |Trident\//.test(r._navigator && r._navigator.userAgent);
|
|
f || (l.src = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA");
|
|
}
|
|
};
|
|
var o = function(l) {
|
|
this._parent = l, this.init();
|
|
};
|
|
o.prototype = {
|
|
/**
|
|
* Initialize a new Sound object.
|
|
* @return {Sound}
|
|
*/
|
|
init: function() {
|
|
var l = this, f = l._parent;
|
|
return l._muted = f._muted, l._loop = f._loop, l._volume = f._volume, l._rate = f._rate, l._seek = 0, l._paused = !0, l._ended = !0, l._sprite = "__default", l._id = ++r._counter, f._sounds.push(l), l.create(), l;
|
|
},
|
|
/**
|
|
* Create and setup a new sound object, whether HTML5 Audio or Web Audio.
|
|
* @return {Sound}
|
|
*/
|
|
create: function() {
|
|
var l = this, f = l._parent, p = r._muted || l._muted || l._parent._muted ? 0 : l._volume;
|
|
return f._webAudio ? (l._node = typeof r.ctx.createGain > "u" ? r.ctx.createGainNode() : r.ctx.createGain(), l._node.gain.setValueAtTime(p, r.ctx.currentTime), l._node.paused = !0, l._node.connect(r.masterGain)) : r.noAudio || (l._node = r._obtainHtml5Audio(), l._errorFn = l._errorListener.bind(l), l._node.addEventListener("error", l._errorFn, !1), l._loadFn = l._loadListener.bind(l), l._node.addEventListener(r._canPlayEvent, l._loadFn, !1), l._endFn = l._endListener.bind(l), l._node.addEventListener("ended", l._endFn, !1), l._node.src = f._src, l._node.preload = f._preload === !0 ? "auto" : f._preload, l._node.volume = p * r.volume(), l._node.load()), l;
|
|
},
|
|
/**
|
|
* Reset the parameters of this sound to the original state (for recycle).
|
|
* @return {Sound}
|
|
*/
|
|
reset: function() {
|
|
var l = this, f = l._parent;
|
|
return l._muted = f._muted, l._loop = f._loop, l._volume = f._volume, l._rate = f._rate, l._seek = 0, l._rateSeek = 0, l._paused = !0, l._ended = !0, l._sprite = "__default", l._id = ++r._counter, l;
|
|
},
|
|
/**
|
|
* HTML5 Audio error listener callback.
|
|
*/
|
|
_errorListener: function() {
|
|
var l = this;
|
|
l._parent._emit("loaderror", l._id, l._node.error ? l._node.error.code : 0), l._node.removeEventListener("error", l._errorFn, !1);
|
|
},
|
|
/**
|
|
* HTML5 Audio canplaythrough listener callback.
|
|
*/
|
|
_loadListener: function() {
|
|
var l = this, f = l._parent;
|
|
f._duration = Math.ceil(l._node.duration * 10) / 10, Object.keys(f._sprite).length === 0 && (f._sprite = { __default: [0, f._duration * 1e3] }), f._state !== "loaded" && (f._state = "loaded", f._emit("load"), f._loadQueue()), l._node.removeEventListener(r._canPlayEvent, l._loadFn, !1);
|
|
},
|
|
/**
|
|
* HTML5 Audio ended listener callback.
|
|
*/
|
|
_endListener: function() {
|
|
var l = this, f = l._parent;
|
|
f._duration === 1 / 0 && (f._duration = Math.ceil(l._node.duration * 10) / 10, f._sprite.__default[1] === 1 / 0 && (f._sprite.__default[1] = f._duration * 1e3), f._ended(l)), l._node.removeEventListener("ended", l._endFn, !1);
|
|
}
|
|
};
|
|
var a = {}, i = function(l) {
|
|
var f = l._src;
|
|
if (a[f]) {
|
|
l._duration = a[f].duration, c(l);
|
|
return;
|
|
}
|
|
if (/^data:[^;]+;base64,/.test(f)) {
|
|
for (var p = atob(f.split(",")[1]), y = new Uint8Array(p.length), m = 0; m < p.length; ++m)
|
|
y[m] = p.charCodeAt(m);
|
|
u(y.buffer, l);
|
|
} else {
|
|
var h = new XMLHttpRequest();
|
|
h.open(l._xhr.method, f, !0), h.withCredentials = l._xhr.withCredentials, h.responseType = "arraybuffer", l._xhr.headers && Object.keys(l._xhr.headers).forEach(function(w) {
|
|
h.setRequestHeader(w, l._xhr.headers[w]);
|
|
}), h.onload = function() {
|
|
var w = (h.status + "")[0];
|
|
if (w !== "0" && w !== "2" && w !== "3") {
|
|
l._emit("loaderror", null, "Failed loading audio file with status: " + h.status + ".");
|
|
return;
|
|
}
|
|
u(h.response, l);
|
|
}, h.onerror = function() {
|
|
l._webAudio && (l._html5 = !0, l._webAudio = !1, l._sounds = [], delete a[f], l.load());
|
|
}, s(h);
|
|
}
|
|
}, s = function(l) {
|
|
try {
|
|
l.send();
|
|
} catch {
|
|
l.onerror();
|
|
}
|
|
}, u = function(l, f) {
|
|
var p = function() {
|
|
f._emit("loaderror", null, "Decoding audio data failed.");
|
|
}, y = function(m) {
|
|
m && f._sounds.length > 0 ? (a[f._src] = m, c(f, m)) : p();
|
|
};
|
|
typeof Promise < "u" && r.ctx.decodeAudioData.length === 1 ? r.ctx.decodeAudioData(l).then(y).catch(p) : r.ctx.decodeAudioData(l, y, p);
|
|
}, c = function(l, f) {
|
|
f && !l._duration && (l._duration = f.duration), Object.keys(l._sprite).length === 0 && (l._sprite = { __default: [0, l._duration * 1e3] }), l._state !== "loaded" && (l._state = "loaded", l._emit("load"), l._loadQueue());
|
|
}, d = function() {
|
|
if (r.usingWebAudio) {
|
|
try {
|
|
typeof AudioContext < "u" ? r.ctx = new AudioContext() : typeof webkitAudioContext < "u" ? r.ctx = new webkitAudioContext() : r.usingWebAudio = !1;
|
|
} catch {
|
|
r.usingWebAudio = !1;
|
|
}
|
|
r.ctx || (r.usingWebAudio = !1);
|
|
var l = /iP(hone|od|ad)/.test(r._navigator && r._navigator.platform), f = r._navigator && r._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/), p = f ? parseInt(f[1], 10) : null;
|
|
if (l && p && p < 9) {
|
|
var y = /safari/.test(r._navigator && r._navigator.userAgent.toLowerCase());
|
|
r._navigator && !y && (r.usingWebAudio = !1);
|
|
}
|
|
r.usingWebAudio && (r.masterGain = typeof r.ctx.createGain > "u" ? r.ctx.createGainNode() : r.ctx.createGain(), r.masterGain.gain.setValueAtTime(r._muted ? 0 : r._volume, r.ctx.currentTime), r.masterGain.connect(r.ctx.destination)), r._setup();
|
|
}
|
|
};
|
|
e.Howler = r, e.Howl = n, typeof Ym < "u" ? (Ym.HowlerGlobal = t, Ym.Howler = r, Ym.Howl = n, Ym.Sound = o) : typeof window < "u" && (window.HowlerGlobal = t, window.Howler = r, window.Howl = n, window.Sound = o);
|
|
})();
|
|
/*!
|
|
* Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
|
|
*
|
|
* howler.js v2.2.4
|
|
* howlerjs.com
|
|
*
|
|
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
* goldfirestudios.com
|
|
*
|
|
* MIT License
|
|
*/
|
|
(function() {
|
|
HowlerGlobal.prototype._pos = [0, 0, 0], HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0], HowlerGlobal.prototype.stereo = function(r) {
|
|
var n = this;
|
|
if (!n.ctx || !n.ctx.listener)
|
|
return n;
|
|
for (var o = n._howls.length - 1; o >= 0; o--)
|
|
n._howls[o].stereo(r);
|
|
return n;
|
|
}, HowlerGlobal.prototype.pos = function(r, n, o) {
|
|
var a = this;
|
|
if (!a.ctx || !a.ctx.listener)
|
|
return a;
|
|
if (n = typeof n != "number" ? a._pos[1] : n, o = typeof o != "number" ? a._pos[2] : o, typeof r == "number")
|
|
a._pos = [r, n, o], typeof a.ctx.listener.positionX < "u" ? (a.ctx.listener.positionX.setTargetAtTime(a._pos[0], Howler.ctx.currentTime, 0.1), a.ctx.listener.positionY.setTargetAtTime(a._pos[1], Howler.ctx.currentTime, 0.1), a.ctx.listener.positionZ.setTargetAtTime(a._pos[2], Howler.ctx.currentTime, 0.1)) : a.ctx.listener.setPosition(a._pos[0], a._pos[1], a._pos[2]);
|
|
else
|
|
return a._pos;
|
|
return a;
|
|
}, HowlerGlobal.prototype.orientation = function(r, n, o, a, i, s) {
|
|
var u = this;
|
|
if (!u.ctx || !u.ctx.listener)
|
|
return u;
|
|
var c = u._orientation;
|
|
if (n = typeof n != "number" ? c[1] : n, o = typeof o != "number" ? c[2] : o, a = typeof a != "number" ? c[3] : a, i = typeof i != "number" ? c[4] : i, s = typeof s != "number" ? c[5] : s, typeof r == "number")
|
|
u._orientation = [r, n, o, a, i, s], typeof u.ctx.listener.forwardX < "u" ? (u.ctx.listener.forwardX.setTargetAtTime(r, Howler.ctx.currentTime, 0.1), u.ctx.listener.forwardY.setTargetAtTime(n, Howler.ctx.currentTime, 0.1), u.ctx.listener.forwardZ.setTargetAtTime(o, Howler.ctx.currentTime, 0.1), u.ctx.listener.upX.setTargetAtTime(a, Howler.ctx.currentTime, 0.1), u.ctx.listener.upY.setTargetAtTime(i, Howler.ctx.currentTime, 0.1), u.ctx.listener.upZ.setTargetAtTime(s, Howler.ctx.currentTime, 0.1)) : u.ctx.listener.setOrientation(r, n, o, a, i, s);
|
|
else
|
|
return c;
|
|
return u;
|
|
}, Howl.prototype.init = /* @__PURE__ */ function(r) {
|
|
return function(n) {
|
|
var o = this;
|
|
return o._orientation = n.orientation || [1, 0, 0], o._stereo = n.stereo || null, o._pos = n.pos || null, o._pannerAttr = {
|
|
coneInnerAngle: typeof n.coneInnerAngle < "u" ? n.coneInnerAngle : 360,
|
|
coneOuterAngle: typeof n.coneOuterAngle < "u" ? n.coneOuterAngle : 360,
|
|
coneOuterGain: typeof n.coneOuterGain < "u" ? n.coneOuterGain : 0,
|
|
distanceModel: typeof n.distanceModel < "u" ? n.distanceModel : "inverse",
|
|
maxDistance: typeof n.maxDistance < "u" ? n.maxDistance : 1e4,
|
|
panningModel: typeof n.panningModel < "u" ? n.panningModel : "HRTF",
|
|
refDistance: typeof n.refDistance < "u" ? n.refDistance : 1,
|
|
rolloffFactor: typeof n.rolloffFactor < "u" ? n.rolloffFactor : 1
|
|
}, o._onstereo = n.onstereo ? [{ fn: n.onstereo }] : [], o._onpos = n.onpos ? [{ fn: n.onpos }] : [], o._onorientation = n.onorientation ? [{ fn: n.onorientation }] : [], r.call(this, n);
|
|
};
|
|
}(Howl.prototype.init), Howl.prototype.stereo = function(r, n) {
|
|
var o = this;
|
|
if (!o._webAudio)
|
|
return o;
|
|
if (o._state !== "loaded")
|
|
return o._queue.push({
|
|
event: "stereo",
|
|
action: function() {
|
|
o.stereo(r, n);
|
|
}
|
|
}), o;
|
|
var a = typeof Howler.ctx.createStereoPanner > "u" ? "spatial" : "stereo";
|
|
if (typeof n > "u")
|
|
if (typeof r == "number")
|
|
o._stereo = r, o._pos = [r, 0, 0];
|
|
else
|
|
return o._stereo;
|
|
for (var i = o._getSoundIds(n), s = 0; s < i.length; s++) {
|
|
var u = o._soundById(i[s]);
|
|
if (u)
|
|
if (typeof r == "number")
|
|
u._stereo = r, u._pos = [r, 0, 0], u._node && (u._pannerAttr.panningModel = "equalpower", (!u._panner || !u._panner.pan) && t(u, a), a === "spatial" ? typeof u._panner.positionX < "u" ? (u._panner.positionX.setValueAtTime(r, Howler.ctx.currentTime), u._panner.positionY.setValueAtTime(0, Howler.ctx.currentTime), u._panner.positionZ.setValueAtTime(0, Howler.ctx.currentTime)) : u._panner.setPosition(r, 0, 0) : u._panner.pan.setValueAtTime(r, Howler.ctx.currentTime)), o._emit("stereo", u._id);
|
|
else
|
|
return u._stereo;
|
|
}
|
|
return o;
|
|
}, Howl.prototype.pos = function(r, n, o, a) {
|
|
var i = this;
|
|
if (!i._webAudio)
|
|
return i;
|
|
if (i._state !== "loaded")
|
|
return i._queue.push({
|
|
event: "pos",
|
|
action: function() {
|
|
i.pos(r, n, o, a);
|
|
}
|
|
}), i;
|
|
if (n = typeof n != "number" ? 0 : n, o = typeof o != "number" ? -0.5 : o, typeof a > "u")
|
|
if (typeof r == "number")
|
|
i._pos = [r, n, o];
|
|
else
|
|
return i._pos;
|
|
for (var s = i._getSoundIds(a), u = 0; u < s.length; u++) {
|
|
var c = i._soundById(s[u]);
|
|
if (c)
|
|
if (typeof r == "number")
|
|
c._pos = [r, n, o], c._node && ((!c._panner || c._panner.pan) && t(c, "spatial"), typeof c._panner.positionX < "u" ? (c._panner.positionX.setValueAtTime(r, Howler.ctx.currentTime), c._panner.positionY.setValueAtTime(n, Howler.ctx.currentTime), c._panner.positionZ.setValueAtTime(o, Howler.ctx.currentTime)) : c._panner.setPosition(r, n, o)), i._emit("pos", c._id);
|
|
else
|
|
return c._pos;
|
|
}
|
|
return i;
|
|
}, Howl.prototype.orientation = function(r, n, o, a) {
|
|
var i = this;
|
|
if (!i._webAudio)
|
|
return i;
|
|
if (i._state !== "loaded")
|
|
return i._queue.push({
|
|
event: "orientation",
|
|
action: function() {
|
|
i.orientation(r, n, o, a);
|
|
}
|
|
}), i;
|
|
if (n = typeof n != "number" ? i._orientation[1] : n, o = typeof o != "number" ? i._orientation[2] : o, typeof a > "u")
|
|
if (typeof r == "number")
|
|
i._orientation = [r, n, o];
|
|
else
|
|
return i._orientation;
|
|
for (var s = i._getSoundIds(a), u = 0; u < s.length; u++) {
|
|
var c = i._soundById(s[u]);
|
|
if (c)
|
|
if (typeof r == "number")
|
|
c._orientation = [r, n, o], c._node && (c._panner || (c._pos || (c._pos = i._pos || [0, 0, -0.5]), t(c, "spatial")), typeof c._panner.orientationX < "u" ? (c._panner.orientationX.setValueAtTime(r, Howler.ctx.currentTime), c._panner.orientationY.setValueAtTime(n, Howler.ctx.currentTime), c._panner.orientationZ.setValueAtTime(o, Howler.ctx.currentTime)) : c._panner.setOrientation(r, n, o)), i._emit("orientation", c._id);
|
|
else
|
|
return c._orientation;
|
|
}
|
|
return i;
|
|
}, Howl.prototype.pannerAttr = function() {
|
|
var r = this, n = arguments, o, a, i;
|
|
if (!r._webAudio)
|
|
return r;
|
|
if (n.length === 0)
|
|
return r._pannerAttr;
|
|
if (n.length === 1)
|
|
if (typeof n[0] == "object")
|
|
o = n[0], typeof a > "u" && (o.pannerAttr || (o.pannerAttr = {
|
|
coneInnerAngle: o.coneInnerAngle,
|
|
coneOuterAngle: o.coneOuterAngle,
|
|
coneOuterGain: o.coneOuterGain,
|
|
distanceModel: o.distanceModel,
|
|
maxDistance: o.maxDistance,
|
|
refDistance: o.refDistance,
|
|
rolloffFactor: o.rolloffFactor,
|
|
panningModel: o.panningModel
|
|
}), r._pannerAttr = {
|
|
coneInnerAngle: typeof o.pannerAttr.coneInnerAngle < "u" ? o.pannerAttr.coneInnerAngle : r._coneInnerAngle,
|
|
coneOuterAngle: typeof o.pannerAttr.coneOuterAngle < "u" ? o.pannerAttr.coneOuterAngle : r._coneOuterAngle,
|
|
coneOuterGain: typeof o.pannerAttr.coneOuterGain < "u" ? o.pannerAttr.coneOuterGain : r._coneOuterGain,
|
|
distanceModel: typeof o.pannerAttr.distanceModel < "u" ? o.pannerAttr.distanceModel : r._distanceModel,
|
|
maxDistance: typeof o.pannerAttr.maxDistance < "u" ? o.pannerAttr.maxDistance : r._maxDistance,
|
|
refDistance: typeof o.pannerAttr.refDistance < "u" ? o.pannerAttr.refDistance : r._refDistance,
|
|
rolloffFactor: typeof o.pannerAttr.rolloffFactor < "u" ? o.pannerAttr.rolloffFactor : r._rolloffFactor,
|
|
panningModel: typeof o.pannerAttr.panningModel < "u" ? o.pannerAttr.panningModel : r._panningModel
|
|
});
|
|
else
|
|
return i = r._soundById(parseInt(n[0], 10)), i ? i._pannerAttr : r._pannerAttr;
|
|
else n.length === 2 && (o = n[0], a = parseInt(n[1], 10));
|
|
for (var s = r._getSoundIds(a), u = 0; u < s.length; u++)
|
|
if (i = r._soundById(s[u]), i) {
|
|
var c = i._pannerAttr;
|
|
c = {
|
|
coneInnerAngle: typeof o.coneInnerAngle < "u" ? o.coneInnerAngle : c.coneInnerAngle,
|
|
coneOuterAngle: typeof o.coneOuterAngle < "u" ? o.coneOuterAngle : c.coneOuterAngle,
|
|
coneOuterGain: typeof o.coneOuterGain < "u" ? o.coneOuterGain : c.coneOuterGain,
|
|
distanceModel: typeof o.distanceModel < "u" ? o.distanceModel : c.distanceModel,
|
|
maxDistance: typeof o.maxDistance < "u" ? o.maxDistance : c.maxDistance,
|
|
refDistance: typeof o.refDistance < "u" ? o.refDistance : c.refDistance,
|
|
rolloffFactor: typeof o.rolloffFactor < "u" ? o.rolloffFactor : c.rolloffFactor,
|
|
panningModel: typeof o.panningModel < "u" ? o.panningModel : c.panningModel
|
|
};
|
|
var d = i._panner;
|
|
d || (i._pos || (i._pos = r._pos || [0, 0, -0.5]), t(i, "spatial"), d = i._panner), d.coneInnerAngle = c.coneInnerAngle, d.coneOuterAngle = c.coneOuterAngle, d.coneOuterGain = c.coneOuterGain, d.distanceModel = c.distanceModel, d.maxDistance = c.maxDistance, d.refDistance = c.refDistance, d.rolloffFactor = c.rolloffFactor, d.panningModel = c.panningModel;
|
|
}
|
|
return r;
|
|
}, Sound.prototype.init = /* @__PURE__ */ function(r) {
|
|
return function() {
|
|
var n = this, o = n._parent;
|
|
n._orientation = o._orientation, n._stereo = o._stereo, n._pos = o._pos, n._pannerAttr = o._pannerAttr, r.call(this), n._stereo ? o.stereo(n._stereo) : n._pos && o.pos(n._pos[0], n._pos[1], n._pos[2], n._id);
|
|
};
|
|
}(Sound.prototype.init), Sound.prototype.reset = /* @__PURE__ */ function(r) {
|
|
return function() {
|
|
var n = this, o = n._parent;
|
|
return n._orientation = o._orientation, n._stereo = o._stereo, n._pos = o._pos, n._pannerAttr = o._pannerAttr, n._stereo ? o.stereo(n._stereo) : n._pos ? o.pos(n._pos[0], n._pos[1], n._pos[2], n._id) : n._panner && (n._panner.disconnect(0), n._panner = void 0, o._refreshBuffer(n)), r.call(this);
|
|
};
|
|
}(Sound.prototype.reset);
|
|
var t = function(r, n) {
|
|
n = n || "spatial", n === "spatial" ? (r._panner = Howler.ctx.createPanner(), r._panner.coneInnerAngle = r._pannerAttr.coneInnerAngle, r._panner.coneOuterAngle = r._pannerAttr.coneOuterAngle, r._panner.coneOuterGain = r._pannerAttr.coneOuterGain, r._panner.distanceModel = r._pannerAttr.distanceModel, r._panner.maxDistance = r._pannerAttr.maxDistance, r._panner.refDistance = r._pannerAttr.refDistance, r._panner.rolloffFactor = r._pannerAttr.rolloffFactor, r._panner.panningModel = r._pannerAttr.panningModel, typeof r._panner.positionX < "u" ? (r._panner.positionX.setValueAtTime(r._pos[0], Howler.ctx.currentTime), r._panner.positionY.setValueAtTime(r._pos[1], Howler.ctx.currentTime), r._panner.positionZ.setValueAtTime(r._pos[2], Howler.ctx.currentTime)) : r._panner.setPosition(r._pos[0], r._pos[1], r._pos[2]), typeof r._panner.orientationX < "u" ? (r._panner.orientationX.setValueAtTime(r._orientation[0], Howler.ctx.currentTime), r._panner.orientationY.setValueAtTime(r._orientation[1], Howler.ctx.currentTime), r._panner.orientationZ.setValueAtTime(r._orientation[2], Howler.ctx.currentTime)) : r._panner.setOrientation(r._orientation[0], r._orientation[1], r._orientation[2])) : (r._panner = Howler.ctx.createStereoPanner(), r._panner.pan.setValueAtTime(r._stereo, Howler.ctx.currentTime)), r._panner.connect(r._node), r._paused || r._parent.pause(r._id, !0).play(r._id, !0);
|
|
};
|
|
})();
|
|
}(mF)), mF;
|
|
}
|
|
o9e();
|
|
var Zh, Ii;
|
|
const a9e = class yh {
|
|
constructor() {
|
|
DQ(this, Ii), pF(this, Ii, /* @__PURE__ */ new Map());
|
|
}
|
|
static getInstance() {
|
|
return Al(yh, Zh) === void 0 && pF(yh, Zh, new yh()), Al(yh, Zh);
|
|
}
|
|
hasSound(t) {
|
|
return Al(this, Ii).has(t);
|
|
}
|
|
setSound(t, r) {
|
|
Al(this, Ii).set(t, r);
|
|
}
|
|
setSoundOnce(t, r) {
|
|
Al(this, Ii).has(t) || Al(this, Ii).set(t, r);
|
|
}
|
|
getSound(t) {
|
|
return Al(this, Ii).get(t);
|
|
}
|
|
playSound(t) {
|
|
var r;
|
|
(r = Al(this, Ii).get(t)) == null || r.play();
|
|
}
|
|
};
|
|
Zh = /* @__PURE__ */ new WeakMap(), Ii = /* @__PURE__ */ new WeakMap(), DQ(a9e, Zh);
|
|
var gF;
|
|
(function(e) {
|
|
e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave";
|
|
})(gF || (gF = {}));
|
|
let i9e = { data: "" }, s9e = (e) => typeof window == "object" ? ((e ? e.querySelector("#_goober") : window._goober) || Object.assign((e || document.head).appendChild(document.createElement("style")), { innerHTML: " ", id: "_goober" })).firstChild : e || i9e, l9e = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, c9e = /\/\*[^]*?\*\/| +/g, bF = /\n+/g, Hl = (e, t) => {
|
|
let r = "", n = "", o = "";
|
|
for (let a in e) {
|
|
let i = e[a];
|
|
a[0] == "@" ? a[1] == "i" ? r = a + " " + i + ";" : n += a[1] == "f" ? Hl(i, a) : a + "{" + Hl(i, a[1] == "k" ? "" : t) + "}" : typeof i == "object" ? n += Hl(i, t ? t.replace(/([^,])+/g, (s) => a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g, (u) => /&/.test(u) ? u.replace(/&/g, s) : s ? s + " " + u : u)) : a) : i != null && (a = /^--/.test(a) ? a : a.replace(/[A-Z]/g, "-$&").toLowerCase(), o += Hl.p ? Hl.p(a, i) : a + ":" + i + ";");
|
|
}
|
|
return r + (t && o ? t + "{" + o + "}" : o) + n;
|
|
}, Ai = {}, FQ = (e) => {
|
|
if (typeof e == "object") {
|
|
let t = "";
|
|
for (let r in e) t += r + FQ(e[r]);
|
|
return t;
|
|
}
|
|
return e;
|
|
}, u9e = (e, t, r, n, o) => {
|
|
let a = FQ(e), i = Ai[a] || (Ai[a] = ((u) => {
|
|
let c = 0, d = 11;
|
|
for (; c < u.length; ) d = 101 * d + u.charCodeAt(c++) >>> 0;
|
|
return "go" + d;
|
|
})(a));
|
|
if (!Ai[i]) {
|
|
let u = a !== e ? e : ((c) => {
|
|
let d, l, f = [{}];
|
|
for (; d = l9e.exec(c.replace(c9e, "")); ) d[4] ? f.shift() : d[3] ? (l = d[3].replace(bF, " ").trim(), f.unshift(f[0][l] = f[0][l] || {})) : f[0][d[1]] = d[2].replace(bF, " ").trim();
|
|
return f[0];
|
|
})(e);
|
|
Ai[i] = Hl(o ? { ["@keyframes " + i]: u } : u, r ? "" : "." + i);
|
|
}
|
|
let s = r && Ai.g ? Ai.g : null;
|
|
return r && (Ai.g = Ai[i]), ((u, c, d, l) => {
|
|
l ? c.data = c.data.replace(l, u) : c.data.indexOf(u) === -1 && (c.data = d ? u + c.data : c.data + u);
|
|
})(Ai[i], t, n, s), i;
|
|
}, f9e = (e, t, r) => e.reduce((n, o, a) => {
|
|
let i = t[a];
|
|
if (i && i.call) {
|
|
let s = i(r), u = s && s.props && s.props.className || /^go/.test(s) && s;
|
|
i = u ? "." + u : s && typeof s == "object" ? s.props ? "" : Hl(s, "") : s === !1 ? "" : s;
|
|
}
|
|
return n + o + (i ?? "");
|
|
}, "");
|
|
function Jx(e) {
|
|
let t = this || {}, r = e.call ? e(t.p) : e;
|
|
return u9e(r.unshift ? r.raw ? f9e(r, [].slice.call(arguments, 1), t.p) : r.reduce((n, o) => Object.assign(n, o && o.call ? o(t.p) : o), {}) : r, s9e(t.target), t.g, t.o, t.k);
|
|
}
|
|
let LQ, GA, UA;
|
|
Jx.bind({ g: 1 });
|
|
let os = Jx.bind({ k: 1 });
|
|
function d9e(e, t, r, n) {
|
|
Hl.p = t, LQ = e, GA = r, UA = n;
|
|
}
|
|
function Yc(e, t) {
|
|
let r = this || {};
|
|
return function() {
|
|
let n = arguments;
|
|
function o(a, i) {
|
|
let s = Object.assign({}, a), u = s.className || o.className;
|
|
r.p = Object.assign({ theme: GA && GA() }, s), r.o = / *go\d+/.test(u), s.className = Jx.apply(r, n) + (u ? " " + u : "");
|
|
let c = e;
|
|
return e[0] && (c = s.as || e, delete s.as), UA && c[0] && UA(s), LQ(c, s);
|
|
}
|
|
return o;
|
|
};
|
|
}
|
|
var p9e = (e) => typeof e == "function", m9e = (e, t) => p9e(e) ? e(t) : e, h9e = /* @__PURE__ */ (() => {
|
|
let e;
|
|
return () => {
|
|
if (e === void 0 && typeof window < "u") {
|
|
let t = matchMedia("(prefers-reduced-motion: reduce)");
|
|
e = !t || t.matches;
|
|
}
|
|
return e;
|
|
};
|
|
})(), g9e = os`
|
|
from {
|
|
transform: scale(0) rotate(45deg);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1) rotate(45deg);
|
|
opacity: 1;
|
|
}`, b9e = os`
|
|
from {
|
|
transform: scale(0);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}`, y9e = os`
|
|
from {
|
|
transform: scale(0) rotate(90deg);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1) rotate(90deg);
|
|
opacity: 1;
|
|
}`, v9e = Yc("div")`
|
|
width: 20px;
|
|
opacity: 0;
|
|
height: 20px;
|
|
border-radius: 10px;
|
|
background: ${(e) => e.primary || "#ff4b4b"};
|
|
position: relative;
|
|
transform: rotate(45deg);
|
|
|
|
animation: ${g9e} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
|
forwards;
|
|
animation-delay: 100ms;
|
|
|
|
&:after,
|
|
&:before {
|
|
content: '';
|
|
animation: ${b9e} 0.15s ease-out forwards;
|
|
animation-delay: 150ms;
|
|
position: absolute;
|
|
border-radius: 3px;
|
|
opacity: 0;
|
|
background: ${(e) => e.secondary || "#fff"};
|
|
bottom: 9px;
|
|
left: 4px;
|
|
height: 2px;
|
|
width: 12px;
|
|
}
|
|
|
|
&:before {
|
|
animation: ${y9e} 0.15s ease-out forwards;
|
|
animation-delay: 180ms;
|
|
transform: rotate(90deg);
|
|
}
|
|
`, x9e = os`
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
`, w9e = Yc("div")`
|
|
width: 12px;
|
|
height: 12px;
|
|
box-sizing: border-box;
|
|
border: 2px solid;
|
|
border-radius: 100%;
|
|
border-color: ${(e) => e.secondary || "#e0e0e0"};
|
|
border-right-color: ${(e) => e.primary || "#616161"};
|
|
animation: ${x9e} 1s linear infinite;
|
|
`, $9e = os`
|
|
from {
|
|
transform: scale(0) rotate(45deg);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1) rotate(45deg);
|
|
opacity: 1;
|
|
}`, k9e = os`
|
|
0% {
|
|
height: 0;
|
|
width: 0;
|
|
opacity: 0;
|
|
}
|
|
40% {
|
|
height: 0;
|
|
width: 6px;
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
height: 10px;
|
|
}`, _9e = Yc("div")`
|
|
width: 20px;
|
|
opacity: 0;
|
|
height: 20px;
|
|
border-radius: 10px;
|
|
background: ${(e) => e.primary || "#61d345"};
|
|
position: relative;
|
|
transform: rotate(45deg);
|
|
|
|
animation: ${$9e} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
|
forwards;
|
|
animation-delay: 100ms;
|
|
&:after {
|
|
content: '';
|
|
box-sizing: border-box;
|
|
animation: ${k9e} 0.2s ease-out forwards;
|
|
opacity: 0;
|
|
animation-delay: 200ms;
|
|
position: absolute;
|
|
border-right: 2px solid;
|
|
border-bottom: 2px solid;
|
|
border-color: ${(e) => e.secondary || "#fff"};
|
|
bottom: 6px;
|
|
left: 6px;
|
|
height: 10px;
|
|
width: 6px;
|
|
}
|
|
`, O9e = Yc("div")`
|
|
position: absolute;
|
|
`, S9e = Yc("div")`
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
min-width: 20px;
|
|
min-height: 20px;
|
|
`, E9e = os`
|
|
from {
|
|
transform: scale(0.6);
|
|
opacity: 0.4;
|
|
}
|
|
to {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}`, A9e = Yc("div")`
|
|
position: relative;
|
|
transform: scale(0.6);
|
|
opacity: 0.4;
|
|
min-width: 20px;
|
|
animation: ${E9e} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
|
forwards;
|
|
`, P9e = ({ toast: e }) => {
|
|
let { icon: t, type: r, iconTheme: n } = e;
|
|
return t !== void 0 ? typeof t == "string" ? V.createElement(A9e, null, t) : t : r === "blank" ? null : V.createElement(S9e, null, V.createElement(w9e, { ...n }), r !== "loading" && V.createElement(O9e, null, r === "error" ? V.createElement(v9e, { ...n }) : V.createElement(_9e, { ...n })));
|
|
}, C9e = (e) => `
|
|
0% {transform: translate3d(0,${e * -200}%,0) scale(.6); opacity:.5;}
|
|
100% {transform: translate3d(0,0,0) scale(1); opacity:1;}
|
|
`, N9e = (e) => `
|
|
0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}
|
|
100% {transform: translate3d(0,${e * -150}%,-1px) scale(.6); opacity:0;}
|
|
`, T9e = "0%{opacity:0;} 100%{opacity:1;}", I9e = "0%{opacity:1;} 100%{opacity:0;}", j9e = Yc("div")`
|
|
display: flex;
|
|
align-items: center;
|
|
background: #fff;
|
|
color: #363636;
|
|
line-height: 1.3;
|
|
will-change: transform;
|
|
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);
|
|
max-width: 350px;
|
|
pointer-events: auto;
|
|
padding: 8px 10px;
|
|
border-radius: 8px;
|
|
`, R9e = Yc("div")`
|
|
display: flex;
|
|
justify-content: center;
|
|
margin: 4px 10px;
|
|
color: inherit;
|
|
flex: 1 1 auto;
|
|
white-space: pre-line;
|
|
`, M9e = (e, t) => {
|
|
let r = e.includes("top") ? 1 : -1, [n, o] = h9e() ? [T9e, I9e] : [C9e(r), N9e(r)];
|
|
return { animation: t ? `${os(n)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards` : `${os(o)} 0.4s forwards cubic-bezier(.06,.71,.55,1)` };
|
|
};
|
|
V.memo(({ toast: e, position: t, style: r, children: n }) => {
|
|
let o = e.height ? M9e(e.position || t || "top-center", e.visible) : { opacity: 0 }, a = V.createElement(P9e, { toast: e }), i = V.createElement(R9e, { ...e.ariaProps }, m9e(e.message, e));
|
|
return V.createElement(j9e, { className: e.className, style: { ...o, ...r, ...e.style } }, typeof n == "function" ? n({ icon: a, message: i }) : V.createElement(V.Fragment, null, a, i));
|
|
});
|
|
d9e(V.createElement);
|
|
Jx`
|
|
z-index: 9999;
|
|
> * {
|
|
pointer-events: auto;
|
|
}
|
|
`;
|
|
const D9e = () => {
|
|
var u, c, d, l;
|
|
const [e, t] = de(void 0), [r, n] = de(!1), o = async () => {
|
|
n(!0);
|
|
try {
|
|
const f = await Jve();
|
|
t(f);
|
|
} catch (f) {
|
|
console.error("Error fetching Midjourney session", f), t(void 0);
|
|
} finally {
|
|
n(!1);
|
|
}
|
|
};
|
|
ue(() => {
|
|
o();
|
|
}, []), n9e(async (f) => {
|
|
o();
|
|
});
|
|
const a = async () => {
|
|
var f;
|
|
(f = e == null ? void 0 : e.payload) != null && f.can_clear_state ? (await i(), t(void 0)) : await s();
|
|
}, i = async () => {
|
|
try {
|
|
await Mg("midjourney_clear_credentials_command");
|
|
} catch (f) {
|
|
console.error("Error clearing Midjourney credentials", f);
|
|
}
|
|
}, s = async () => {
|
|
try {
|
|
await Mg("midjourney_open_login_command");
|
|
} catch (f) {
|
|
console.error("Error opening Midjourney login", f);
|
|
}
|
|
};
|
|
return /* @__PURE__ */ Te("div", { className: "flex justify-between items-center", children: [
|
|
/* @__PURE__ */ K("span", { children: "Midjourney Account:" }),
|
|
/* @__PURE__ */ K("pre", { children: ((u = e == null ? void 0 : e.payload) == null ? void 0 : u.maybe_email) || "Not logged in" }),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: (c = e == null ? void 0 : e.payload) != null && c.can_clear_state && !r ? "destructive" : (d = e == null ? void 0 : e.payload) != null && d.can_clear_state ? "primary" : "secondary",
|
|
className: "h-[30px]",
|
|
onClick: a,
|
|
disabled: r,
|
|
children: r ? /* @__PURE__ */ K(
|
|
To,
|
|
{
|
|
icon: nx,
|
|
className: "animate-spin text-sm"
|
|
}
|
|
) : (l = e == null ? void 0 : e.payload) != null && l.can_clear_state ? "Disconnect" : "Connect"
|
|
}
|
|
)
|
|
] });
|
|
}, F9e = ({
|
|
globalAccountLogoutCallback: e
|
|
}) => {
|
|
const [t] = de({
|
|
username: "-",
|
|
subscription: "-",
|
|
credits: 0
|
|
}), [r, n] = de(""), [o, a] = de("");
|
|
return /* @__PURE__ */ K(rn, { children: /* @__PURE__ */ Te("div", { className: "space-y-4 text-base-fg", children: [
|
|
/* @__PURE__ */ K(
|
|
yNe,
|
|
{
|
|
globalAccountLogoutCallback: e
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(D9e, {}),
|
|
/* @__PURE__ */ K(YOe, {}),
|
|
/* @__PURE__ */ K(Qje, {})
|
|
] }) });
|
|
}, L9e = (e) => {
|
|
const [t, r] = de(void 0);
|
|
return ue(() => {
|
|
(async () => {
|
|
const o = await r1e();
|
|
r(o.payload);
|
|
})();
|
|
}, []), /* @__PURE__ */ K(rn, { children: /* @__PURE__ */ Te("div", { className: "space-y-4", children: [
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { children: "Artcraft Version" }),
|
|
/* @__PURE__ */ K("div", { children: t == null ? void 0 : t.artcraft_version })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { children: "Artcraft Host" }),
|
|
/* @__PURE__ */ K("div", { children: t == null ? void 0 : t.storyteller_host })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { children: "Git Commit ID" }),
|
|
/* @__PURE__ */ Te("div", { children: [
|
|
t == null ? void 0 : t.git_commit_short_id,
|
|
" · ",
|
|
t == null ? void 0 : t.git_commit_id
|
|
] })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { children: "Git Commit Timestamp" }),
|
|
/* @__PURE__ */ K("div", { children: t == null ? void 0 : t.git_commit_timestamp })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { children: "Build Timestamp" }),
|
|
/* @__PURE__ */ K("div", { children: t == null ? void 0 : t.build_timestamp })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ K(jn, { children: "Operating System" }),
|
|
/* @__PURE__ */ Te("div", { children: [
|
|
t == null ? void 0 : t.os_platform,
|
|
" (",
|
|
t == null ? void 0 : t.os_version,
|
|
")"
|
|
] })
|
|
] })
|
|
] }) });
|
|
};
|
|
function z9e() {
|
|
for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
|
|
t[r] = arguments[r];
|
|
return Ie(
|
|
() => (n) => {
|
|
t.forEach((o) => o(n));
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
t
|
|
);
|
|
}
|
|
const Qx = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u";
|
|
function kp(e) {
|
|
const t = Object.prototype.toString.call(e);
|
|
return t === "[object Window]" || // In Electron context the Window object serializes to [object global]
|
|
t === "[object global]";
|
|
}
|
|
function LC(e) {
|
|
return "nodeType" in e;
|
|
}
|
|
function to(e) {
|
|
var t, r;
|
|
return e ? kp(e) ? e : LC(e) && (t = (r = e.ownerDocument) == null ? void 0 : r.defaultView) != null ? t : window : window;
|
|
}
|
|
function zC(e) {
|
|
const {
|
|
Document: t
|
|
} = to(e);
|
|
return e instanceof t;
|
|
}
|
|
function qb(e) {
|
|
return kp(e) ? !1 : e instanceof to(e).HTMLElement;
|
|
}
|
|
function zQ(e) {
|
|
return e instanceof to(e).SVGElement;
|
|
}
|
|
function _p(e) {
|
|
return e ? kp(e) ? e.document : LC(e) ? zC(e) ? e : qb(e) || zQ(e) ? e.ownerDocument : document : document : document;
|
|
}
|
|
const fi = Qx ? pi : ue;
|
|
function WC(e) {
|
|
const t = ne(e);
|
|
return fi(() => {
|
|
t.current = e;
|
|
}), Ne(function() {
|
|
for (var r = arguments.length, n = new Array(r), o = 0; o < r; o++)
|
|
n[o] = arguments[o];
|
|
return t.current == null ? void 0 : t.current(...n);
|
|
}, []);
|
|
}
|
|
function W9e() {
|
|
const e = ne(null), t = Ne((n, o) => {
|
|
e.current = setInterval(n, o);
|
|
}, []), r = Ne(() => {
|
|
e.current !== null && (clearInterval(e.current), e.current = null);
|
|
}, []);
|
|
return [t, r];
|
|
}
|
|
function Xg(e, t) {
|
|
t === void 0 && (t = [e]);
|
|
const r = ne(e);
|
|
return fi(() => {
|
|
r.current !== e && (r.current = e);
|
|
}, t), r;
|
|
}
|
|
function Kb(e, t) {
|
|
const r = ne();
|
|
return Ie(
|
|
() => {
|
|
const n = e(r.current);
|
|
return r.current = n, n;
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[...t]
|
|
);
|
|
}
|
|
function i0(e) {
|
|
const t = WC(e), r = ne(null), n = Ne(
|
|
(o) => {
|
|
o !== r.current && (t == null || t(o, r.current)), r.current = o;
|
|
},
|
|
//eslint-disable-next-line
|
|
[]
|
|
);
|
|
return [r, n];
|
|
}
|
|
function BA(e) {
|
|
const t = ne();
|
|
return ue(() => {
|
|
t.current = e;
|
|
}, [e]), t.current;
|
|
}
|
|
let Ik = {};
|
|
function Xb(e, t) {
|
|
return Ie(() => {
|
|
if (t)
|
|
return t;
|
|
const r = Ik[e] == null ? 0 : Ik[e] + 1;
|
|
return Ik[e] = r, e + "-" + r;
|
|
}, [e, t]);
|
|
}
|
|
function WQ(e) {
|
|
return function(t) {
|
|
for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++)
|
|
n[o - 1] = arguments[o];
|
|
return n.reduce((a, i) => {
|
|
const s = Object.entries(i);
|
|
for (const [u, c] of s) {
|
|
const d = a[u];
|
|
d != null && (a[u] = d + e * c);
|
|
}
|
|
return a;
|
|
}, {
|
|
...t
|
|
});
|
|
};
|
|
}
|
|
const _d = /* @__PURE__ */ WQ(1), Jg = /* @__PURE__ */ WQ(-1);
|
|
function V9e(e) {
|
|
return "clientX" in e && "clientY" in e;
|
|
}
|
|
function VC(e) {
|
|
if (!e)
|
|
return !1;
|
|
const {
|
|
KeyboardEvent: t
|
|
} = to(e.target);
|
|
return t && e instanceof t;
|
|
}
|
|
function H9e(e) {
|
|
if (!e)
|
|
return !1;
|
|
const {
|
|
TouchEvent: t
|
|
} = to(e.target);
|
|
return t && e instanceof t;
|
|
}
|
|
function YA(e) {
|
|
if (H9e(e)) {
|
|
if (e.touches && e.touches.length) {
|
|
const {
|
|
clientX: t,
|
|
clientY: r
|
|
} = e.touches[0];
|
|
return {
|
|
x: t,
|
|
y: r
|
|
};
|
|
} else if (e.changedTouches && e.changedTouches.length) {
|
|
const {
|
|
clientX: t,
|
|
clientY: r
|
|
} = e.changedTouches[0];
|
|
return {
|
|
x: t,
|
|
y: r
|
|
};
|
|
}
|
|
}
|
|
return V9e(e) ? {
|
|
x: e.clientX,
|
|
y: e.clientY
|
|
} : null;
|
|
}
|
|
const Qg = /* @__PURE__ */ Object.freeze({
|
|
Translate: {
|
|
toString(e) {
|
|
if (!e)
|
|
return;
|
|
const {
|
|
x: t,
|
|
y: r
|
|
} = e;
|
|
return "translate3d(" + (t ? Math.round(t) : 0) + "px, " + (r ? Math.round(r) : 0) + "px, 0)";
|
|
}
|
|
},
|
|
Scale: {
|
|
toString(e) {
|
|
if (!e)
|
|
return;
|
|
const {
|
|
scaleX: t,
|
|
scaleY: r
|
|
} = e;
|
|
return "scaleX(" + t + ") scaleY(" + r + ")";
|
|
}
|
|
},
|
|
Transform: {
|
|
toString(e) {
|
|
if (e)
|
|
return [Qg.Translate.toString(e), Qg.Scale.toString(e)].join(" ");
|
|
}
|
|
},
|
|
Transition: {
|
|
toString(e) {
|
|
let {
|
|
property: t,
|
|
duration: r,
|
|
easing: n
|
|
} = e;
|
|
return t + " " + r + "ms " + n;
|
|
}
|
|
}
|
|
}), yF = "a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";
|
|
function G9e(e) {
|
|
return e.matches(yF) ? e : e.querySelector(yF);
|
|
}
|
|
const U9e = {
|
|
display: "none"
|
|
};
|
|
function B9e(e) {
|
|
let {
|
|
id: t,
|
|
value: r
|
|
} = e;
|
|
return ae.createElement("div", {
|
|
id: t,
|
|
style: U9e
|
|
}, r);
|
|
}
|
|
function Y9e(e) {
|
|
let {
|
|
id: t,
|
|
announcement: r,
|
|
ariaLiveType: n = "assertive"
|
|
} = e;
|
|
const o = {
|
|
position: "fixed",
|
|
top: 0,
|
|
left: 0,
|
|
width: 1,
|
|
height: 1,
|
|
margin: -1,
|
|
border: 0,
|
|
padding: 0,
|
|
overflow: "hidden",
|
|
clip: "rect(0 0 0 0)",
|
|
clipPath: "inset(100%)",
|
|
whiteSpace: "nowrap"
|
|
};
|
|
return ae.createElement("div", {
|
|
id: t,
|
|
style: o,
|
|
role: "status",
|
|
"aria-live": n,
|
|
"aria-atomic": !0
|
|
}, r);
|
|
}
|
|
function q9e() {
|
|
const [e, t] = de("");
|
|
return {
|
|
announce: Ne((n) => {
|
|
n != null && t(n);
|
|
}, []),
|
|
announcement: e
|
|
};
|
|
}
|
|
const VQ = /* @__PURE__ */ zt(null);
|
|
function K9e(e) {
|
|
const t = nt(VQ);
|
|
ue(() => {
|
|
if (!t)
|
|
throw new Error("useDndMonitor must be used within a children of <DndContext>");
|
|
return t(e);
|
|
}, [e, t]);
|
|
}
|
|
function X9e() {
|
|
const [e] = de(() => /* @__PURE__ */ new Set()), t = Ne((n) => (e.add(n), () => e.delete(n)), [e]);
|
|
return [Ne((n) => {
|
|
let {
|
|
type: o,
|
|
event: a
|
|
} = n;
|
|
e.forEach((i) => {
|
|
var s;
|
|
return (s = i[o]) == null ? void 0 : s.call(i, a);
|
|
});
|
|
}, [e]), t];
|
|
}
|
|
const J9e = {
|
|
draggable: `
|
|
To pick up a draggable item, press the space bar.
|
|
While dragging, use the arrow keys to move the item.
|
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
`
|
|
}, Q9e = {
|
|
onDragStart(e) {
|
|
let {
|
|
active: t
|
|
} = e;
|
|
return "Picked up draggable item " + t.id + ".";
|
|
},
|
|
onDragOver(e) {
|
|
let {
|
|
active: t,
|
|
over: r
|
|
} = e;
|
|
return r ? "Draggable item " + t.id + " was moved over droppable area " + r.id + "." : "Draggable item " + t.id + " is no longer over a droppable area.";
|
|
},
|
|
onDragEnd(e) {
|
|
let {
|
|
active: t,
|
|
over: r
|
|
} = e;
|
|
return r ? "Draggable item " + t.id + " was dropped over droppable area " + r.id : "Draggable item " + t.id + " was dropped.";
|
|
},
|
|
onDragCancel(e) {
|
|
let {
|
|
active: t
|
|
} = e;
|
|
return "Dragging was cancelled. Draggable item " + t.id + " was dropped.";
|
|
}
|
|
};
|
|
function Z9e(e) {
|
|
let {
|
|
announcements: t = Q9e,
|
|
container: r,
|
|
hiddenTextDescribedById: n,
|
|
screenReaderInstructions: o = J9e
|
|
} = e;
|
|
const {
|
|
announce: a,
|
|
announcement: i
|
|
} = q9e(), s = Xb("DndLiveRegion"), [u, c] = de(!1);
|
|
if (ue(() => {
|
|
c(!0);
|
|
}, []), K9e(Ie(() => ({
|
|
onDragStart(l) {
|
|
let {
|
|
active: f
|
|
} = l;
|
|
a(t.onDragStart({
|
|
active: f
|
|
}));
|
|
},
|
|
onDragMove(l) {
|
|
let {
|
|
active: f,
|
|
over: p
|
|
} = l;
|
|
t.onDragMove && a(t.onDragMove({
|
|
active: f,
|
|
over: p
|
|
}));
|
|
},
|
|
onDragOver(l) {
|
|
let {
|
|
active: f,
|
|
over: p
|
|
} = l;
|
|
a(t.onDragOver({
|
|
active: f,
|
|
over: p
|
|
}));
|
|
},
|
|
onDragEnd(l) {
|
|
let {
|
|
active: f,
|
|
over: p
|
|
} = l;
|
|
a(t.onDragEnd({
|
|
active: f,
|
|
over: p
|
|
}));
|
|
},
|
|
onDragCancel(l) {
|
|
let {
|
|
active: f,
|
|
over: p
|
|
} = l;
|
|
a(t.onDragCancel({
|
|
active: f,
|
|
over: p
|
|
}));
|
|
}
|
|
}), [a, t])), !u)
|
|
return null;
|
|
const d = ae.createElement(ae.Fragment, null, ae.createElement(B9e, {
|
|
id: n,
|
|
value: o.draggable
|
|
}), ae.createElement(Y9e, {
|
|
id: s,
|
|
announcement: i
|
|
}));
|
|
return r ? C0(d, r) : d;
|
|
}
|
|
var an;
|
|
(function(e) {
|
|
e.DragStart = "dragStart", e.DragMove = "dragMove", e.DragEnd = "dragEnd", e.DragCancel = "dragCancel", e.DragOver = "dragOver", e.RegisterDroppable = "registerDroppable", e.SetDroppableDisabled = "setDroppableDisabled", e.UnregisterDroppable = "unregisterDroppable";
|
|
})(an || (an = {}));
|
|
function s0() {
|
|
}
|
|
function vF(e, t) {
|
|
return Ie(
|
|
() => ({
|
|
sensor: e,
|
|
options: t ?? {}
|
|
}),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[e, t]
|
|
);
|
|
}
|
|
function eRe() {
|
|
for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
|
|
t[r] = arguments[r];
|
|
return Ie(
|
|
() => [...t].filter((n) => n != null),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[...t]
|
|
);
|
|
}
|
|
const la = /* @__PURE__ */ Object.freeze({
|
|
x: 0,
|
|
y: 0
|
|
});
|
|
function HQ(e, t) {
|
|
return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2));
|
|
}
|
|
function GQ(e, t) {
|
|
let {
|
|
data: {
|
|
value: r
|
|
}
|
|
} = e, {
|
|
data: {
|
|
value: n
|
|
}
|
|
} = t;
|
|
return r - n;
|
|
}
|
|
function tRe(e, t) {
|
|
let {
|
|
data: {
|
|
value: r
|
|
}
|
|
} = e, {
|
|
data: {
|
|
value: n
|
|
}
|
|
} = t;
|
|
return n - r;
|
|
}
|
|
function xF(e) {
|
|
let {
|
|
left: t,
|
|
top: r,
|
|
height: n,
|
|
width: o
|
|
} = e;
|
|
return [{
|
|
x: t,
|
|
y: r
|
|
}, {
|
|
x: t + o,
|
|
y: r
|
|
}, {
|
|
x: t,
|
|
y: r + n
|
|
}, {
|
|
x: t + o,
|
|
y: r + n
|
|
}];
|
|
}
|
|
function UQ(e, t) {
|
|
if (!e || e.length === 0)
|
|
return null;
|
|
const [r] = e;
|
|
return r[t];
|
|
}
|
|
function wF(e, t, r) {
|
|
return t === void 0 && (t = e.left), r === void 0 && (r = e.top), {
|
|
x: t + e.width * 0.5,
|
|
y: r + e.height * 0.5
|
|
};
|
|
}
|
|
const rRe = (e) => {
|
|
let {
|
|
collisionRect: t,
|
|
droppableRects: r,
|
|
droppableContainers: n
|
|
} = e;
|
|
const o = wF(t, t.left, t.top), a = [];
|
|
for (const i of n) {
|
|
const {
|
|
id: s
|
|
} = i, u = r.get(s);
|
|
if (u) {
|
|
const c = HQ(wF(u), o);
|
|
a.push({
|
|
id: s,
|
|
data: {
|
|
droppableContainer: i,
|
|
value: c
|
|
}
|
|
});
|
|
}
|
|
}
|
|
return a.sort(GQ);
|
|
}, nRe = (e) => {
|
|
let {
|
|
collisionRect: t,
|
|
droppableRects: r,
|
|
droppableContainers: n
|
|
} = e;
|
|
const o = xF(t), a = [];
|
|
for (const i of n) {
|
|
const {
|
|
id: s
|
|
} = i, u = r.get(s);
|
|
if (u) {
|
|
const c = xF(u), d = o.reduce((f, p, y) => f + HQ(c[y], p), 0), l = Number((d / 4).toFixed(4));
|
|
a.push({
|
|
id: s,
|
|
data: {
|
|
droppableContainer: i,
|
|
value: l
|
|
}
|
|
});
|
|
}
|
|
}
|
|
return a.sort(GQ);
|
|
};
|
|
function oRe(e, t) {
|
|
const r = Math.max(t.top, e.top), n = Math.max(t.left, e.left), o = Math.min(t.left + t.width, e.left + e.width), a = Math.min(t.top + t.height, e.top + e.height), i = o - n, s = a - r;
|
|
if (n < o && r < a) {
|
|
const u = t.width * t.height, c = e.width * e.height, d = i * s, l = d / (u + c - d);
|
|
return Number(l.toFixed(4));
|
|
}
|
|
return 0;
|
|
}
|
|
const aRe = (e) => {
|
|
let {
|
|
collisionRect: t,
|
|
droppableRects: r,
|
|
droppableContainers: n
|
|
} = e;
|
|
const o = [];
|
|
for (const a of n) {
|
|
const {
|
|
id: i
|
|
} = a, s = r.get(i);
|
|
if (s) {
|
|
const u = oRe(s, t);
|
|
u > 0 && o.push({
|
|
id: i,
|
|
data: {
|
|
droppableContainer: a,
|
|
value: u
|
|
}
|
|
});
|
|
}
|
|
}
|
|
return o.sort(tRe);
|
|
};
|
|
function iRe(e, t, r) {
|
|
return {
|
|
...e,
|
|
scaleX: t && r ? t.width / r.width : 1,
|
|
scaleY: t && r ? t.height / r.height : 1
|
|
};
|
|
}
|
|
function BQ(e, t) {
|
|
return e && t ? {
|
|
x: e.left - t.left,
|
|
y: e.top - t.top
|
|
} : la;
|
|
}
|
|
function sRe(e) {
|
|
return function(r) {
|
|
for (var n = arguments.length, o = new Array(n > 1 ? n - 1 : 0), a = 1; a < n; a++)
|
|
o[a - 1] = arguments[a];
|
|
return o.reduce((i, s) => ({
|
|
...i,
|
|
top: i.top + e * s.y,
|
|
bottom: i.bottom + e * s.y,
|
|
left: i.left + e * s.x,
|
|
right: i.right + e * s.x
|
|
}), {
|
|
...r
|
|
});
|
|
};
|
|
}
|
|
const lRe = /* @__PURE__ */ sRe(1);
|
|
function cRe(e) {
|
|
if (e.startsWith("matrix3d(")) {
|
|
const t = e.slice(9, -1).split(/, /);
|
|
return {
|
|
x: +t[12],
|
|
y: +t[13],
|
|
scaleX: +t[0],
|
|
scaleY: +t[5]
|
|
};
|
|
} else if (e.startsWith("matrix(")) {
|
|
const t = e.slice(7, -1).split(/, /);
|
|
return {
|
|
x: +t[4],
|
|
y: +t[5],
|
|
scaleX: +t[0],
|
|
scaleY: +t[3]
|
|
};
|
|
}
|
|
return null;
|
|
}
|
|
function uRe(e, t, r) {
|
|
const n = cRe(t);
|
|
if (!n)
|
|
return e;
|
|
const {
|
|
scaleX: o,
|
|
scaleY: a,
|
|
x: i,
|
|
y: s
|
|
} = n, u = e.left - i - (1 - o) * parseFloat(r), c = e.top - s - (1 - a) * parseFloat(r.slice(r.indexOf(" ") + 1)), d = o ? e.width / o : e.width, l = a ? e.height / a : e.height;
|
|
return {
|
|
width: d,
|
|
height: l,
|
|
top: c,
|
|
right: u + d,
|
|
bottom: c + l,
|
|
left: u
|
|
};
|
|
}
|
|
const fRe = {
|
|
ignoreTransform: !1
|
|
};
|
|
function Op(e, t) {
|
|
t === void 0 && (t = fRe);
|
|
let r = e.getBoundingClientRect();
|
|
if (t.ignoreTransform) {
|
|
const {
|
|
transform: c,
|
|
transformOrigin: d
|
|
} = to(e).getComputedStyle(e);
|
|
c && (r = uRe(r, c, d));
|
|
}
|
|
const {
|
|
top: n,
|
|
left: o,
|
|
width: a,
|
|
height: i,
|
|
bottom: s,
|
|
right: u
|
|
} = r;
|
|
return {
|
|
top: n,
|
|
left: o,
|
|
width: a,
|
|
height: i,
|
|
bottom: s,
|
|
right: u
|
|
};
|
|
}
|
|
function $F(e) {
|
|
return Op(e, {
|
|
ignoreTransform: !0
|
|
});
|
|
}
|
|
function dRe(e) {
|
|
const t = e.innerWidth, r = e.innerHeight;
|
|
return {
|
|
top: 0,
|
|
left: 0,
|
|
right: t,
|
|
bottom: r,
|
|
width: t,
|
|
height: r
|
|
};
|
|
}
|
|
function pRe(e, t) {
|
|
return t === void 0 && (t = to(e).getComputedStyle(e)), t.position === "fixed";
|
|
}
|
|
function mRe(e, t) {
|
|
t === void 0 && (t = to(e).getComputedStyle(e));
|
|
const r = /(auto|scroll|overlay)/;
|
|
return ["overflow", "overflowX", "overflowY"].some((o) => {
|
|
const a = t[o];
|
|
return typeof a == "string" ? r.test(a) : !1;
|
|
});
|
|
}
|
|
function Zx(e, t) {
|
|
const r = [];
|
|
function n(o) {
|
|
if (t != null && r.length >= t || !o)
|
|
return r;
|
|
if (zC(o) && o.scrollingElement != null && !r.includes(o.scrollingElement))
|
|
return r.push(o.scrollingElement), r;
|
|
if (!qb(o) || zQ(o) || r.includes(o))
|
|
return r;
|
|
const a = to(e).getComputedStyle(o);
|
|
return o !== e && mRe(o, a) && r.push(o), pRe(o, a) ? r : n(o.parentNode);
|
|
}
|
|
return e ? n(e) : r;
|
|
}
|
|
function YQ(e) {
|
|
const [t] = Zx(e, 1);
|
|
return t ?? null;
|
|
}
|
|
function jk(e) {
|
|
return !Qx || !e ? null : kp(e) ? e : LC(e) ? zC(e) || e === _p(e).scrollingElement ? window : qb(e) ? e : null : null;
|
|
}
|
|
function qQ(e) {
|
|
return kp(e) ? e.scrollX : e.scrollLeft;
|
|
}
|
|
function KQ(e) {
|
|
return kp(e) ? e.scrollY : e.scrollTop;
|
|
}
|
|
function qA(e) {
|
|
return {
|
|
x: qQ(e),
|
|
y: KQ(e)
|
|
};
|
|
}
|
|
var un;
|
|
(function(e) {
|
|
e[e.Forward = 1] = "Forward", e[e.Backward = -1] = "Backward";
|
|
})(un || (un = {}));
|
|
function XQ(e) {
|
|
return !Qx || !e ? !1 : e === document.scrollingElement;
|
|
}
|
|
function JQ(e) {
|
|
const t = {
|
|
x: 0,
|
|
y: 0
|
|
}, r = XQ(e) ? {
|
|
height: window.innerHeight,
|
|
width: window.innerWidth
|
|
} : {
|
|
height: e.clientHeight,
|
|
width: e.clientWidth
|
|
}, n = {
|
|
x: e.scrollWidth - r.width,
|
|
y: e.scrollHeight - r.height
|
|
}, o = e.scrollTop <= t.y, a = e.scrollLeft <= t.x, i = e.scrollTop >= n.y, s = e.scrollLeft >= n.x;
|
|
return {
|
|
isTop: o,
|
|
isLeft: a,
|
|
isBottom: i,
|
|
isRight: s,
|
|
maxScroll: n,
|
|
minScroll: t
|
|
};
|
|
}
|
|
const hRe = {
|
|
x: 0.2,
|
|
y: 0.2
|
|
};
|
|
function gRe(e, t, r, n, o) {
|
|
let {
|
|
top: a,
|
|
left: i,
|
|
right: s,
|
|
bottom: u
|
|
} = r;
|
|
n === void 0 && (n = 10), o === void 0 && (o = hRe);
|
|
const {
|
|
isTop: c,
|
|
isBottom: d,
|
|
isLeft: l,
|
|
isRight: f
|
|
} = JQ(e), p = {
|
|
x: 0,
|
|
y: 0
|
|
}, y = {
|
|
x: 0,
|
|
y: 0
|
|
}, m = {
|
|
height: t.height * o.y,
|
|
width: t.width * o.x
|
|
};
|
|
return !c && a <= t.top + m.height ? (p.y = un.Backward, y.y = n * Math.abs((t.top + m.height - a) / m.height)) : !d && u >= t.bottom - m.height && (p.y = un.Forward, y.y = n * Math.abs((t.bottom - m.height - u) / m.height)), !f && s >= t.right - m.width ? (p.x = un.Forward, y.x = n * Math.abs((t.right - m.width - s) / m.width)) : !l && i <= t.left + m.width && (p.x = un.Backward, y.x = n * Math.abs((t.left + m.width - i) / m.width)), {
|
|
direction: p,
|
|
speed: y
|
|
};
|
|
}
|
|
function bRe(e) {
|
|
if (e === document.scrollingElement) {
|
|
const {
|
|
innerWidth: a,
|
|
innerHeight: i
|
|
} = window;
|
|
return {
|
|
top: 0,
|
|
left: 0,
|
|
right: a,
|
|
bottom: i,
|
|
width: a,
|
|
height: i
|
|
};
|
|
}
|
|
const {
|
|
top: t,
|
|
left: r,
|
|
right: n,
|
|
bottom: o
|
|
} = e.getBoundingClientRect();
|
|
return {
|
|
top: t,
|
|
left: r,
|
|
right: n,
|
|
bottom: o,
|
|
width: e.clientWidth,
|
|
height: e.clientHeight
|
|
};
|
|
}
|
|
function QQ(e) {
|
|
return e.reduce((t, r) => _d(t, qA(r)), la);
|
|
}
|
|
function yRe(e) {
|
|
return e.reduce((t, r) => t + qQ(r), 0);
|
|
}
|
|
function vRe(e) {
|
|
return e.reduce((t, r) => t + KQ(r), 0);
|
|
}
|
|
function xRe(e, t) {
|
|
if (t === void 0 && (t = Op), !e)
|
|
return;
|
|
const {
|
|
top: r,
|
|
left: n,
|
|
bottom: o,
|
|
right: a
|
|
} = t(e);
|
|
YQ(e) && (o <= 0 || a <= 0 || r >= window.innerHeight || n >= window.innerWidth) && e.scrollIntoView({
|
|
block: "center",
|
|
inline: "center"
|
|
});
|
|
}
|
|
const wRe = [["x", ["left", "right"], yRe], ["y", ["top", "bottom"], vRe]];
|
|
class HC {
|
|
constructor(t, r) {
|
|
this.rect = void 0, this.width = void 0, this.height = void 0, this.top = void 0, this.bottom = void 0, this.right = void 0, this.left = void 0;
|
|
const n = Zx(r), o = QQ(n);
|
|
this.rect = {
|
|
...t
|
|
}, this.width = t.width, this.height = t.height;
|
|
for (const [a, i, s] of wRe)
|
|
for (const u of i)
|
|
Object.defineProperty(this, u, {
|
|
get: () => {
|
|
const c = s(n), d = o[a] - c;
|
|
return this.rect[u] + d;
|
|
},
|
|
enumerable: !0
|
|
});
|
|
Object.defineProperty(this, "rect", {
|
|
enumerable: !1
|
|
});
|
|
}
|
|
}
|
|
class eg {
|
|
constructor(t) {
|
|
this.target = void 0, this.listeners = [], this.removeAll = () => {
|
|
this.listeners.forEach((r) => {
|
|
var n;
|
|
return (n = this.target) == null ? void 0 : n.removeEventListener(...r);
|
|
});
|
|
}, this.target = t;
|
|
}
|
|
add(t, r, n) {
|
|
var o;
|
|
(o = this.target) == null || o.addEventListener(t, r, n), this.listeners.push([t, r, n]);
|
|
}
|
|
}
|
|
function $Re(e) {
|
|
const {
|
|
EventTarget: t
|
|
} = to(e);
|
|
return e instanceof t ? e : _p(e);
|
|
}
|
|
function Rk(e, t) {
|
|
const r = Math.abs(e.x), n = Math.abs(e.y);
|
|
return typeof t == "number" ? Math.sqrt(r ** 2 + n ** 2) > t : "x" in t && "y" in t ? r > t.x && n > t.y : "x" in t ? r > t.x : "y" in t ? n > t.y : !1;
|
|
}
|
|
var _o;
|
|
(function(e) {
|
|
e.Click = "click", e.DragStart = "dragstart", e.Keydown = "keydown", e.ContextMenu = "contextmenu", e.Resize = "resize", e.SelectionChange = "selectionchange", e.VisibilityChange = "visibilitychange";
|
|
})(_o || (_o = {}));
|
|
function kF(e) {
|
|
e.preventDefault();
|
|
}
|
|
function kRe(e) {
|
|
e.stopPropagation();
|
|
}
|
|
var Ht;
|
|
(function(e) {
|
|
e.Space = "Space", e.Down = "ArrowDown", e.Right = "ArrowRight", e.Left = "ArrowLeft", e.Up = "ArrowUp", e.Esc = "Escape", e.Enter = "Enter", e.Tab = "Tab";
|
|
})(Ht || (Ht = {}));
|
|
const ZQ = {
|
|
start: [Ht.Space, Ht.Enter],
|
|
cancel: [Ht.Esc],
|
|
end: [Ht.Space, Ht.Enter, Ht.Tab]
|
|
}, _Re = (e, t) => {
|
|
let {
|
|
currentCoordinates: r
|
|
} = t;
|
|
switch (e.code) {
|
|
case Ht.Right:
|
|
return {
|
|
...r,
|
|
x: r.x + 25
|
|
};
|
|
case Ht.Left:
|
|
return {
|
|
...r,
|
|
x: r.x - 25
|
|
};
|
|
case Ht.Down:
|
|
return {
|
|
...r,
|
|
y: r.y + 25
|
|
};
|
|
case Ht.Up:
|
|
return {
|
|
...r,
|
|
y: r.y - 25
|
|
};
|
|
}
|
|
};
|
|
class GC {
|
|
constructor(t) {
|
|
this.props = void 0, this.autoScrollEnabled = !1, this.referenceCoordinates = void 0, this.listeners = void 0, this.windowListeners = void 0, this.props = t;
|
|
const {
|
|
event: {
|
|
target: r
|
|
}
|
|
} = t;
|
|
this.props = t, this.listeners = new eg(_p(r)), this.windowListeners = new eg(to(r)), this.handleKeyDown = this.handleKeyDown.bind(this), this.handleCancel = this.handleCancel.bind(this), this.attach();
|
|
}
|
|
attach() {
|
|
this.handleStart(), this.windowListeners.add(_o.Resize, this.handleCancel), this.windowListeners.add(_o.VisibilityChange, this.handleCancel), setTimeout(() => this.listeners.add(_o.Keydown, this.handleKeyDown));
|
|
}
|
|
handleStart() {
|
|
const {
|
|
activeNode: t,
|
|
onStart: r
|
|
} = this.props, n = t.node.current;
|
|
n && xRe(n), r(la);
|
|
}
|
|
handleKeyDown(t) {
|
|
if (VC(t)) {
|
|
const {
|
|
active: r,
|
|
context: n,
|
|
options: o
|
|
} = this.props, {
|
|
keyboardCodes: a = ZQ,
|
|
coordinateGetter: i = _Re,
|
|
scrollBehavior: s = "smooth"
|
|
} = o, {
|
|
code: u
|
|
} = t;
|
|
if (a.end.includes(u)) {
|
|
this.handleEnd(t);
|
|
return;
|
|
}
|
|
if (a.cancel.includes(u)) {
|
|
this.handleCancel(t);
|
|
return;
|
|
}
|
|
const {
|
|
collisionRect: c
|
|
} = n.current, d = c ? {
|
|
x: c.left,
|
|
y: c.top
|
|
} : la;
|
|
this.referenceCoordinates || (this.referenceCoordinates = d);
|
|
const l = i(t, {
|
|
active: r,
|
|
context: n.current,
|
|
currentCoordinates: d
|
|
});
|
|
if (l) {
|
|
const f = Jg(l, d), p = {
|
|
x: 0,
|
|
y: 0
|
|
}, {
|
|
scrollableAncestors: y
|
|
} = n.current;
|
|
for (const m of y) {
|
|
const h = t.code, {
|
|
isTop: w,
|
|
isRight: $,
|
|
isLeft: _,
|
|
isBottom: S,
|
|
maxScroll: b,
|
|
minScroll: F
|
|
} = JQ(m), z = bRe(m), q = {
|
|
x: Math.min(h === Ht.Right ? z.right - z.width / 2 : z.right, Math.max(h === Ht.Right ? z.left : z.left + z.width / 2, l.x)),
|
|
y: Math.min(h === Ht.Down ? z.bottom - z.height / 2 : z.bottom, Math.max(h === Ht.Down ? z.top : z.top + z.height / 2, l.y))
|
|
}, Y = h === Ht.Right && !$ || h === Ht.Left && !_, B = h === Ht.Down && !S || h === Ht.Up && !w;
|
|
if (Y && q.x !== l.x) {
|
|
const Z = m.scrollLeft + f.x, M = h === Ht.Right && Z <= b.x || h === Ht.Left && Z >= F.x;
|
|
if (M && !f.y) {
|
|
m.scrollTo({
|
|
left: Z,
|
|
behavior: s
|
|
});
|
|
return;
|
|
}
|
|
M ? p.x = m.scrollLeft - Z : p.x = h === Ht.Right ? m.scrollLeft - b.x : m.scrollLeft - F.x, p.x && m.scrollBy({
|
|
left: -p.x,
|
|
behavior: s
|
|
});
|
|
break;
|
|
} else if (B && q.y !== l.y) {
|
|
const Z = m.scrollTop + f.y, M = h === Ht.Down && Z <= b.y || h === Ht.Up && Z >= F.y;
|
|
if (M && !f.x) {
|
|
m.scrollTo({
|
|
top: Z,
|
|
behavior: s
|
|
});
|
|
return;
|
|
}
|
|
M ? p.y = m.scrollTop - Z : p.y = h === Ht.Down ? m.scrollTop - b.y : m.scrollTop - F.y, p.y && m.scrollBy({
|
|
top: -p.y,
|
|
behavior: s
|
|
});
|
|
break;
|
|
}
|
|
}
|
|
this.handleMove(t, _d(Jg(l, this.referenceCoordinates), p));
|
|
}
|
|
}
|
|
}
|
|
handleMove(t, r) {
|
|
const {
|
|
onMove: n
|
|
} = this.props;
|
|
t.preventDefault(), n(r);
|
|
}
|
|
handleEnd(t) {
|
|
const {
|
|
onEnd: r
|
|
} = this.props;
|
|
t.preventDefault(), this.detach(), r();
|
|
}
|
|
handleCancel(t) {
|
|
const {
|
|
onCancel: r
|
|
} = this.props;
|
|
t.preventDefault(), this.detach(), r();
|
|
}
|
|
detach() {
|
|
this.listeners.removeAll(), this.windowListeners.removeAll();
|
|
}
|
|
}
|
|
GC.activators = [{
|
|
eventName: "onKeyDown",
|
|
handler: (e, t, r) => {
|
|
let {
|
|
keyboardCodes: n = ZQ,
|
|
onActivation: o
|
|
} = t, {
|
|
active: a
|
|
} = r;
|
|
const {
|
|
code: i
|
|
} = e.nativeEvent;
|
|
if (n.start.includes(i)) {
|
|
const s = a.activatorNode.current;
|
|
return s && e.target !== s ? !1 : (e.preventDefault(), o == null || o({
|
|
event: e.nativeEvent
|
|
}), !0);
|
|
}
|
|
return !1;
|
|
}
|
|
}];
|
|
function _F(e) {
|
|
return !!(e && "distance" in e);
|
|
}
|
|
function OF(e) {
|
|
return !!(e && "delay" in e);
|
|
}
|
|
class UC {
|
|
constructor(t, r, n) {
|
|
var o;
|
|
n === void 0 && (n = $Re(t.event.target)), this.props = void 0, this.events = void 0, this.autoScrollEnabled = !0, this.document = void 0, this.activated = !1, this.initialCoordinates = void 0, this.timeoutId = null, this.listeners = void 0, this.documentListeners = void 0, this.windowListeners = void 0, this.props = t, this.events = r;
|
|
const {
|
|
event: a
|
|
} = t, {
|
|
target: i
|
|
} = a;
|
|
this.props = t, this.events = r, this.document = _p(i), this.documentListeners = new eg(this.document), this.listeners = new eg(n), this.windowListeners = new eg(to(i)), this.initialCoordinates = (o = YA(a)) != null ? o : la, this.handleStart = this.handleStart.bind(this), this.handleMove = this.handleMove.bind(this), this.handleEnd = this.handleEnd.bind(this), this.handleCancel = this.handleCancel.bind(this), this.handleKeydown = this.handleKeydown.bind(this), this.removeTextSelection = this.removeTextSelection.bind(this), this.attach();
|
|
}
|
|
attach() {
|
|
const {
|
|
events: t,
|
|
props: {
|
|
options: {
|
|
activationConstraint: r,
|
|
bypassActivationConstraint: n
|
|
}
|
|
}
|
|
} = this;
|
|
if (this.listeners.add(t.move.name, this.handleMove, {
|
|
passive: !1
|
|
}), this.listeners.add(t.end.name, this.handleEnd), t.cancel && this.listeners.add(t.cancel.name, this.handleCancel), this.windowListeners.add(_o.Resize, this.handleCancel), this.windowListeners.add(_o.DragStart, kF), this.windowListeners.add(_o.VisibilityChange, this.handleCancel), this.windowListeners.add(_o.ContextMenu, kF), this.documentListeners.add(_o.Keydown, this.handleKeydown), r) {
|
|
if (n != null && n({
|
|
event: this.props.event,
|
|
activeNode: this.props.activeNode,
|
|
options: this.props.options
|
|
}))
|
|
return this.handleStart();
|
|
if (OF(r)) {
|
|
this.timeoutId = setTimeout(this.handleStart, r.delay), this.handlePending(r);
|
|
return;
|
|
}
|
|
if (_F(r)) {
|
|
this.handlePending(r);
|
|
return;
|
|
}
|
|
}
|
|
this.handleStart();
|
|
}
|
|
detach() {
|
|
this.listeners.removeAll(), this.windowListeners.removeAll(), setTimeout(this.documentListeners.removeAll, 50), this.timeoutId !== null && (clearTimeout(this.timeoutId), this.timeoutId = null);
|
|
}
|
|
handlePending(t, r) {
|
|
const {
|
|
active: n,
|
|
onPending: o
|
|
} = this.props;
|
|
o(n, t, this.initialCoordinates, r);
|
|
}
|
|
handleStart() {
|
|
const {
|
|
initialCoordinates: t
|
|
} = this, {
|
|
onStart: r
|
|
} = this.props;
|
|
t && (this.activated = !0, this.documentListeners.add(_o.Click, kRe, {
|
|
capture: !0
|
|
}), this.removeTextSelection(), this.documentListeners.add(_o.SelectionChange, this.removeTextSelection), r(t));
|
|
}
|
|
handleMove(t) {
|
|
var r;
|
|
const {
|
|
activated: n,
|
|
initialCoordinates: o,
|
|
props: a
|
|
} = this, {
|
|
onMove: i,
|
|
options: {
|
|
activationConstraint: s
|
|
}
|
|
} = a;
|
|
if (!o)
|
|
return;
|
|
const u = (r = YA(t)) != null ? r : la, c = Jg(o, u);
|
|
if (!n && s) {
|
|
if (_F(s)) {
|
|
if (s.tolerance != null && Rk(c, s.tolerance))
|
|
return this.handleCancel();
|
|
if (Rk(c, s.distance))
|
|
return this.handleStart();
|
|
}
|
|
if (OF(s) && Rk(c, s.tolerance))
|
|
return this.handleCancel();
|
|
this.handlePending(s, c);
|
|
return;
|
|
}
|
|
t.cancelable && t.preventDefault(), i(u);
|
|
}
|
|
handleEnd() {
|
|
const {
|
|
onAbort: t,
|
|
onEnd: r
|
|
} = this.props;
|
|
this.detach(), this.activated || t(this.props.active), r();
|
|
}
|
|
handleCancel() {
|
|
const {
|
|
onAbort: t,
|
|
onCancel: r
|
|
} = this.props;
|
|
this.detach(), this.activated || t(this.props.active), r();
|
|
}
|
|
handleKeydown(t) {
|
|
t.code === Ht.Esc && this.handleCancel();
|
|
}
|
|
removeTextSelection() {
|
|
var t;
|
|
(t = this.document.getSelection()) == null || t.removeAllRanges();
|
|
}
|
|
}
|
|
const ORe = {
|
|
cancel: {
|
|
name: "pointercancel"
|
|
},
|
|
move: {
|
|
name: "pointermove"
|
|
},
|
|
end: {
|
|
name: "pointerup"
|
|
}
|
|
};
|
|
class BC extends UC {
|
|
constructor(t) {
|
|
const {
|
|
event: r
|
|
} = t, n = _p(r.target);
|
|
super(t, ORe, n);
|
|
}
|
|
}
|
|
BC.activators = [{
|
|
eventName: "onPointerDown",
|
|
handler: (e, t) => {
|
|
let {
|
|
nativeEvent: r
|
|
} = e, {
|
|
onActivation: n
|
|
} = t;
|
|
return !r.isPrimary || r.button !== 0 ? !1 : (n == null || n({
|
|
event: r
|
|
}), !0);
|
|
}
|
|
}];
|
|
const SRe = {
|
|
move: {
|
|
name: "mousemove"
|
|
},
|
|
end: {
|
|
name: "mouseup"
|
|
}
|
|
};
|
|
var KA;
|
|
(function(e) {
|
|
e[e.RightClick = 2] = "RightClick";
|
|
})(KA || (KA = {}));
|
|
class ERe extends UC {
|
|
constructor(t) {
|
|
super(t, SRe, _p(t.event.target));
|
|
}
|
|
}
|
|
ERe.activators = [{
|
|
eventName: "onMouseDown",
|
|
handler: (e, t) => {
|
|
let {
|
|
nativeEvent: r
|
|
} = e, {
|
|
onActivation: n
|
|
} = t;
|
|
return r.button === KA.RightClick ? !1 : (n == null || n({
|
|
event: r
|
|
}), !0);
|
|
}
|
|
}];
|
|
const Mk = {
|
|
cancel: {
|
|
name: "touchcancel"
|
|
},
|
|
move: {
|
|
name: "touchmove"
|
|
},
|
|
end: {
|
|
name: "touchend"
|
|
}
|
|
};
|
|
class ARe extends UC {
|
|
constructor(t) {
|
|
super(t, Mk);
|
|
}
|
|
static setup() {
|
|
return window.addEventListener(Mk.move.name, t, {
|
|
capture: !1,
|
|
passive: !1
|
|
}), function() {
|
|
window.removeEventListener(Mk.move.name, t);
|
|
};
|
|
function t() {
|
|
}
|
|
}
|
|
}
|
|
ARe.activators = [{
|
|
eventName: "onTouchStart",
|
|
handler: (e, t) => {
|
|
let {
|
|
nativeEvent: r
|
|
} = e, {
|
|
onActivation: n
|
|
} = t;
|
|
const {
|
|
touches: o
|
|
} = r;
|
|
return o.length > 1 ? !1 : (n == null || n({
|
|
event: r
|
|
}), !0);
|
|
}
|
|
}];
|
|
var tg;
|
|
(function(e) {
|
|
e[e.Pointer = 0] = "Pointer", e[e.DraggableRect = 1] = "DraggableRect";
|
|
})(tg || (tg = {}));
|
|
var l0;
|
|
(function(e) {
|
|
e[e.TreeOrder = 0] = "TreeOrder", e[e.ReversedTreeOrder = 1] = "ReversedTreeOrder";
|
|
})(l0 || (l0 = {}));
|
|
function PRe(e) {
|
|
let {
|
|
acceleration: t,
|
|
activator: r = tg.Pointer,
|
|
canScroll: n,
|
|
draggingRect: o,
|
|
enabled: a,
|
|
interval: i = 5,
|
|
order: s = l0.TreeOrder,
|
|
pointerCoordinates: u,
|
|
scrollableAncestors: c,
|
|
scrollableAncestorRects: d,
|
|
delta: l,
|
|
threshold: f
|
|
} = e;
|
|
const p = NRe({
|
|
delta: l,
|
|
disabled: !a
|
|
}), [y, m] = W9e(), h = ne({
|
|
x: 0,
|
|
y: 0
|
|
}), w = ne({
|
|
x: 0,
|
|
y: 0
|
|
}), $ = Ie(() => {
|
|
switch (r) {
|
|
case tg.Pointer:
|
|
return u ? {
|
|
top: u.y,
|
|
bottom: u.y,
|
|
left: u.x,
|
|
right: u.x
|
|
} : null;
|
|
case tg.DraggableRect:
|
|
return o;
|
|
}
|
|
}, [r, o, u]), _ = ne(null), S = Ne(() => {
|
|
const F = _.current;
|
|
if (!F)
|
|
return;
|
|
const z = h.current.x * w.current.x, q = h.current.y * w.current.y;
|
|
F.scrollBy(z, q);
|
|
}, []), b = Ie(() => s === l0.TreeOrder ? [...c].reverse() : c, [s, c]);
|
|
ue(
|
|
() => {
|
|
if (!a || !c.length || !$) {
|
|
m();
|
|
return;
|
|
}
|
|
for (const F of b) {
|
|
if ((n == null ? void 0 : n(F)) === !1)
|
|
continue;
|
|
const z = c.indexOf(F), q = d[z];
|
|
if (!q)
|
|
continue;
|
|
const {
|
|
direction: Y,
|
|
speed: B
|
|
} = gRe(F, q, $, t, f);
|
|
for (const Z of ["x", "y"])
|
|
p[Z][Y[Z]] || (B[Z] = 0, Y[Z] = 0);
|
|
if (B.x > 0 || B.y > 0) {
|
|
m(), _.current = F, y(S, i), h.current = B, w.current = Y;
|
|
return;
|
|
}
|
|
}
|
|
h.current = {
|
|
x: 0,
|
|
y: 0
|
|
}, w.current = {
|
|
x: 0,
|
|
y: 0
|
|
}, m();
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[
|
|
t,
|
|
S,
|
|
n,
|
|
m,
|
|
a,
|
|
i,
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
JSON.stringify($),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
JSON.stringify(p),
|
|
y,
|
|
c,
|
|
b,
|
|
d,
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
JSON.stringify(f)
|
|
]
|
|
);
|
|
}
|
|
const CRe = {
|
|
x: {
|
|
[un.Backward]: !1,
|
|
[un.Forward]: !1
|
|
},
|
|
y: {
|
|
[un.Backward]: !1,
|
|
[un.Forward]: !1
|
|
}
|
|
};
|
|
function NRe(e) {
|
|
let {
|
|
delta: t,
|
|
disabled: r
|
|
} = e;
|
|
const n = BA(t);
|
|
return Kb((o) => {
|
|
if (r || !n || !o)
|
|
return CRe;
|
|
const a = {
|
|
x: Math.sign(t.x - n.x),
|
|
y: Math.sign(t.y - n.y)
|
|
};
|
|
return {
|
|
x: {
|
|
[un.Backward]: o.x[un.Backward] || a.x === -1,
|
|
[un.Forward]: o.x[un.Forward] || a.x === 1
|
|
},
|
|
y: {
|
|
[un.Backward]: o.y[un.Backward] || a.y === -1,
|
|
[un.Forward]: o.y[un.Forward] || a.y === 1
|
|
}
|
|
};
|
|
}, [r, t, n]);
|
|
}
|
|
function TRe(e, t) {
|
|
const r = t != null ? e.get(t) : void 0, n = r ? r.node.current : null;
|
|
return Kb((o) => {
|
|
var a;
|
|
return t == null ? null : (a = n ?? o) != null ? a : null;
|
|
}, [n, t]);
|
|
}
|
|
function IRe(e, t) {
|
|
return Ie(() => e.reduce((r, n) => {
|
|
const {
|
|
sensor: o
|
|
} = n, a = o.activators.map((i) => ({
|
|
eventName: i.eventName,
|
|
handler: t(i.handler, n)
|
|
}));
|
|
return [...r, ...a];
|
|
}, []), [e, t]);
|
|
}
|
|
var Zg;
|
|
(function(e) {
|
|
e[e.Always = 0] = "Always", e[e.BeforeDragging = 1] = "BeforeDragging", e[e.WhileDragging = 2] = "WhileDragging";
|
|
})(Zg || (Zg = {}));
|
|
var XA;
|
|
(function(e) {
|
|
e.Optimized = "optimized";
|
|
})(XA || (XA = {}));
|
|
const SF = /* @__PURE__ */ new Map();
|
|
function jRe(e, t) {
|
|
let {
|
|
dragging: r,
|
|
dependencies: n,
|
|
config: o
|
|
} = t;
|
|
const [a, i] = de(null), {
|
|
frequency: s,
|
|
measure: u,
|
|
strategy: c
|
|
} = o, d = ne(e), l = h(), f = Xg(l), p = Ne(function(w) {
|
|
w === void 0 && (w = []), !f.current && i(($) => $ === null ? w : $.concat(w.filter((_) => !$.includes(_))));
|
|
}, [f]), y = ne(null), m = Kb((w) => {
|
|
if (l && !r)
|
|
return SF;
|
|
if (!w || w === SF || d.current !== e || a != null) {
|
|
const $ = /* @__PURE__ */ new Map();
|
|
for (let _ of e) {
|
|
if (!_)
|
|
continue;
|
|
if (a && a.length > 0 && !a.includes(_.id) && _.rect.current) {
|
|
$.set(_.id, _.rect.current);
|
|
continue;
|
|
}
|
|
const S = _.node.current, b = S ? new HC(u(S), S) : null;
|
|
_.rect.current = b, b && $.set(_.id, b);
|
|
}
|
|
return $;
|
|
}
|
|
return w;
|
|
}, [e, a, r, l, u]);
|
|
return ue(() => {
|
|
d.current = e;
|
|
}, [e]), ue(
|
|
() => {
|
|
l || p();
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[r, l]
|
|
), ue(
|
|
() => {
|
|
a && a.length > 0 && i(null);
|
|
},
|
|
//eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[JSON.stringify(a)]
|
|
), ue(
|
|
() => {
|
|
l || typeof s != "number" || y.current !== null || (y.current = setTimeout(() => {
|
|
p(), y.current = null;
|
|
}, s));
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[s, l, p, ...n]
|
|
), {
|
|
droppableRects: m,
|
|
measureDroppableContainers: p,
|
|
measuringScheduled: a != null
|
|
};
|
|
function h() {
|
|
switch (c) {
|
|
case Zg.Always:
|
|
return !1;
|
|
case Zg.BeforeDragging:
|
|
return r;
|
|
default:
|
|
return !r;
|
|
}
|
|
}
|
|
}
|
|
function eZ(e, t) {
|
|
return Kb((r) => e ? r || (typeof t == "function" ? t(e) : e) : null, [t, e]);
|
|
}
|
|
function RRe(e, t) {
|
|
return eZ(e, t);
|
|
}
|
|
function MRe(e) {
|
|
let {
|
|
callback: t,
|
|
disabled: r
|
|
} = e;
|
|
const n = WC(t), o = Ie(() => {
|
|
if (r || typeof window > "u" || typeof window.MutationObserver > "u")
|
|
return;
|
|
const {
|
|
MutationObserver: a
|
|
} = window;
|
|
return new a(n);
|
|
}, [n, r]);
|
|
return ue(() => () => o == null ? void 0 : o.disconnect(), [o]), o;
|
|
}
|
|
function ew(e) {
|
|
let {
|
|
callback: t,
|
|
disabled: r
|
|
} = e;
|
|
const n = WC(t), o = Ie(
|
|
() => {
|
|
if (r || typeof window > "u" || typeof window.ResizeObserver > "u")
|
|
return;
|
|
const {
|
|
ResizeObserver: a
|
|
} = window;
|
|
return new a(n);
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[r]
|
|
);
|
|
return ue(() => () => o == null ? void 0 : o.disconnect(), [o]), o;
|
|
}
|
|
function DRe(e) {
|
|
return new HC(Op(e), e);
|
|
}
|
|
function EF(e, t, r) {
|
|
t === void 0 && (t = DRe);
|
|
const [n, o] = de(null);
|
|
function a() {
|
|
o((u) => {
|
|
if (!e)
|
|
return null;
|
|
if (e.isConnected === !1) {
|
|
var c;
|
|
return (c = u ?? r) != null ? c : null;
|
|
}
|
|
const d = t(e);
|
|
return JSON.stringify(u) === JSON.stringify(d) ? u : d;
|
|
});
|
|
}
|
|
const i = MRe({
|
|
callback(u) {
|
|
if (e)
|
|
for (const c of u) {
|
|
const {
|
|
type: d,
|
|
target: l
|
|
} = c;
|
|
if (d === "childList" && l instanceof HTMLElement && l.contains(e)) {
|
|
a();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}), s = ew({
|
|
callback: a
|
|
});
|
|
return fi(() => {
|
|
a(), e ? (s == null || s.observe(e), i == null || i.observe(document.body, {
|
|
childList: !0,
|
|
subtree: !0
|
|
})) : (s == null || s.disconnect(), i == null || i.disconnect());
|
|
}, [e]), n;
|
|
}
|
|
function FRe(e) {
|
|
const t = eZ(e);
|
|
return BQ(e, t);
|
|
}
|
|
const AF = [];
|
|
function LRe(e) {
|
|
const t = ne(e), r = Kb((n) => e ? n && n !== AF && e && t.current && e.parentNode === t.current.parentNode ? n : Zx(e) : AF, [e]);
|
|
return ue(() => {
|
|
t.current = e;
|
|
}, [e]), r;
|
|
}
|
|
function zRe(e) {
|
|
const [t, r] = de(null), n = ne(e), o = Ne((a) => {
|
|
const i = jk(a.target);
|
|
i && r((s) => s ? (s.set(i, qA(i)), new Map(s)) : null);
|
|
}, []);
|
|
return ue(() => {
|
|
const a = n.current;
|
|
if (e !== a) {
|
|
i(a);
|
|
const s = e.map((u) => {
|
|
const c = jk(u);
|
|
return c ? (c.addEventListener("scroll", o, {
|
|
passive: !0
|
|
}), [c, qA(c)]) : null;
|
|
}).filter((u) => u != null);
|
|
r(s.length ? new Map(s) : null), n.current = e;
|
|
}
|
|
return () => {
|
|
i(e), i(a);
|
|
};
|
|
function i(s) {
|
|
s.forEach((u) => {
|
|
const c = jk(u);
|
|
c == null || c.removeEventListener("scroll", o);
|
|
});
|
|
}
|
|
}, [o, e]), Ie(() => e.length ? t ? Array.from(t.values()).reduce((a, i) => _d(a, i), la) : QQ(e) : la, [e, t]);
|
|
}
|
|
function PF(e, t) {
|
|
t === void 0 && (t = []);
|
|
const r = ne(null);
|
|
return ue(
|
|
() => {
|
|
r.current = null;
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
t
|
|
), ue(() => {
|
|
const n = e !== la;
|
|
n && !r.current && (r.current = e), !n && r.current && (r.current = null);
|
|
}, [e]), r.current ? Jg(e, r.current) : la;
|
|
}
|
|
function WRe(e) {
|
|
ue(
|
|
() => {
|
|
if (!Qx)
|
|
return;
|
|
const t = e.map((r) => {
|
|
let {
|
|
sensor: n
|
|
} = r;
|
|
return n.setup == null ? void 0 : n.setup();
|
|
});
|
|
return () => {
|
|
for (const r of t)
|
|
r == null || r();
|
|
};
|
|
},
|
|
// TO-DO: Sensors length could theoretically change which would not be a valid dependency
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
e.map((t) => {
|
|
let {
|
|
sensor: r
|
|
} = t;
|
|
return r;
|
|
})
|
|
);
|
|
}
|
|
function VRe(e, t) {
|
|
return Ie(() => e.reduce((r, n) => {
|
|
let {
|
|
eventName: o,
|
|
handler: a
|
|
} = n;
|
|
return r[o] = (i) => {
|
|
a(i, t);
|
|
}, r;
|
|
}, {}), [e, t]);
|
|
}
|
|
function tZ(e) {
|
|
return Ie(() => e ? dRe(e) : null, [e]);
|
|
}
|
|
const CF = [];
|
|
function HRe(e, t) {
|
|
t === void 0 && (t = Op);
|
|
const [r] = e, n = tZ(r ? to(r) : null), [o, a] = de(CF);
|
|
function i() {
|
|
a(() => e.length ? e.map((u) => XQ(u) ? n : new HC(t(u), u)) : CF);
|
|
}
|
|
const s = ew({
|
|
callback: i
|
|
});
|
|
return fi(() => {
|
|
s == null || s.disconnect(), i(), e.forEach((u) => s == null ? void 0 : s.observe(u));
|
|
}, [e]), o;
|
|
}
|
|
function GRe(e) {
|
|
if (!e)
|
|
return null;
|
|
if (e.children.length > 1)
|
|
return e;
|
|
const t = e.children[0];
|
|
return qb(t) ? t : e;
|
|
}
|
|
function URe(e) {
|
|
let {
|
|
measure: t
|
|
} = e;
|
|
const [r, n] = de(null), o = Ne((c) => {
|
|
for (const {
|
|
target: d
|
|
} of c)
|
|
if (qb(d)) {
|
|
n((l) => {
|
|
const f = t(d);
|
|
return l ? {
|
|
...l,
|
|
width: f.width,
|
|
height: f.height
|
|
} : f;
|
|
});
|
|
break;
|
|
}
|
|
}, [t]), a = ew({
|
|
callback: o
|
|
}), i = Ne((c) => {
|
|
const d = GRe(c);
|
|
a == null || a.disconnect(), d && (a == null || a.observe(d)), n(d ? t(d) : null);
|
|
}, [t, a]), [s, u] = i0(i);
|
|
return Ie(() => ({
|
|
nodeRef: s,
|
|
rect: r,
|
|
setRef: u
|
|
}), [r, s, u]);
|
|
}
|
|
const BRe = [{
|
|
sensor: BC,
|
|
options: {}
|
|
}, {
|
|
sensor: GC,
|
|
options: {}
|
|
}], YRe = {
|
|
current: {}
|
|
}, Zv = {
|
|
draggable: {
|
|
measure: $F
|
|
},
|
|
droppable: {
|
|
measure: $F,
|
|
strategy: Zg.WhileDragging,
|
|
frequency: XA.Optimized
|
|
},
|
|
dragOverlay: {
|
|
measure: Op
|
|
}
|
|
};
|
|
class rg extends Map {
|
|
get(t) {
|
|
var r;
|
|
return t != null && (r = super.get(t)) != null ? r : void 0;
|
|
}
|
|
toArray() {
|
|
return Array.from(this.values());
|
|
}
|
|
getEnabled() {
|
|
return this.toArray().filter((t) => {
|
|
let {
|
|
disabled: r
|
|
} = t;
|
|
return !r;
|
|
});
|
|
}
|
|
getNodeFor(t) {
|
|
var r, n;
|
|
return (r = (n = this.get(t)) == null ? void 0 : n.node.current) != null ? r : void 0;
|
|
}
|
|
}
|
|
const qRe = {
|
|
activatorEvent: null,
|
|
active: null,
|
|
activeNode: null,
|
|
activeNodeRect: null,
|
|
collisions: null,
|
|
containerNodeRect: null,
|
|
draggableNodes: /* @__PURE__ */ new Map(),
|
|
droppableRects: /* @__PURE__ */ new Map(),
|
|
droppableContainers: /* @__PURE__ */ new rg(),
|
|
over: null,
|
|
dragOverlay: {
|
|
nodeRef: {
|
|
current: null
|
|
},
|
|
rect: null,
|
|
setRef: s0
|
|
},
|
|
scrollableAncestors: [],
|
|
scrollableAncestorRects: [],
|
|
measuringConfiguration: Zv,
|
|
measureDroppableContainers: s0,
|
|
windowRect: null,
|
|
measuringScheduled: !1
|
|
}, KRe = {
|
|
activatorEvent: null,
|
|
activators: [],
|
|
active: null,
|
|
activeNodeRect: null,
|
|
ariaDescribedById: {
|
|
draggable: ""
|
|
},
|
|
dispatch: s0,
|
|
draggableNodes: /* @__PURE__ */ new Map(),
|
|
over: null,
|
|
measureDroppableContainers: s0
|
|
}, tw = /* @__PURE__ */ zt(KRe), rZ = /* @__PURE__ */ zt(qRe);
|
|
function XRe() {
|
|
return {
|
|
draggable: {
|
|
active: null,
|
|
initialCoordinates: {
|
|
x: 0,
|
|
y: 0
|
|
},
|
|
nodes: /* @__PURE__ */ new Map(),
|
|
translate: {
|
|
x: 0,
|
|
y: 0
|
|
}
|
|
},
|
|
droppable: {
|
|
containers: new rg()
|
|
}
|
|
};
|
|
}
|
|
function JRe(e, t) {
|
|
switch (t.type) {
|
|
case an.DragStart:
|
|
return {
|
|
...e,
|
|
draggable: {
|
|
...e.draggable,
|
|
initialCoordinates: t.initialCoordinates,
|
|
active: t.active
|
|
}
|
|
};
|
|
case an.DragMove:
|
|
return e.draggable.active == null ? e : {
|
|
...e,
|
|
draggable: {
|
|
...e.draggable,
|
|
translate: {
|
|
x: t.coordinates.x - e.draggable.initialCoordinates.x,
|
|
y: t.coordinates.y - e.draggable.initialCoordinates.y
|
|
}
|
|
}
|
|
};
|
|
case an.DragEnd:
|
|
case an.DragCancel:
|
|
return {
|
|
...e,
|
|
draggable: {
|
|
...e.draggable,
|
|
active: null,
|
|
initialCoordinates: {
|
|
x: 0,
|
|
y: 0
|
|
},
|
|
translate: {
|
|
x: 0,
|
|
y: 0
|
|
}
|
|
}
|
|
};
|
|
case an.RegisterDroppable: {
|
|
const {
|
|
element: r
|
|
} = t, {
|
|
id: n
|
|
} = r, o = new rg(e.droppable.containers);
|
|
return o.set(n, r), {
|
|
...e,
|
|
droppable: {
|
|
...e.droppable,
|
|
containers: o
|
|
}
|
|
};
|
|
}
|
|
case an.SetDroppableDisabled: {
|
|
const {
|
|
id: r,
|
|
key: n,
|
|
disabled: o
|
|
} = t, a = e.droppable.containers.get(r);
|
|
if (!a || n !== a.key)
|
|
return e;
|
|
const i = new rg(e.droppable.containers);
|
|
return i.set(r, {
|
|
...a,
|
|
disabled: o
|
|
}), {
|
|
...e,
|
|
droppable: {
|
|
...e.droppable,
|
|
containers: i
|
|
}
|
|
};
|
|
}
|
|
case an.UnregisterDroppable: {
|
|
const {
|
|
id: r,
|
|
key: n
|
|
} = t, o = e.droppable.containers.get(r);
|
|
if (!o || n !== o.key)
|
|
return e;
|
|
const a = new rg(e.droppable.containers);
|
|
return a.delete(r), {
|
|
...e,
|
|
droppable: {
|
|
...e.droppable,
|
|
containers: a
|
|
}
|
|
};
|
|
}
|
|
default:
|
|
return e;
|
|
}
|
|
}
|
|
function QRe(e) {
|
|
let {
|
|
disabled: t
|
|
} = e;
|
|
const {
|
|
active: r,
|
|
activatorEvent: n,
|
|
draggableNodes: o
|
|
} = nt(tw), a = BA(n), i = BA(r == null ? void 0 : r.id);
|
|
return ue(() => {
|
|
if (!t && !n && a && i != null) {
|
|
if (!VC(a) || document.activeElement === a.target)
|
|
return;
|
|
const s = o.get(i);
|
|
if (!s)
|
|
return;
|
|
const {
|
|
activatorNode: u,
|
|
node: c
|
|
} = s;
|
|
if (!u.current && !c.current)
|
|
return;
|
|
requestAnimationFrame(() => {
|
|
for (const d of [u.current, c.current]) {
|
|
if (!d)
|
|
continue;
|
|
const l = G9e(d);
|
|
if (l) {
|
|
l.focus();
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}, [n, t, o, i, a]), null;
|
|
}
|
|
function ZRe(e, t) {
|
|
let {
|
|
transform: r,
|
|
...n
|
|
} = t;
|
|
return e != null && e.length ? e.reduce((o, a) => a({
|
|
transform: o,
|
|
...n
|
|
}), r) : r;
|
|
}
|
|
function e7e(e) {
|
|
return Ie(
|
|
() => ({
|
|
draggable: {
|
|
...Zv.draggable,
|
|
...e == null ? void 0 : e.draggable
|
|
},
|
|
droppable: {
|
|
...Zv.droppable,
|
|
...e == null ? void 0 : e.droppable
|
|
},
|
|
dragOverlay: {
|
|
...Zv.dragOverlay,
|
|
...e == null ? void 0 : e.dragOverlay
|
|
}
|
|
}),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[e == null ? void 0 : e.draggable, e == null ? void 0 : e.droppable, e == null ? void 0 : e.dragOverlay]
|
|
);
|
|
}
|
|
function t7e(e) {
|
|
let {
|
|
activeNode: t,
|
|
measure: r,
|
|
initialRect: n,
|
|
config: o = !0
|
|
} = e;
|
|
const a = ne(!1), {
|
|
x: i,
|
|
y: s
|
|
} = typeof o == "boolean" ? {
|
|
x: o,
|
|
y: o
|
|
} : o;
|
|
fi(() => {
|
|
if (!i && !s || !t) {
|
|
a.current = !1;
|
|
return;
|
|
}
|
|
if (a.current || !n)
|
|
return;
|
|
const c = t == null ? void 0 : t.node.current;
|
|
if (!c || c.isConnected === !1)
|
|
return;
|
|
const d = r(c), l = BQ(d, n);
|
|
if (i || (l.x = 0), s || (l.y = 0), a.current = !0, Math.abs(l.x) > 0 || Math.abs(l.y) > 0) {
|
|
const f = YQ(c);
|
|
f && f.scrollBy({
|
|
top: l.y,
|
|
left: l.x
|
|
});
|
|
}
|
|
}, [t, i, s, n, r]);
|
|
}
|
|
const nZ = /* @__PURE__ */ zt({
|
|
...la,
|
|
scaleX: 1,
|
|
scaleY: 1
|
|
});
|
|
var Wl;
|
|
(function(e) {
|
|
e[e.Uninitialized = 0] = "Uninitialized", e[e.Initializing = 1] = "Initializing", e[e.Initialized = 2] = "Initialized";
|
|
})(Wl || (Wl = {}));
|
|
const r7e = /* @__PURE__ */ goe(function(t) {
|
|
var r, n, o, a;
|
|
let {
|
|
id: i,
|
|
accessibility: s,
|
|
autoScroll: u = !0,
|
|
children: c,
|
|
sensors: d = BRe,
|
|
collisionDetection: l = aRe,
|
|
measuring: f,
|
|
modifiers: p,
|
|
...y
|
|
} = t;
|
|
const m = D4(JRe, void 0, XRe), [h, w] = m, [$, _] = X9e(), [S, b] = de(Wl.Uninitialized), F = S === Wl.Initialized, {
|
|
draggable: {
|
|
active: z,
|
|
nodes: q,
|
|
translate: Y
|
|
},
|
|
droppable: {
|
|
containers: B
|
|
}
|
|
} = h, Z = z != null ? q.get(z) : null, M = ne({
|
|
initial: null,
|
|
translated: null
|
|
}), te = Ie(() => {
|
|
var vr;
|
|
return z != null ? {
|
|
id: z,
|
|
// It's possible for the active node to unmount while dragging
|
|
data: (vr = Z == null ? void 0 : Z.data) != null ? vr : YRe,
|
|
rect: M
|
|
} : null;
|
|
}, [z, Z]), G = ne(null), [H, U] = de(null), [W, X] = de(null), ee = Xg(y, Object.values(y)), v = Xb("DndDescribedBy", i), g = Ie(() => B.getEnabled(), [B]), O = e7e(f), {
|
|
droppableRects: P,
|
|
measureDroppableContainers: A,
|
|
measuringScheduled: T
|
|
} = jRe(g, {
|
|
dragging: F,
|
|
dependencies: [Y.x, Y.y],
|
|
config: O.droppable
|
|
}), N = TRe(q, z), C = Ie(() => W ? YA(W) : null, [W]), I = ma(), j = RRe(N, O.draggable.measure);
|
|
t7e({
|
|
activeNode: z != null ? q.get(z) : null,
|
|
config: I.layoutShiftCompensation,
|
|
initialRect: j,
|
|
measure: O.draggable.measure
|
|
});
|
|
const R = EF(N, O.draggable.measure, j), Q = EF(N ? N.parentElement : null), k = ne({
|
|
activatorEvent: null,
|
|
active: null,
|
|
activeNode: N,
|
|
collisionRect: null,
|
|
collisions: null,
|
|
droppableRects: P,
|
|
draggableNodes: q,
|
|
draggingNode: null,
|
|
draggingNodeRect: null,
|
|
droppableContainers: B,
|
|
over: null,
|
|
scrollableAncestors: [],
|
|
scrollAdjustedTranslate: null
|
|
}), oe = B.getNodeFor((r = k.current.over) == null ? void 0 : r.id), me = URe({
|
|
measure: O.dragOverlay.measure
|
|
}), Le = (n = me.nodeRef.current) != null ? n : N, Xr = F ? (o = me.rect) != null ? o : R : null, Jr = !!(me.nodeRef.current && me.rect), ce = FRe(Jr ? null : R), le = tZ(Le ? to(Le) : null), fe = LRe(F ? oe ?? N : null), ot = HRe(fe), kt = ZRe(p, {
|
|
transform: {
|
|
x: Y.x - ce.x,
|
|
y: Y.y - ce.y,
|
|
scaleX: 1,
|
|
scaleY: 1
|
|
},
|
|
activatorEvent: W,
|
|
active: te,
|
|
activeNodeRect: R,
|
|
containerNodeRect: Q,
|
|
draggingNodeRect: Xr,
|
|
over: k.current.over,
|
|
overlayNodeRect: me.rect,
|
|
scrollableAncestors: fe,
|
|
scrollableAncestorRects: ot,
|
|
windowRect: le
|
|
}), De = C ? _d(C, Y) : null, Ze = zRe(fe), rt = PF(Ze), Wt = PF(Ze, [R]), lt = _d(kt, rt), $r = Xr ? lRe(Xr, kt) : null, pn = te && $r ? l({
|
|
active: te,
|
|
collisionRect: $r,
|
|
droppableRects: P,
|
|
droppableContainers: g,
|
|
pointerCoordinates: De
|
|
}) : null, ro = UQ(pn, "id"), [kr, vo] = de(null), Mo = Jr ? kt : _d(kt, Wt), Do = iRe(Mo, (a = kr == null ? void 0 : kr.rect) != null ? a : null, R), yr = ne(null), Tn = Ne(
|
|
(vr, xr) => {
|
|
let {
|
|
sensor: wr,
|
|
options: Dn
|
|
} = xr;
|
|
if (G.current == null)
|
|
return;
|
|
const sn = q.get(G.current);
|
|
if (!sn)
|
|
return;
|
|
const nn = vr.nativeEvent, mn = new wr({
|
|
active: G.current,
|
|
activeNode: sn,
|
|
event: nn,
|
|
options: Dn,
|
|
// Sensors need to be instantiated with refs for arguments that change over time
|
|
// otherwise they are frozen in time with the stale arguments
|
|
context: k,
|
|
onAbort(Vt) {
|
|
if (!q.get(Vt))
|
|
return;
|
|
const {
|
|
onDragAbort: on
|
|
} = ee.current, In = {
|
|
id: Vt
|
|
};
|
|
on == null || on(In), $({
|
|
type: "onDragAbort",
|
|
event: In
|
|
});
|
|
},
|
|
onPending(Vt, Qr, on, In) {
|
|
if (!q.get(Vt))
|
|
return;
|
|
const {
|
|
onDragPending: zo
|
|
} = ee.current, Fn = {
|
|
id: Vt,
|
|
constraint: Qr,
|
|
initialCoordinates: on,
|
|
offset: In
|
|
};
|
|
zo == null || zo(Fn), $({
|
|
type: "onDragPending",
|
|
event: Fn
|
|
});
|
|
},
|
|
onStart(Vt) {
|
|
const Qr = G.current;
|
|
if (Qr == null)
|
|
return;
|
|
const on = q.get(Qr);
|
|
if (!on)
|
|
return;
|
|
const {
|
|
onDragStart: In
|
|
} = ee.current, Lo = {
|
|
activatorEvent: nn,
|
|
active: {
|
|
id: Qr,
|
|
data: on.data,
|
|
rect: M
|
|
}
|
|
};
|
|
Of(() => {
|
|
In == null || In(Lo), b(Wl.Initializing), w({
|
|
type: an.DragStart,
|
|
initialCoordinates: Vt,
|
|
active: Qr
|
|
}), $({
|
|
type: "onDragStart",
|
|
event: Lo
|
|
}), U(yr.current), X(nn);
|
|
});
|
|
},
|
|
onMove(Vt) {
|
|
w({
|
|
type: an.DragMove,
|
|
coordinates: Vt
|
|
});
|
|
},
|
|
onEnd: xo(an.DragEnd),
|
|
onCancel: xo(an.DragCancel)
|
|
});
|
|
yr.current = mn;
|
|
function xo(Vt) {
|
|
return async function() {
|
|
const {
|
|
active: on,
|
|
collisions: In,
|
|
over: Lo,
|
|
scrollAdjustedTranslate: zo
|
|
} = k.current;
|
|
let Fn = null;
|
|
if (on && zo) {
|
|
const {
|
|
cancelDrop: Ln
|
|
} = ee.current;
|
|
Fn = {
|
|
activatorEvent: nn,
|
|
active: on,
|
|
collisions: In,
|
|
delta: zo,
|
|
over: Lo
|
|
}, Vt === an.DragEnd && typeof Ln == "function" && await Promise.resolve(Ln(Fn)) && (Vt = an.DragCancel);
|
|
}
|
|
G.current = null, Of(() => {
|
|
w({
|
|
type: Vt
|
|
}), b(Wl.Uninitialized), vo(null), U(null), X(null), yr.current = null;
|
|
const Ln = Vt === an.DragEnd ? "onDragEnd" : "onDragCancel";
|
|
if (Fn) {
|
|
const wo = ee.current[Ln];
|
|
wo == null || wo(Fn), $({
|
|
type: Ln,
|
|
event: Fn
|
|
});
|
|
}
|
|
});
|
|
};
|
|
}
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[q]
|
|
), Fo = Ne((vr, xr) => (wr, Dn) => {
|
|
const sn = wr.nativeEvent, nn = q.get(Dn);
|
|
if (
|
|
// Another sensor is already instantiating
|
|
G.current !== null || // No active draggable
|
|
!nn || // Event has already been captured
|
|
sn.dndKit || sn.defaultPrevented
|
|
)
|
|
return;
|
|
const mn = {
|
|
active: nn
|
|
};
|
|
vr(wr, xr.options, mn) === !0 && (sn.dndKit = {
|
|
capturedBy: xr.sensor
|
|
}, G.current = Dn, Tn(wr, xr));
|
|
}, [q, Tn]), Ss = IRe(d, Fo);
|
|
WRe(d), fi(() => {
|
|
R && S === Wl.Initializing && b(Wl.Initialized);
|
|
}, [R, S]), ue(
|
|
() => {
|
|
const {
|
|
onDragMove: vr
|
|
} = ee.current, {
|
|
active: xr,
|
|
activatorEvent: wr,
|
|
collisions: Dn,
|
|
over: sn
|
|
} = k.current;
|
|
if (!xr || !wr)
|
|
return;
|
|
const nn = {
|
|
active: xr,
|
|
activatorEvent: wr,
|
|
collisions: Dn,
|
|
delta: {
|
|
x: lt.x,
|
|
y: lt.y
|
|
},
|
|
over: sn
|
|
};
|
|
Of(() => {
|
|
vr == null || vr(nn), $({
|
|
type: "onDragMove",
|
|
event: nn
|
|
});
|
|
});
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[lt.x, lt.y]
|
|
), ue(
|
|
() => {
|
|
const {
|
|
active: vr,
|
|
activatorEvent: xr,
|
|
collisions: wr,
|
|
droppableContainers: Dn,
|
|
scrollAdjustedTranslate: sn
|
|
} = k.current;
|
|
if (!vr || G.current == null || !xr || !sn)
|
|
return;
|
|
const {
|
|
onDragOver: nn
|
|
} = ee.current, mn = Dn.get(ro), xo = mn && mn.rect.current ? {
|
|
id: mn.id,
|
|
rect: mn.rect.current,
|
|
data: mn.data,
|
|
disabled: mn.disabled
|
|
} : null, Vt = {
|
|
active: vr,
|
|
activatorEvent: xr,
|
|
collisions: wr,
|
|
delta: {
|
|
x: sn.x,
|
|
y: sn.y
|
|
},
|
|
over: xo
|
|
};
|
|
Of(() => {
|
|
vo(xo), nn == null || nn(Vt), $({
|
|
type: "onDragOver",
|
|
event: Vt
|
|
});
|
|
});
|
|
},
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[ro]
|
|
), fi(() => {
|
|
k.current = {
|
|
activatorEvent: W,
|
|
active: te,
|
|
activeNode: N,
|
|
collisionRect: $r,
|
|
collisions: pn,
|
|
droppableRects: P,
|
|
draggableNodes: q,
|
|
draggingNode: Le,
|
|
draggingNodeRect: Xr,
|
|
droppableContainers: B,
|
|
over: kr,
|
|
scrollableAncestors: fe,
|
|
scrollAdjustedTranslate: lt
|
|
}, M.current = {
|
|
initial: Xr,
|
|
translated: $r
|
|
};
|
|
}, [te, N, pn, $r, q, Le, Xr, P, B, kr, fe, lt]), PRe({
|
|
...I,
|
|
delta: Y,
|
|
draggingRect: $r,
|
|
pointerCoordinates: De,
|
|
scrollableAncestors: fe,
|
|
scrollableAncestorRects: ot
|
|
});
|
|
const pa = Ie(() => ({
|
|
active: te,
|
|
activeNode: N,
|
|
activeNodeRect: R,
|
|
activatorEvent: W,
|
|
collisions: pn,
|
|
containerNodeRect: Q,
|
|
dragOverlay: me,
|
|
draggableNodes: q,
|
|
droppableContainers: B,
|
|
droppableRects: P,
|
|
over: kr,
|
|
measureDroppableContainers: A,
|
|
scrollableAncestors: fe,
|
|
scrollableAncestorRects: ot,
|
|
measuringConfiguration: O,
|
|
measuringScheduled: T,
|
|
windowRect: le
|
|
}), [te, N, R, W, pn, Q, me, q, B, P, kr, A, fe, ot, O, T, le]), Kc = Ie(() => ({
|
|
activatorEvent: W,
|
|
activators: Ss,
|
|
active: te,
|
|
activeNodeRect: R,
|
|
ariaDescribedById: {
|
|
draggable: v
|
|
},
|
|
dispatch: w,
|
|
draggableNodes: q,
|
|
over: kr,
|
|
measureDroppableContainers: A
|
|
}), [W, Ss, te, R, w, v, q, kr, A]);
|
|
return ae.createElement(VQ.Provider, {
|
|
value: _
|
|
}, ae.createElement(tw.Provider, {
|
|
value: Kc
|
|
}, ae.createElement(rZ.Provider, {
|
|
value: pa
|
|
}, ae.createElement(nZ.Provider, {
|
|
value: Do
|
|
}, c)), ae.createElement(QRe, {
|
|
disabled: (s == null ? void 0 : s.restoreFocus) === !1
|
|
})), ae.createElement(Z9e, {
|
|
...s,
|
|
hiddenTextDescribedById: v
|
|
}));
|
|
function ma() {
|
|
const vr = (H == null ? void 0 : H.autoScrollEnabled) === !1, xr = typeof u == "object" ? u.enabled === !1 : u === !1, wr = F && !vr && !xr;
|
|
return typeof u == "object" ? {
|
|
...u,
|
|
enabled: wr
|
|
} : {
|
|
enabled: wr
|
|
};
|
|
}
|
|
}), n7e = /* @__PURE__ */ zt(null), NF = "button", o7e = "Draggable";
|
|
function a7e(e) {
|
|
let {
|
|
id: t,
|
|
data: r,
|
|
disabled: n = !1,
|
|
attributes: o
|
|
} = e;
|
|
const a = Xb(o7e), {
|
|
activators: i,
|
|
activatorEvent: s,
|
|
active: u,
|
|
activeNodeRect: c,
|
|
ariaDescribedById: d,
|
|
draggableNodes: l,
|
|
over: f
|
|
} = nt(tw), {
|
|
role: p = NF,
|
|
roleDescription: y = "draggable",
|
|
tabIndex: m = 0
|
|
} = o ?? {}, h = (u == null ? void 0 : u.id) === t, w = nt(h ? nZ : n7e), [$, _] = i0(), [S, b] = i0(), F = VRe(i, t), z = Xg(r);
|
|
fi(
|
|
() => (l.set(t, {
|
|
id: t,
|
|
key: a,
|
|
node: $,
|
|
activatorNode: S,
|
|
data: z
|
|
}), () => {
|
|
const Y = l.get(t);
|
|
Y && Y.key === a && l.delete(t);
|
|
}),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[l, t]
|
|
);
|
|
const q = Ie(() => ({
|
|
role: p,
|
|
tabIndex: m,
|
|
"aria-disabled": n,
|
|
"aria-pressed": h && p === NF ? !0 : void 0,
|
|
"aria-roledescription": y,
|
|
"aria-describedby": d.draggable
|
|
}), [n, p, m, h, y, d.draggable]);
|
|
return {
|
|
active: u,
|
|
activatorEvent: s,
|
|
activeNodeRect: c,
|
|
attributes: q,
|
|
isDragging: h,
|
|
listeners: n ? void 0 : F,
|
|
node: $,
|
|
over: f,
|
|
setNodeRef: _,
|
|
setActivatorNodeRef: b,
|
|
transform: w
|
|
};
|
|
}
|
|
function i7e() {
|
|
return nt(rZ);
|
|
}
|
|
const s7e = "Droppable", l7e = {
|
|
timeout: 25
|
|
};
|
|
function c7e(e) {
|
|
let {
|
|
data: t,
|
|
disabled: r = !1,
|
|
id: n,
|
|
resizeObserverConfig: o
|
|
} = e;
|
|
const a = Xb(s7e), {
|
|
active: i,
|
|
dispatch: s,
|
|
over: u,
|
|
measureDroppableContainers: c
|
|
} = nt(tw), d = ne({
|
|
disabled: r
|
|
}), l = ne(!1), f = ne(null), p = ne(null), {
|
|
disabled: y,
|
|
updateMeasurementsFor: m,
|
|
timeout: h
|
|
} = {
|
|
...l7e,
|
|
...o
|
|
}, w = Xg(m ?? n), $ = Ne(
|
|
() => {
|
|
if (!l.current) {
|
|
l.current = !0;
|
|
return;
|
|
}
|
|
p.current != null && clearTimeout(p.current), p.current = setTimeout(() => {
|
|
c(Array.isArray(w.current) ? w.current : [w.current]), p.current = null;
|
|
}, h);
|
|
},
|
|
//eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[h]
|
|
), _ = ew({
|
|
callback: $,
|
|
disabled: y || !i
|
|
}), S = Ne((q, Y) => {
|
|
_ && (Y && (_.unobserve(Y), l.current = !1), q && _.observe(q));
|
|
}, [_]), [b, F] = i0(S), z = Xg(t);
|
|
return ue(() => {
|
|
!_ || !b.current || (_.disconnect(), l.current = !1, _.observe(b.current));
|
|
}, [b, _]), ue(
|
|
() => (s({
|
|
type: an.RegisterDroppable,
|
|
element: {
|
|
id: n,
|
|
key: a,
|
|
disabled: r,
|
|
node: b,
|
|
rect: f,
|
|
data: z
|
|
}
|
|
}), () => s({
|
|
type: an.UnregisterDroppable,
|
|
key: a,
|
|
id: n
|
|
})),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[n]
|
|
), ue(() => {
|
|
r !== d.current.disabled && (s({
|
|
type: an.SetDroppableDisabled,
|
|
id: n,
|
|
key: a,
|
|
disabled: r
|
|
}), d.current.disabled = r);
|
|
}, [n, a, r, s]), {
|
|
active: i,
|
|
rect: f,
|
|
isOver: (u == null ? void 0 : u.id) === n,
|
|
node: b,
|
|
over: u,
|
|
setNodeRef: F
|
|
};
|
|
}
|
|
function YC(e, t, r) {
|
|
const n = e.slice();
|
|
return n.splice(r < 0 ? n.length + r : r, 0, n.splice(t, 1)[0]), n;
|
|
}
|
|
function u7e(e, t) {
|
|
return e.reduce((r, n, o) => {
|
|
const a = t.get(n);
|
|
return a && (r[o] = a), r;
|
|
}, Array(e.length));
|
|
}
|
|
function nv(e) {
|
|
return e !== null && e >= 0;
|
|
}
|
|
function f7e(e, t) {
|
|
if (e === t)
|
|
return !0;
|
|
if (e.length !== t.length)
|
|
return !1;
|
|
for (let r = 0; r < e.length; r++)
|
|
if (e[r] !== t[r])
|
|
return !1;
|
|
return !0;
|
|
}
|
|
function d7e(e) {
|
|
return typeof e == "boolean" ? {
|
|
draggable: e,
|
|
droppable: e
|
|
} : e;
|
|
}
|
|
const oZ = (e) => {
|
|
let {
|
|
rects: t,
|
|
activeIndex: r,
|
|
overIndex: n,
|
|
index: o
|
|
} = e;
|
|
const a = YC(t, n, r), i = t[o], s = a[o];
|
|
return !s || !i ? null : {
|
|
x: s.left - i.left,
|
|
y: s.top - i.top,
|
|
scaleX: s.width / i.width,
|
|
scaleY: s.height / i.height
|
|
};
|
|
}, ov = {
|
|
scaleX: 1,
|
|
scaleY: 1
|
|
}, p7e = (e) => {
|
|
var t;
|
|
let {
|
|
activeIndex: r,
|
|
activeNodeRect: n,
|
|
index: o,
|
|
rects: a,
|
|
overIndex: i
|
|
} = e;
|
|
const s = (t = a[r]) != null ? t : n;
|
|
if (!s)
|
|
return null;
|
|
if (o === r) {
|
|
const c = a[i];
|
|
return c ? {
|
|
x: 0,
|
|
y: r < i ? c.top + c.height - (s.top + s.height) : c.top - s.top,
|
|
...ov
|
|
} : null;
|
|
}
|
|
const u = m7e(a, o, r);
|
|
return o > r && o <= i ? {
|
|
x: 0,
|
|
y: -s.height - u,
|
|
...ov
|
|
} : o < r && o >= i ? {
|
|
x: 0,
|
|
y: s.height + u,
|
|
...ov
|
|
} : {
|
|
x: 0,
|
|
y: 0,
|
|
...ov
|
|
};
|
|
};
|
|
function m7e(e, t, r) {
|
|
const n = e[t], o = e[t - 1], a = e[t + 1];
|
|
return n ? r < t ? o ? n.top - (o.top + o.height) : a ? a.top - (n.top + n.height) : 0 : a ? a.top - (n.top + n.height) : o ? n.top - (o.top + o.height) : 0 : 0;
|
|
}
|
|
const aZ = "Sortable", iZ = /* @__PURE__ */ ae.createContext({
|
|
activeIndex: -1,
|
|
containerId: aZ,
|
|
disableTransforms: !1,
|
|
items: [],
|
|
overIndex: -1,
|
|
useDragOverlay: !1,
|
|
sortedRects: [],
|
|
strategy: oZ,
|
|
disabled: {
|
|
draggable: !1,
|
|
droppable: !1
|
|
}
|
|
});
|
|
function h7e(e) {
|
|
let {
|
|
children: t,
|
|
id: r,
|
|
items: n,
|
|
strategy: o = oZ,
|
|
disabled: a = !1
|
|
} = e;
|
|
const {
|
|
active: i,
|
|
dragOverlay: s,
|
|
droppableRects: u,
|
|
over: c,
|
|
measureDroppableContainers: d
|
|
} = i7e(), l = Xb(aZ, r), f = s.rect !== null, p = Ie(() => n.map((F) => typeof F == "object" && "id" in F ? F.id : F), [n]), y = i != null, m = i ? p.indexOf(i.id) : -1, h = c ? p.indexOf(c.id) : -1, w = ne(p), $ = !f7e(p, w.current), _ = h !== -1 && m === -1 || $, S = d7e(a);
|
|
fi(() => {
|
|
$ && y && d(p);
|
|
}, [$, p, y, d]), ue(() => {
|
|
w.current = p;
|
|
}, [p]);
|
|
const b = Ie(
|
|
() => ({
|
|
activeIndex: m,
|
|
containerId: l,
|
|
disabled: S,
|
|
disableTransforms: _,
|
|
items: p,
|
|
overIndex: h,
|
|
useDragOverlay: f,
|
|
sortedRects: u7e(p, u),
|
|
strategy: o
|
|
}),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
[m, l, S.draggable, S.droppable, _, p, h, u, f, o]
|
|
);
|
|
return ae.createElement(iZ.Provider, {
|
|
value: b
|
|
}, t);
|
|
}
|
|
const g7e = (e) => {
|
|
let {
|
|
id: t,
|
|
items: r,
|
|
activeIndex: n,
|
|
overIndex: o
|
|
} = e;
|
|
return YC(r, n, o).indexOf(t);
|
|
}, b7e = (e) => {
|
|
let {
|
|
containerId: t,
|
|
isSorting: r,
|
|
wasDragging: n,
|
|
index: o,
|
|
items: a,
|
|
newIndex: i,
|
|
previousItems: s,
|
|
previousContainerId: u,
|
|
transition: c
|
|
} = e;
|
|
return !c || !n || s !== a && o === i ? !1 : r ? !0 : i !== o && t === u;
|
|
}, y7e = {
|
|
duration: 200,
|
|
easing: "ease"
|
|
}, sZ = "transform", v7e = /* @__PURE__ */ Qg.Transition.toString({
|
|
property: sZ,
|
|
duration: 0,
|
|
easing: "linear"
|
|
}), x7e = {
|
|
roleDescription: "sortable"
|
|
};
|
|
function w7e(e) {
|
|
let {
|
|
disabled: t,
|
|
index: r,
|
|
node: n,
|
|
rect: o
|
|
} = e;
|
|
const [a, i] = de(null), s = ne(r);
|
|
return fi(() => {
|
|
if (!t && r !== s.current && n.current) {
|
|
const u = o.current;
|
|
if (u) {
|
|
const c = Op(n.current, {
|
|
ignoreTransform: !0
|
|
}), d = {
|
|
x: u.left - c.left,
|
|
y: u.top - c.top,
|
|
scaleX: u.width / c.width,
|
|
scaleY: u.height / c.height
|
|
};
|
|
(d.x || d.y) && i(d);
|
|
}
|
|
}
|
|
r !== s.current && (s.current = r);
|
|
}, [t, r, n, o]), ue(() => {
|
|
a && i(null);
|
|
}, [a]), a;
|
|
}
|
|
function $7e(e) {
|
|
let {
|
|
animateLayoutChanges: t = b7e,
|
|
attributes: r,
|
|
disabled: n,
|
|
data: o,
|
|
getNewIndex: a = g7e,
|
|
id: i,
|
|
strategy: s,
|
|
resizeObserverConfig: u,
|
|
transition: c = y7e
|
|
} = e;
|
|
const {
|
|
items: d,
|
|
containerId: l,
|
|
activeIndex: f,
|
|
disabled: p,
|
|
disableTransforms: y,
|
|
sortedRects: m,
|
|
overIndex: h,
|
|
useDragOverlay: w,
|
|
strategy: $
|
|
} = nt(iZ), _ = k7e(n, p), S = d.indexOf(i), b = Ie(() => ({
|
|
sortable: {
|
|
containerId: l,
|
|
index: S,
|
|
items: d
|
|
},
|
|
...o
|
|
}), [l, o, S, d]), F = Ie(() => d.slice(d.indexOf(i)), [d, i]), {
|
|
rect: z,
|
|
node: q,
|
|
isOver: Y,
|
|
setNodeRef: B
|
|
} = c7e({
|
|
id: i,
|
|
data: b,
|
|
disabled: _.droppable,
|
|
resizeObserverConfig: {
|
|
updateMeasurementsFor: F,
|
|
...u
|
|
}
|
|
}), {
|
|
active: Z,
|
|
activatorEvent: M,
|
|
activeNodeRect: te,
|
|
attributes: G,
|
|
setNodeRef: H,
|
|
listeners: U,
|
|
isDragging: W,
|
|
over: X,
|
|
setActivatorNodeRef: ee,
|
|
transform: v
|
|
} = a7e({
|
|
id: i,
|
|
data: b,
|
|
attributes: {
|
|
...x7e,
|
|
...r
|
|
},
|
|
disabled: _.draggable
|
|
}), g = z9e(B, H), O = !!Z, P = O && !y && nv(f) && nv(h), A = !w && W, T = A && P ? v : null, C = P ? T ?? (s ?? $)({
|
|
rects: m,
|
|
activeNodeRect: te,
|
|
activeIndex: f,
|
|
overIndex: h,
|
|
index: S
|
|
}) : null, I = nv(f) && nv(h) ? a({
|
|
id: i,
|
|
items: d,
|
|
activeIndex: f,
|
|
overIndex: h
|
|
}) : S, j = Z == null ? void 0 : Z.id, R = ne({
|
|
activeId: j,
|
|
items: d,
|
|
newIndex: I,
|
|
containerId: l
|
|
}), Q = d !== R.current.items, k = t({
|
|
active: Z,
|
|
containerId: l,
|
|
isDragging: W,
|
|
isSorting: O,
|
|
id: i,
|
|
index: S,
|
|
items: d,
|
|
newIndex: R.current.newIndex,
|
|
previousItems: R.current.items,
|
|
previousContainerId: R.current.containerId,
|
|
transition: c,
|
|
wasDragging: R.current.activeId != null
|
|
}), oe = w7e({
|
|
disabled: !k,
|
|
index: S,
|
|
node: q,
|
|
rect: z
|
|
});
|
|
return ue(() => {
|
|
O && R.current.newIndex !== I && (R.current.newIndex = I), l !== R.current.containerId && (R.current.containerId = l), d !== R.current.items && (R.current.items = d);
|
|
}, [O, I, l, d]), ue(() => {
|
|
if (j === R.current.activeId)
|
|
return;
|
|
if (j != null && R.current.activeId == null) {
|
|
R.current.activeId = j;
|
|
return;
|
|
}
|
|
const Le = setTimeout(() => {
|
|
R.current.activeId = j;
|
|
}, 50);
|
|
return () => clearTimeout(Le);
|
|
}, [j]), {
|
|
active: Z,
|
|
activeIndex: f,
|
|
attributes: G,
|
|
data: b,
|
|
rect: z,
|
|
index: S,
|
|
newIndex: I,
|
|
items: d,
|
|
isOver: Y,
|
|
isSorting: O,
|
|
isDragging: W,
|
|
listeners: U,
|
|
node: q,
|
|
overIndex: h,
|
|
over: X,
|
|
setNodeRef: g,
|
|
setActivatorNodeRef: ee,
|
|
setDroppableNodeRef: B,
|
|
setDraggableNodeRef: H,
|
|
transform: oe ?? C,
|
|
transition: me()
|
|
};
|
|
function me() {
|
|
if (
|
|
// Temporarily disable transitions for a single frame to set up derived transforms
|
|
oe || // Or to prevent items jumping to back to their "new" position when items change
|
|
Q && R.current.newIndex === S
|
|
)
|
|
return v7e;
|
|
if (!(A && !VC(M) || !c) && (O || k))
|
|
return Qg.Transition.toString({
|
|
...c,
|
|
property: sZ
|
|
});
|
|
}
|
|
}
|
|
function k7e(e, t) {
|
|
var r, n;
|
|
return typeof e == "boolean" ? {
|
|
draggable: e,
|
|
// Backwards compatibility
|
|
droppable: !1
|
|
} : {
|
|
draggable: (r = e == null ? void 0 : e.draggable) != null ? r : t.draggable,
|
|
droppable: (n = e == null ? void 0 : e.droppable) != null ? n : t.droppable
|
|
};
|
|
}
|
|
function c0(e) {
|
|
if (!e)
|
|
return !1;
|
|
const t = e.data.current;
|
|
return !!(t && "sortable" in t && typeof t.sortable == "object" && "containerId" in t.sortable && "items" in t.sortable && "index" in t.sortable);
|
|
}
|
|
const _7e = [Ht.Down, Ht.Right, Ht.Up, Ht.Left], O7e = (e, t) => {
|
|
let {
|
|
context: {
|
|
active: r,
|
|
collisionRect: n,
|
|
droppableRects: o,
|
|
droppableContainers: a,
|
|
over: i,
|
|
scrollableAncestors: s
|
|
}
|
|
} = t;
|
|
if (_7e.includes(e.code)) {
|
|
if (e.preventDefault(), !r || !n)
|
|
return;
|
|
const u = [];
|
|
a.getEnabled().forEach((l) => {
|
|
if (!l || l != null && l.disabled)
|
|
return;
|
|
const f = o.get(l.id);
|
|
if (f)
|
|
switch (e.code) {
|
|
case Ht.Down:
|
|
n.top < f.top && u.push(l);
|
|
break;
|
|
case Ht.Up:
|
|
n.top > f.top && u.push(l);
|
|
break;
|
|
case Ht.Left:
|
|
n.left > f.left && u.push(l);
|
|
break;
|
|
case Ht.Right:
|
|
n.left < f.left && u.push(l);
|
|
break;
|
|
}
|
|
});
|
|
const c = nRe({
|
|
collisionRect: n,
|
|
droppableRects: o,
|
|
droppableContainers: u
|
|
});
|
|
let d = UQ(c, "id");
|
|
if (d === (i == null ? void 0 : i.id) && c.length > 1 && (d = c[1].id), d != null) {
|
|
const l = a.get(r.id), f = a.get(d), p = f ? o.get(f.id) : null, y = f == null ? void 0 : f.node.current;
|
|
if (y && p && l && f) {
|
|
const h = Zx(y).some((F, z) => s[z] !== F), w = lZ(l, f), $ = S7e(l, f), _ = h || !w ? {
|
|
x: 0,
|
|
y: 0
|
|
} : {
|
|
x: $ ? n.width - p.width : 0,
|
|
y: $ ? n.height - p.height : 0
|
|
}, S = {
|
|
x: p.left,
|
|
y: p.top
|
|
};
|
|
return _.x && _.y ? S : Jg(S, _);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
function lZ(e, t) {
|
|
return !c0(e) || !c0(t) ? !1 : e.data.current.sortable.containerId === t.data.current.sortable.containerId;
|
|
}
|
|
function S7e(e, t) {
|
|
return !c0(e) || !c0(t) || !lZ(e, t) ? !1 : e.data.current.sortable.index < t.data.current.sortable.index;
|
|
}
|
|
var E7e = Object.defineProperty, A7e = (e, t, r) => t in e ? E7e(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, tn = (e, t, r) => A7e(e, typeof t != "symbol" ? t + "" : t, r);
|
|
class cZ {
|
|
constructor(t) {
|
|
tn(this, "kind", "model"), tn(this, "id"), tn(this, "tauriId"), tn(this, "fullName"), tn(this, "category"), tn(this, "creator"), tn(this, "selectorName"), tn(this, "selectorDescription"), tn(this, "selectorBadges"), tn(this, "tags"), this.id = t.id, this.tauriId = t.tauriId, this.fullName = t.fullName, this.category = t.category, this.creator = t.creator, this.selectorName = t.selectorName, this.selectorDescription = t.selectorDescription, this.selectorBadges = t.selectorBadges, this.tags = t.tags ?? [];
|
|
}
|
|
toLegacyBadges() {
|
|
return this.selectorBadges.map((t) => ({ label: t }));
|
|
}
|
|
// TODO: This is a method to support migration. Kill it after we no longer need it.
|
|
toLegacyModelConfig() {
|
|
return {
|
|
id: this.id,
|
|
label: this.selectorName,
|
|
description: this.selectorDescription,
|
|
badges: this.toLegacyBadges(),
|
|
category: this.category,
|
|
info: {
|
|
name: this.fullName,
|
|
tauri_id: this.tauriId,
|
|
creator: this.creator
|
|
},
|
|
capabilities: {
|
|
maxGenerationCount: 9,
|
|
// NB: Sentinel value to detect continued use
|
|
defaultGenerationCount: 9
|
|
// NB: Sentinel value to detect continued use
|
|
},
|
|
tags: []
|
|
};
|
|
}
|
|
}
|
|
let ha = class extends cZ {
|
|
constructor(t) {
|
|
if (t.maxGenerationCount < 1)
|
|
throw new Error("maxGenerationCount must be at least 1");
|
|
if (t.defaultGenerationCount < 1)
|
|
throw new Error("defaultGenerationCount must be at least 1");
|
|
if (t.defaultGenerationCount > t.maxGenerationCount)
|
|
throw new Error(
|
|
"defaultGenerationCount must be less than or equal to maxGenerationCount"
|
|
);
|
|
super(t), tn(this, "kind", "image_model"), tn(this, "maxGenerationCount"), tn(this, "defaultGenerationCount"), tn(this, "canEditImages"), tn(this, "usesInpaintingMask"), tn(this, "canUseImagePrompt"), tn(this, "maxImagePromptCount"), this.maxGenerationCount = t.maxGenerationCount, this.defaultGenerationCount = t.defaultGenerationCount, this.canEditImages = t.canEditImages ?? !1, this.usesInpaintingMask = t.usesInpaintingMask ?? !1, this.canUseImagePrompt = t.canUseImagePrompt ?? !1, this.maxImagePromptCount = Math.max(0, t.maxImagePromptCount ?? 1);
|
|
}
|
|
}, qm = class extends cZ {
|
|
constructor(t) {
|
|
super(t), tn(this, "kind", "video_model"), tn(this, "startFrame"), tn(this, "endFrame"), this.startFrame = t.startFrame, this.endFrame = t.endFrame;
|
|
}
|
|
};
|
|
var et = /* @__PURE__ */ ((e) => (e.BlackForestLabs = "BlackForestLabs", e.Bytedance = "Bytedance", e.Google = "Google", e.Hailuo = "Hailuo", e.Kling = "Kling", e.Midjourney = "Midjourney", e.OpenAi = "OpenAi", e.Runway = "Runway", e.Stability = "Stability", e.Tencent = "Tencent", e.Recraft = "Recraft", e.Krea = "Krea", e.Fal = "Fal", e.Replicate = "Replicate", e.TensorArt = "TensorArt", e.OpenArt = "OpenArt", e.Higgsfield = "Higgsfield", e.Alibaba = "Alibaba", e.Vidu = "Vidu", e.ArtCraft = "ArtCraft", e))(et || {});
|
|
function P7e(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Dk = { exports: {} }, St = {};
|
|
/**
|
|
* @license React
|
|
* react.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var TF;
|
|
function C7e() {
|
|
if (TF) return St;
|
|
TF = 1;
|
|
var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), i = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), l = Symbol.iterator;
|
|
function f(g) {
|
|
return g === null || typeof g != "object" ? null : (g = l && g[l] || g["@@iterator"], typeof g == "function" ? g : null);
|
|
}
|
|
var p = { isMounted: function() {
|
|
return !1;
|
|
}, enqueueForceUpdate: function() {
|
|
}, enqueueReplaceState: function() {
|
|
}, enqueueSetState: function() {
|
|
} }, y = Object.assign, m = {};
|
|
function h(g, O, P) {
|
|
this.props = g, this.context = O, this.refs = m, this.updater = P || p;
|
|
}
|
|
h.prototype.isReactComponent = {}, h.prototype.setState = function(g, O) {
|
|
if (typeof g != "object" && typeof g != "function" && g != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, g, O, "setState");
|
|
}, h.prototype.forceUpdate = function(g) {
|
|
this.updater.enqueueForceUpdate(this, g, "forceUpdate");
|
|
};
|
|
function w() {
|
|
}
|
|
w.prototype = h.prototype;
|
|
function $(g, O, P) {
|
|
this.props = g, this.context = O, this.refs = m, this.updater = P || p;
|
|
}
|
|
var _ = $.prototype = new w();
|
|
_.constructor = $, y(_, h.prototype), _.isPureReactComponent = !0;
|
|
var S = Array.isArray, b = Object.prototype.hasOwnProperty, F = { current: null }, z = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function q(g, O, P) {
|
|
var A, T = {}, N = null, C = null;
|
|
if (O != null) for (A in O.ref !== void 0 && (C = O.ref), O.key !== void 0 && (N = "" + O.key), O) b.call(O, A) && !z.hasOwnProperty(A) && (T[A] = O[A]);
|
|
var I = arguments.length - 2;
|
|
if (I === 1) T.children = P;
|
|
else if (1 < I) {
|
|
for (var j = Array(I), R = 0; R < I; R++) j[R] = arguments[R + 2];
|
|
T.children = j;
|
|
}
|
|
if (g && g.defaultProps) for (A in I = g.defaultProps, I) T[A] === void 0 && (T[A] = I[A]);
|
|
return { $$typeof: e, type: g, key: N, ref: C, props: T, _owner: F.current };
|
|
}
|
|
function Y(g, O) {
|
|
return { $$typeof: e, type: g.type, key: O, ref: g.ref, props: g.props, _owner: g._owner };
|
|
}
|
|
function B(g) {
|
|
return typeof g == "object" && g !== null && g.$$typeof === e;
|
|
}
|
|
function Z(g) {
|
|
var O = { "=": "=0", ":": "=2" };
|
|
return "$" + g.replace(/[=:]/g, function(P) {
|
|
return O[P];
|
|
});
|
|
}
|
|
var M = /\/+/g;
|
|
function te(g, O) {
|
|
return typeof g == "object" && g !== null && g.key != null ? Z("" + g.key) : O.toString(36);
|
|
}
|
|
function G(g, O, P, A, T) {
|
|
var N = typeof g;
|
|
(N === "undefined" || N === "boolean") && (g = null);
|
|
var C = !1;
|
|
if (g === null) C = !0;
|
|
else switch (N) {
|
|
case "string":
|
|
case "number":
|
|
C = !0;
|
|
break;
|
|
case "object":
|
|
switch (g.$$typeof) {
|
|
case e:
|
|
case t:
|
|
C = !0;
|
|
}
|
|
}
|
|
if (C) return C = g, T = T(C), g = A === "" ? "." + te(C, 0) : A, S(T) ? (P = "", g != null && (P = g.replace(M, "$&/") + "/"), G(T, O, P, "", function(R) {
|
|
return R;
|
|
})) : T != null && (B(T) && (T = Y(T, P + (!T.key || C && C.key === T.key ? "" : ("" + T.key).replace(M, "$&/") + "/") + g)), O.push(T)), 1;
|
|
if (C = 0, A = A === "" ? "." : A + ":", S(g)) for (var I = 0; I < g.length; I++) {
|
|
N = g[I];
|
|
var j = A + te(N, I);
|
|
C += G(N, O, P, j, T);
|
|
}
|
|
else if (j = f(g), typeof j == "function") for (g = j.call(g), I = 0; !(N = g.next()).done; ) N = N.value, j = A + te(N, I++), C += G(N, O, P, j, T);
|
|
else if (N === "object") throw O = String(g), Error("Objects are not valid as a React child (found: " + (O === "[object Object]" ? "object with keys {" + Object.keys(g).join(", ") + "}" : O) + "). If you meant to render a collection of children, use an array instead.");
|
|
return C;
|
|
}
|
|
function H(g, O, P) {
|
|
if (g == null) return g;
|
|
var A = [], T = 0;
|
|
return G(g, A, "", "", function(N) {
|
|
return O.call(P, N, T++);
|
|
}), A;
|
|
}
|
|
function U(g) {
|
|
if (g._status === -1) {
|
|
var O = g._result;
|
|
O = O(), O.then(function(P) {
|
|
(g._status === 0 || g._status === -1) && (g._status = 1, g._result = P);
|
|
}, function(P) {
|
|
(g._status === 0 || g._status === -1) && (g._status = 2, g._result = P);
|
|
}), g._status === -1 && (g._status = 0, g._result = O);
|
|
}
|
|
if (g._status === 1) return g._result.default;
|
|
throw g._result;
|
|
}
|
|
var W = { current: null }, X = { transition: null }, ee = { ReactCurrentDispatcher: W, ReactCurrentBatchConfig: X, ReactCurrentOwner: F };
|
|
function v() {
|
|
throw Error("act(...) is not supported in production builds of React.");
|
|
}
|
|
return St.Children = { map: H, forEach: function(g, O, P) {
|
|
H(g, function() {
|
|
O.apply(this, arguments);
|
|
}, P);
|
|
}, count: function(g) {
|
|
var O = 0;
|
|
return H(g, function() {
|
|
O++;
|
|
}), O;
|
|
}, toArray: function(g) {
|
|
return H(g, function(O) {
|
|
return O;
|
|
}) || [];
|
|
}, only: function(g) {
|
|
if (!B(g)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return g;
|
|
} }, St.Component = h, St.Fragment = r, St.Profiler = o, St.PureComponent = $, St.StrictMode = n, St.Suspense = u, St.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ee, St.act = v, St.cloneElement = function(g, O, P) {
|
|
if (g == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + g + ".");
|
|
var A = y({}, g.props), T = g.key, N = g.ref, C = g._owner;
|
|
if (O != null) {
|
|
if (O.ref !== void 0 && (N = O.ref, C = F.current), O.key !== void 0 && (T = "" + O.key), g.type && g.type.defaultProps) var I = g.type.defaultProps;
|
|
for (j in O) b.call(O, j) && !z.hasOwnProperty(j) && (A[j] = O[j] === void 0 && I !== void 0 ? I[j] : O[j]);
|
|
}
|
|
var j = arguments.length - 2;
|
|
if (j === 1) A.children = P;
|
|
else if (1 < j) {
|
|
I = Array(j);
|
|
for (var R = 0; R < j; R++) I[R] = arguments[R + 2];
|
|
A.children = I;
|
|
}
|
|
return { $$typeof: e, type: g.type, key: T, ref: N, props: A, _owner: C };
|
|
}, St.createContext = function(g) {
|
|
return g = { $$typeof: i, _currentValue: g, _currentValue2: g, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, g.Provider = { $$typeof: a, _context: g }, g.Consumer = g;
|
|
}, St.createElement = q, St.createFactory = function(g) {
|
|
var O = q.bind(null, g);
|
|
return O.type = g, O;
|
|
}, St.createRef = function() {
|
|
return { current: null };
|
|
}, St.forwardRef = function(g) {
|
|
return { $$typeof: s, render: g };
|
|
}, St.isValidElement = B, St.lazy = function(g) {
|
|
return { $$typeof: d, _payload: { _status: -1, _result: g }, _init: U };
|
|
}, St.memo = function(g, O) {
|
|
return { $$typeof: c, type: g, compare: O === void 0 ? null : O };
|
|
}, St.startTransition = function(g) {
|
|
var O = X.transition;
|
|
X.transition = {};
|
|
try {
|
|
g();
|
|
} finally {
|
|
X.transition = O;
|
|
}
|
|
}, St.unstable_act = v, St.useCallback = function(g, O) {
|
|
return W.current.useCallback(g, O);
|
|
}, St.useContext = function(g) {
|
|
return W.current.useContext(g);
|
|
}, St.useDebugValue = function() {
|
|
}, St.useDeferredValue = function(g) {
|
|
return W.current.useDeferredValue(g);
|
|
}, St.useEffect = function(g, O) {
|
|
return W.current.useEffect(g, O);
|
|
}, St.useId = function() {
|
|
return W.current.useId();
|
|
}, St.useImperativeHandle = function(g, O, P) {
|
|
return W.current.useImperativeHandle(g, O, P);
|
|
}, St.useInsertionEffect = function(g, O) {
|
|
return W.current.useInsertionEffect(g, O);
|
|
}, St.useLayoutEffect = function(g, O) {
|
|
return W.current.useLayoutEffect(g, O);
|
|
}, St.useMemo = function(g, O) {
|
|
return W.current.useMemo(g, O);
|
|
}, St.useReducer = function(g, O, P) {
|
|
return W.current.useReducer(g, O, P);
|
|
}, St.useRef = function(g) {
|
|
return W.current.useRef(g);
|
|
}, St.useState = function(g) {
|
|
return W.current.useState(g);
|
|
}, St.useSyncExternalStore = function(g, O, P) {
|
|
return W.current.useSyncExternalStore(g, O, P);
|
|
}, St.useTransition = function() {
|
|
return W.current.useTransition();
|
|
}, St.version = "18.3.1", St;
|
|
}
|
|
var e1 = { exports: {} };
|
|
/**
|
|
* @license React
|
|
* react.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
e1.exports;
|
|
var IF;
|
|
function N7e() {
|
|
return IF || (IF = 1, function(e, t) {
|
|
process.env.NODE_ENV !== "production" && function() {
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
|
var r = "18.3.1", n = Symbol.for("react.element"), o = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), u = Symbol.for("react.provider"), c = Symbol.for("react.context"), d = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), f = Symbol.for("react.suspense_list"), p = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), m = Symbol.for("react.offscreen"), h = Symbol.iterator, w = "@@iterator";
|
|
function $(x) {
|
|
if (x === null || typeof x != "object")
|
|
return null;
|
|
var E = h && x[h] || x[w];
|
|
return typeof E == "function" ? E : null;
|
|
}
|
|
var _ = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, S = {
|
|
transition: null
|
|
}, b = {
|
|
current: null,
|
|
// Used to reproduce behavior of `batchedUpdates` in legacy mode.
|
|
isBatchingLegacy: !1,
|
|
didScheduleLegacyUpdate: !1
|
|
}, F = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, z = {}, q = null;
|
|
function Y(x) {
|
|
q = x;
|
|
}
|
|
z.setExtraStackFrame = function(x) {
|
|
q = x;
|
|
}, z.getCurrentStack = null, z.getStackAddendum = function() {
|
|
var x = "";
|
|
q && (x += q);
|
|
var E = z.getCurrentStack;
|
|
return E && (x += E() || ""), x;
|
|
};
|
|
var B = !1, Z = !1, M = !1, te = !1, G = !1, H = {
|
|
ReactCurrentDispatcher: _,
|
|
ReactCurrentBatchConfig: S,
|
|
ReactCurrentOwner: F
|
|
};
|
|
H.ReactDebugCurrentFrame = z, H.ReactCurrentActQueue = b;
|
|
function U(x) {
|
|
{
|
|
for (var E = arguments.length, D = new Array(E > 1 ? E - 1 : 0), L = 1; L < E; L++)
|
|
D[L - 1] = arguments[L];
|
|
X("warn", x, D);
|
|
}
|
|
}
|
|
function W(x) {
|
|
{
|
|
for (var E = arguments.length, D = new Array(E > 1 ? E - 1 : 0), L = 1; L < E; L++)
|
|
D[L - 1] = arguments[L];
|
|
X("error", x, D);
|
|
}
|
|
}
|
|
function X(x, E, D) {
|
|
{
|
|
var L = H.ReactDebugCurrentFrame, J = L.getStackAddendum();
|
|
J !== "" && (E += "%s", D = D.concat([J]));
|
|
var ie = D.map(function(re) {
|
|
return String(re);
|
|
});
|
|
ie.unshift("Warning: " + E), Function.prototype.apply.call(console[x], console, ie);
|
|
}
|
|
}
|
|
var ee = {};
|
|
function v(x, E) {
|
|
{
|
|
var D = x.constructor, L = D && (D.displayName || D.name) || "ReactClass", J = L + "." + E;
|
|
if (ee[J])
|
|
return;
|
|
W("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", E, L), ee[J] = !0;
|
|
}
|
|
}
|
|
var g = {
|
|
/**
|
|
* Checks whether or not this composite component is mounted.
|
|
* @param {ReactClass} publicInstance The instance we want to test.
|
|
* @return {boolean} True if mounted, false otherwise.
|
|
* @protected
|
|
* @final
|
|
*/
|
|
isMounted: function(x) {
|
|
return !1;
|
|
},
|
|
/**
|
|
* Forces an update. This should only be invoked when it is known with
|
|
* certainty that we are **not** in a DOM transaction.
|
|
*
|
|
* You may want to call this when you know that some deeper aspect of the
|
|
* component's state has changed but `setState` was not called.
|
|
*
|
|
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
|
* `componentWillUpdate` and `componentDidUpdate`.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueForceUpdate: function(x, E, D) {
|
|
v(x, "forceUpdate");
|
|
},
|
|
/**
|
|
* Replaces all of the state. Always use this or `setState` to mutate state.
|
|
* You should treat `this.state` as immutable.
|
|
*
|
|
* There is no guarantee that `this.state` will be immediately updated, so
|
|
* accessing `this.state` after calling this method may return the old value.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} completeState Next state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueReplaceState: function(x, E, D, L) {
|
|
v(x, "replaceState");
|
|
},
|
|
/**
|
|
* Sets a subset of the state. This only exists because _pendingState is
|
|
* internal. This provides a merging strategy that is not available to deep
|
|
* properties which is confusing. TODO: Expose pendingState or don't use it
|
|
* during the merge.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} partialState Next partial state to be merged with state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} Name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueSetState: function(x, E, D, L) {
|
|
v(x, "setState");
|
|
}
|
|
}, O = Object.assign, P = {};
|
|
Object.freeze(P);
|
|
function A(x, E, D) {
|
|
this.props = x, this.context = E, this.refs = P, this.updater = D || g;
|
|
}
|
|
A.prototype.isReactComponent = {}, A.prototype.setState = function(x, E) {
|
|
if (typeof x != "object" && typeof x != "function" && x != null)
|
|
throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, x, E, "setState");
|
|
}, A.prototype.forceUpdate = function(x) {
|
|
this.updater.enqueueForceUpdate(this, x, "forceUpdate");
|
|
};
|
|
{
|
|
var T = {
|
|
isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
|
|
replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
|
|
}, N = function(x, E) {
|
|
Object.defineProperty(A.prototype, x, {
|
|
get: function() {
|
|
U("%s(...) is deprecated in plain JavaScript React classes. %s", E[0], E[1]);
|
|
}
|
|
});
|
|
};
|
|
for (var C in T)
|
|
T.hasOwnProperty(C) && N(C, T[C]);
|
|
}
|
|
function I() {
|
|
}
|
|
I.prototype = A.prototype;
|
|
function j(x, E, D) {
|
|
this.props = x, this.context = E, this.refs = P, this.updater = D || g;
|
|
}
|
|
var R = j.prototype = new I();
|
|
R.constructor = j, O(R, A.prototype), R.isPureReactComponent = !0;
|
|
function Q() {
|
|
var x = {
|
|
current: null
|
|
};
|
|
return Object.seal(x), x;
|
|
}
|
|
var k = Array.isArray;
|
|
function oe(x) {
|
|
return k(x);
|
|
}
|
|
function me(x) {
|
|
{
|
|
var E = typeof Symbol == "function" && Symbol.toStringTag, D = E && x[Symbol.toStringTag] || x.constructor.name || "Object";
|
|
return D;
|
|
}
|
|
}
|
|
function Le(x) {
|
|
try {
|
|
return Xr(x), !1;
|
|
} catch {
|
|
return !0;
|
|
}
|
|
}
|
|
function Xr(x) {
|
|
return "" + x;
|
|
}
|
|
function Jr(x) {
|
|
if (Le(x))
|
|
return W("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", me(x)), Xr(x);
|
|
}
|
|
function ce(x, E, D) {
|
|
var L = x.displayName;
|
|
if (L)
|
|
return L;
|
|
var J = E.displayName || E.name || "";
|
|
return J !== "" ? D + "(" + J + ")" : D;
|
|
}
|
|
function le(x) {
|
|
return x.displayName || "Context";
|
|
}
|
|
function fe(x) {
|
|
if (x == null)
|
|
return null;
|
|
if (typeof x.tag == "number" && W("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof x == "function")
|
|
return x.displayName || x.name || null;
|
|
if (typeof x == "string")
|
|
return x;
|
|
switch (x) {
|
|
case a:
|
|
return "Fragment";
|
|
case o:
|
|
return "Portal";
|
|
case s:
|
|
return "Profiler";
|
|
case i:
|
|
return "StrictMode";
|
|
case l:
|
|
return "Suspense";
|
|
case f:
|
|
return "SuspenseList";
|
|
}
|
|
if (typeof x == "object")
|
|
switch (x.$$typeof) {
|
|
case c:
|
|
var E = x;
|
|
return le(E) + ".Consumer";
|
|
case u:
|
|
var D = x;
|
|
return le(D._context) + ".Provider";
|
|
case d:
|
|
return ce(x, x.render, "ForwardRef");
|
|
case p:
|
|
var L = x.displayName || null;
|
|
return L !== null ? L : fe(x.type) || "Memo";
|
|
case y: {
|
|
var J = x, ie = J._payload, re = J._init;
|
|
try {
|
|
return fe(re(ie));
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var ot = Object.prototype.hasOwnProperty, kt = {
|
|
key: !0,
|
|
ref: !0,
|
|
__self: !0,
|
|
__source: !0
|
|
}, De, Ze, rt;
|
|
rt = {};
|
|
function Wt(x) {
|
|
if (ot.call(x, "ref")) {
|
|
var E = Object.getOwnPropertyDescriptor(x, "ref").get;
|
|
if (E && E.isReactWarning)
|
|
return !1;
|
|
}
|
|
return x.ref !== void 0;
|
|
}
|
|
function lt(x) {
|
|
if (ot.call(x, "key")) {
|
|
var E = Object.getOwnPropertyDescriptor(x, "key").get;
|
|
if (E && E.isReactWarning)
|
|
return !1;
|
|
}
|
|
return x.key !== void 0;
|
|
}
|
|
function $r(x, E) {
|
|
var D = function() {
|
|
De || (De = !0, W("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", E));
|
|
};
|
|
D.isReactWarning = !0, Object.defineProperty(x, "key", {
|
|
get: D,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function pn(x, E) {
|
|
var D = function() {
|
|
Ze || (Ze = !0, W("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", E));
|
|
};
|
|
D.isReactWarning = !0, Object.defineProperty(x, "ref", {
|
|
get: D,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function ro(x) {
|
|
if (typeof x.ref == "string" && F.current && x.__self && F.current.stateNode !== x.__self) {
|
|
var E = fe(F.current.type);
|
|
rt[E] || (W('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', E, x.ref), rt[E] = !0);
|
|
}
|
|
}
|
|
var kr = function(x, E, D, L, J, ie, re) {
|
|
var se = {
|
|
// This tag allows us to uniquely identify this as a React Element
|
|
$$typeof: n,
|
|
// Built-in properties that belong on the element
|
|
type: x,
|
|
key: E,
|
|
ref: D,
|
|
props: re,
|
|
// Record the component responsible for creating this element.
|
|
_owner: ie
|
|
};
|
|
return se._store = {}, Object.defineProperty(se._store, "validated", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: !1
|
|
}), Object.defineProperty(se, "_self", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: L
|
|
}), Object.defineProperty(se, "_source", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: J
|
|
}), Object.freeze && (Object.freeze(se.props), Object.freeze(se)), se;
|
|
};
|
|
function vo(x, E, D) {
|
|
var L, J = {}, ie = null, re = null, se = null, pe = null;
|
|
if (E != null) {
|
|
Wt(E) && (re = E.ref, ro(E)), lt(E) && (Jr(E.key), ie = "" + E.key), se = E.__self === void 0 ? null : E.__self, pe = E.__source === void 0 ? null : E.__source;
|
|
for (L in E)
|
|
ot.call(E, L) && !kt.hasOwnProperty(L) && (J[L] = E[L]);
|
|
}
|
|
var Ce = arguments.length - 2;
|
|
if (Ce === 1)
|
|
J.children = D;
|
|
else if (Ce > 1) {
|
|
for (var je = Array(Ce), Re = 0; Re < Ce; Re++)
|
|
je[Re] = arguments[Re + 2];
|
|
Object.freeze && Object.freeze(je), J.children = je;
|
|
}
|
|
if (x && x.defaultProps) {
|
|
var Me = x.defaultProps;
|
|
for (L in Me)
|
|
J[L] === void 0 && (J[L] = Me[L]);
|
|
}
|
|
if (ie || re) {
|
|
var Fe = typeof x == "function" ? x.displayName || x.name || "Unknown" : x;
|
|
ie && $r(J, Fe), re && pn(J, Fe);
|
|
}
|
|
return kr(x, ie, re, se, pe, F.current, J);
|
|
}
|
|
function Mo(x, E) {
|
|
var D = kr(x.type, E, x.ref, x._self, x._source, x._owner, x.props);
|
|
return D;
|
|
}
|
|
function Do(x, E, D) {
|
|
if (x == null)
|
|
throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + x + ".");
|
|
var L, J = O({}, x.props), ie = x.key, re = x.ref, se = x._self, pe = x._source, Ce = x._owner;
|
|
if (E != null) {
|
|
Wt(E) && (re = E.ref, Ce = F.current), lt(E) && (Jr(E.key), ie = "" + E.key);
|
|
var je;
|
|
x.type && x.type.defaultProps && (je = x.type.defaultProps);
|
|
for (L in E)
|
|
ot.call(E, L) && !kt.hasOwnProperty(L) && (E[L] === void 0 && je !== void 0 ? J[L] = je[L] : J[L] = E[L]);
|
|
}
|
|
var Re = arguments.length - 2;
|
|
if (Re === 1)
|
|
J.children = D;
|
|
else if (Re > 1) {
|
|
for (var Me = Array(Re), Fe = 0; Fe < Re; Fe++)
|
|
Me[Fe] = arguments[Fe + 2];
|
|
J.children = Me;
|
|
}
|
|
return kr(x.type, ie, re, se, pe, Ce, J);
|
|
}
|
|
function yr(x) {
|
|
return typeof x == "object" && x !== null && x.$$typeof === n;
|
|
}
|
|
var Tn = ".", Fo = ":";
|
|
function Ss(x) {
|
|
var E = /[=:]/g, D = {
|
|
"=": "=0",
|
|
":": "=2"
|
|
}, L = x.replace(E, function(J) {
|
|
return D[J];
|
|
});
|
|
return "$" + L;
|
|
}
|
|
var pa = !1, Kc = /\/+/g;
|
|
function ma(x) {
|
|
return x.replace(Kc, "$&/");
|
|
}
|
|
function vr(x, E) {
|
|
return typeof x == "object" && x !== null && x.key != null ? (Jr(x.key), Ss("" + x.key)) : E.toString(36);
|
|
}
|
|
function xr(x, E, D, L, J) {
|
|
var ie = typeof x;
|
|
(ie === "undefined" || ie === "boolean") && (x = null);
|
|
var re = !1;
|
|
if (x === null)
|
|
re = !0;
|
|
else
|
|
switch (ie) {
|
|
case "string":
|
|
case "number":
|
|
re = !0;
|
|
break;
|
|
case "object":
|
|
switch (x.$$typeof) {
|
|
case n:
|
|
case o:
|
|
re = !0;
|
|
}
|
|
}
|
|
if (re) {
|
|
var se = x, pe = J(se), Ce = L === "" ? Tn + vr(se, 0) : L;
|
|
if (oe(pe)) {
|
|
var je = "";
|
|
Ce != null && (je = ma(Ce) + "/"), xr(pe, E, je, "", function(bm) {
|
|
return bm;
|
|
});
|
|
} else pe != null && (yr(pe) && (pe.key && (!se || se.key !== pe.key) && Jr(pe.key), pe = Mo(
|
|
pe,
|
|
// Keep both the (mapped) and old keys if they differ, just as
|
|
// traverseAllChildren used to do for objects as children
|
|
D + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key
|
|
(pe.key && (!se || se.key !== pe.key) ? (
|
|
// $FlowFixMe Flow incorrectly thinks existing element's key can be a number
|
|
// eslint-disable-next-line react-internal/safe-string-coercion
|
|
ma("" + pe.key) + "/"
|
|
) : "") + Ce
|
|
)), E.push(pe));
|
|
return 1;
|
|
}
|
|
var Re, Me, Fe = 0, tt = L === "" ? Tn : L + Fo;
|
|
if (oe(x))
|
|
for (var Bn = 0; Bn < x.length; Bn++)
|
|
Re = x[Bn], Me = tt + vr(Re, Bn), Fe += xr(Re, E, D, Me, J);
|
|
else {
|
|
var qo = $(x);
|
|
if (typeof qo == "function") {
|
|
var qs = x;
|
|
qo === qs.entries && (pa || U("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), pa = !0);
|
|
for (var hm = qo.call(qs), Ks, gm = 0; !(Ks = hm.next()).done; )
|
|
Re = Ks.value, Me = tt + vr(Re, gm++), Fe += xr(Re, E, D, Me, J);
|
|
} else if (ie === "object") {
|
|
var Xs = String(x);
|
|
throw new Error("Objects are not valid as a React child (found: " + (Xs === "[object Object]" ? "object with keys {" + Object.keys(x).join(", ") + "}" : Xs) + "). If you meant to render a collection of children, use an array instead.");
|
|
}
|
|
}
|
|
return Fe;
|
|
}
|
|
function wr(x, E, D) {
|
|
if (x == null)
|
|
return x;
|
|
var L = [], J = 0;
|
|
return xr(x, L, "", "", function(ie) {
|
|
return E.call(D, ie, J++);
|
|
}), L;
|
|
}
|
|
function Dn(x) {
|
|
var E = 0;
|
|
return wr(x, function() {
|
|
E++;
|
|
}), E;
|
|
}
|
|
function sn(x, E, D) {
|
|
wr(x, function() {
|
|
E.apply(this, arguments);
|
|
}, D);
|
|
}
|
|
function nn(x) {
|
|
return wr(x, function(E) {
|
|
return E;
|
|
}) || [];
|
|
}
|
|
function mn(x) {
|
|
if (!yr(x))
|
|
throw new Error("React.Children.only expected to receive a single React element child.");
|
|
return x;
|
|
}
|
|
function xo(x) {
|
|
var E = {
|
|
$$typeof: c,
|
|
// As a workaround to support multiple concurrent renderers, we categorize
|
|
// some renderers as primary and others as secondary. We only expect
|
|
// there to be two concurrent renderers at most: React Native (primary) and
|
|
// Fabric (secondary); React DOM (primary) and React ART (secondary).
|
|
// Secondary renderers store their context values on separate fields.
|
|
_currentValue: x,
|
|
_currentValue2: x,
|
|
// Used to track how many concurrent renderers this context currently
|
|
// supports within in a single renderer. Such as parallel server rendering.
|
|
_threadCount: 0,
|
|
// These are circular
|
|
Provider: null,
|
|
Consumer: null,
|
|
// Add these to use same hidden class in VM as ServerContext
|
|
_defaultValue: null,
|
|
_globalName: null
|
|
};
|
|
E.Provider = {
|
|
$$typeof: u,
|
|
_context: E
|
|
};
|
|
var D = !1, L = !1, J = !1;
|
|
{
|
|
var ie = {
|
|
$$typeof: c,
|
|
_context: E
|
|
};
|
|
Object.defineProperties(ie, {
|
|
Provider: {
|
|
get: function() {
|
|
return L || (L = !0, W("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), E.Provider;
|
|
},
|
|
set: function(re) {
|
|
E.Provider = re;
|
|
}
|
|
},
|
|
_currentValue: {
|
|
get: function() {
|
|
return E._currentValue;
|
|
},
|
|
set: function(re) {
|
|
E._currentValue = re;
|
|
}
|
|
},
|
|
_currentValue2: {
|
|
get: function() {
|
|
return E._currentValue2;
|
|
},
|
|
set: function(re) {
|
|
E._currentValue2 = re;
|
|
}
|
|
},
|
|
_threadCount: {
|
|
get: function() {
|
|
return E._threadCount;
|
|
},
|
|
set: function(re) {
|
|
E._threadCount = re;
|
|
}
|
|
},
|
|
Consumer: {
|
|
get: function() {
|
|
return D || (D = !0, W("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), E.Consumer;
|
|
}
|
|
},
|
|
displayName: {
|
|
get: function() {
|
|
return E.displayName;
|
|
},
|
|
set: function(re) {
|
|
J || (U("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", re), J = !0);
|
|
}
|
|
}
|
|
}), E.Consumer = ie;
|
|
}
|
|
return E._currentRenderer = null, E._currentRenderer2 = null, E;
|
|
}
|
|
var Vt = -1, Qr = 0, on = 1, In = 2;
|
|
function Lo(x) {
|
|
if (x._status === Vt) {
|
|
var E = x._result, D = E();
|
|
if (D.then(function(ie) {
|
|
if (x._status === Qr || x._status === Vt) {
|
|
var re = x;
|
|
re._status = on, re._result = ie;
|
|
}
|
|
}, function(ie) {
|
|
if (x._status === Qr || x._status === Vt) {
|
|
var re = x;
|
|
re._status = In, re._result = ie;
|
|
}
|
|
}), x._status === Vt) {
|
|
var L = x;
|
|
L._status = Qr, L._result = D;
|
|
}
|
|
}
|
|
if (x._status === on) {
|
|
var J = x._result;
|
|
return J === void 0 && W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))
|
|
|
|
Did you accidentally put curly braces around the import?`, J), "default" in J || W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))`, J), J.default;
|
|
} else
|
|
throw x._result;
|
|
}
|
|
function zo(x) {
|
|
var E = {
|
|
// We use these fields to store the result.
|
|
_status: Vt,
|
|
_result: x
|
|
}, D = {
|
|
$$typeof: y,
|
|
_payload: E,
|
|
_init: Lo
|
|
};
|
|
{
|
|
var L, J;
|
|
Object.defineProperties(D, {
|
|
defaultProps: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return L;
|
|
},
|
|
set: function(ie) {
|
|
W("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), L = ie, Object.defineProperty(D, "defaultProps", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
},
|
|
propTypes: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return J;
|
|
},
|
|
set: function(ie) {
|
|
W("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), J = ie, Object.defineProperty(D, "propTypes", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return D;
|
|
}
|
|
function Fn(x) {
|
|
x != null && x.$$typeof === p ? W("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof x != "function" ? W("forwardRef requires a render function but was given %s.", x === null ? "null" : typeof x) : x.length !== 0 && x.length !== 2 && W("forwardRef render functions accept exactly two parameters: props and ref. %s", x.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), x != null && (x.defaultProps != null || x.propTypes != null) && W("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");
|
|
var E = {
|
|
$$typeof: d,
|
|
render: x
|
|
};
|
|
{
|
|
var D;
|
|
Object.defineProperty(E, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return D;
|
|
},
|
|
set: function(L) {
|
|
D = L, !x.name && !x.displayName && (x.displayName = L);
|
|
}
|
|
});
|
|
}
|
|
return E;
|
|
}
|
|
var Ln;
|
|
Ln = Symbol.for("react.module.reference");
|
|
function wo(x) {
|
|
return !!(typeof x == "string" || typeof x == "function" || x === a || x === s || G || x === i || x === l || x === f || te || x === m || B || Z || M || typeof x == "object" && x !== null && (x.$$typeof === y || x.$$typeof === p || x.$$typeof === u || x.$$typeof === c || x.$$typeof === d || // This needs to include all possible module reference object
|
|
// types supported by any Flight configuration anywhere since
|
|
// we don't know which Flight build this will end up being used
|
|
// with.
|
|
x.$$typeof === Ln || x.getModuleId !== void 0));
|
|
}
|
|
function Rp(x, E) {
|
|
wo(x) || W("memo: The first argument must be a component. Instead received: %s", x === null ? "null" : typeof x);
|
|
var D = {
|
|
$$typeof: p,
|
|
type: x,
|
|
compare: E === void 0 ? null : E
|
|
};
|
|
{
|
|
var L;
|
|
Object.defineProperty(D, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return L;
|
|
},
|
|
set: function(J) {
|
|
L = J, !x.name && !x.displayName && (x.displayName = J);
|
|
}
|
|
});
|
|
}
|
|
return D;
|
|
}
|
|
function at() {
|
|
var x = _.current;
|
|
return x === null && W(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
2. You might be breaking the Rules of Hooks
|
|
3. You might have more than one copy of React in the same app
|
|
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), x;
|
|
}
|
|
function Mp(x) {
|
|
var E = at();
|
|
if (x._context !== void 0) {
|
|
var D = x._context;
|
|
D.Consumer === x ? W("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : D.Provider === x && W("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
|
|
}
|
|
return E.useContext(x);
|
|
}
|
|
function Dp(x) {
|
|
var E = at();
|
|
return E.useState(x);
|
|
}
|
|
function Fp(x, E, D) {
|
|
var L = at();
|
|
return L.useReducer(x, E, D);
|
|
}
|
|
function Lp(x) {
|
|
var E = at();
|
|
return E.useRef(x);
|
|
}
|
|
function zp(x, E) {
|
|
var D = at();
|
|
return D.useEffect(x, E);
|
|
}
|
|
function Wp(x, E) {
|
|
var D = at();
|
|
return D.useInsertionEffect(x, E);
|
|
}
|
|
function Vp(x, E) {
|
|
var D = at();
|
|
return D.useLayoutEffect(x, E);
|
|
}
|
|
function Hp(x, E) {
|
|
var D = at();
|
|
return D.useCallback(x, E);
|
|
}
|
|
function Gp(x, E) {
|
|
var D = at();
|
|
return D.useMemo(x, E);
|
|
}
|
|
function Up(x, E, D) {
|
|
var L = at();
|
|
return L.useImperativeHandle(x, E, D);
|
|
}
|
|
function Bp(x, E) {
|
|
{
|
|
var D = at();
|
|
return D.useDebugValue(x, E);
|
|
}
|
|
}
|
|
function Yp() {
|
|
var x = at();
|
|
return x.useTransition();
|
|
}
|
|
function qp(x) {
|
|
var E = at();
|
|
return E.useDeferredValue(x);
|
|
}
|
|
function Kp() {
|
|
var x = at();
|
|
return x.useId();
|
|
}
|
|
function Xp(x, E, D) {
|
|
var L = at();
|
|
return L.useSyncExternalStore(x, E, D);
|
|
}
|
|
var fn = 0, Es, As, Ps, Cs, Ns, Ts, Is;
|
|
function js() {
|
|
}
|
|
js.__reactDisabledLog = !0;
|
|
function Jp() {
|
|
{
|
|
if (fn === 0) {
|
|
Es = console.log, As = console.info, Ps = console.warn, Cs = console.error, Ns = console.group, Ts = console.groupCollapsed, Is = console.groupEnd;
|
|
var x = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
value: js,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
info: x,
|
|
log: x,
|
|
warn: x,
|
|
error: x,
|
|
group: x,
|
|
groupCollapsed: x,
|
|
groupEnd: x
|
|
});
|
|
}
|
|
fn++;
|
|
}
|
|
}
|
|
function Qp() {
|
|
{
|
|
if (fn--, fn === 0) {
|
|
var x = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
log: O({}, x, {
|
|
value: Es
|
|
}),
|
|
info: O({}, x, {
|
|
value: As
|
|
}),
|
|
warn: O({}, x, {
|
|
value: Ps
|
|
}),
|
|
error: O({}, x, {
|
|
value: Cs
|
|
}),
|
|
group: O({}, x, {
|
|
value: Ns
|
|
}),
|
|
groupCollapsed: O({}, x, {
|
|
value: Ts
|
|
}),
|
|
groupEnd: O({}, x, {
|
|
value: Is
|
|
})
|
|
});
|
|
}
|
|
fn < 0 && W("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
}
|
|
}
|
|
var Wo = H.ReactCurrentDispatcher, Vo;
|
|
function zn(x, E, D) {
|
|
{
|
|
if (Vo === void 0)
|
|
try {
|
|
throw Error();
|
|
} catch (J) {
|
|
var L = J.stack.trim().match(/\n( *(at )?)/);
|
|
Vo = L && L[1] || "";
|
|
}
|
|
return `
|
|
` + Vo + x;
|
|
}
|
|
}
|
|
var Ho = !1, Wn;
|
|
{
|
|
var Zp = typeof WeakMap == "function" ? WeakMap : Map;
|
|
Wn = new Zp();
|
|
}
|
|
function Rs(x, E) {
|
|
if (!x || Ho)
|
|
return "";
|
|
{
|
|
var D = Wn.get(x);
|
|
if (D !== void 0)
|
|
return D;
|
|
}
|
|
var L;
|
|
Ho = !0;
|
|
var J = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
var ie;
|
|
ie = Wo.current, Wo.current = null, Jp();
|
|
try {
|
|
if (E) {
|
|
var re = function() {
|
|
throw Error();
|
|
};
|
|
if (Object.defineProperty(re.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(re, []);
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
Reflect.construct(x, [], re);
|
|
} else {
|
|
try {
|
|
re.call();
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
x.call(re.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (tt) {
|
|
L = tt;
|
|
}
|
|
x();
|
|
}
|
|
} catch (tt) {
|
|
if (tt && L && typeof tt.stack == "string") {
|
|
for (var se = tt.stack.split(`
|
|
`), pe = L.stack.split(`
|
|
`), Ce = se.length - 1, je = pe.length - 1; Ce >= 1 && je >= 0 && se[Ce] !== pe[je]; )
|
|
je--;
|
|
for (; Ce >= 1 && je >= 0; Ce--, je--)
|
|
if (se[Ce] !== pe[je]) {
|
|
if (Ce !== 1 || je !== 1)
|
|
do
|
|
if (Ce--, je--, je < 0 || se[Ce] !== pe[je]) {
|
|
var Re = `
|
|
` + se[Ce].replace(" at new ", " at ");
|
|
return x.displayName && Re.includes("<anonymous>") && (Re = Re.replace("<anonymous>", x.displayName)), typeof x == "function" && Wn.set(x, Re), Re;
|
|
}
|
|
while (Ce >= 1 && je >= 0);
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
Ho = !1, Wo.current = ie, Qp(), Error.prepareStackTrace = J;
|
|
}
|
|
var Me = x ? x.displayName || x.name : "", Fe = Me ? zn(Me) : "";
|
|
return typeof x == "function" && Wn.set(x, Fe), Fe;
|
|
}
|
|
function em(x, E, D) {
|
|
return Rs(x, !1);
|
|
}
|
|
function tm(x) {
|
|
var E = x.prototype;
|
|
return !!(E && E.isReactComponent);
|
|
}
|
|
function Vn(x, E, D) {
|
|
if (x == null)
|
|
return "";
|
|
if (typeof x == "function")
|
|
return Rs(x, tm(x));
|
|
if (typeof x == "string")
|
|
return zn(x);
|
|
switch (x) {
|
|
case l:
|
|
return zn("Suspense");
|
|
case f:
|
|
return zn("SuspenseList");
|
|
}
|
|
if (typeof x == "object")
|
|
switch (x.$$typeof) {
|
|
case d:
|
|
return em(x.render);
|
|
case p:
|
|
return Vn(x.type, E, D);
|
|
case y: {
|
|
var L = x, J = L._payload, ie = L._init;
|
|
try {
|
|
return Vn(ie(J), E, D);
|
|
} catch {
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
var Ms = {}, Ds = H.ReactDebugCurrentFrame;
|
|
function Hn(x) {
|
|
if (x) {
|
|
var E = x._owner, D = Vn(x.type, x._source, E ? E.type : null);
|
|
Ds.setExtraStackFrame(D);
|
|
} else
|
|
Ds.setExtraStackFrame(null);
|
|
}
|
|
function rm(x, E, D, L, J) {
|
|
{
|
|
var ie = Function.call.bind(ot);
|
|
for (var re in x)
|
|
if (ie(x, re)) {
|
|
var se = void 0;
|
|
try {
|
|
if (typeof x[re] != "function") {
|
|
var pe = Error((L || "React class") + ": " + D + " type `" + re + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof x[re] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
throw pe.name = "Invariant Violation", pe;
|
|
}
|
|
se = x[re](E, re, L, D, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
} catch (Ce) {
|
|
se = Ce;
|
|
}
|
|
se && !(se instanceof Error) && (Hn(J), W("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", L || "React class", D, re, typeof se), Hn(null)), se instanceof Error && !(se.message in Ms) && (Ms[se.message] = !0, Hn(J), W("Failed %s type: %s", D, se.message), Hn(null));
|
|
}
|
|
}
|
|
}
|
|
function Zr(x) {
|
|
if (x) {
|
|
var E = x._owner, D = Vn(x.type, x._source, E ? E.type : null);
|
|
Y(D);
|
|
} else
|
|
Y(null);
|
|
}
|
|
var Go;
|
|
Go = !1;
|
|
function Fs() {
|
|
if (F.current) {
|
|
var x = fe(F.current.type);
|
|
if (x)
|
|
return `
|
|
|
|
Check the render method of \`` + x + "`.";
|
|
}
|
|
return "";
|
|
}
|
|
function nm(x) {
|
|
if (x !== void 0) {
|
|
var E = x.fileName.replace(/^.*[\\\/]/, ""), D = x.lineNumber;
|
|
return `
|
|
|
|
Check your code at ` + E + ":" + D + ".";
|
|
}
|
|
return "";
|
|
}
|
|
function om(x) {
|
|
return x != null ? nm(x.__source) : "";
|
|
}
|
|
var Ls = {};
|
|
function am(x) {
|
|
var E = Fs();
|
|
if (!E) {
|
|
var D = typeof x == "string" ? x : x.displayName || x.name;
|
|
D && (E = `
|
|
|
|
Check the top-level render call using <` + D + ">.");
|
|
}
|
|
return E;
|
|
}
|
|
function zs(x, E) {
|
|
if (!(!x._store || x._store.validated || x.key != null)) {
|
|
x._store.validated = !0;
|
|
var D = am(E);
|
|
if (!Ls[D]) {
|
|
Ls[D] = !0;
|
|
var L = "";
|
|
x && x._owner && x._owner !== F.current && (L = " It was passed a child from " + fe(x._owner.type) + "."), Zr(x), W('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', D, L), Zr(null);
|
|
}
|
|
}
|
|
}
|
|
function Ws(x, E) {
|
|
if (typeof x == "object") {
|
|
if (oe(x))
|
|
for (var D = 0; D < x.length; D++) {
|
|
var L = x[D];
|
|
yr(L) && zs(L, E);
|
|
}
|
|
else if (yr(x))
|
|
x._store && (x._store.validated = !0);
|
|
else if (x) {
|
|
var J = $(x);
|
|
if (typeof J == "function" && J !== x.entries)
|
|
for (var ie = J.call(x), re; !(re = ie.next()).done; )
|
|
yr(re.value) && zs(re.value, E);
|
|
}
|
|
}
|
|
}
|
|
function Vs(x) {
|
|
{
|
|
var E = x.type;
|
|
if (E == null || typeof E == "string")
|
|
return;
|
|
var D;
|
|
if (typeof E == "function")
|
|
D = E.propTypes;
|
|
else if (typeof E == "object" && (E.$$typeof === d || // Note: Memo only checks outer props here.
|
|
// Inner props are checked in the reconciler.
|
|
E.$$typeof === p))
|
|
D = E.propTypes;
|
|
else
|
|
return;
|
|
if (D) {
|
|
var L = fe(E);
|
|
rm(D, x.props, "prop", L, x);
|
|
} else if (E.PropTypes !== void 0 && !Go) {
|
|
Go = !0;
|
|
var J = fe(E);
|
|
W("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", J || "Unknown");
|
|
}
|
|
typeof E.getDefaultProps == "function" && !E.getDefaultProps.isReactClassApproved && W("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
}
|
|
}
|
|
function im(x) {
|
|
{
|
|
for (var E = Object.keys(x.props), D = 0; D < E.length; D++) {
|
|
var L = E[D];
|
|
if (L !== "children" && L !== "key") {
|
|
Zr(x), W("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", L), Zr(null);
|
|
break;
|
|
}
|
|
}
|
|
x.ref !== null && (Zr(x), W("Invalid attribute `ref` supplied to `React.Fragment`."), Zr(null));
|
|
}
|
|
}
|
|
function Hs(x, E, D) {
|
|
var L = wo(x);
|
|
if (!L) {
|
|
var J = "";
|
|
(x === void 0 || typeof x == "object" && x !== null && Object.keys(x).length === 0) && (J += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
var ie = om(E);
|
|
ie ? J += ie : J += Fs();
|
|
var re;
|
|
x === null ? re = "null" : oe(x) ? re = "array" : x !== void 0 && x.$$typeof === n ? (re = "<" + (fe(x.type) || "Unknown") + " />", J = " Did you accidentally export a JSX literal instead of a component?") : re = typeof x, W("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", re, J);
|
|
}
|
|
var se = vo.apply(this, arguments);
|
|
if (se == null)
|
|
return se;
|
|
if (L)
|
|
for (var pe = 2; pe < arguments.length; pe++)
|
|
Ws(arguments[pe], x);
|
|
return x === a ? im(se) : Vs(se), se;
|
|
}
|
|
var Gs = !1;
|
|
function sm(x) {
|
|
var E = Hs.bind(null, x);
|
|
return E.type = x, Gs || (Gs = !0, U("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(E, "type", {
|
|
enumerable: !1,
|
|
get: function() {
|
|
return U("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
|
|
value: x
|
|
}), x;
|
|
}
|
|
}), E;
|
|
}
|
|
function lm(x, E, D) {
|
|
for (var L = Do.apply(this, arguments), J = 2; J < arguments.length; J++)
|
|
Ws(arguments[J], L.type);
|
|
return Vs(L), L;
|
|
}
|
|
function cm(x, E) {
|
|
var D = S.transition;
|
|
S.transition = {};
|
|
var L = S.transition;
|
|
S.transition._updatedFibers = /* @__PURE__ */ new Set();
|
|
try {
|
|
x();
|
|
} finally {
|
|
if (S.transition = D, D === null && L._updatedFibers) {
|
|
var J = L._updatedFibers.size;
|
|
J > 10 && U("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), L._updatedFibers.clear();
|
|
}
|
|
}
|
|
}
|
|
var Us = !1, Gn = null;
|
|
function um(x) {
|
|
if (Gn === null)
|
|
try {
|
|
var E = ("require" + Math.random()).slice(0, 7), D = e && e[E];
|
|
Gn = D.call(e, "timers").setImmediate;
|
|
} catch {
|
|
Gn = function(L) {
|
|
Us === !1 && (Us = !0, typeof MessageChannel > "u" && W("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));
|
|
var J = new MessageChannel();
|
|
J.port1.onmessage = L, J.port2.postMessage(void 0);
|
|
};
|
|
}
|
|
return Gn(x);
|
|
}
|
|
var en = 0, Bs = !1;
|
|
function Ys(x) {
|
|
{
|
|
var E = en;
|
|
en++, b.current === null && (b.current = []);
|
|
var D = b.isBatchingLegacy, L;
|
|
try {
|
|
if (b.isBatchingLegacy = !0, L = x(), !D && b.didScheduleLegacyUpdate) {
|
|
var J = b.current;
|
|
J !== null && (b.didScheduleLegacyUpdate = !1, Yo(J));
|
|
}
|
|
} catch (Me) {
|
|
throw Un(E), Me;
|
|
} finally {
|
|
b.isBatchingLegacy = D;
|
|
}
|
|
if (L !== null && typeof L == "object" && typeof L.then == "function") {
|
|
var ie = L, re = !1, se = {
|
|
then: function(Me, Fe) {
|
|
re = !0, ie.then(function(tt) {
|
|
Un(E), en === 0 ? Uo(tt, Me, Fe) : Me(tt);
|
|
}, function(tt) {
|
|
Un(E), Fe(tt);
|
|
});
|
|
}
|
|
};
|
|
return !Bs && typeof Promise < "u" && Promise.resolve().then(function() {
|
|
}).then(function() {
|
|
re || (Bs = !0, W("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"));
|
|
}), se;
|
|
} else {
|
|
var pe = L;
|
|
if (Un(E), en === 0) {
|
|
var Ce = b.current;
|
|
Ce !== null && (Yo(Ce), b.current = null);
|
|
var je = {
|
|
then: function(Me, Fe) {
|
|
b.current === null ? (b.current = [], Uo(pe, Me, Fe)) : Me(pe);
|
|
}
|
|
};
|
|
return je;
|
|
} else {
|
|
var Re = {
|
|
then: function(Me, Fe) {
|
|
Me(pe);
|
|
}
|
|
};
|
|
return Re;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function Un(x) {
|
|
x !== en - 1 && W("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), en = x;
|
|
}
|
|
function Uo(x, E, D) {
|
|
{
|
|
var L = b.current;
|
|
if (L !== null)
|
|
try {
|
|
Yo(L), um(function() {
|
|
L.length === 0 ? (b.current = null, E(x)) : Uo(x, E, D);
|
|
});
|
|
} catch (J) {
|
|
D(J);
|
|
}
|
|
else
|
|
E(x);
|
|
}
|
|
}
|
|
var Bo = !1;
|
|
function Yo(x) {
|
|
if (!Bo) {
|
|
Bo = !0;
|
|
var E = 0;
|
|
try {
|
|
for (; E < x.length; E++) {
|
|
var D = x[E];
|
|
do
|
|
D = D(!0);
|
|
while (D !== null);
|
|
}
|
|
x.length = 0;
|
|
} catch (L) {
|
|
throw x = x.slice(E + 1), L;
|
|
} finally {
|
|
Bo = !1;
|
|
}
|
|
}
|
|
}
|
|
var fm = Hs, dm = lm, pm = sm, mm = {
|
|
map: wr,
|
|
forEach: sn,
|
|
count: Dn,
|
|
toArray: nn,
|
|
only: mn
|
|
};
|
|
t.Children = mm, t.Component = A, t.Fragment = a, t.Profiler = s, t.PureComponent = j, t.StrictMode = i, t.Suspense = l, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = H, t.act = Ys, t.cloneElement = dm, t.createContext = xo, t.createElement = fm, t.createFactory = pm, t.createRef = Q, t.forwardRef = Fn, t.isValidElement = yr, t.lazy = zo, t.memo = Rp, t.startTransition = cm, t.unstable_act = Ys, t.useCallback = Hp, t.useContext = Mp, t.useDebugValue = Bp, t.useDeferredValue = qp, t.useEffect = zp, t.useId = Kp, t.useImperativeHandle = Up, t.useInsertionEffect = Wp, t.useLayoutEffect = Vp, t.useMemo = Gp, t.useReducer = Fp, t.useRef = Lp, t.useState = Dp, t.useSyncExternalStore = Xp, t.useTransition = Yp, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
|
|
}();
|
|
}(e1, e1.exports)), e1.exports;
|
|
}
|
|
var jF;
|
|
function T7e() {
|
|
return jF || (jF = 1, process.env.NODE_ENV === "production" ? Dk.exports = C7e() : Dk.exports = N7e()), Dk.exports;
|
|
}
|
|
var I7e = T7e();
|
|
const j7e = /* @__PURE__ */ P7e(I7e), R7e = {
|
|
[et.BlackForestLabs]: "/resources/images/services/blackforestlabs.svg",
|
|
[et.Kling]: "/resources/images/services/kling.svg",
|
|
[et.Midjourney]: "/resources/images/services/midjourney.svg",
|
|
[et.OpenAi]: "/resources/images/services/openai.svg",
|
|
[et.Bytedance]: "/resources/images/services/bytedance.svg",
|
|
[et.Google]: "/resources/images/services/google.svg",
|
|
[et.Recraft]: "/resources/images/services/recraft.svg",
|
|
[et.Tencent]: "/resources/images/services/tencent.svg",
|
|
[et.Krea]: "/resources/images/services/krea.svg",
|
|
[et.Fal]: "/resources/images/services/fal.svg",
|
|
[et.Replicate]: "/resources/images/services/replicate.svg",
|
|
[et.TensorArt]: "/resources/images/services/tensorart.svg",
|
|
[et.OpenArt]: "/resources/images/services/openart.svg",
|
|
[et.Higgsfield]: "/resources/images/services/higgsfield.svg",
|
|
[et.Alibaba]: "/resources/images/services/alibaba.svg",
|
|
[et.Vidu]: "/resources/images/services/vidu.svg",
|
|
[et.ArtCraft]: "/resources/images/services/artcraft.svg"
|
|
}, M7e = "/resources/images/services/generic.svg", D7e = (e) => R7e[e], F7e = (e, t = "h-4 w-4 invert") => {
|
|
const r = D7e(e) ?? M7e;
|
|
return j7e.createElement("img", {
|
|
src: r,
|
|
alt: `${e} logo`,
|
|
className: t
|
|
});
|
|
};
|
|
et.BlackForestLabs, et.BlackForestLabs, et.BlackForestLabs, et.BlackForestLabs, et.OpenAi, et.Kling, et.Kling, et.Kling, et.Bytedance, et.Google, et.Recraft, et.Tencent, et.Midjourney, et.Midjourney, et.Midjourney, et.Midjourney, et.Midjourney, et.Midjourney, et.Midjourney;
|
|
var ql = /* @__PURE__ */ ((e) => (e.InstructiveEdit = "instructiveEdit", e.MaskedInpainting = "maskedInpainting", e.NonMaskedInpainting = "nonMaskedInpainting", e))(ql || {});
|
|
const Yn = et, L7e = {
|
|
maxGenerationCount: 1,
|
|
defaultGenerationCount: 1
|
|
}, qn = (e) => ({
|
|
label: e.label ?? e.info.name,
|
|
description: e.description,
|
|
badges: e.badges,
|
|
capabilities: e.capabilities ?? L7e,
|
|
tags: e.tags ?? [],
|
|
...e
|
|
});
|
|
//////////////////////////////
|
|
// Image models
|
|
//////////////////////////////
|
|
qn({
|
|
id: "midjourney",
|
|
category: "image",
|
|
info: {
|
|
name: "Midjourney",
|
|
tauri_id: "midjourney",
|
|
creator: Yn.Midjourney
|
|
},
|
|
description: "Incredible style and quality",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), qn({
|
|
id: "flux_pro_1_1_ultra",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro 1.1 Ultra",
|
|
tauri_id: "flux_pro_11_ultra",
|
|
creator: Yn.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), qn({
|
|
id: "flux_pro_1_1",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro 1.1",
|
|
tauri_id: "flux_pro_11",
|
|
creator: Yn.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), qn({
|
|
id: "flux_1_dev",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux 1 Dev",
|
|
tauri_id: "flux_1_dev",
|
|
creator: Yn.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), qn({
|
|
id: "flux_1_schnell",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux 1 Schnell",
|
|
tauri_id: "flux_1_schnell",
|
|
creator: Yn.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), qn({
|
|
id: "gpt_image_1",
|
|
category: "image",
|
|
info: {
|
|
name: "GPT Image 1 (GPT-4o)",
|
|
tauri_id: "gpt_image_1",
|
|
creator: Yn.OpenAi
|
|
},
|
|
description: "Slow, ultra instructive model",
|
|
badges: [{ label: "45 sec." }],
|
|
capabilities: { maxGenerationCount: 1 },
|
|
tags: ["instructiveEdit"]
|
|
}), qn({
|
|
id: "flux_pro_kontext_max",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro Kontext Max",
|
|
tauri_id: "flux_pro_kontext_max",
|
|
creator: Yn.BlackForestLabs
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "20 sec." }],
|
|
capabilities: {
|
|
maxGenerationCount: 4
|
|
},
|
|
tags: [ql.InstructiveEdit, ql.NonMaskedInpainting]
|
|
}), qn({
|
|
id: "flux_pro_inpaint",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro 1 (Inpainting)",
|
|
tauri_id: "flux_pro_1",
|
|
creator: Yn.BlackForestLabs
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "20 sec." }],
|
|
capabilities: {
|
|
maxGenerationCount: 1
|
|
// NB: For some reason Fal only supports ONE image!
|
|
},
|
|
tags: [ql.MaskedInpainting]
|
|
}), qn({
|
|
id: "flux_dev_juggernaut_inpaint",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Dev Juggernaut (Inpainting)",
|
|
tauri_id: "flux_dev_juggernaut",
|
|
creator: Yn.BlackForestLabs
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "20 sec." }],
|
|
capabilities: {
|
|
maxGenerationCount: 4
|
|
},
|
|
tags: [ql.MaskedInpainting]
|
|
}), //////////////////////////////
|
|
// Video models
|
|
//////////////////////////////
|
|
qn({
|
|
id: "kling_1_6_pro",
|
|
category: "video",
|
|
info: {
|
|
name: "Kling 1.6 Pro",
|
|
tauri_id: "kling_1.6_pro",
|
|
creator: Yn.Kling
|
|
},
|
|
description: "Good quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), qn({
|
|
id: "kling_2_1_pro",
|
|
category: "video",
|
|
info: {
|
|
name: "Kling 2.1 Pro",
|
|
tauri_id: "kling_2.1_pro",
|
|
creator: Yn.Kling
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), qn({
|
|
id: "kling_2_1_master",
|
|
category: "video",
|
|
info: {
|
|
name: "Kling 2.1 Master",
|
|
tauri_id: "kling_2.1_master",
|
|
creator: Yn.Kling
|
|
},
|
|
description: "Master quality model ($$)",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), qn({
|
|
id: "seedance_1_0_lite",
|
|
category: "video",
|
|
info: {
|
|
name: "Seedance 1.0 Lite",
|
|
tauri_id: "seedance_1.0_lite",
|
|
creator: Yn.Bytedance
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), qn({
|
|
id: "veo_2",
|
|
category: "video",
|
|
info: { name: "Google Veo 2", tauri_id: "veo_2", creator: Yn.Google },
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
});
|
|
const qC = [
|
|
new ha({
|
|
id: "midjourney",
|
|
tauriId: "midjourney",
|
|
fullName: "Midjourney",
|
|
category: "image",
|
|
creator: et.Midjourney,
|
|
selectorName: "Midjourney",
|
|
selectorDescription: "Incredible style and quality",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !1,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new ha({
|
|
id: "flux_pro_1_1_ultra",
|
|
tauriId: "flux_pro_11_ultra",
|
|
fullName: "Flux Pro 1.1 Ultra",
|
|
category: "image",
|
|
creator: et.BlackForestLabs,
|
|
selectorName: "Flux Pro 1.1 Ultra",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new ha({
|
|
id: "flux_pro_1_1",
|
|
tauriId: "flux_pro_11",
|
|
fullName: "Flux Pro 1.1",
|
|
category: "image",
|
|
creator: et.BlackForestLabs,
|
|
selectorName: "Flux Pro 1.1",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new ha({
|
|
id: "flux_1_dev",
|
|
tauriId: "flux_1_dev",
|
|
fullName: "Flux 1 Dev",
|
|
category: "image",
|
|
creator: et.BlackForestLabs,
|
|
selectorName: "Flux 1 Dev",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new ha({
|
|
id: "flux_1_schnell",
|
|
tauriId: "flux_1_schnell",
|
|
fullName: "Flux 1 Schnell",
|
|
category: "image",
|
|
creator: et.BlackForestLabs,
|
|
selectorName: "Flux 1 Schnell",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new ha({
|
|
id: "gemini_25_flash",
|
|
tauriId: "gemini_25_flash",
|
|
fullName: "Gemini 2.5 Flash",
|
|
category: "image",
|
|
creator: et.Google,
|
|
selectorName: "Gemini 2.5 Flash",
|
|
selectorDescription: "Ultra instructive model",
|
|
selectorBadges: ["35 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 1,
|
|
canEditImages: !0,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6,
|
|
tags: [ql.InstructiveEdit]
|
|
}),
|
|
new ha({
|
|
id: "gpt_image_1",
|
|
tauriId: "gpt_image_1",
|
|
fullName: "GPT Image 1 (GPT-4o)",
|
|
category: "image",
|
|
creator: et.OpenAi,
|
|
selectorName: "GPT Image 1 (GPT-4o)",
|
|
selectorDescription: "Slow, ultra instructive model",
|
|
selectorBadges: ["45 sec."],
|
|
maxGenerationCount: 1,
|
|
defaultGenerationCount: 1,
|
|
tags: [ql.InstructiveEdit],
|
|
canEditImages: !0,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new ha({
|
|
id: "flux_pro_kontext_max",
|
|
tauriId: "flux_pro_kontext_max",
|
|
fullName: "Flux Pro Kontext Max",
|
|
category: "image",
|
|
creator: et.BlackForestLabs,
|
|
selectorName: "Flux Pro Kontext Max",
|
|
selectorDescription: "Fast instructive editing",
|
|
selectorBadges: ["20 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canEditImages: !0,
|
|
tags: [ql.InstructiveEdit]
|
|
}),
|
|
new ha({
|
|
id: "flux_pro_inpaint",
|
|
tauriId: "flux_pro_1",
|
|
fullName: "Flux Pro Inpaint",
|
|
category: "image",
|
|
creator: et.BlackForestLabs,
|
|
selectorName: "Flux Pro",
|
|
selectorDescription: "Fast inpainting",
|
|
selectorBadges: ["30 sec."],
|
|
maxGenerationCount: 1,
|
|
// NB: Fal only allows one image for some reason!
|
|
defaultGenerationCount: 1,
|
|
// NB: Fal only allows one image for some reason!
|
|
canEditImages: !0,
|
|
usesInpaintingMask: !0
|
|
}),
|
|
new ha({
|
|
id: "flux_dev_juggernaut_inpaint",
|
|
tauriId: "flux_dev_juggernaut",
|
|
fullName: "Flux Dev Juggernaut Inpaint",
|
|
category: "image",
|
|
creator: et.BlackForestLabs,
|
|
selectorName: "Flux Dev Juggernaut",
|
|
selectorDescription: "Fast inpainting",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canEditImages: !0,
|
|
usesInpaintingMask: !0
|
|
})
|
|
], z7e = new Map(
|
|
qC.map((e) => [e.id, e])
|
|
);
|
|
if (z7e.size !== qC.length)
|
|
throw new Error("All image models must have unique IDs");
|
|
const W7e = [
|
|
new qm({
|
|
id: "kling_1_6_pro",
|
|
tauriId: "kling_1.6_pro",
|
|
fullName: "Kling 1.6 Pro",
|
|
category: "video",
|
|
creator: et.Kling,
|
|
selectorName: "Kling 1.6 Pro",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !0
|
|
}),
|
|
new qm({
|
|
id: "kling_2_1_pro",
|
|
tauriId: "kling_2.1_pro",
|
|
fullName: "Kling 2.1 Pro",
|
|
category: "video",
|
|
creator: et.Kling,
|
|
selectorName: "Kling 2.1 Pro",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !0
|
|
}),
|
|
new qm({
|
|
id: "kling_2_1_master",
|
|
tauriId: "kling_2.1_master",
|
|
fullName: "Kling 2.1 Master",
|
|
category: "video",
|
|
creator: et.Kling,
|
|
selectorName: "Kling 2.1 Master",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !1
|
|
}),
|
|
new qm({
|
|
id: "seedance_1_0_lite",
|
|
tauriId: "seedance_1.0_lite",
|
|
fullName: "Seedance 1.0 Lite",
|
|
category: "video",
|
|
creator: et.Bytedance,
|
|
selectorName: "Seedance 1.0 Lite",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !1
|
|
}),
|
|
new qm({
|
|
id: "veo_2",
|
|
tauriId: "veo_2",
|
|
fullName: "Google Veo 2",
|
|
category: "video",
|
|
creator: et.Google,
|
|
selectorName: "Google Veo 2",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !1
|
|
})
|
|
], uZ = [...qC, ...W7e], V7e = new Map(
|
|
uZ.map((e) => [e.id, e])
|
|
);
|
|
if (V7e.size !== uZ.length)
|
|
throw new Error("All models must have unique IDs");
|
|
const H7e = ({
|
|
id: e,
|
|
name: t,
|
|
icon: r,
|
|
isUpdating: n = !1
|
|
}) => {
|
|
const {
|
|
attributes: o,
|
|
listeners: a,
|
|
setNodeRef: i,
|
|
transform: s,
|
|
transition: u,
|
|
isDragging: c
|
|
} = $7e({ id: e }), d = {
|
|
transform: Qg.Transform.toString(s),
|
|
transition: u
|
|
};
|
|
return /* @__PURE__ */ Te(
|
|
"div",
|
|
{
|
|
ref: i,
|
|
style: d,
|
|
...o,
|
|
...a,
|
|
className: `
|
|
flex items-center justify-between rounded-lg p-3 transition-colors duration-200 border border-ui-controls-border bg-ui-controls/60 text-base-fg
|
|
${n ? "opacity-60 cursor-not-allowed" : "cursor-move hover:bg-ui-controls/80"}
|
|
${c ? "opacity-70 shadow-lg" : ""}
|
|
`,
|
|
children: [
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center gap-3", children: [
|
|
/* @__PURE__ */ K("span", { className: "inline-flex items-center justify-center h-4 w-4", children: r }),
|
|
/* @__PURE__ */ K("span", { className: "font-medium", children: t })
|
|
] }),
|
|
/* @__PURE__ */ K("div", { className: "flex items-center", children: /* @__PURE__ */ K(
|
|
To,
|
|
{
|
|
icon: dge,
|
|
className: "text-base-fg/40 text-sm"
|
|
}
|
|
) })
|
|
]
|
|
}
|
|
);
|
|
}, RF = {
|
|
[$a.ArtCraft]: { id: $a.ArtCraft, name: "ArtCraft" },
|
|
[$a.Fal]: { id: $a.Fal, name: "Fal" },
|
|
[$a.Sora]: { id: $a.Sora, name: "Sora / ChatGPT" }
|
|
}, G7e = {
|
|
[$a.ArtCraft]: et.ArtCraft,
|
|
[$a.Fal]: et.Fal,
|
|
[$a.Sora]: et.OpenAi
|
|
}, U7e = (e) => {
|
|
const t = G7e[e];
|
|
return t ? F7e(t, "h-4 w-4") : /* @__PURE__ */ K(
|
|
"img",
|
|
{
|
|
src: "/resources/images/services/generic.svg",
|
|
alt: "generic logo",
|
|
className: "h-4 w-4"
|
|
}
|
|
);
|
|
}, B7e = () => {
|
|
const [e, t] = de([]), [r, n] = de(!1);
|
|
ue(() => {
|
|
(async () => {
|
|
const u = await Qve();
|
|
let c = [];
|
|
for (let d of u.payload.providers)
|
|
c.push(RF[d]);
|
|
for (const [d, l] of Object.entries(RF))
|
|
u.payload.providers.includes(d) || c.push(l);
|
|
t(c);
|
|
})();
|
|
}, []);
|
|
const o = eRe(
|
|
vF(BC),
|
|
vF(GC, {
|
|
coordinateGetter: O7e
|
|
})
|
|
), a = async (s) => {
|
|
try {
|
|
n(!0), console.log("Updating provider priority on backend:", s);
|
|
let u = s.map((c) => c.id);
|
|
console.log("Provider order:", u), await Zve({ providers: u }), console.log("Provider priority updated successfully");
|
|
} catch (u) {
|
|
console.error("Failed to update provider priority:", u);
|
|
} finally {
|
|
n(!1);
|
|
}
|
|
};
|
|
return /* @__PURE__ */ Te("div", { className: "space-y-4", children: [
|
|
/* @__PURE__ */ K("div", { children: /* @__PURE__ */ K("p", { className: "text-sm text-base-fg/70 mb-4", children: "Drag and drop to reorder model provider priority. Higher items will be tried first. You can use this to control favorite services and spending." }) }),
|
|
/* @__PURE__ */ K(
|
|
r7e,
|
|
{
|
|
sensors: o,
|
|
collisionDetection: rRe,
|
|
onDragEnd: (s) => {
|
|
const { active: u, over: c } = s;
|
|
u.id !== (c == null ? void 0 : c.id) && t((d) => {
|
|
const l = d.findIndex((y) => y.id === u.id), f = d.findIndex((y) => y.id === (c == null ? void 0 : c.id)), p = YC(d, l, f);
|
|
return a(p), p;
|
|
});
|
|
},
|
|
children: /* @__PURE__ */ K(h7e, { items: e, strategy: p7e, children: /* @__PURE__ */ K("div", { className: "space-y-2", children: e.map((s) => /* @__PURE__ */ K(
|
|
H7e,
|
|
{
|
|
id: s.id,
|
|
name: s.name,
|
|
icon: U7e(s.id),
|
|
isUpdating: r
|
|
},
|
|
s.id
|
|
)) }) })
|
|
}
|
|
),
|
|
r && /* @__PURE__ */ Te("div", { className: "text-xs rounded-full animate-pulse mt-4 flex items-center gap-2 text-base-fg/70", children: [
|
|
/* @__PURE__ */ K(To, { icon: nx, className: "animate-spin" }),
|
|
"Updating..."
|
|
] })
|
|
] });
|
|
}, Y7e = function(e, t) {
|
|
console.debug("gtagEvent", e, t), t ? window.gtag("event", e, t) : window.gtag("event", e);
|
|
};
|
|
function tc(e, t, { checkForDefaultPrevented: r = !0 } = {}) {
|
|
return function(n) {
|
|
if (e == null || e(n), r === !1 || !n.defaultPrevented)
|
|
return t == null ? void 0 : t(n);
|
|
};
|
|
}
|
|
function MF(e, t) {
|
|
if (typeof e == "function")
|
|
return e(t);
|
|
e != null && (e.current = t);
|
|
}
|
|
function fZ(...e) {
|
|
return (t) => {
|
|
let r = !1;
|
|
const n = e.map((o) => {
|
|
const a = MF(o, t);
|
|
return !r && typeof a == "function" && (r = !0), a;
|
|
});
|
|
if (r)
|
|
return () => {
|
|
for (let o = 0; o < n.length; o++) {
|
|
const a = n[o];
|
|
typeof a == "function" ? a() : MF(e[o], null);
|
|
}
|
|
};
|
|
};
|
|
}
|
|
function uf(...e) {
|
|
return V.useCallback(fZ(...e), e);
|
|
}
|
|
function q7e(e, t) {
|
|
const r = V.createContext(t), n = (a) => {
|
|
const { children: i, ...s } = a, u = V.useMemo(() => s, Object.values(s));
|
|
return /* @__PURE__ */ K(r.Provider, { value: u, children: i });
|
|
};
|
|
n.displayName = e + "Provider";
|
|
function o(a) {
|
|
const i = V.useContext(r);
|
|
if (i) return i;
|
|
if (t !== void 0) return t;
|
|
throw new Error(`\`${a}\` must be used within \`${e}\``);
|
|
}
|
|
return [n, o];
|
|
}
|
|
function K7e(e, t = []) {
|
|
let r = [];
|
|
function n(a, i) {
|
|
const s = V.createContext(i), u = r.length;
|
|
r = [...r, i];
|
|
const c = (l) => {
|
|
var f;
|
|
const { scope: p, children: y, ...m } = l, h = ((f = p == null ? void 0 : p[e]) == null ? void 0 : f[u]) || s, w = V.useMemo(() => m, Object.values(m));
|
|
return /* @__PURE__ */ K(h.Provider, { value: w, children: y });
|
|
};
|
|
c.displayName = a + "Provider";
|
|
function d(l, f) {
|
|
var p;
|
|
const y = ((p = f == null ? void 0 : f[e]) == null ? void 0 : p[u]) || s, m = V.useContext(y);
|
|
if (m) return m;
|
|
if (i !== void 0) return i;
|
|
throw new Error(`\`${l}\` must be used within \`${a}\``);
|
|
}
|
|
return [c, d];
|
|
}
|
|
const o = () => {
|
|
const a = r.map((i) => V.createContext(i));
|
|
return function(i) {
|
|
const s = (i == null ? void 0 : i[e]) || a;
|
|
return V.useMemo(
|
|
() => ({ [`__scope${e}`]: { ...i, [e]: s } }),
|
|
[i, s]
|
|
);
|
|
};
|
|
};
|
|
return o.scopeName = e, [n, X7e(o, ...t)];
|
|
}
|
|
function X7e(...e) {
|
|
const t = e[0];
|
|
if (e.length === 1) return t;
|
|
const r = () => {
|
|
const n = e.map((o) => ({
|
|
useScope: o(),
|
|
scopeName: o.scopeName
|
|
}));
|
|
return function(o) {
|
|
const a = n.reduce((i, { useScope: s, scopeName: u }) => {
|
|
const c = s(o)[`__scope${u}`];
|
|
return { ...i, ...c };
|
|
}, {});
|
|
return V.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]);
|
|
};
|
|
};
|
|
return r.scopeName = t.scopeName, r;
|
|
}
|
|
var eb = globalThis != null && globalThis.document ? V.useLayoutEffect : () => {
|
|
}, J7e = V[" useId ".trim().toString()] || (() => {
|
|
}), Q7e = 0;
|
|
function Fk(e) {
|
|
const [t, r] = V.useState(J7e());
|
|
return eb(() => {
|
|
r((n) => n ?? String(Q7e++));
|
|
}, [e]), e || (t ? `radix-${t}` : "");
|
|
}
|
|
var Z7e = V[" useInsertionEffect ".trim().toString()] || eb;
|
|
function eMe({
|
|
prop: e,
|
|
defaultProp: t,
|
|
onChange: r = () => {
|
|
},
|
|
caller: n
|
|
}) {
|
|
const [o, a, i] = tMe({
|
|
defaultProp: t,
|
|
onChange: r
|
|
}), s = e !== void 0, u = s ? e : o;
|
|
{
|
|
const d = V.useRef(e !== void 0);
|
|
V.useEffect(() => {
|
|
const l = d.current;
|
|
l !== s && console.warn(
|
|
`${n} is changing from ${l ? "controlled" : "uncontrolled"} to ${s ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`
|
|
), d.current = s;
|
|
}, [s, n]);
|
|
}
|
|
const c = V.useCallback(
|
|
(d) => {
|
|
var l;
|
|
if (s) {
|
|
const f = rMe(d) ? d(e) : d;
|
|
f !== e && ((l = i.current) == null || l.call(i, f));
|
|
} else
|
|
a(d);
|
|
},
|
|
[s, e, a, i]
|
|
);
|
|
return [u, c];
|
|
}
|
|
function tMe({
|
|
defaultProp: e,
|
|
onChange: t
|
|
}) {
|
|
const [r, n] = V.useState(e), o = V.useRef(r), a = V.useRef(t);
|
|
return Z7e(() => {
|
|
a.current = t;
|
|
}, [t]), V.useEffect(() => {
|
|
var i;
|
|
o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r);
|
|
}, [r, o]), [r, n, a];
|
|
}
|
|
function rMe(e) {
|
|
return typeof e == "function";
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function dZ(e) {
|
|
const t = /* @__PURE__ */ nMe(e), r = V.forwardRef((n, o) => {
|
|
const { children: a, ...i } = n, s = V.Children.toArray(a), u = s.find(aMe);
|
|
if (u) {
|
|
const c = u.props.children, d = s.map((l) => l === u ? V.Children.count(c) > 1 ? V.Children.only(null) : V.isValidElement(c) ? c.props.children : null : l);
|
|
return /* @__PURE__ */ K(t, { ...i, ref: o, children: V.isValidElement(c) ? V.cloneElement(c, void 0, d) : null });
|
|
}
|
|
return /* @__PURE__ */ K(t, { ...i, ref: o, children: a });
|
|
});
|
|
return r.displayName = `${e}.Slot`, r;
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function nMe(e) {
|
|
const t = V.forwardRef((r, n) => {
|
|
const { children: o, ...a } = r;
|
|
if (V.isValidElement(o)) {
|
|
const i = sMe(o), s = iMe(a, o.props);
|
|
return o.type !== V.Fragment && (s.ref = n ? fZ(n, i) : i), V.cloneElement(o, s);
|
|
}
|
|
return V.Children.count(o) > 1 ? V.Children.only(null) : null;
|
|
});
|
|
return t.displayName = `${e}.SlotClone`, t;
|
|
}
|
|
var oMe = Symbol("radix.slottable");
|
|
function aMe(e) {
|
|
return V.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === oMe;
|
|
}
|
|
function iMe(e, t) {
|
|
const r = { ...t };
|
|
for (const n in t) {
|
|
const o = e[n], a = t[n];
|
|
/^on[A-Z]/.test(n) ? o && a ? r[n] = (...i) => {
|
|
const s = a(...i);
|
|
return o(...i), s;
|
|
} : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...a } : n === "className" && (r[n] = [o, a].filter(Boolean).join(" "));
|
|
}
|
|
return { ...e, ...r };
|
|
}
|
|
function sMe(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
|
|
return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var lMe = [
|
|
"a",
|
|
"button",
|
|
"div",
|
|
"form",
|
|
"h2",
|
|
"h3",
|
|
"img",
|
|
"input",
|
|
"label",
|
|
"li",
|
|
"nav",
|
|
"ol",
|
|
"p",
|
|
"select",
|
|
"span",
|
|
"svg",
|
|
"ul"
|
|
], bi = lMe.reduce((e, t) => {
|
|
const r = /* @__PURE__ */ dZ(`Primitive.${t}`), n = V.forwardRef((o, a) => {
|
|
const { asChild: i, ...s } = o, u = i ? r : t;
|
|
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ K(u, { ...s, ref: a });
|
|
});
|
|
return n.displayName = `Primitive.${t}`, { ...e, [t]: n };
|
|
}, {});
|
|
function cMe(e, t) {
|
|
e && jd.flushSync(() => e.dispatchEvent(t));
|
|
}
|
|
function tb(e) {
|
|
const t = V.useRef(e);
|
|
return V.useEffect(() => {
|
|
t.current = e;
|
|
}), V.useMemo(() => (...r) => {
|
|
var n;
|
|
return (n = t.current) == null ? void 0 : n.call(t, ...r);
|
|
}, []);
|
|
}
|
|
function uMe(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = tb(e);
|
|
V.useEffect(() => {
|
|
const n = (o) => {
|
|
o.key === "Escape" && r(o);
|
|
};
|
|
return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 });
|
|
}, [r, t]);
|
|
}
|
|
var fMe = "DismissableLayer", JA = "dismissableLayer.update", dMe = "dismissableLayer.pointerDownOutside", pMe = "dismissableLayer.focusOutside", DF, pZ = V.createContext({
|
|
layers: /* @__PURE__ */ new Set(),
|
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
branches: /* @__PURE__ */ new Set()
|
|
}), mZ = V.forwardRef(
|
|
(e, t) => {
|
|
const {
|
|
disableOutsidePointerEvents: r = !1,
|
|
onEscapeKeyDown: n,
|
|
onPointerDownOutside: o,
|
|
onFocusOutside: a,
|
|
onInteractOutside: i,
|
|
onDismiss: s,
|
|
...u
|
|
} = e, c = V.useContext(pZ), [d, l] = V.useState(null), f = (d == null ? void 0 : d.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, p] = V.useState({}), y = uf(t, (z) => l(z)), m = Array.from(c.layers), [h] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), w = m.indexOf(h), $ = d ? m.indexOf(d) : -1, _ = c.layersWithOutsidePointerEventsDisabled.size > 0, S = $ >= w, b = gMe((z) => {
|
|
const q = z.target, Y = [...c.branches].some((B) => B.contains(q));
|
|
!S || Y || (o == null || o(z), i == null || i(z), z.defaultPrevented || s == null || s());
|
|
}, f), F = bMe((z) => {
|
|
const q = z.target;
|
|
[...c.branches].some((Y) => Y.contains(q)) || (a == null || a(z), i == null || i(z), z.defaultPrevented || s == null || s());
|
|
}, f);
|
|
return uMe((z) => {
|
|
$ === c.layers.size - 1 && (n == null || n(z), !z.defaultPrevented && s && (z.preventDefault(), s()));
|
|
}, f), V.useEffect(() => {
|
|
if (d)
|
|
return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (DF = f.body.style.pointerEvents, f.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(d)), c.layers.add(d), FF(), () => {
|
|
r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (f.body.style.pointerEvents = DF);
|
|
};
|
|
}, [d, f, r, c]), V.useEffect(() => () => {
|
|
d && (c.layers.delete(d), c.layersWithOutsidePointerEventsDisabled.delete(d), FF());
|
|
}, [d, c]), V.useEffect(() => {
|
|
const z = () => p({});
|
|
return document.addEventListener(JA, z), () => document.removeEventListener(JA, z);
|
|
}, []), /* @__PURE__ */ K(
|
|
bi.div,
|
|
{
|
|
...u,
|
|
ref: y,
|
|
style: {
|
|
pointerEvents: _ ? S ? "auto" : "none" : void 0,
|
|
...e.style
|
|
},
|
|
onFocusCapture: tc(e.onFocusCapture, F.onFocusCapture),
|
|
onBlurCapture: tc(e.onBlurCapture, F.onBlurCapture),
|
|
onPointerDownCapture: tc(
|
|
e.onPointerDownCapture,
|
|
b.onPointerDownCapture
|
|
)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
mZ.displayName = fMe;
|
|
var mMe = "DismissableLayerBranch", hMe = V.forwardRef((e, t) => {
|
|
const r = V.useContext(pZ), n = V.useRef(null), o = uf(t, n);
|
|
return V.useEffect(() => {
|
|
const a = n.current;
|
|
if (a)
|
|
return r.branches.add(a), () => {
|
|
r.branches.delete(a);
|
|
};
|
|
}, [r.branches]), /* @__PURE__ */ K(bi.div, { ...e, ref: o });
|
|
});
|
|
hMe.displayName = mMe;
|
|
function gMe(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = tb(e), n = V.useRef(!1), o = V.useRef(() => {
|
|
});
|
|
return V.useEffect(() => {
|
|
const a = (s) => {
|
|
if (s.target && !n.current) {
|
|
let u = function() {
|
|
hZ(
|
|
dMe,
|
|
r,
|
|
c,
|
|
{ discrete: !0 }
|
|
);
|
|
};
|
|
const c = { originalEvent: s };
|
|
s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = u, t.addEventListener("click", o.current, { once: !0 })) : u();
|
|
} else
|
|
t.removeEventListener("click", o.current);
|
|
n.current = !1;
|
|
}, i = window.setTimeout(() => {
|
|
t.addEventListener("pointerdown", a);
|
|
}, 0);
|
|
return () => {
|
|
window.clearTimeout(i), t.removeEventListener("pointerdown", a), t.removeEventListener("click", o.current);
|
|
};
|
|
}, [t, r]), {
|
|
// ensures we check React component tree (not just DOM tree)
|
|
onPointerDownCapture: () => n.current = !0
|
|
};
|
|
}
|
|
function bMe(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = tb(e), n = V.useRef(!1);
|
|
return V.useEffect(() => {
|
|
const o = (a) => {
|
|
a.target && !n.current && hZ(pMe, r, { originalEvent: a }, {
|
|
discrete: !1
|
|
});
|
|
};
|
|
return t.addEventListener("focusin", o), () => t.removeEventListener("focusin", o);
|
|
}, [t, r]), {
|
|
onFocusCapture: () => n.current = !0,
|
|
onBlurCapture: () => n.current = !1
|
|
};
|
|
}
|
|
function FF() {
|
|
const e = new CustomEvent(JA);
|
|
document.dispatchEvent(e);
|
|
}
|
|
function hZ(e, t, r, { discrete: n }) {
|
|
const o = r.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r });
|
|
t && o.addEventListener(e, t, { once: !0 }), n ? cMe(o, a) : o.dispatchEvent(a);
|
|
}
|
|
var Lk = "focusScope.autoFocusOnMount", zk = "focusScope.autoFocusOnUnmount", LF = { bubbles: !1, cancelable: !0 }, yMe = "FocusScope", gZ = V.forwardRef((e, t) => {
|
|
const {
|
|
loop: r = !1,
|
|
trapped: n = !1,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
...i
|
|
} = e, [s, u] = V.useState(null), c = tb(o), d = tb(a), l = V.useRef(null), f = uf(t, (m) => u(m)), p = V.useRef({
|
|
paused: !1,
|
|
pause() {
|
|
this.paused = !0;
|
|
},
|
|
resume() {
|
|
this.paused = !1;
|
|
}
|
|
}).current;
|
|
V.useEffect(() => {
|
|
if (n) {
|
|
let m = function(_) {
|
|
if (p.paused || !s) return;
|
|
const S = _.target;
|
|
s.contains(S) ? l.current = S : Ll(l.current, { select: !0 });
|
|
}, h = function(_) {
|
|
if (p.paused || !s) return;
|
|
const S = _.relatedTarget;
|
|
S !== null && (s.contains(S) || Ll(l.current, { select: !0 }));
|
|
}, w = function(_) {
|
|
if (document.activeElement === document.body)
|
|
for (const S of _)
|
|
S.removedNodes.length > 0 && Ll(s);
|
|
};
|
|
document.addEventListener("focusin", m), document.addEventListener("focusout", h);
|
|
const $ = new MutationObserver(w);
|
|
return s && $.observe(s, { childList: !0, subtree: !0 }), () => {
|
|
document.removeEventListener("focusin", m), document.removeEventListener("focusout", h), $.disconnect();
|
|
};
|
|
}
|
|
}, [n, s, p.paused]), V.useEffect(() => {
|
|
if (s) {
|
|
WF.add(p);
|
|
const m = document.activeElement;
|
|
if (!s.contains(m)) {
|
|
const h = new CustomEvent(Lk, LF);
|
|
s.addEventListener(Lk, c), s.dispatchEvent(h), h.defaultPrevented || (vMe(_Me(bZ(s)), { select: !0 }), document.activeElement === m && Ll(s));
|
|
}
|
|
return () => {
|
|
s.removeEventListener(Lk, c), setTimeout(() => {
|
|
const h = new CustomEvent(zk, LF);
|
|
s.addEventListener(zk, d), s.dispatchEvent(h), h.defaultPrevented || Ll(m ?? document.body, { select: !0 }), s.removeEventListener(zk, d), WF.remove(p);
|
|
}, 0);
|
|
};
|
|
}
|
|
}, [s, c, d, p]);
|
|
const y = V.useCallback(
|
|
(m) => {
|
|
if (!r && !n || p.paused) return;
|
|
const h = m.key === "Tab" && !m.altKey && !m.ctrlKey && !m.metaKey, w = document.activeElement;
|
|
if (h && w) {
|
|
const $ = m.currentTarget, [_, S] = xMe($);
|
|
_ && S ? !m.shiftKey && w === S ? (m.preventDefault(), r && Ll(_, { select: !0 })) : m.shiftKey && w === _ && (m.preventDefault(), r && Ll(S, { select: !0 })) : w === $ && m.preventDefault();
|
|
}
|
|
},
|
|
[r, n, p.paused]
|
|
);
|
|
return /* @__PURE__ */ K(bi.div, { tabIndex: -1, ...i, ref: f, onKeyDown: y });
|
|
});
|
|
gZ.displayName = yMe;
|
|
function vMe(e, { select: t = !1 } = {}) {
|
|
const r = document.activeElement;
|
|
for (const n of e)
|
|
if (Ll(n, { select: t }), document.activeElement !== r) return;
|
|
}
|
|
function xMe(e) {
|
|
const t = bZ(e), r = zF(t, e), n = zF(t.reverse(), e);
|
|
return [r, n];
|
|
}
|
|
function bZ(e) {
|
|
const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
|
|
acceptNode: (n) => {
|
|
const o = n.tagName === "INPUT" && n.type === "hidden";
|
|
return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
}
|
|
});
|
|
for (; r.nextNode(); ) t.push(r.currentNode);
|
|
return t;
|
|
}
|
|
function zF(e, t) {
|
|
for (const r of e)
|
|
if (!wMe(r, { upTo: t })) return r;
|
|
}
|
|
function wMe(e, { upTo: t }) {
|
|
if (getComputedStyle(e).visibility === "hidden") return !0;
|
|
for (; e; ) {
|
|
if (t !== void 0 && e === t) return !1;
|
|
if (getComputedStyle(e).display === "none") return !0;
|
|
e = e.parentElement;
|
|
}
|
|
return !1;
|
|
}
|
|
function $Me(e) {
|
|
return e instanceof HTMLInputElement && "select" in e;
|
|
}
|
|
function Ll(e, { select: t = !1 } = {}) {
|
|
if (e && e.focus) {
|
|
const r = document.activeElement;
|
|
e.focus({ preventScroll: !0 }), e !== r && $Me(e) && t && e.select();
|
|
}
|
|
}
|
|
var WF = kMe();
|
|
function kMe() {
|
|
let e = [];
|
|
return {
|
|
add(t) {
|
|
const r = e[0];
|
|
t !== r && (r == null || r.pause()), e = VF(e, t), e.unshift(t);
|
|
},
|
|
remove(t) {
|
|
var r;
|
|
e = VF(e, t), (r = e[0]) == null || r.resume();
|
|
}
|
|
};
|
|
}
|
|
function VF(e, t) {
|
|
const r = [...e], n = r.indexOf(t);
|
|
return n !== -1 && r.splice(n, 1), r;
|
|
}
|
|
function _Me(e) {
|
|
return e.filter((t) => t.tagName !== "A");
|
|
}
|
|
var OMe = "Portal", yZ = V.forwardRef((e, t) => {
|
|
var r;
|
|
const { container: n, ...o } = e, [a, i] = V.useState(!1);
|
|
eb(() => i(!0), []);
|
|
const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body);
|
|
return s ? LW.createPortal(/* @__PURE__ */ K(bi.div, { ...o, ref: t }), s) : null;
|
|
});
|
|
yZ.displayName = OMe;
|
|
function SMe(e, t) {
|
|
return V.useReducer((r, n) => t[r][n] ?? r, e);
|
|
}
|
|
var rw = (e) => {
|
|
const { present: t, children: r } = e, n = EMe(t), o = typeof r == "function" ? r({ present: n.isPresent }) : V.Children.only(r), a = uf(n.ref, AMe(o));
|
|
return typeof r == "function" || n.isPresent ? V.cloneElement(o, { ref: a }) : null;
|
|
};
|
|
rw.displayName = "Presence";
|
|
function EMe(e) {
|
|
const [t, r] = V.useState(), n = V.useRef(null), o = V.useRef(e), a = V.useRef("none"), i = e ? "mounted" : "unmounted", [s, u] = SMe(i, {
|
|
mounted: {
|
|
UNMOUNT: "unmounted",
|
|
ANIMATION_OUT: "unmountSuspended"
|
|
},
|
|
unmountSuspended: {
|
|
MOUNT: "mounted",
|
|
ANIMATION_END: "unmounted"
|
|
},
|
|
unmounted: {
|
|
MOUNT: "mounted"
|
|
}
|
|
});
|
|
return V.useEffect(() => {
|
|
const c = av(n.current);
|
|
a.current = s === "mounted" ? c : "none";
|
|
}, [s]), eb(() => {
|
|
const c = n.current, d = o.current;
|
|
if (d !== e) {
|
|
const l = a.current, f = av(c);
|
|
e ? u("MOUNT") : f === "none" || (c == null ? void 0 : c.display) === "none" ? u("UNMOUNT") : u(d && l !== f ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e;
|
|
}
|
|
}, [e, u]), eb(() => {
|
|
if (t) {
|
|
let c;
|
|
const d = t.ownerDocument.defaultView ?? window, l = (p) => {
|
|
const y = av(n.current).includes(p.animationName);
|
|
if (p.target === t && y && (u("ANIMATION_END"), !o.current)) {
|
|
const m = t.style.animationFillMode;
|
|
t.style.animationFillMode = "forwards", c = d.setTimeout(() => {
|
|
t.style.animationFillMode === "forwards" && (t.style.animationFillMode = m);
|
|
});
|
|
}
|
|
}, f = (p) => {
|
|
p.target === t && (a.current = av(n.current));
|
|
};
|
|
return t.addEventListener("animationstart", f), t.addEventListener("animationcancel", l), t.addEventListener("animationend", l), () => {
|
|
d.clearTimeout(c), t.removeEventListener("animationstart", f), t.removeEventListener("animationcancel", l), t.removeEventListener("animationend", l);
|
|
};
|
|
} else
|
|
u("ANIMATION_END");
|
|
}, [t, u]), {
|
|
isPresent: ["mounted", "unmountSuspended"].includes(s),
|
|
ref: V.useCallback((c) => {
|
|
n.current = c ? getComputedStyle(c) : null, r(c);
|
|
}, [])
|
|
};
|
|
}
|
|
function av(e) {
|
|
return (e == null ? void 0 : e.animationName) || "none";
|
|
}
|
|
function AMe(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
|
|
return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var Wk = 0;
|
|
function PMe() {
|
|
V.useEffect(() => {
|
|
const e = document.querySelectorAll("[data-radix-focus-guard]");
|
|
return document.body.insertAdjacentElement("afterbegin", e[0] ?? HF()), document.body.insertAdjacentElement("beforeend", e[1] ?? HF()), Wk++, () => {
|
|
Wk === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), Wk--;
|
|
};
|
|
}, []);
|
|
}
|
|
function HF() {
|
|
const e = document.createElement("span");
|
|
return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
|
|
}
|
|
var Ia = function() {
|
|
return Ia = Object.assign || function(e) {
|
|
for (var t, r = 1, n = arguments.length; r < n; r++) {
|
|
t = arguments[r];
|
|
for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
|
|
}
|
|
return e;
|
|
}, Ia.apply(this, arguments);
|
|
};
|
|
function vZ(e, t) {
|
|
var r = {};
|
|
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);
|
|
if (e != null && typeof Object.getOwnPropertySymbols == "function")
|
|
for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++)
|
|
t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]);
|
|
return r;
|
|
}
|
|
function CMe(e, t, r) {
|
|
for (var n = 0, o = t.length, a; n < o; n++)
|
|
(a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]);
|
|
return e.concat(a || Array.prototype.slice.call(t));
|
|
}
|
|
var t1 = "right-scroll-bar-position", r1 = "width-before-scroll-bar", NMe = "with-scroll-bars-hidden", TMe = "--removed-body-scroll-bar-size";
|
|
function Vk(e, t) {
|
|
return typeof e == "function" ? e(t) : e && (e.current = t), e;
|
|
}
|
|
function IMe(e, t) {
|
|
var r = de(function() {
|
|
return {
|
|
// value
|
|
value: e,
|
|
// last callback
|
|
callback: t,
|
|
// "memoized" public interface
|
|
facade: {
|
|
get current() {
|
|
return r.value;
|
|
},
|
|
set current(n) {
|
|
var o = r.value;
|
|
o !== n && (r.value = n, r.callback(n, o));
|
|
}
|
|
}
|
|
};
|
|
})[0];
|
|
return r.callback = t, r.facade;
|
|
}
|
|
var jMe = typeof window < "u" ? V.useLayoutEffect : V.useEffect, GF = /* @__PURE__ */ new WeakMap();
|
|
function RMe(e, t) {
|
|
var r = IMe(null, function(n) {
|
|
return e.forEach(function(o) {
|
|
return Vk(o, n);
|
|
});
|
|
});
|
|
return jMe(function() {
|
|
var n = GF.get(r);
|
|
if (n) {
|
|
var o = new Set(n), a = new Set(e), i = r.current;
|
|
o.forEach(function(s) {
|
|
a.has(s) || Vk(s, null);
|
|
}), a.forEach(function(s) {
|
|
o.has(s) || Vk(s, i);
|
|
});
|
|
}
|
|
GF.set(r, e);
|
|
}, [e]), r;
|
|
}
|
|
function MMe(e) {
|
|
return e;
|
|
}
|
|
function DMe(e, t) {
|
|
t === void 0 && (t = MMe);
|
|
var r = [], n = !1, o = {
|
|
read: function() {
|
|
if (n)
|
|
throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
|
|
return r.length ? r[r.length - 1] : e;
|
|
},
|
|
useMedium: function(a) {
|
|
var i = t(a, n);
|
|
return r.push(i), function() {
|
|
r = r.filter(function(s) {
|
|
return s !== i;
|
|
});
|
|
};
|
|
},
|
|
assignSyncMedium: function(a) {
|
|
for (n = !0; r.length; ) {
|
|
var i = r;
|
|
r = [], i.forEach(a);
|
|
}
|
|
r = {
|
|
push: function(s) {
|
|
return a(s);
|
|
},
|
|
filter: function() {
|
|
return r;
|
|
}
|
|
};
|
|
},
|
|
assignMedium: function(a) {
|
|
n = !0;
|
|
var i = [];
|
|
if (r.length) {
|
|
var s = r;
|
|
r = [], s.forEach(a), i = r;
|
|
}
|
|
var u = function() {
|
|
var d = i;
|
|
i = [], d.forEach(a);
|
|
}, c = function() {
|
|
return Promise.resolve().then(u);
|
|
};
|
|
c(), r = {
|
|
push: function(d) {
|
|
i.push(d), c();
|
|
},
|
|
filter: function(d) {
|
|
return i = i.filter(d), r;
|
|
}
|
|
};
|
|
}
|
|
};
|
|
return o;
|
|
}
|
|
function FMe(e) {
|
|
e === void 0 && (e = {});
|
|
var t = DMe(null);
|
|
return t.options = Ia({ async: !0, ssr: !1 }, e), t;
|
|
}
|
|
var xZ = function(e) {
|
|
var t = e.sideCar, r = vZ(e, ["sideCar"]);
|
|
if (!t)
|
|
throw new Error("Sidecar: please provide `sideCar` property to import the right car");
|
|
var n = t.read();
|
|
if (!n)
|
|
throw new Error("Sidecar medium not found");
|
|
return V.createElement(n, Ia({}, r));
|
|
};
|
|
xZ.isSideCarExport = !0;
|
|
function LMe(e, t) {
|
|
return e.useMedium(t), xZ;
|
|
}
|
|
var wZ = FMe(), Hk = function() {
|
|
}, nw = V.forwardRef(function(e, t) {
|
|
var r = V.useRef(null), n = V.useState({
|
|
onScrollCapture: Hk,
|
|
onWheelCapture: Hk,
|
|
onTouchMoveCapture: Hk
|
|
}), o = n[0], a = n[1], i = e.forwardProps, s = e.children, u = e.className, c = e.removeScrollBar, d = e.enabled, l = e.shards, f = e.sideCar, p = e.noRelative, y = e.noIsolation, m = e.inert, h = e.allowPinchZoom, w = e.as, $ = w === void 0 ? "div" : w, _ = e.gapMode, S = vZ(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), b = f, F = RMe([r, t]), z = Ia(Ia({}, S), o);
|
|
return V.createElement(
|
|
V.Fragment,
|
|
null,
|
|
d && V.createElement(b, { sideCar: wZ, removeScrollBar: c, shards: l, noRelative: p, noIsolation: y, inert: m, setCallbacks: a, allowPinchZoom: !!h, lockRef: r, gapMode: _ }),
|
|
i ? V.cloneElement(V.Children.only(s), Ia(Ia({}, z), { ref: F })) : V.createElement($, Ia({}, z, { className: u, ref: F }), s)
|
|
);
|
|
});
|
|
nw.defaultProps = {
|
|
enabled: !0,
|
|
removeScrollBar: !0,
|
|
inert: !1
|
|
};
|
|
nw.classNames = {
|
|
fullWidth: r1,
|
|
zeroRight: t1
|
|
};
|
|
var zMe = function() {
|
|
if (typeof __webpack_nonce__ < "u")
|
|
return __webpack_nonce__;
|
|
};
|
|
function WMe() {
|
|
if (!document)
|
|
return null;
|
|
var e = document.createElement("style");
|
|
e.type = "text/css";
|
|
var t = zMe();
|
|
return t && e.setAttribute("nonce", t), e;
|
|
}
|
|
function VMe(e, t) {
|
|
e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
|
|
}
|
|
function HMe(e) {
|
|
var t = document.head || document.getElementsByTagName("head")[0];
|
|
t.appendChild(e);
|
|
}
|
|
var GMe = function() {
|
|
var e = 0, t = null;
|
|
return {
|
|
add: function(r) {
|
|
e == 0 && (t = WMe()) && (VMe(t, r), HMe(t)), e++;
|
|
},
|
|
remove: function() {
|
|
e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null);
|
|
}
|
|
};
|
|
}, UMe = function() {
|
|
var e = GMe();
|
|
return function(t, r) {
|
|
V.useEffect(function() {
|
|
return e.add(t), function() {
|
|
e.remove();
|
|
};
|
|
}, [t && r]);
|
|
};
|
|
}, $Z = function() {
|
|
var e = UMe(), t = function(r) {
|
|
var n = r.styles, o = r.dynamic;
|
|
return e(n, o), null;
|
|
};
|
|
return t;
|
|
}, BMe = {
|
|
left: 0,
|
|
top: 0,
|
|
right: 0,
|
|
gap: 0
|
|
}, Gk = function(e) {
|
|
return parseInt(e || "", 10) || 0;
|
|
}, YMe = function(e) {
|
|
var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], o = t[e === "padding" ? "paddingRight" : "marginRight"];
|
|
return [Gk(r), Gk(n), Gk(o)];
|
|
}, qMe = function(e) {
|
|
if (e === void 0 && (e = "margin"), typeof window > "u")
|
|
return BMe;
|
|
var t = YMe(e), r = document.documentElement.clientWidth, n = window.innerWidth;
|
|
return {
|
|
left: t[0],
|
|
top: t[1],
|
|
right: t[2],
|
|
gap: Math.max(0, n - r + t[2] - t[0])
|
|
};
|
|
}, KMe = $Z(), Od = "data-scroll-locked", XMe = function(e, t, r, n) {
|
|
var o = e.left, a = e.top, i = e.right, s = e.gap;
|
|
return r === void 0 && (r = "margin"), `
|
|
.`.concat(NMe, ` {
|
|
overflow: hidden `).concat(n, `;
|
|
padding-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
body[`).concat(Od, `] {
|
|
overflow: hidden `).concat(n, `;
|
|
overscroll-behavior: contain;
|
|
`).concat([
|
|
t && "position: relative ".concat(n, ";"),
|
|
r === "margin" && `
|
|
padding-left: `.concat(o, `px;
|
|
padding-top: `).concat(a, `px;
|
|
padding-right: `).concat(i, `px;
|
|
margin-left:0;
|
|
margin-top:0;
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
`),
|
|
r === "padding" && "padding-right: ".concat(s, "px ").concat(n, ";")
|
|
].filter(Boolean).join(""), `
|
|
}
|
|
|
|
.`).concat(t1, ` {
|
|
right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(r1, ` {
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(t1, " .").concat(t1, ` {
|
|
right: 0 `).concat(n, `;
|
|
}
|
|
|
|
.`).concat(r1, " .").concat(r1, ` {
|
|
margin-right: 0 `).concat(n, `;
|
|
}
|
|
|
|
body[`).concat(Od, `] {
|
|
`).concat(TMe, ": ").concat(s, `px;
|
|
}
|
|
`);
|
|
}, UF = function() {
|
|
var e = parseInt(document.body.getAttribute(Od) || "0", 10);
|
|
return isFinite(e) ? e : 0;
|
|
}, JMe = function() {
|
|
V.useEffect(function() {
|
|
return document.body.setAttribute(Od, (UF() + 1).toString()), function() {
|
|
var e = UF() - 1;
|
|
e <= 0 ? document.body.removeAttribute(Od) : document.body.setAttribute(Od, e.toString());
|
|
};
|
|
}, []);
|
|
}, QMe = function(e) {
|
|
var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n;
|
|
JMe();
|
|
var a = V.useMemo(function() {
|
|
return qMe(o);
|
|
}, [o]);
|
|
return V.createElement(KMe, { styles: XMe(a, !t, o, r ? "" : "!important") });
|
|
}, QA = !1;
|
|
if (typeof window < "u")
|
|
try {
|
|
var iv = Object.defineProperty({}, "passive", {
|
|
get: function() {
|
|
return QA = !0, !0;
|
|
}
|
|
});
|
|
window.addEventListener("test", iv, iv), window.removeEventListener("test", iv, iv);
|
|
} catch {
|
|
QA = !1;
|
|
}
|
|
var yf = QA ? { passive: !1 } : !1, ZMe = function(e) {
|
|
return e.tagName === "TEXTAREA";
|
|
}, kZ = function(e, t) {
|
|
if (!(e instanceof Element))
|
|
return !1;
|
|
var r = window.getComputedStyle(e);
|
|
return (
|
|
// not-not-scrollable
|
|
r[t] !== "hidden" && // contains scroll inside self
|
|
!(r.overflowY === r.overflowX && !ZMe(e) && r[t] === "visible")
|
|
);
|
|
}, eDe = function(e) {
|
|
return kZ(e, "overflowY");
|
|
}, tDe = function(e) {
|
|
return kZ(e, "overflowX");
|
|
}, BF = function(e, t) {
|
|
var r = t.ownerDocument, n = t;
|
|
do {
|
|
typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host);
|
|
var o = _Z(e, n);
|
|
if (o) {
|
|
var a = OZ(e, n), i = a[1], s = a[2];
|
|
if (i > s)
|
|
return !0;
|
|
}
|
|
n = n.parentNode;
|
|
} while (n && n !== r.body);
|
|
return !1;
|
|
}, rDe = function(e) {
|
|
var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, nDe = function(e) {
|
|
var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, _Z = function(e, t) {
|
|
return e === "v" ? eDe(t) : tDe(t);
|
|
}, OZ = function(e, t) {
|
|
return e === "v" ? rDe(t) : nDe(t);
|
|
}, oDe = function(e, t) {
|
|
return e === "h" && t === "rtl" ? -1 : 1;
|
|
}, aDe = function(e, t, r, n, o) {
|
|
var a = oDe(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, u = t.contains(s), c = !1, d = i > 0, l = 0, f = 0;
|
|
do {
|
|
if (!s)
|
|
break;
|
|
var p = OZ(e, s), y = p[0], m = p[1], h = p[2], w = m - h - a * y;
|
|
(y || w) && _Z(e, s) && (l += w, f += y);
|
|
var $ = s.parentNode;
|
|
s = $ && $.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? $.host : $;
|
|
} while (
|
|
// portaled content
|
|
!u && s !== document.body || // self content
|
|
u && (t.contains(s) || t === s)
|
|
);
|
|
return (d && Math.abs(l) < 1 || !d && Math.abs(f) < 1) && (c = !0), c;
|
|
}, sv = function(e) {
|
|
return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];
|
|
}, YF = function(e) {
|
|
return [e.deltaX, e.deltaY];
|
|
}, qF = function(e) {
|
|
return e && "current" in e ? e.current : e;
|
|
}, iDe = function(e, t) {
|
|
return e[0] === t[0] && e[1] === t[1];
|
|
}, sDe = function(e) {
|
|
return `
|
|
.block-interactivity-`.concat(e, ` {pointer-events: none;}
|
|
.allow-interactivity-`).concat(e, ` {pointer-events: all;}
|
|
`);
|
|
}, lDe = 0, vf = [];
|
|
function cDe(e) {
|
|
var t = V.useRef([]), r = V.useRef([0, 0]), n = V.useRef(), o = V.useState(lDe++)[0], a = V.useState($Z)[0], i = V.useRef(e);
|
|
V.useEffect(function() {
|
|
i.current = e;
|
|
}, [e]), V.useEffect(function() {
|
|
if (e.inert) {
|
|
document.body.classList.add("block-interactivity-".concat(o));
|
|
var m = CMe([e.lockRef.current], (e.shards || []).map(qF)).filter(Boolean);
|
|
return m.forEach(function(h) {
|
|
return h.classList.add("allow-interactivity-".concat(o));
|
|
}), function() {
|
|
document.body.classList.remove("block-interactivity-".concat(o)), m.forEach(function(h) {
|
|
return h.classList.remove("allow-interactivity-".concat(o));
|
|
});
|
|
};
|
|
}
|
|
}, [e.inert, e.lockRef.current, e.shards]);
|
|
var s = V.useCallback(function(m, h) {
|
|
if ("touches" in m && m.touches.length === 2 || m.type === "wheel" && m.ctrlKey)
|
|
return !i.current.allowPinchZoom;
|
|
var w = sv(m), $ = r.current, _ = "deltaX" in m ? m.deltaX : $[0] - w[0], S = "deltaY" in m ? m.deltaY : $[1] - w[1], b, F = m.target, z = Math.abs(_) > Math.abs(S) ? "h" : "v";
|
|
if ("touches" in m && z === "h" && F.type === "range")
|
|
return !1;
|
|
var q = BF(z, F);
|
|
if (!q)
|
|
return !0;
|
|
if (q ? b = z : (b = z === "v" ? "h" : "v", q = BF(z, F)), !q)
|
|
return !1;
|
|
if (!n.current && "changedTouches" in m && (_ || S) && (n.current = b), !b)
|
|
return !0;
|
|
var Y = n.current || b;
|
|
return aDe(Y, h, m, Y === "h" ? _ : S);
|
|
}, []), u = V.useCallback(function(m) {
|
|
var h = m;
|
|
if (!(!vf.length || vf[vf.length - 1] !== a)) {
|
|
var w = "deltaY" in h ? YF(h) : sv(h), $ = t.current.filter(function(b) {
|
|
return b.name === h.type && (b.target === h.target || h.target === b.shadowParent) && iDe(b.delta, w);
|
|
})[0];
|
|
if ($ && $.should) {
|
|
h.cancelable && h.preventDefault();
|
|
return;
|
|
}
|
|
if (!$) {
|
|
var _ = (i.current.shards || []).map(qF).filter(Boolean).filter(function(b) {
|
|
return b.contains(h.target);
|
|
}), S = _.length > 0 ? s(h, _[0]) : !i.current.noIsolation;
|
|
S && h.cancelable && h.preventDefault();
|
|
}
|
|
}
|
|
}, []), c = V.useCallback(function(m, h, w, $) {
|
|
var _ = { name: m, delta: h, target: w, should: $, shadowParent: uDe(w) };
|
|
t.current.push(_), setTimeout(function() {
|
|
t.current = t.current.filter(function(S) {
|
|
return S !== _;
|
|
});
|
|
}, 1);
|
|
}, []), d = V.useCallback(function(m) {
|
|
r.current = sv(m), n.current = void 0;
|
|
}, []), l = V.useCallback(function(m) {
|
|
c(m.type, YF(m), m.target, s(m, e.lockRef.current));
|
|
}, []), f = V.useCallback(function(m) {
|
|
c(m.type, sv(m), m.target, s(m, e.lockRef.current));
|
|
}, []);
|
|
V.useEffect(function() {
|
|
return vf.push(a), e.setCallbacks({
|
|
onScrollCapture: l,
|
|
onWheelCapture: l,
|
|
onTouchMoveCapture: f
|
|
}), document.addEventListener("wheel", u, yf), document.addEventListener("touchmove", u, yf), document.addEventListener("touchstart", d, yf), function() {
|
|
vf = vf.filter(function(m) {
|
|
return m !== a;
|
|
}), document.removeEventListener("wheel", u, yf), document.removeEventListener("touchmove", u, yf), document.removeEventListener("touchstart", d, yf);
|
|
};
|
|
}, []);
|
|
var p = e.removeScrollBar, y = e.inert;
|
|
return V.createElement(
|
|
V.Fragment,
|
|
null,
|
|
y ? V.createElement(a, { styles: sDe(o) }) : null,
|
|
p ? V.createElement(QMe, { noRelative: e.noRelative, gapMode: e.gapMode }) : null
|
|
);
|
|
}
|
|
function uDe(e) {
|
|
for (var t = null; e !== null; )
|
|
e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode;
|
|
return t;
|
|
}
|
|
const fDe = LMe(wZ, cDe);
|
|
var SZ = V.forwardRef(function(e, t) {
|
|
return V.createElement(nw, Ia({}, e, { ref: t, sideCar: fDe }));
|
|
});
|
|
SZ.classNames = nw.classNames;
|
|
var dDe = function(e) {
|
|
if (typeof document > "u")
|
|
return null;
|
|
var t = Array.isArray(e) ? e[0] : e;
|
|
return t.ownerDocument.body;
|
|
}, xf = /* @__PURE__ */ new WeakMap(), lv = /* @__PURE__ */ new WeakMap(), cv = {}, Uk = 0, EZ = function(e) {
|
|
return e && (e.host || EZ(e.parentNode));
|
|
}, pDe = function(e, t) {
|
|
return t.map(function(r) {
|
|
if (e.contains(r))
|
|
return r;
|
|
var n = EZ(r);
|
|
return n && e.contains(n) ? n : (console.error("aria-hidden", r, "in not contained inside", e, ". Doing nothing"), null);
|
|
}).filter(function(r) {
|
|
return !!r;
|
|
});
|
|
}, mDe = function(e, t, r, n) {
|
|
var o = pDe(t, Array.isArray(e) ? e : [e]);
|
|
cv[r] || (cv[r] = /* @__PURE__ */ new WeakMap());
|
|
var a = cv[r], i = [], s = /* @__PURE__ */ new Set(), u = new Set(o), c = function(l) {
|
|
!l || s.has(l) || (s.add(l), c(l.parentNode));
|
|
};
|
|
o.forEach(c);
|
|
var d = function(l) {
|
|
!l || u.has(l) || Array.prototype.forEach.call(l.children, function(f) {
|
|
if (s.has(f))
|
|
d(f);
|
|
else
|
|
try {
|
|
var p = f.getAttribute(n), y = p !== null && p !== "false", m = (xf.get(f) || 0) + 1, h = (a.get(f) || 0) + 1;
|
|
xf.set(f, m), a.set(f, h), i.push(f), m === 1 && y && lv.set(f, !0), h === 1 && f.setAttribute(r, "true"), y || f.setAttribute(n, "true");
|
|
} catch (w) {
|
|
console.error("aria-hidden: cannot operate on ", f, w);
|
|
}
|
|
});
|
|
};
|
|
return d(t), s.clear(), Uk++, function() {
|
|
i.forEach(function(l) {
|
|
var f = xf.get(l) - 1, p = a.get(l) - 1;
|
|
xf.set(l, f), a.set(l, p), f || (lv.has(l) || l.removeAttribute(n), lv.delete(l)), p || l.removeAttribute(r);
|
|
}), Uk--, Uk || (xf = /* @__PURE__ */ new WeakMap(), xf = /* @__PURE__ */ new WeakMap(), lv = /* @__PURE__ */ new WeakMap(), cv = {});
|
|
};
|
|
}, hDe = function(e, t, r) {
|
|
r === void 0 && (r = "data-aria-hidden");
|
|
var n = Array.from(Array.isArray(e) ? e : [e]), o = dDe(e);
|
|
return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), mDe(n, o, r, "aria-hidden")) : function() {
|
|
return null;
|
|
};
|
|
}, ow = "Dialog", [AZ, mQe] = K7e(ow), [gDe, da] = AZ(ow), PZ = (e) => {
|
|
const {
|
|
__scopeDialog: t,
|
|
children: r,
|
|
open: n,
|
|
defaultOpen: o,
|
|
onOpenChange: a,
|
|
modal: i = !0
|
|
} = e, s = V.useRef(null), u = V.useRef(null), [c, d] = eMe({
|
|
prop: n,
|
|
defaultProp: o ?? !1,
|
|
onChange: a,
|
|
caller: ow
|
|
});
|
|
return /* @__PURE__ */ K(
|
|
gDe,
|
|
{
|
|
scope: t,
|
|
triggerRef: s,
|
|
contentRef: u,
|
|
contentId: Fk(),
|
|
titleId: Fk(),
|
|
descriptionId: Fk(),
|
|
open: c,
|
|
onOpenChange: d,
|
|
onOpenToggle: V.useCallback(() => d((l) => !l), [d]),
|
|
modal: i,
|
|
children: r
|
|
}
|
|
);
|
|
};
|
|
PZ.displayName = ow;
|
|
var CZ = "DialogTrigger", bDe = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = da(CZ, r), a = uf(t, o.triggerRef);
|
|
return /* @__PURE__ */ K(
|
|
bi.button,
|
|
{
|
|
type: "button",
|
|
"aria-haspopup": "dialog",
|
|
"aria-expanded": o.open,
|
|
"aria-controls": o.contentId,
|
|
"data-state": JC(o.open),
|
|
...n,
|
|
ref: a,
|
|
onClick: tc(e.onClick, o.onOpenToggle)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
bDe.displayName = CZ;
|
|
var KC = "DialogPortal", [yDe, NZ] = AZ(KC, {
|
|
forceMount: void 0
|
|
}), TZ = (e) => {
|
|
const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = da(KC, t);
|
|
return /* @__PURE__ */ K(yDe, { scope: t, forceMount: r, children: V.Children.map(n, (i) => /* @__PURE__ */ K(rw, { present: r || a.open, children: /* @__PURE__ */ K(yZ, { asChild: !0, container: o, children: i }) })) });
|
|
};
|
|
TZ.displayName = KC;
|
|
var u0 = "DialogOverlay", IZ = V.forwardRef(
|
|
(e, t) => {
|
|
const r = NZ(u0, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = da(u0, e.__scopeDialog);
|
|
return a.modal ? /* @__PURE__ */ K(rw, { present: n || a.open, children: /* @__PURE__ */ K(xDe, { ...o, ref: t }) }) : null;
|
|
}
|
|
);
|
|
IZ.displayName = u0;
|
|
var vDe = /* @__PURE__ */ dZ("DialogOverlay.RemoveScroll"), xDe = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = da(u0, r);
|
|
return (
|
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
// ie. when `Overlay` and `Content` are siblings
|
|
/* @__PURE__ */ K(SZ, { as: vDe, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ K(
|
|
bi.div,
|
|
{
|
|
"data-state": JC(o.open),
|
|
...n,
|
|
ref: t,
|
|
style: { pointerEvents: "auto", ...n.style }
|
|
}
|
|
) })
|
|
);
|
|
}
|
|
), Ku = "DialogContent", jZ = V.forwardRef(
|
|
(e, t) => {
|
|
const r = NZ(Ku, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = da(Ku, e.__scopeDialog);
|
|
return /* @__PURE__ */ K(rw, { present: n || a.open, children: a.modal ? /* @__PURE__ */ K(wDe, { ...o, ref: t }) : /* @__PURE__ */ K($De, { ...o, ref: t }) });
|
|
}
|
|
);
|
|
jZ.displayName = Ku;
|
|
var wDe = V.forwardRef(
|
|
(e, t) => {
|
|
const r = da(Ku, e.__scopeDialog), n = V.useRef(null), o = uf(t, r.contentRef, n);
|
|
return V.useEffect(() => {
|
|
const a = n.current;
|
|
if (a) return hDe(a);
|
|
}, []), /* @__PURE__ */ K(
|
|
RZ,
|
|
{
|
|
...e,
|
|
ref: o,
|
|
trapFocus: r.open,
|
|
disableOutsidePointerEvents: !0,
|
|
onCloseAutoFocus: tc(e.onCloseAutoFocus, (a) => {
|
|
var i;
|
|
a.preventDefault(), (i = r.triggerRef.current) == null || i.focus();
|
|
}),
|
|
onPointerDownOutside: tc(e.onPointerDownOutside, (a) => {
|
|
const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0;
|
|
(i.button === 2 || s) && a.preventDefault();
|
|
}),
|
|
onFocusOutside: tc(
|
|
e.onFocusOutside,
|
|
(a) => a.preventDefault()
|
|
)
|
|
}
|
|
);
|
|
}
|
|
), $De = V.forwardRef(
|
|
(e, t) => {
|
|
const r = da(Ku, e.__scopeDialog), n = V.useRef(!1), o = V.useRef(!1);
|
|
return /* @__PURE__ */ K(
|
|
RZ,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
trapFocus: !1,
|
|
disableOutsidePointerEvents: !1,
|
|
onCloseAutoFocus: (a) => {
|
|
var i, s;
|
|
(i = e.onCloseAutoFocus) == null || i.call(e, a), a.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), a.preventDefault()), n.current = !1, o.current = !1;
|
|
},
|
|
onInteractOutside: (a) => {
|
|
var i, s;
|
|
(i = e.onInteractOutside) == null || i.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (o.current = !0));
|
|
const u = a.target;
|
|
(s = r.triggerRef.current) != null && s.contains(u) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault();
|
|
}
|
|
}
|
|
);
|
|
}
|
|
), RZ = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = da(Ku, r), u = V.useRef(null), c = uf(t, u);
|
|
return PMe(), /* @__PURE__ */ Te(rn, { children: [
|
|
/* @__PURE__ */ K(
|
|
gZ,
|
|
{
|
|
asChild: !0,
|
|
loop: !0,
|
|
trapped: n,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
children: /* @__PURE__ */ K(
|
|
mZ,
|
|
{
|
|
role: "dialog",
|
|
id: s.contentId,
|
|
"aria-describedby": s.descriptionId,
|
|
"aria-labelledby": s.titleId,
|
|
"data-state": JC(s.open),
|
|
...i,
|
|
ref: c,
|
|
onDismiss: () => s.onOpenChange(!1)
|
|
}
|
|
)
|
|
}
|
|
),
|
|
/* @__PURE__ */ Te(rn, { children: [
|
|
/* @__PURE__ */ K(_De, { titleId: s.titleId }),
|
|
/* @__PURE__ */ K(SDe, { contentRef: u, descriptionId: s.descriptionId })
|
|
] })
|
|
] });
|
|
}
|
|
), XC = "DialogTitle", MZ = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = da(XC, r);
|
|
return /* @__PURE__ */ K(bi.h2, { id: o.titleId, ...n, ref: t });
|
|
}
|
|
);
|
|
MZ.displayName = XC;
|
|
var DZ = "DialogDescription", FZ = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = da(DZ, r);
|
|
return /* @__PURE__ */ K(bi.p, { id: o.descriptionId, ...n, ref: t });
|
|
}
|
|
);
|
|
FZ.displayName = DZ;
|
|
var LZ = "DialogClose", kDe = V.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = da(LZ, r);
|
|
return /* @__PURE__ */ K(
|
|
bi.button,
|
|
{
|
|
type: "button",
|
|
...n,
|
|
ref: t,
|
|
onClick: tc(e.onClick, () => o.onOpenChange(!1))
|
|
}
|
|
);
|
|
}
|
|
);
|
|
kDe.displayName = LZ;
|
|
function JC(e) {
|
|
return e ? "open" : "closed";
|
|
}
|
|
var zZ = "DialogTitleWarning", [hQe, WZ] = q7e(zZ, {
|
|
contentName: Ku,
|
|
titleName: XC,
|
|
docsSlug: "dialog"
|
|
}), _De = ({ titleId: e }) => {
|
|
const t = WZ(zZ), r = `\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
|
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
|
|
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;
|
|
return V.useEffect(() => {
|
|
e && (document.getElementById(e) || console.error(r));
|
|
}, [r, e]), null;
|
|
}, ODe = "DialogDescriptionWarning", SDe = ({ contentRef: e, descriptionId: t }) => {
|
|
const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${WZ(ODe).contentName}}.`;
|
|
return V.useEffect(() => {
|
|
var n;
|
|
const o = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby");
|
|
t && o && (document.getElementById(t) || console.warn(r));
|
|
}, [r, e, t]), null;
|
|
}, EDe = PZ, ADe = TZ, PDe = IZ, CDe = jZ, KF = MZ, NDe = FZ;
|
|
const QC = "-", TDe = (e) => {
|
|
const t = jDe(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(QC);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), VZ(a, t) || IDe(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, VZ = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? VZ(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(QC);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, XF = /^\[(.+)\]$/, IDe = (e) => {
|
|
if (XF.test(e)) {
|
|
const t = XF.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, jDe = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return MDe(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
ZA(a, n, o, t);
|
|
}), n;
|
|
}, ZA = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : JF(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (RDe(o)) {
|
|
ZA(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
ZA(i, JF(t, a), r, n);
|
|
});
|
|
});
|
|
}, JF = (e, t) => {
|
|
let r = e;
|
|
return t.split(QC).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, RDe = (e) => e.isThemeGetter, MDe = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, DDe = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, HZ = "!", FDe = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(HZ), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, LDe = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, zDe = (e) => ({
|
|
cache: DDe(e.cacheSize),
|
|
parseClassName: FDe(e),
|
|
...TDe(e)
|
|
}), WDe = /\s+/, VDe = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(WDe);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = LDe(d).join(":"), w = l ? h + HZ : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function HDe() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = GZ(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const GZ = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = GZ(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function GDe(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = zDe(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = VDe(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(HDe.apply(null, arguments));
|
|
};
|
|
}
|
|
const jr = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, UZ = /^\[(?:([a-z-]+):)?(.+)\]$/i, UDe = /^\d+\/\d+$/, BDe = /* @__PURE__ */ new Set(["px", "full", "screen"]), YDe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, qDe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, KDe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, XDe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, JDe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Pi = (e) => Sd(e) || BDe.has(e) || UDe.test(e), Pl = (e) => Sp(e, "length", aFe), Sd = (e) => !!e && !Number.isNaN(Number(e)), Bk = (e) => Sp(e, "number", Sd), Km = (e) => !!e && Number.isInteger(Number(e)), QDe = (e) => e.endsWith("%") && Sd(e.slice(0, -1)), vt = (e) => UZ.test(e), Cl = (e) => YDe.test(e), ZDe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), eFe = (e) => Sp(e, ZDe, BZ), tFe = (e) => Sp(e, "position", BZ), rFe = /* @__PURE__ */ new Set(["image", "url"]), nFe = (e) => Sp(e, rFe, sFe), oFe = (e) => Sp(e, "", iFe), Xm = () => !0, Sp = (e, t, r) => {
|
|
const n = UZ.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, aFe = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
qDe.test(e) && !KDe.test(e)
|
|
), BZ = () => !1, iFe = (e) => XDe.test(e), sFe = (e) => JDe.test(e), lFe = () => {
|
|
const e = jr("colors"), t = jr("spacing"), r = jr("blur"), n = jr("brightness"), o = jr("borderColor"), a = jr("borderRadius"), i = jr("borderSpacing"), s = jr("borderWidth"), u = jr("contrast"), c = jr("grayscale"), d = jr("hueRotate"), l = jr("invert"), f = jr("gap"), p = jr("gradientColorStops"), y = jr("gradientColorStopPositions"), m = jr("inset"), h = jr("margin"), w = jr("opacity"), $ = jr("padding"), _ = jr("saturate"), S = jr("scale"), b = jr("sepia"), F = jr("skew"), z = jr("space"), q = jr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", vt, t], M = () => [vt, t], te = () => ["", Pi, Pl], G = () => ["auto", Sd, vt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", vt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [Sd, vt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Xm],
|
|
spacing: [Pi, Pl],
|
|
blur: ["none", "", Cl, vt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Cl, vt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [QDe, Pl],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", vt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Cl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), vt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Km, vt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", vt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Km, vt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Xm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Km, vt]
|
|
}, vt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Xm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Km, vt]
|
|
}, vt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", vt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", vt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", vt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [vt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [vt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Cl]
|
|
}, Cl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [vt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [vt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [vt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [vt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Cl, Pl]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", Bk]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Xm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", vt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Sd, Bk]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Pi, vt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", vt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", vt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Pi, Pl]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Pi, vt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", vt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", vt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), tFe]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", eFe]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, nFe]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Pi, vt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Pi, Pl]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Pi, Pl]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", Cl, oFe]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Xm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Cl, vt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", vt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", vt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", vt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Km, vt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", vt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", vt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", vt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Pi, Pl, Bk]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, ng = /* @__PURE__ */ GDe(lFe);
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function cFe(e, t, r) {
|
|
return (t = fFe(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function QF(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function _e(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? QF(Object(r), !0).forEach(function(n) {
|
|
cFe(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : QF(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function uFe(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function fFe(e) {
|
|
var t = uFe(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const ZF = () => {
|
|
};
|
|
let ZC = {}, YZ = {}, qZ = null, KZ = {
|
|
mark: ZF,
|
|
measure: ZF
|
|
};
|
|
try {
|
|
typeof window < "u" && (ZC = window), typeof document < "u" && (YZ = document), typeof MutationObserver < "u" && (qZ = MutationObserver), typeof performance < "u" && (KZ = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: eL = ""
|
|
} = ZC.navigator || {}, Ic = ZC, Ur = YZ, tL = qZ, uv = KZ;
|
|
Ic.document;
|
|
const $s = !!Ur.documentElement && !!Ur.head && typeof Ur.addEventListener == "function" && typeof Ur.createElement == "function", XZ = ~eL.indexOf("MSIE") || ~eL.indexOf("Trident/");
|
|
var dFe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, pFe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, JZ = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, mFe = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, QZ = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], An = "classic", aw = "duotone", hFe = "sharp", gFe = "sharp-duotone", ZZ = [An, aw, hFe, gFe], bFe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, yFe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, vFe = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), xFe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, wFe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], rL = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, $Fe = ["kit"], kFe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, _Fe = ["fak", "fakd"], OFe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, nL = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, fv = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, SFe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], EFe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], AFe = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, PFe = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, CFe = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, e5 = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, NFe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], t5 = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...SFe, ...NFe], TFe = ["solid", "regular", "light", "thin", "duotone", "brands"], eee = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], IFe = eee.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), jFe = [...Object.keys(CFe), ...TFe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", fv.GROUP, fv.SWAP_OPACITY, fv.PRIMARY, fv.SECONDARY].concat(eee.map((e) => "".concat(e, "x"))).concat(IFe.map((e) => "w-".concat(e))), RFe = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const as = "___FONT_AWESOME___", r5 = 16, tee = "fa", ree = "svg-inline--fa", Xu = "data-fa-i2svg", n5 = "data-fa-pseudo-element", MFe = "data-fa-pseudo-element-pending", e6 = "data-prefix", t6 = "data-icon", oL = "fontawesome-i2svg", DFe = "async", FFe = ["HTML", "HEAD", "STYLE", "SCRIPT"], nee = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Jb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[An];
|
|
}
|
|
});
|
|
}
|
|
const oee = _e({}, JZ);
|
|
oee[An] = _e(_e(_e(_e({}, {
|
|
"fa-duotone": "duotone"
|
|
}), JZ[An]), rL.kit), rL["kit-duotone"]);
|
|
const LFe = Jb(oee), o5 = _e({}, xFe);
|
|
o5[An] = _e(_e(_e(_e({}, {
|
|
duotone: "fad"
|
|
}), o5[An]), nL.kit), nL["kit-duotone"]);
|
|
const aL = Jb(o5), a5 = _e({}, e5);
|
|
a5[An] = _e(_e({}, a5[An]), OFe.kit);
|
|
const r6 = Jb(a5), i5 = _e({}, PFe);
|
|
i5[An] = _e(_e({}, i5[An]), kFe.kit);
|
|
Jb(i5);
|
|
const zFe = dFe, aee = "fa-layers-text", WFe = pFe, VFe = _e({}, bFe);
|
|
Jb(VFe);
|
|
const HFe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Yk = mFe, GFe = [...$Fe, ...jFe], og = Ic.FontAwesomeConfig || {};
|
|
function UFe(e) {
|
|
var t = Ur.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function BFe(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Ur && typeof Ur.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = BFe(UFe(t));
|
|
n != null && (og[r] = n);
|
|
});
|
|
const iee = {
|
|
styleDefault: "solid",
|
|
familyDefault: An,
|
|
cssPrefix: tee,
|
|
replacementClass: ree,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
og.familyPrefix && (og.cssPrefix = og.familyPrefix);
|
|
const Bd = _e(_e({}, iee), og);
|
|
Bd.autoReplaceSvg || (Bd.observeMutations = !1);
|
|
const Ke = {};
|
|
Object.keys(iee).forEach((e) => {
|
|
Object.defineProperty(Ke, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Bd[e] = t, ag.forEach((r) => r(Ke));
|
|
},
|
|
get: function() {
|
|
return Bd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Ke, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Bd.cssPrefix = e, ag.forEach((t) => t(Ke));
|
|
},
|
|
get: function() {
|
|
return Bd.cssPrefix;
|
|
}
|
|
});
|
|
Ic.FontAwesomeConfig = Ke;
|
|
const ag = [];
|
|
function YFe(e) {
|
|
return ag.push(e), () => {
|
|
ag.splice(ag.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Nl = r5, Za = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function qFe(e) {
|
|
if (!e || !$s)
|
|
return;
|
|
const t = Ur.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Ur.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Ur.head.insertBefore(t, n), e;
|
|
}
|
|
const KFe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function rb() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += KFe[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Ep(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function n6(e) {
|
|
return e.classList ? Ep(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function see(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function XFe(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(see(e[r]), '" '), "").trim();
|
|
}
|
|
function iw(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function o6(e) {
|
|
return e.size !== Za.size || e.x !== Za.x || e.y !== Za.y || e.rotate !== Za.rotate || e.flipX || e.flipY;
|
|
}
|
|
function JFe(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function QFe(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = r5,
|
|
height: n = r5,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && XZ ? a += "translate(".concat(t.x / Nl - r / 2, "em, ").concat(t.y / Nl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Nl, "em), calc(-50% + ").concat(t.y / Nl, "em)) ") : a += "translate(".concat(t.x / Nl, "em, ").concat(t.y / Nl, "em) "), a += "scale(".concat(t.size / Nl * (t.flipX ? -1 : 1), ", ").concat(t.size / Nl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var ZFe = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function lee() {
|
|
const e = tee, t = ree, r = Ke.cssPrefix, n = Ke.replacementClass;
|
|
let o = ZFe;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let iL = !1;
|
|
function qk() {
|
|
Ke.autoAddCss && !iL && (qFe(lee()), iL = !0);
|
|
}
|
|
var eLe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: lee,
|
|
insertCss: qk
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
qk();
|
|
},
|
|
beforeI2svg() {
|
|
qk();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const is = Ic || {};
|
|
is[as] || (is[as] = {});
|
|
is[as].styles || (is[as].styles = {});
|
|
is[as].hooks || (is[as].hooks = {});
|
|
is[as].shims || (is[as].shims = []);
|
|
var ei = is[as];
|
|
const cee = [], uee = function() {
|
|
Ur.removeEventListener("DOMContentLoaded", uee), f0 = 1, cee.map((e) => e());
|
|
};
|
|
let f0 = !1;
|
|
$s && (f0 = (Ur.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Ur.readyState), f0 || Ur.addEventListener("DOMContentLoaded", uee));
|
|
function tLe(e) {
|
|
$s && (f0 ? setTimeout(e, 0) : cee.push(e));
|
|
}
|
|
function Qb(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? see(e) : "<".concat(t, " ").concat(XFe(r), ">").concat(n.map(Qb).join(""), "</").concat(t, ">");
|
|
}
|
|
function sL(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Kk = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function rLe(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function fee(e) {
|
|
const t = rLe(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function nLe(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function lL(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function s5(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = lL(t);
|
|
typeof ei.hooks.addPack == "function" && !n ? ei.hooks.addPack(e, lL(t)) : ei.styles[e] = _e(_e({}, ei.styles[e] || {}), o), e === "fas" && s5("fa", t);
|
|
}
|
|
const {
|
|
styles: nb,
|
|
shims: oLe
|
|
} = ei, dee = Object.keys(r6), aLe = dee.reduce((e, t) => (e[t] = Object.keys(r6[t]), e), {});
|
|
let a6 = null, pee = {}, mee = {}, hee = {}, gee = {}, bee = {};
|
|
function iLe(e) {
|
|
return ~GFe.indexOf(e);
|
|
}
|
|
function sLe(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !iLe(o) ? o : null;
|
|
}
|
|
const yee = () => {
|
|
const e = (n) => Kk(nb, (o, a, i) => (o[i] = Kk(a, n, {}), o), {});
|
|
pee = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), mee = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), bee = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in nb || Ke.autoFetchSvg, r = Kk(oLe, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
hee = r.names, gee = r.unicodes, a6 = sw(Ke.styleDefault, {
|
|
family: Ke.familyDefault
|
|
});
|
|
};
|
|
YFe((e) => {
|
|
a6 = sw(e.styleDefault, {
|
|
family: Ke.familyDefault
|
|
});
|
|
});
|
|
yee();
|
|
function i6(e, t) {
|
|
return (pee[e] || {})[t];
|
|
}
|
|
function lLe(e, t) {
|
|
return (mee[e] || {})[t];
|
|
}
|
|
function hu(e, t) {
|
|
return (bee[e] || {})[t];
|
|
}
|
|
function vee(e) {
|
|
return hee[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function cLe(e) {
|
|
const t = gee[e], r = i6("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function jc() {
|
|
return a6;
|
|
}
|
|
const xee = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function uLe(e) {
|
|
let t = An;
|
|
const r = dee.reduce((n, o) => (n[o] = "".concat(Ke.cssPrefix, "-").concat(o), n), {});
|
|
return ZZ.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => aLe[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function sw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = An
|
|
} = t, n = LFe[r][e];
|
|
if (r === aw && !e)
|
|
return "fad";
|
|
const o = aL[r][e] || aL[r][n], a = e in ei.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function fLe(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = sLe(Ke.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function cL(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function lw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = t5.concat(EFe), a = cL(e.filter((l) => o.includes(l))), i = cL(e.filter((l) => !t5.includes(l))), s = a.filter((l) => (n = l, !QZ.includes(l))), [u = null] = s, c = uLe(a), d = _e(_e({}, fLe(i)), {}, {
|
|
prefix: sw(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return _e(_e(_e({}, d), hLe({
|
|
values: e,
|
|
family: c,
|
|
styles: nb,
|
|
config: Ke,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), dLe(r, n, d));
|
|
}
|
|
function dLe(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? vee(o) : {}, i = hu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !nb.far && nb.fas && !Ke.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const pLe = ZZ.filter((e) => e !== An || e !== aw), mLe = Object.keys(e5).filter((e) => e !== An).map((e) => Object.keys(e5[e])).flat();
|
|
function hLe(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === aw, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && pLe.includes(r) && (Object.keys(a).find((l) => mLe.includes(l)) || i.autoFetchSvg)) {
|
|
const l = vFe.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = hu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = jc() || "fas"), n;
|
|
}
|
|
class gLe {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = _e(_e({}, this.definitions[a] || {}), o[a]), s5(a, o[a]);
|
|
const i = r6[An][a];
|
|
i && s5(i, o[a]), yee();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let uL = [], Uf = {};
|
|
const Ed = {}, bLe = Object.keys(Ed);
|
|
function yLe(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return uL = e, Uf = {}, Object.keys(Ed).forEach((n) => {
|
|
bLe.indexOf(n) === -1 && delete Ed[n];
|
|
}), uL.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Uf[i] || (Uf[i] = []), Uf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Ed);
|
|
}), r;
|
|
}
|
|
function l5(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Uf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Ju(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Uf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Rc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Ed[e] ? Ed[e].apply(null, t) : void 0;
|
|
}
|
|
function c5(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || jc();
|
|
if (t)
|
|
return t = hu(r, t) || t, sL(wee.definitions, r, t) || sL(ei.styles, r, t);
|
|
}
|
|
const wee = new gLe(), vLe = () => {
|
|
Ke.autoReplaceSvg = !1, Ke.observeMutations = !1, Ju("noAuto");
|
|
}, xLe = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return $s ? (Ju("beforeI2svg", e), Rc("pseudoElements2svg", e), Rc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Ke.autoReplaceSvg === !1 && (Ke.autoReplaceSvg = !0), Ke.observeMutations = !0, tLe(() => {
|
|
$Le({
|
|
autoReplaceSvgRoot: t
|
|
}), Ju("watch", e);
|
|
});
|
|
}
|
|
}, wLe = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: hu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = sw(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: hu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Ke.cssPrefix, "-")) > -1 || e.match(zFe))) {
|
|
const t = lw(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || jc(),
|
|
iconName: hu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = jc();
|
|
return {
|
|
prefix: t,
|
|
iconName: hu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, ho = {
|
|
noAuto: vLe,
|
|
config: Ke,
|
|
dom: xLe,
|
|
parse: wLe,
|
|
library: wee,
|
|
findIconDefinition: c5,
|
|
toHtml: Qb
|
|
}, $Le = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Ur
|
|
} = e;
|
|
(Object.keys(ei.styles).length > 0 || Ke.autoFetchSvg) && $s && Ke.autoReplaceSvg && ho.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function cw(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Qb(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!$s) return;
|
|
const r = Ur.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function kLe(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (o6(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = iw(_e(_e({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function _Le(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Ke.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: _e(_e({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function s6(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = _Fe.includes(n), m = [Ke.replacementClass, o ? "".concat(Ke.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: _e(_e({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Xu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || rb())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = _e(_e({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: _e(_e({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? Rc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Rc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? _Le($) : kLe($);
|
|
}
|
|
function fL(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = _e(_e(_e({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Xu] = "");
|
|
const c = _e({}, i.styles);
|
|
o6(o) && (c.transform = QFe({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = iw(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function OLe(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = _e(_e(_e({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = iw(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Xk
|
|
} = ei;
|
|
function u5(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Ke.cssPrefix, "-").concat(Yk.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ke.cssPrefix, "-").concat(Yk.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Ke.cssPrefix, "-").concat(Yk.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const SLe = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function ELe(e, t) {
|
|
!nee && !Ke.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function f5(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Ke.styleDefault !== null && (t = jc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = vee(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Xk[t] && Xk[t][e]) {
|
|
const a = Xk[t][e];
|
|
return n(u5(a));
|
|
}
|
|
ELe(e, t), n(_e(_e({}, SLe), {}, {
|
|
icon: Ke.showMissingIcons && e ? Rc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const dL = () => {
|
|
}, d5 = Ke.measurePerformance && uv && uv.mark && uv.measure ? uv : {
|
|
mark: dL,
|
|
measure: dL
|
|
}, vh = 'FA "6.7.2"', ALe = (e) => (d5.mark("".concat(vh, " ").concat(e, " begins")), () => $ee(e)), $ee = (e) => {
|
|
d5.mark("".concat(vh, " ").concat(e, " ends")), d5.measure("".concat(vh, " ").concat(e), "".concat(vh, " ").concat(e, " begins"), "".concat(vh, " ").concat(e, " ends"));
|
|
};
|
|
var l6 = {
|
|
begin: ALe,
|
|
end: $ee
|
|
};
|
|
const n1 = () => {
|
|
};
|
|
function pL(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Xu) : null) == "string";
|
|
}
|
|
function PLe(e) {
|
|
const t = e.getAttribute ? e.getAttribute(e6) : null, r = e.getAttribute ? e.getAttribute(t6) : null;
|
|
return t && r;
|
|
}
|
|
function CLe(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Ke.replacementClass);
|
|
}
|
|
function NLe() {
|
|
return Ke.autoReplaceSvg === !0 ? o1.replace : o1[Ke.autoReplaceSvg] || o1.replace;
|
|
}
|
|
function TLe(e) {
|
|
return Ur.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function ILe(e) {
|
|
return Ur.createElement(e);
|
|
}
|
|
function kee(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? TLe : ILe
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Ur.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(kee(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function jLe(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const o1 = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(kee(r), t);
|
|
}), t.getAttribute(Xu) === null && Ke.keepOriginalSource) {
|
|
let r = Ur.createComment(jLe(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~n6(t).indexOf(Ke.replacementClass))
|
|
return o1.replace(e);
|
|
const n = new RegExp("".concat(Ke.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Ke.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Qb(a)).join(`
|
|
`);
|
|
t.setAttribute(Xu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function mL(e) {
|
|
e();
|
|
}
|
|
function _ee(e, t) {
|
|
const r = typeof t == "function" ? t : n1;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = mL;
|
|
Ke.mutateApproach === DFe && (n = Ic.requestAnimationFrame || mL), n(() => {
|
|
const o = NLe(), a = l6.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let c6 = !1;
|
|
function Oee() {
|
|
c6 = !0;
|
|
}
|
|
function p5() {
|
|
c6 = !1;
|
|
}
|
|
let d0 = null;
|
|
function hL(e) {
|
|
if (!tL || !Ke.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = n1,
|
|
nodeCallback: r = n1,
|
|
pseudoElementsCallback: n = n1,
|
|
observeMutationsRoot: o = Ur
|
|
} = e;
|
|
d0 = new tL((a) => {
|
|
if (c6) return;
|
|
const i = jc();
|
|
Ep(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !pL(s.addedNodes[0]) && (Ke.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Ke.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && pL(s.target) && ~HFe.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && PLe(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = lw(n6(s.target));
|
|
s.target.setAttribute(e6, u || i), c && s.target.setAttribute(t6, c);
|
|
} else CLe(s.target) && r(s.target);
|
|
});
|
|
}), $s && d0.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function RLe() {
|
|
d0 && d0.disconnect();
|
|
}
|
|
function MLe(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function DLe(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = lw(n6(e));
|
|
return o.prefix || (o.prefix = jc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = lLe(o.prefix, e.innerText) || i6(o.prefix, fee(e.innerText))), !o.iconName && Ke.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function FLe(e) {
|
|
const t = Ep(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Ke.autoA11y && (r ? t["aria-labelledby"] = "".concat(Ke.replacementClass, "-title-").concat(n || rb()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function LLe() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Za,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function gL(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = DLe(e), a = FLe(e), i = l5("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? MLe(e) : [];
|
|
return _e({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Za,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: zLe
|
|
} = ei;
|
|
function See(e) {
|
|
const t = Ke.autoReplaceSvg === "nest" ? gL(e, {
|
|
styleParser: !1
|
|
}) : gL(e);
|
|
return ~t.extra.classes.indexOf(aee) ? Rc("generateLayersText", e, t) : Rc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function WLe() {
|
|
return [...wFe, ...t5];
|
|
}
|
|
function bL(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!$s) return Promise.resolve();
|
|
const r = Ur.documentElement.classList, n = (d) => r.add("".concat(oL, "-").concat(d)), o = (d) => r.remove("".concat(oL, "-").concat(d)), a = Ke.autoFetchSvg ? WLe() : QZ.concat(Object.keys(zLe));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(aee, ":not([").concat(Xu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Xu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Ep(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = l6.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = See(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
nee || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
_ee(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function VLe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
See(e).then((r) => {
|
|
r && _ee([r], t);
|
|
});
|
|
}
|
|
function HLe(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : c5(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : c5(o || {})), e(n, _e(_e({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const GLe = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Za,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return cw(_e({
|
|
type: "icon"
|
|
}, e), () => (Ju("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Ke.autoA11y && (i ? c["aria-labelledby"] = "".concat(Ke.replacementClass, "-title-").concat(s || rb()) : (c["aria-hidden"] = "true", c.focusable = "false")), s6({
|
|
icons: {
|
|
main: u5(p),
|
|
mask: o ? u5(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: _e(_e({}, Za), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var ULe = {
|
|
mixout() {
|
|
return {
|
|
icon: HLe(GLe)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = bL, e.nodeCallback = VLe, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Ur,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return bL(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([f5(n, i), c.iconName ? f5(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, s6({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = iw(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return o6(a) && (u = Rc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, BLe = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return cw({
|
|
type: "layer"
|
|
}, () => {
|
|
Ju("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Ke.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, YLe = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return cw({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Ju("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), OLe({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Ke.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, qLe = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Za,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return cw({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Ju("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), fL({
|
|
content: e,
|
|
transform: _e(_e({}, Za), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Ke.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (XZ) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Ke.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, fL({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const KLe = new RegExp('"', "ug"), yL = [1105920, 1112319], vL = _e(_e(_e(_e({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), yFe), RFe), AFe), m5 = Object.keys(vL).reduce((e, t) => (e[t.toLowerCase()] = vL[t], e), {}), XLe = Object.keys(m5).reduce((e, t) => {
|
|
const r = m5[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function JLe(e) {
|
|
const t = e.replace(KLe, ""), r = nLe(t, 0), n = r >= yL[0] && r <= yL[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: fee(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function QLe(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (m5[r] || {})[o] || XLe[r];
|
|
}
|
|
function xL(e, t) {
|
|
const r = "".concat(MFe).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Ep(e.children).filter((l) => l.getAttribute(n5) === t)[0], i = Ic.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(WFe), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = QLe(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = JLe(l), m = u[0].startsWith("FontAwesome");
|
|
let h = i6(f, p), w = h;
|
|
if (m) {
|
|
const $ = cLe(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(e6) !== f || a.getAttribute(t6) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = LLe(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[n5] = t, f5(h, f).then((S) => {
|
|
const b = s6(_e(_e({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: xee()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Ur.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => Qb(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function ZLe(e) {
|
|
return Promise.all([xL(e, "::before"), xL(e, "::after")]);
|
|
}
|
|
function e8e(e) {
|
|
return e.parentNode !== document.head && !~FFe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(n5) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function wL(e) {
|
|
if ($s)
|
|
return new Promise((t, r) => {
|
|
const n = Ep(e.querySelectorAll("*")).filter(e8e).map(ZLe), o = l6.begin("searchPseudoElements");
|
|
Oee(), Promise.all(n).then(() => {
|
|
o(), p5(), t();
|
|
}).catch(() => {
|
|
o(), p5(), r();
|
|
});
|
|
});
|
|
}
|
|
var t8e = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = wL, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Ur
|
|
} = t;
|
|
Ke.searchPseudoElements && wL(r);
|
|
};
|
|
}
|
|
};
|
|
let $L = !1;
|
|
var r8e = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
Oee(), $L = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
hL(l5("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
RLe();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
$L ? p5() : hL(l5("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const kL = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var n8e = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => kL(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = kL(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: _e({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: _e({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: _e(_e({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Jk = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function _L(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function o8e(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var a8e = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? lw(r.split(" ").map((o) => o.trim())) : xee();
|
|
return n.prefix || (n.prefix = jc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = JFe({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: _e(_e({}, Jk), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(_L)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: _e({}, f.inner),
|
|
children: [_L(_e({
|
|
tag: c.tag,
|
|
attributes: _e(_e({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: _e({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || rb()), $ = "clip-".concat(i || rb()), _ = {
|
|
tag: "mask",
|
|
attributes: _e(_e({}, Jk), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: o8e(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: _e({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, Jk)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, i8e = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Ic.matchMedia && (t = Ic.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: _e(_e({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = _e(_e({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: _e(_e({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: _e(_e({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: _e(_e({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: _e(_e({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: _e(_e({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: _e(_e({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: _e(_e({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, s8e = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, l8e = [eLe, ULe, BLe, YLe, qLe, t8e, r8e, n8e, a8e, i8e, s8e];
|
|
yLe(l8e, {
|
|
mixoutsTo: ho
|
|
});
|
|
ho.noAuto;
|
|
ho.config;
|
|
ho.library;
|
|
ho.dom;
|
|
const h5 = ho.parse;
|
|
ho.findIconDefinition;
|
|
ho.toHtml;
|
|
const c8e = ho.icon;
|
|
ho.layer;
|
|
ho.text;
|
|
ho.counter;
|
|
function u8e(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var dv = { exports: {} }, Qk = { exports: {} }, rr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var OL;
|
|
function f8e() {
|
|
if (OL) return rr;
|
|
OL = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return rr.AsyncMode = u, rr.ConcurrentMode = c, rr.ContextConsumer = s, rr.ContextProvider = i, rr.Element = t, rr.ForwardRef = d, rr.Fragment = n, rr.Lazy = y, rr.Memo = p, rr.Portal = r, rr.Profiler = a, rr.StrictMode = o, rr.Suspense = l, rr.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, rr.isConcurrentMode = S, rr.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, rr.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, rr.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, rr.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, rr.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, rr.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, rr.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, rr.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, rr.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, rr.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, rr.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, rr.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, rr.typeOf = _, rr;
|
|
}
|
|
var mr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var SL;
|
|
function d8e() {
|
|
return SL || (SL = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
mr.AsyncMode = b, mr.ConcurrentMode = F, mr.ContextConsumer = z, mr.ContextProvider = q, mr.Element = Y, mr.ForwardRef = B, mr.Fragment = Z, mr.Lazy = M, mr.Memo = te, mr.Portal = G, mr.Profiler = H, mr.StrictMode = U, mr.Suspense = W, mr.isAsyncMode = ee, mr.isConcurrentMode = v, mr.isContextConsumer = g, mr.isContextProvider = O, mr.isElement = P, mr.isForwardRef = A, mr.isFragment = T, mr.isLazy = N, mr.isMemo = C, mr.isPortal = I, mr.isProfiler = j, mr.isStrictMode = R, mr.isSuspense = Q, mr.isValidElementType = _, mr.typeOf = S;
|
|
}()), mr;
|
|
}
|
|
var EL;
|
|
function Eee() {
|
|
return EL || (EL = 1, process.env.NODE_ENV === "production" ? Qk.exports = f8e() : Qk.exports = d8e()), Qk.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Zk, AL;
|
|
function p8e() {
|
|
if (AL) return Zk;
|
|
AL = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Zk = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, Zk;
|
|
}
|
|
var e_, PL;
|
|
function u6() {
|
|
if (PL) return e_;
|
|
PL = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return e_ = e, e_;
|
|
}
|
|
var CL, NL;
|
|
function Aee() {
|
|
return NL || (NL = 1, CL = Function.call.bind(Object.prototype.hasOwnProperty)), CL;
|
|
}
|
|
var t_, TL;
|
|
function m8e() {
|
|
if (TL) return t_;
|
|
TL = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ u6(), r = {}, n = /* @__PURE__ */ Aee();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, t_ = o, t_;
|
|
}
|
|
var r_, IL;
|
|
function h8e() {
|
|
if (IL) return r_;
|
|
IL = 1;
|
|
var e = Eee(), t = p8e(), r = /* @__PURE__ */ u6(), n = /* @__PURE__ */ Aee(), o = /* @__PURE__ */ m8e(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return r_ = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, r_;
|
|
}
|
|
var n_, jL;
|
|
function g8e() {
|
|
if (jL) return n_;
|
|
jL = 1;
|
|
var e = /* @__PURE__ */ u6();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, n_ = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, n_;
|
|
}
|
|
var RL;
|
|
function b8e() {
|
|
if (RL) return dv.exports;
|
|
if (RL = 1, process.env.NODE_ENV !== "production") {
|
|
var e = Eee(), t = !0;
|
|
dv.exports = /* @__PURE__ */ h8e()(e.isElement, t);
|
|
} else
|
|
dv.exports = /* @__PURE__ */ g8e()();
|
|
return dv.exports;
|
|
}
|
|
var y8e = /* @__PURE__ */ b8e();
|
|
const Mt = /* @__PURE__ */ u8e(y8e);
|
|
function ML(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Aa(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? ML(Object(r), !0).forEach(function(n) {
|
|
Bf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ML(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function p0(e) {
|
|
"@babel/helpers - typeof";
|
|
return p0 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, p0(e);
|
|
}
|
|
function Bf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function v8e(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function x8e(e, t) {
|
|
if (e == null) return {};
|
|
var r = v8e(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function g5(e) {
|
|
return w8e(e) || $8e(e) || k8e(e) || _8e();
|
|
}
|
|
function w8e(e) {
|
|
if (Array.isArray(e)) return b5(e);
|
|
}
|
|
function $8e(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function k8e(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return b5(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return b5(e, t);
|
|
}
|
|
}
|
|
function b5(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function _8e() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function O8e(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Bf(t, "fa-".concat(w), typeof w < "u" && w !== null), Bf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Bf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Bf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function S8e(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function Pee(e) {
|
|
return S8e(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var E8e = ["style"];
|
|
function A8e(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function P8e(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = Pee(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[A8e(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function Cee(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return Cee(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = P8e(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[Pee(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = x8e(r, E8e);
|
|
return o.attrs.style = Aa(Aa({}, o.attrs.style), i), e.apply(void 0, [t.tag, Aa(Aa({}, o.attrs), s)].concat(g5(n)));
|
|
}
|
|
var Nee = !1;
|
|
try {
|
|
Nee = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function C8e() {
|
|
if (!Nee && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function DL(e) {
|
|
if (e && p0(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (h5.icon)
|
|
return h5.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && p0(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function o_(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Bf({}, e, t) : {};
|
|
}
|
|
var FL = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, ob = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = Aa(Aa({}, FL), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = DL(n), l = o_("classes", [].concat(g5(O8e(r)), g5((i || "").split(" ")))), f = o_("transform", typeof r.transform == "string" ? h5.transform(r.transform) : r.transform), p = o_("mask", DL(o)), y = c8e(d, Aa(Aa(Aa(Aa({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return C8e("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
FL.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), N8e(m[0], h);
|
|
});
|
|
ob.displayName = "FontAwesomeIcon";
|
|
ob.propTypes = {
|
|
beat: Mt.bool,
|
|
border: Mt.bool,
|
|
beatFade: Mt.bool,
|
|
bounce: Mt.bool,
|
|
className: Mt.string,
|
|
fade: Mt.bool,
|
|
flash: Mt.bool,
|
|
mask: Mt.oneOfType([Mt.object, Mt.array, Mt.string]),
|
|
maskId: Mt.string,
|
|
fixedWidth: Mt.bool,
|
|
inverse: Mt.bool,
|
|
flip: Mt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Mt.oneOfType([Mt.object, Mt.array, Mt.string]),
|
|
listItem: Mt.bool,
|
|
pull: Mt.oneOf(["right", "left"]),
|
|
pulse: Mt.bool,
|
|
rotation: Mt.oneOf([0, 90, 180, 270]),
|
|
shake: Mt.bool,
|
|
size: Mt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Mt.bool,
|
|
spinPulse: Mt.bool,
|
|
spinReverse: Mt.bool,
|
|
symbol: Mt.oneOfType([Mt.bool, Mt.string]),
|
|
title: Mt.string,
|
|
titleId: Mt.string,
|
|
transform: Mt.oneOfType([Mt.string, Mt.object]),
|
|
swapOpacity: Mt.bool
|
|
};
|
|
var N8e = Cee.bind(null, ae.createElement);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const T8e = {
|
|
prefix: "fas",
|
|
iconName: "xmark",
|
|
icon: [384, 512, [128473, 10005, 10006, 10060, 215, "close", "multiply", "remove", "times"], "f00d", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]
|
|
};
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function I8e(e, t, r) {
|
|
return (t = R8e(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function LL(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Oe(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? LL(Object(r), !0).forEach(function(n) {
|
|
I8e(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : LL(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function j8e(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function R8e(e) {
|
|
var t = j8e(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const zL = () => {
|
|
};
|
|
let f6 = {}, Tee = {}, Iee = null, jee = {
|
|
mark: zL,
|
|
measure: zL
|
|
};
|
|
try {
|
|
typeof window < "u" && (f6 = window), typeof document < "u" && (Tee = document), typeof MutationObserver < "u" && (Iee = MutationObserver), typeof performance < "u" && (jee = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: WL = ""
|
|
} = f6.navigator || {}, Mc = f6, Br = Tee, VL = Iee, pv = jee;
|
|
Mc.document;
|
|
const ks = !!Br.documentElement && !!Br.head && typeof Br.addEventListener == "function" && typeof Br.createElement == "function", Ree = ~WL.indexOf("MSIE") || ~WL.indexOf("Trident/");
|
|
var M8e = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, D8e = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Mee = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, F8e = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Dee = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Pn = "classic", uw = "duotone", L8e = "sharp", z8e = "sharp-duotone", Fee = [Pn, uw, L8e, z8e], W8e = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, V8e = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, H8e = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), G8e = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, U8e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], HL = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, B8e = ["kit"], Y8e = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, q8e = ["fak", "fakd"], K8e = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, GL = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, mv = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, X8e = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], J8e = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Q8e = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, Z8e = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, eze = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, y5 = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, tze = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], v5 = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...X8e, ...tze], rze = ["solid", "regular", "light", "thin", "duotone", "brands"], Lee = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], nze = Lee.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), oze = [...Object.keys(eze), ...rze, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", mv.GROUP, mv.SWAP_OPACITY, mv.PRIMARY, mv.SECONDARY].concat(Lee.map((e) => "".concat(e, "x"))).concat(nze.map((e) => "w-".concat(e))), aze = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const ss = "___FONT_AWESOME___", x5 = 16, zee = "fa", Wee = "svg-inline--fa", Qu = "data-fa-i2svg", w5 = "data-fa-pseudo-element", ize = "data-fa-pseudo-element-pending", d6 = "data-prefix", p6 = "data-icon", UL = "fontawesome-i2svg", sze = "async", lze = ["HTML", "HEAD", "STYLE", "SCRIPT"], Vee = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Zb(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Pn];
|
|
}
|
|
});
|
|
}
|
|
const Hee = Oe({}, Mee);
|
|
Hee[Pn] = Oe(Oe(Oe(Oe({}, {
|
|
"fa-duotone": "duotone"
|
|
}), Mee[Pn]), HL.kit), HL["kit-duotone"]);
|
|
const cze = Zb(Hee), $5 = Oe({}, G8e);
|
|
$5[Pn] = Oe(Oe(Oe(Oe({}, {
|
|
duotone: "fad"
|
|
}), $5[Pn]), GL.kit), GL["kit-duotone"]);
|
|
const BL = Zb($5), k5 = Oe({}, y5);
|
|
k5[Pn] = Oe(Oe({}, k5[Pn]), K8e.kit);
|
|
const m6 = Zb(k5), _5 = Oe({}, Z8e);
|
|
_5[Pn] = Oe(Oe({}, _5[Pn]), Y8e.kit);
|
|
Zb(_5);
|
|
const uze = M8e, Gee = "fa-layers-text", fze = D8e, dze = Oe({}, W8e);
|
|
Zb(dze);
|
|
const pze = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], a_ = F8e, mze = [...B8e, ...oze], ig = Mc.FontAwesomeConfig || {};
|
|
function hze(e) {
|
|
var t = Br.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function gze(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Br && typeof Br.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = gze(hze(t));
|
|
n != null && (ig[r] = n);
|
|
});
|
|
const Uee = {
|
|
styleDefault: "solid",
|
|
familyDefault: Pn,
|
|
cssPrefix: zee,
|
|
replacementClass: Wee,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
ig.familyPrefix && (ig.cssPrefix = ig.familyPrefix);
|
|
const Yd = Oe(Oe({}, Uee), ig);
|
|
Yd.autoReplaceSvg || (Yd.observeMutations = !1);
|
|
const Xe = {};
|
|
Object.keys(Uee).forEach((e) => {
|
|
Object.defineProperty(Xe, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Yd[e] = t, sg.forEach((r) => r(Xe));
|
|
},
|
|
get: function() {
|
|
return Yd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Xe, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Yd.cssPrefix = e, sg.forEach((t) => t(Xe));
|
|
},
|
|
get: function() {
|
|
return Yd.cssPrefix;
|
|
}
|
|
});
|
|
Mc.FontAwesomeConfig = Xe;
|
|
const sg = [];
|
|
function bze(e) {
|
|
return sg.push(e), () => {
|
|
sg.splice(sg.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Tl = x5, ti = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function yze(e) {
|
|
if (!e || !ks)
|
|
return;
|
|
const t = Br.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Br.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Br.head.insertBefore(t, n), e;
|
|
}
|
|
const vze = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function ab() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += vze[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Ap(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function h6(e) {
|
|
return e.classList ? Ap(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function Bee(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function xze(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Bee(e[r]), '" '), "").trim();
|
|
}
|
|
function fw(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function g6(e) {
|
|
return e.size !== ti.size || e.x !== ti.x || e.y !== ti.y || e.rotate !== ti.rotate || e.flipX || e.flipY;
|
|
}
|
|
function wze(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function $ze(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = x5,
|
|
height: n = x5,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && Ree ? a += "translate(".concat(t.x / Tl - r / 2, "em, ").concat(t.y / Tl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Tl, "em), calc(-50% + ").concat(t.y / Tl, "em)) ") : a += "translate(".concat(t.x / Tl, "em, ").concat(t.y / Tl, "em) "), a += "scale(".concat(t.size / Tl * (t.flipX ? -1 : 1), ", ").concat(t.size / Tl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var kze = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function Yee() {
|
|
const e = zee, t = Wee, r = Xe.cssPrefix, n = Xe.replacementClass;
|
|
let o = kze;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let YL = !1;
|
|
function i_() {
|
|
Xe.autoAddCss && !YL && (yze(Yee()), YL = !0);
|
|
}
|
|
var _ze = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: Yee,
|
|
insertCss: i_
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
i_();
|
|
},
|
|
beforeI2svg() {
|
|
i_();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const ls = Mc || {};
|
|
ls[ss] || (ls[ss] = {});
|
|
ls[ss].styles || (ls[ss].styles = {});
|
|
ls[ss].hooks || (ls[ss].hooks = {});
|
|
ls[ss].shims || (ls[ss].shims = []);
|
|
var ri = ls[ss];
|
|
const qee = [], Kee = function() {
|
|
Br.removeEventListener("DOMContentLoaded", Kee), m0 = 1, qee.map((e) => e());
|
|
};
|
|
let m0 = !1;
|
|
ks && (m0 = (Br.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Br.readyState), m0 || Br.addEventListener("DOMContentLoaded", Kee));
|
|
function Oze(e) {
|
|
ks && (m0 ? setTimeout(e, 0) : qee.push(e));
|
|
}
|
|
function ey(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? Bee(e) : "<".concat(t, " ").concat(xze(r), ">").concat(n.map(ey).join(""), "</").concat(t, ">");
|
|
}
|
|
function qL(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var s_ = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function Sze(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function Xee(e) {
|
|
const t = Sze(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function Eze(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function KL(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function O5(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = KL(t);
|
|
typeof ri.hooks.addPack == "function" && !n ? ri.hooks.addPack(e, KL(t)) : ri.styles[e] = Oe(Oe({}, ri.styles[e] || {}), o), e === "fas" && O5("fa", t);
|
|
}
|
|
const {
|
|
styles: ib,
|
|
shims: Aze
|
|
} = ri, Jee = Object.keys(m6), Pze = Jee.reduce((e, t) => (e[t] = Object.keys(m6[t]), e), {});
|
|
let b6 = null, Qee = {}, Zee = {}, ete = {}, tte = {}, rte = {};
|
|
function Cze(e) {
|
|
return ~mze.indexOf(e);
|
|
}
|
|
function Nze(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !Cze(o) ? o : null;
|
|
}
|
|
const nte = () => {
|
|
const e = (n) => s_(ib, (o, a, i) => (o[i] = s_(a, n, {}), o), {});
|
|
Qee = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), Zee = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), rte = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in ib || Xe.autoFetchSvg, r = s_(Aze, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
ete = r.names, tte = r.unicodes, b6 = dw(Xe.styleDefault, {
|
|
family: Xe.familyDefault
|
|
});
|
|
};
|
|
bze((e) => {
|
|
b6 = dw(e.styleDefault, {
|
|
family: Xe.familyDefault
|
|
});
|
|
});
|
|
nte();
|
|
function y6(e, t) {
|
|
return (Qee[e] || {})[t];
|
|
}
|
|
function Tze(e, t) {
|
|
return (Zee[e] || {})[t];
|
|
}
|
|
function gu(e, t) {
|
|
return (rte[e] || {})[t];
|
|
}
|
|
function ote(e) {
|
|
return ete[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Ize(e) {
|
|
const t = tte[e], r = y6("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Dc() {
|
|
return b6;
|
|
}
|
|
const ate = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function jze(e) {
|
|
let t = Pn;
|
|
const r = Jee.reduce((n, o) => (n[o] = "".concat(Xe.cssPrefix, "-").concat(o), n), {});
|
|
return Fee.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => Pze[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function dw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Pn
|
|
} = t, n = cze[r][e];
|
|
if (r === uw && !e)
|
|
return "fad";
|
|
const o = BL[r][e] || BL[r][n], a = e in ri.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function Rze(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = Nze(Xe.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function XL(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function pw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = v5.concat(J8e), a = XL(e.filter((l) => o.includes(l))), i = XL(e.filter((l) => !v5.includes(l))), s = a.filter((l) => (n = l, !Dee.includes(l))), [u = null] = s, c = jze(a), d = Oe(Oe({}, Rze(i)), {}, {
|
|
prefix: dw(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return Oe(Oe(Oe({}, d), Lze({
|
|
values: e,
|
|
family: c,
|
|
styles: ib,
|
|
config: Xe,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), Mze(r, n, d));
|
|
}
|
|
function Mze(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? ote(o) : {}, i = gu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !ib.far && ib.fas && !Xe.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const Dze = Fee.filter((e) => e !== Pn || e !== uw), Fze = Object.keys(y5).filter((e) => e !== Pn).map((e) => Object.keys(y5[e])).flat();
|
|
function Lze(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === uw, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && Dze.includes(r) && (Object.keys(a).find((l) => Fze.includes(l)) || i.autoFetchSvg)) {
|
|
const l = H8e.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = gu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Dc() || "fas"), n;
|
|
}
|
|
class zze {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = Oe(Oe({}, this.definitions[a] || {}), o[a]), O5(a, o[a]);
|
|
const i = m6[Pn][a];
|
|
i && O5(i, o[a]), nte();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let JL = [], Yf = {};
|
|
const Ad = {}, Wze = Object.keys(Ad);
|
|
function Vze(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return JL = e, Yf = {}, Object.keys(Ad).forEach((n) => {
|
|
Wze.indexOf(n) === -1 && delete Ad[n];
|
|
}), JL.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Yf[i] || (Yf[i] = []), Yf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Ad);
|
|
}), r;
|
|
}
|
|
function S5(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Yf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function Zu(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Yf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Fc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Ad[e] ? Ad[e].apply(null, t) : void 0;
|
|
}
|
|
function E5(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Dc();
|
|
if (t)
|
|
return t = gu(r, t) || t, qL(ite.definitions, r, t) || qL(ri.styles, r, t);
|
|
}
|
|
const ite = new zze(), Hze = () => {
|
|
Xe.autoReplaceSvg = !1, Xe.observeMutations = !1, Zu("noAuto");
|
|
}, Gze = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return ks ? (Zu("beforeI2svg", e), Fc("pseudoElements2svg", e), Fc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Xe.autoReplaceSvg === !1 && (Xe.autoReplaceSvg = !0), Xe.observeMutations = !0, Oze(() => {
|
|
Bze({
|
|
autoReplaceSvgRoot: t
|
|
}), Zu("watch", e);
|
|
});
|
|
}
|
|
}, Uze = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: gu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = dw(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: gu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Xe.cssPrefix, "-")) > -1 || e.match(uze))) {
|
|
const t = pw(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Dc(),
|
|
iconName: gu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Dc();
|
|
return {
|
|
prefix: t,
|
|
iconName: gu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, go = {
|
|
noAuto: Hze,
|
|
config: Xe,
|
|
dom: Gze,
|
|
parse: Uze,
|
|
library: ite,
|
|
findIconDefinition: E5,
|
|
toHtml: ey
|
|
}, Bze = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Br
|
|
} = e;
|
|
(Object.keys(ri.styles).length > 0 || Xe.autoFetchSvg) && ks && Xe.autoReplaceSvg && go.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function mw(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => ey(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!ks) return;
|
|
const r = Br.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function Yze(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (g6(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = fw(Oe(Oe({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function qze(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Xe.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: Oe(Oe({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function v6(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = q8e.includes(n), m = [Xe.replacementClass, o ? "".concat(Xe.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: Oe(Oe({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[Qu] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || ab())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = Oe(Oe({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: Oe(Oe({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? Fc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Fc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? qze($) : Yze($);
|
|
}
|
|
function QL(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = Oe(Oe(Oe({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[Qu] = "");
|
|
const c = Oe({}, i.styles);
|
|
g6(o) && (c.transform = $ze({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = fw(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function Kze(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = Oe(Oe(Oe({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = fw(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: l_
|
|
} = ri;
|
|
function A5(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Xe.cssPrefix, "-").concat(a_.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Xe.cssPrefix, "-").concat(a_.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Xe.cssPrefix, "-").concat(a_.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const Xze = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function Jze(e, t) {
|
|
!Vee && !Xe.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function P5(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Xe.styleDefault !== null && (t = Dc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = ote(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && l_[t] && l_[t][e]) {
|
|
const a = l_[t][e];
|
|
return n(A5(a));
|
|
}
|
|
Jze(e, t), n(Oe(Oe({}, Xze), {}, {
|
|
icon: Xe.showMissingIcons && e ? Fc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const ZL = () => {
|
|
}, C5 = Xe.measurePerformance && pv && pv.mark && pv.measure ? pv : {
|
|
mark: ZL,
|
|
measure: ZL
|
|
}, xh = 'FA "6.7.2"', Qze = (e) => (C5.mark("".concat(xh, " ").concat(e, " begins")), () => ste(e)), ste = (e) => {
|
|
C5.mark("".concat(xh, " ").concat(e, " ends")), C5.measure("".concat(xh, " ").concat(e), "".concat(xh, " ").concat(e, " begins"), "".concat(xh, " ").concat(e, " ends"));
|
|
};
|
|
var x6 = {
|
|
begin: Qze,
|
|
end: ste
|
|
};
|
|
const a1 = () => {
|
|
};
|
|
function e8(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(Qu) : null) == "string";
|
|
}
|
|
function Zze(e) {
|
|
const t = e.getAttribute ? e.getAttribute(d6) : null, r = e.getAttribute ? e.getAttribute(p6) : null;
|
|
return t && r;
|
|
}
|
|
function eWe(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Xe.replacementClass);
|
|
}
|
|
function tWe() {
|
|
return Xe.autoReplaceSvg === !0 ? i1.replace : i1[Xe.autoReplaceSvg] || i1.replace;
|
|
}
|
|
function rWe(e) {
|
|
return Br.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function nWe(e) {
|
|
return Br.createElement(e);
|
|
}
|
|
function lte(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? rWe : nWe
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Br.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(lte(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function oWe(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const i1 = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(lte(r), t);
|
|
}), t.getAttribute(Qu) === null && Xe.keepOriginalSource) {
|
|
let r = Br.createComment(oWe(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~h6(t).indexOf(Xe.replacementClass))
|
|
return i1.replace(e);
|
|
const n = new RegExp("".concat(Xe.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Xe.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => ey(a)).join(`
|
|
`);
|
|
t.setAttribute(Qu, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function t8(e) {
|
|
e();
|
|
}
|
|
function cte(e, t) {
|
|
const r = typeof t == "function" ? t : a1;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = t8;
|
|
Xe.mutateApproach === sze && (n = Mc.requestAnimationFrame || t8), n(() => {
|
|
const o = tWe(), a = x6.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let w6 = !1;
|
|
function ute() {
|
|
w6 = !0;
|
|
}
|
|
function N5() {
|
|
w6 = !1;
|
|
}
|
|
let h0 = null;
|
|
function r8(e) {
|
|
if (!VL || !Xe.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = a1,
|
|
nodeCallback: r = a1,
|
|
pseudoElementsCallback: n = a1,
|
|
observeMutationsRoot: o = Br
|
|
} = e;
|
|
h0 = new VL((a) => {
|
|
if (w6) return;
|
|
const i = Dc();
|
|
Ap(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !e8(s.addedNodes[0]) && (Xe.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Xe.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && e8(s.target) && ~pze.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && Zze(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = pw(h6(s.target));
|
|
s.target.setAttribute(d6, u || i), c && s.target.setAttribute(p6, c);
|
|
} else eWe(s.target) && r(s.target);
|
|
});
|
|
}), ks && h0.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function aWe() {
|
|
h0 && h0.disconnect();
|
|
}
|
|
function iWe(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function sWe(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = pw(h6(e));
|
|
return o.prefix || (o.prefix = Dc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = Tze(o.prefix, e.innerText) || y6(o.prefix, Xee(e.innerText))), !o.iconName && Xe.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function lWe(e) {
|
|
const t = Ap(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Xe.autoA11y && (r ? t["aria-labelledby"] = "".concat(Xe.replacementClass, "-title-").concat(n || ab()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function cWe() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: ti,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function n8(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = sWe(e), a = lWe(e), i = S5("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? iWe(e) : [];
|
|
return Oe({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: ti,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: uWe
|
|
} = ri;
|
|
function fte(e) {
|
|
const t = Xe.autoReplaceSvg === "nest" ? n8(e, {
|
|
styleParser: !1
|
|
}) : n8(e);
|
|
return ~t.extra.classes.indexOf(Gee) ? Fc("generateLayersText", e, t) : Fc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function fWe() {
|
|
return [...U8e, ...v5];
|
|
}
|
|
function o8(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!ks) return Promise.resolve();
|
|
const r = Br.documentElement.classList, n = (d) => r.add("".concat(UL, "-").concat(d)), o = (d) => r.remove("".concat(UL, "-").concat(d)), a = Xe.autoFetchSvg ? fWe() : Dee.concat(Object.keys(uWe));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(Gee, ":not([").concat(Qu, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(Qu, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Ap(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = x6.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = fte(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
Vee || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
cte(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function dWe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
fte(e).then((r) => {
|
|
r && cte([r], t);
|
|
});
|
|
}
|
|
function pWe(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : E5(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : E5(o || {})), e(n, Oe(Oe({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const mWe = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ti,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return mw(Oe({
|
|
type: "icon"
|
|
}, e), () => (Zu("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Xe.autoA11y && (i ? c["aria-labelledby"] = "".concat(Xe.replacementClass, "-title-").concat(s || ab()) : (c["aria-hidden"] = "true", c.focusable = "false")), v6({
|
|
icons: {
|
|
main: A5(p),
|
|
mask: o ? A5(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: Oe(Oe({}, ti), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var hWe = {
|
|
mixout() {
|
|
return {
|
|
icon: pWe(mWe)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = o8, e.nodeCallback = dWe, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Br,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return o8(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([P5(n, i), c.iconName ? P5(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, v6({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = fw(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return g6(a) && (u = Fc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, gWe = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return mw({
|
|
type: "layer"
|
|
}, () => {
|
|
Zu("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Xe.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, bWe = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return mw({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (Zu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Kze({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Xe.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, yWe = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ti,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return mw({
|
|
type: "text",
|
|
content: e
|
|
}, () => (Zu("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), QL({
|
|
content: e,
|
|
transform: Oe(Oe({}, ti), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Xe.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (Ree) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Xe.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, QL({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const vWe = new RegExp('"', "ug"), a8 = [1105920, 1112319], i8 = Oe(Oe(Oe(Oe({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), V8e), aze), Q8e), T5 = Object.keys(i8).reduce((e, t) => (e[t.toLowerCase()] = i8[t], e), {}), xWe = Object.keys(T5).reduce((e, t) => {
|
|
const r = T5[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function wWe(e) {
|
|
const t = e.replace(vWe, ""), r = Eze(t, 0), n = r >= a8[0] && r <= a8[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: Xee(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function $We(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (T5[r] || {})[o] || xWe[r];
|
|
}
|
|
function s8(e, t) {
|
|
const r = "".concat(ize).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Ap(e.children).filter((l) => l.getAttribute(w5) === t)[0], i = Mc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(fze), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = $We(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = wWe(l), m = u[0].startsWith("FontAwesome");
|
|
let h = y6(f, p), w = h;
|
|
if (m) {
|
|
const $ = Ize(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(d6) !== f || a.getAttribute(p6) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = cWe(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[w5] = t, P5(h, f).then((S) => {
|
|
const b = v6(Oe(Oe({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: ate()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Br.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => ey(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function kWe(e) {
|
|
return Promise.all([s8(e, "::before"), s8(e, "::after")]);
|
|
}
|
|
function _We(e) {
|
|
return e.parentNode !== document.head && !~lze.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(w5) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function l8(e) {
|
|
if (ks)
|
|
return new Promise((t, r) => {
|
|
const n = Ap(e.querySelectorAll("*")).filter(_We).map(kWe), o = x6.begin("searchPseudoElements");
|
|
ute(), Promise.all(n).then(() => {
|
|
o(), N5(), t();
|
|
}).catch(() => {
|
|
o(), N5(), r();
|
|
});
|
|
});
|
|
}
|
|
var OWe = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = l8, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Br
|
|
} = t;
|
|
Xe.searchPseudoElements && l8(r);
|
|
};
|
|
}
|
|
};
|
|
let c8 = !1;
|
|
var SWe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
ute(), c8 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
r8(S5("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
aWe();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
c8 ? N5() : r8(S5("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const u8 = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var EWe = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => u8(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = u8(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: Oe({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: Oe({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: Oe(Oe({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const c_ = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function f8(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function AWe(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var PWe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? pw(r.split(" ").map((o) => o.trim())) : ate();
|
|
return n.prefix || (n.prefix = Dc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = wze({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: Oe(Oe({}, c_), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(f8)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: Oe({}, f.inner),
|
|
children: [f8(Oe({
|
|
tag: c.tag,
|
|
attributes: Oe(Oe({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: Oe({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || ab()), $ = "clip-".concat(i || ab()), _ = {
|
|
tag: "mask",
|
|
attributes: Oe(Oe({}, c_), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: AWe(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: Oe({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, c_)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, CWe = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Mc.matchMedia && (t = Mc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: Oe(Oe({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = Oe(Oe({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: Oe(Oe({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: Oe(Oe({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: Oe(Oe({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: Oe(Oe({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: Oe(Oe({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: Oe(Oe({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: Oe(Oe({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, NWe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, TWe = [_ze, hWe, gWe, bWe, yWe, OWe, SWe, EWe, PWe, CWe, NWe];
|
|
Vze(TWe, {
|
|
mixoutsTo: go
|
|
});
|
|
go.noAuto;
|
|
go.config;
|
|
go.library;
|
|
go.dom;
|
|
const I5 = go.parse;
|
|
go.findIconDefinition;
|
|
go.toHtml;
|
|
const IWe = go.icon;
|
|
go.layer;
|
|
go.text;
|
|
go.counter;
|
|
function jWe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var hv = { exports: {} }, u_ = { exports: {} }, nr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var d8;
|
|
function RWe() {
|
|
if (d8) return nr;
|
|
d8 = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return nr.AsyncMode = u, nr.ConcurrentMode = c, nr.ContextConsumer = s, nr.ContextProvider = i, nr.Element = t, nr.ForwardRef = d, nr.Fragment = n, nr.Lazy = y, nr.Memo = p, nr.Portal = r, nr.Profiler = a, nr.StrictMode = o, nr.Suspense = l, nr.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, nr.isConcurrentMode = S, nr.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, nr.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, nr.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, nr.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, nr.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, nr.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, nr.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, nr.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, nr.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, nr.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, nr.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, nr.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, nr.typeOf = _, nr;
|
|
}
|
|
var hr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var p8;
|
|
function MWe() {
|
|
return p8 || (p8 = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
hr.AsyncMode = b, hr.ConcurrentMode = F, hr.ContextConsumer = z, hr.ContextProvider = q, hr.Element = Y, hr.ForwardRef = B, hr.Fragment = Z, hr.Lazy = M, hr.Memo = te, hr.Portal = G, hr.Profiler = H, hr.StrictMode = U, hr.Suspense = W, hr.isAsyncMode = ee, hr.isConcurrentMode = v, hr.isContextConsumer = g, hr.isContextProvider = O, hr.isElement = P, hr.isForwardRef = A, hr.isFragment = T, hr.isLazy = N, hr.isMemo = C, hr.isPortal = I, hr.isProfiler = j, hr.isStrictMode = R, hr.isSuspense = Q, hr.isValidElementType = _, hr.typeOf = S;
|
|
}()), hr;
|
|
}
|
|
var m8;
|
|
function dte() {
|
|
return m8 || (m8 = 1, process.env.NODE_ENV === "production" ? u_.exports = RWe() : u_.exports = MWe()), u_.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var f_, h8;
|
|
function DWe() {
|
|
if (h8) return f_;
|
|
h8 = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return f_ = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, f_;
|
|
}
|
|
var d_, g8;
|
|
function $6() {
|
|
if (g8) return d_;
|
|
g8 = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return d_ = e, d_;
|
|
}
|
|
var b8, y8;
|
|
function pte() {
|
|
return y8 || (y8 = 1, b8 = Function.call.bind(Object.prototype.hasOwnProperty)), b8;
|
|
}
|
|
var p_, v8;
|
|
function FWe() {
|
|
if (v8) return p_;
|
|
v8 = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ $6(), r = {}, n = /* @__PURE__ */ pte();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, p_ = o, p_;
|
|
}
|
|
var m_, x8;
|
|
function LWe() {
|
|
if (x8) return m_;
|
|
x8 = 1;
|
|
var e = dte(), t = DWe(), r = /* @__PURE__ */ $6(), n = /* @__PURE__ */ pte(), o = /* @__PURE__ */ FWe(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return m_ = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, m_;
|
|
}
|
|
var h_, w8;
|
|
function zWe() {
|
|
if (w8) return h_;
|
|
w8 = 1;
|
|
var e = /* @__PURE__ */ $6();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, h_ = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, h_;
|
|
}
|
|
var $8;
|
|
function WWe() {
|
|
if ($8) return hv.exports;
|
|
if ($8 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = dte(), t = !0;
|
|
hv.exports = /* @__PURE__ */ LWe()(e.isElement, t);
|
|
} else
|
|
hv.exports = /* @__PURE__ */ zWe()();
|
|
return hv.exports;
|
|
}
|
|
var VWe = /* @__PURE__ */ WWe();
|
|
const Dt = /* @__PURE__ */ jWe(VWe);
|
|
function k8(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Pa(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? k8(Object(r), !0).forEach(function(n) {
|
|
qf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : k8(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function g0(e) {
|
|
"@babel/helpers - typeof";
|
|
return g0 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, g0(e);
|
|
}
|
|
function qf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function HWe(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function GWe(e, t) {
|
|
if (e == null) return {};
|
|
var r = HWe(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function j5(e) {
|
|
return UWe(e) || BWe(e) || YWe(e) || qWe();
|
|
}
|
|
function UWe(e) {
|
|
if (Array.isArray(e)) return R5(e);
|
|
}
|
|
function BWe(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function YWe(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return R5(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return R5(e, t);
|
|
}
|
|
}
|
|
function R5(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function qWe() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function KWe(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, qf(t, "fa-".concat(w), typeof w < "u" && w !== null), qf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), qf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), qf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function XWe(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function mte(e) {
|
|
return XWe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var JWe = ["style"];
|
|
function QWe(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function ZWe(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = mte(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[QWe(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function hte(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return hte(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = ZWe(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[mte(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = GWe(r, JWe);
|
|
return o.attrs.style = Pa(Pa({}, o.attrs.style), i), e.apply(void 0, [t.tag, Pa(Pa({}, o.attrs), s)].concat(j5(n)));
|
|
}
|
|
var gte = !1;
|
|
try {
|
|
gte = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function eVe() {
|
|
if (!gte && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function _8(e) {
|
|
if (e && g0(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (I5.icon)
|
|
return I5.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && g0(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function g_(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? qf({}, e, t) : {};
|
|
}
|
|
var O8 = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, k6 = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = Pa(Pa({}, O8), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = _8(n), l = g_("classes", [].concat(j5(KWe(r)), j5((i || "").split(" ")))), f = g_("transform", typeof r.transform == "string" ? I5.transform(r.transform) : r.transform), p = g_("mask", _8(o)), y = IWe(d, Pa(Pa(Pa(Pa({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return eVe("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
O8.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), tVe(m[0], h);
|
|
});
|
|
k6.displayName = "FontAwesomeIcon";
|
|
k6.propTypes = {
|
|
beat: Dt.bool,
|
|
border: Dt.bool,
|
|
beatFade: Dt.bool,
|
|
bounce: Dt.bool,
|
|
className: Dt.string,
|
|
fade: Dt.bool,
|
|
flash: Dt.bool,
|
|
mask: Dt.oneOfType([Dt.object, Dt.array, Dt.string]),
|
|
maskId: Dt.string,
|
|
fixedWidth: Dt.bool,
|
|
inverse: Dt.bool,
|
|
flip: Dt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Dt.oneOfType([Dt.object, Dt.array, Dt.string]),
|
|
listItem: Dt.bool,
|
|
pull: Dt.oneOf(["right", "left"]),
|
|
pulse: Dt.bool,
|
|
rotation: Dt.oneOf([0, 90, 180, 270]),
|
|
shake: Dt.bool,
|
|
size: Dt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Dt.bool,
|
|
spinPulse: Dt.bool,
|
|
spinReverse: Dt.bool,
|
|
symbol: Dt.oneOfType([Dt.bool, Dt.string]),
|
|
title: Dt.string,
|
|
titleId: Dt.string,
|
|
transform: Dt.oneOfType([Dt.string, Dt.object]),
|
|
swapOpacity: Dt.bool
|
|
};
|
|
var tVe = hte.bind(null, ae.createElement);
|
|
const _6 = "-", rVe = (e) => {
|
|
const t = oVe(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(_6);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), bte(a, t) || nVe(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, bte = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? bte(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(_6);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, S8 = /^\[(.+)\]$/, nVe = (e) => {
|
|
if (S8.test(e)) {
|
|
const t = S8.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, oVe = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return iVe(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
M5(a, n, o, t);
|
|
}), n;
|
|
}, M5 = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : E8(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (aVe(o)) {
|
|
M5(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
M5(i, E8(t, a), r, n);
|
|
});
|
|
});
|
|
}, E8 = (e, t) => {
|
|
let r = e;
|
|
return t.split(_6).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, aVe = (e) => e.isThemeGetter, iVe = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, sVe = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, yte = "!", lVe = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, l;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
u.push(s.slice(d, h)), d = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
l = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const f = u.length === 0 ? s : s.substring(d), p = f.startsWith(yte), y = p ? f.substring(1) : f, m = l && l > d ? l - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: p,
|
|
baseClassName: y,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, cVe = (e) => {
|
|
if (e.length <= 1)
|
|
return e;
|
|
const t = [];
|
|
let r = [];
|
|
return e.forEach((n) => {
|
|
n[0] === "[" ? (t.push(...r.sort(), n), r = []) : r.push(n);
|
|
}), t.push(...r.sort()), t;
|
|
}, uVe = (e) => ({
|
|
cache: sVe(e.cacheSize),
|
|
parseClassName: lVe(e),
|
|
...rVe(e)
|
|
}), fVe = /\s+/, dVe = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(fVe);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: l,
|
|
baseClassName: f,
|
|
maybePostfixModifierPosition: p
|
|
} = r(c);
|
|
let y = !!p, m = n(y ? f.substring(0, p) : f);
|
|
if (!m) {
|
|
if (!y) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(f), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
y = !1;
|
|
}
|
|
const h = cVe(d).join(":"), w = l ? h + yte : h, $ = w + m;
|
|
if (a.includes($))
|
|
continue;
|
|
a.push($);
|
|
const _ = o(m, y);
|
|
for (let S = 0; S < _.length; ++S) {
|
|
const b = _[S];
|
|
a.push(w + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function pVe() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = vte(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const vte = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = vte(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function mVe(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, l) => l(d), e());
|
|
return r = uVe(c), n = r.cache.get, o = r.cache.set, a = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = dVe(u, r);
|
|
return o(u, d), d;
|
|
}
|
|
return function() {
|
|
return a(pVe.apply(null, arguments));
|
|
};
|
|
}
|
|
const Rr = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, xte = /^\[(?:([a-z-]+):)?(.+)\]$/i, hVe = /^\d+\/\d+$/, gVe = /* @__PURE__ */ new Set(["px", "full", "screen"]), bVe = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, yVe = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, vVe = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, xVe = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, wVe = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Ci = (e) => Pd(e) || gVe.has(e) || hVe.test(e), Il = (e) => Pp(e, "length", PVe), Pd = (e) => !!e && !Number.isNaN(Number(e)), b_ = (e) => Pp(e, "number", Pd), Jm = (e) => !!e && Number.isInteger(Number(e)), $Ve = (e) => e.endsWith("%") && Pd(e.slice(0, -1)), xt = (e) => xte.test(e), jl = (e) => bVe.test(e), kVe = /* @__PURE__ */ new Set(["length", "size", "percentage"]), _Ve = (e) => Pp(e, kVe, wte), OVe = (e) => Pp(e, "position", wte), SVe = /* @__PURE__ */ new Set(["image", "url"]), EVe = (e) => Pp(e, SVe, NVe), AVe = (e) => Pp(e, "", CVe), Qm = () => !0, Pp = (e, t, r) => {
|
|
const n = xte.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, PVe = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
yVe.test(e) && !vVe.test(e)
|
|
), wte = () => !1, CVe = (e) => xVe.test(e), NVe = (e) => wVe.test(e), TVe = () => {
|
|
const e = Rr("colors"), t = Rr("spacing"), r = Rr("blur"), n = Rr("brightness"), o = Rr("borderColor"), a = Rr("borderRadius"), i = Rr("borderSpacing"), s = Rr("borderWidth"), u = Rr("contrast"), c = Rr("grayscale"), d = Rr("hueRotate"), l = Rr("invert"), f = Rr("gap"), p = Rr("gradientColorStops"), y = Rr("gradientColorStopPositions"), m = Rr("inset"), h = Rr("margin"), w = Rr("opacity"), $ = Rr("padding"), _ = Rr("saturate"), S = Rr("scale"), b = Rr("sepia"), F = Rr("skew"), z = Rr("space"), q = Rr("translate"), Y = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", xt, t], M = () => [xt, t], te = () => ["", Ci, Il], G = () => ["auto", Pd, xt], H = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], U = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], X = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], ee = () => ["", "0", xt], v = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], g = () => [Pd, xt];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Qm],
|
|
spacing: [Ci, Il],
|
|
blur: ["none", "", jl, xt],
|
|
brightness: g(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", jl, xt],
|
|
borderSpacing: M(),
|
|
borderWidth: te(),
|
|
contrast: g(),
|
|
grayscale: ee(),
|
|
hueRotate: g(),
|
|
invert: ee(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [$Ve, Il],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: g(),
|
|
padding: M(),
|
|
saturate: g(),
|
|
scale: g(),
|
|
sepia: ee(),
|
|
skew: g(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", xt]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [jl]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": v()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": v()
|
|
}],
|
|
/**
|
|
* Break Inside
|
|
* @see https://tailwindcss.com/docs/break-inside
|
|
*/
|
|
"break-inside": [{
|
|
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
}],
|
|
/**
|
|
* Box Decoration Break
|
|
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
*/
|
|
"box-decoration": [{
|
|
"box-decoration": ["slice", "clone"]
|
|
}],
|
|
/**
|
|
* Box Sizing
|
|
* @see https://tailwindcss.com/docs/box-sizing
|
|
*/
|
|
box: [{
|
|
box: ["border", "content"]
|
|
}],
|
|
/**
|
|
* Display
|
|
* @see https://tailwindcss.com/docs/display
|
|
*/
|
|
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
/**
|
|
* Floats
|
|
* @see https://tailwindcss.com/docs/float
|
|
*/
|
|
float: [{
|
|
float: ["right", "left", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Clear
|
|
* @see https://tailwindcss.com/docs/clear
|
|
*/
|
|
clear: [{
|
|
clear: ["left", "right", "both", "none", "start", "end"]
|
|
}],
|
|
/**
|
|
* Isolation
|
|
* @see https://tailwindcss.com/docs/isolation
|
|
*/
|
|
isolation: ["isolate", "isolation-auto"],
|
|
/**
|
|
* Object Fit
|
|
* @see https://tailwindcss.com/docs/object-fit
|
|
*/
|
|
"object-fit": [{
|
|
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
}],
|
|
/**
|
|
* Object Position
|
|
* @see https://tailwindcss.com/docs/object-position
|
|
*/
|
|
"object-position": [{
|
|
object: [...H(), xt]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": Y()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": Y()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Jm, xt]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", xt]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: ee()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: ee()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Jm, xt]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Qm]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Jm, xt]
|
|
}, xt]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": G()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": G()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Qm]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Jm, xt]
|
|
}, xt]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": G()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": G()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", xt]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", xt]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [f]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [f]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [f]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...X()]
|
|
}],
|
|
/**
|
|
* Justify Items
|
|
* @see https://tailwindcss.com/docs/justify-items
|
|
*/
|
|
"justify-items": [{
|
|
"justify-items": ["start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Justify Self
|
|
* @see https://tailwindcss.com/docs/justify-self
|
|
*/
|
|
"justify-self": [{
|
|
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Content
|
|
* @see https://tailwindcss.com/docs/align-content
|
|
*/
|
|
"align-content": [{
|
|
content: ["normal", ...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Align Items
|
|
* @see https://tailwindcss.com/docs/align-items
|
|
*/
|
|
"align-items": [{
|
|
items: ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Align Self
|
|
* @see https://tailwindcss.com/docs/align-self
|
|
*/
|
|
"align-self": [{
|
|
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
}],
|
|
/**
|
|
* Place Content
|
|
* @see https://tailwindcss.com/docs/place-content
|
|
*/
|
|
"place-content": [{
|
|
"place-content": [...X(), "baseline"]
|
|
}],
|
|
/**
|
|
* Place Items
|
|
* @see https://tailwindcss.com/docs/place-items
|
|
*/
|
|
"place-items": [{
|
|
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
}],
|
|
/**
|
|
* Place Self
|
|
* @see https://tailwindcss.com/docs/place-self
|
|
*/
|
|
"place-self": [{
|
|
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
}],
|
|
// Spacing
|
|
/**
|
|
* Padding
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
p: [{
|
|
p: [$]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [$]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [$]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [$]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [$]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [$]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [$]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [$]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [$]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [z]
|
|
}],
|
|
/**
|
|
* Space Between X Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x-reverse": ["space-x-reverse"],
|
|
/**
|
|
* Space Between Y
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y": [{
|
|
"space-y": [z]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", xt, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [xt, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [xt, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [jl]
|
|
}, jl]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [xt, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [xt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [xt, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [xt, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", jl, Il]
|
|
}],
|
|
/**
|
|
* Font Smoothing
|
|
* @see https://tailwindcss.com/docs/font-smoothing
|
|
*/
|
|
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
/**
|
|
* Font Style
|
|
* @see https://tailwindcss.com/docs/font-style
|
|
*/
|
|
"font-style": ["italic", "not-italic"],
|
|
/**
|
|
* Font Weight
|
|
* @see https://tailwindcss.com/docs/font-weight
|
|
*/
|
|
"font-weight": [{
|
|
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", b_]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Qm]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", xt]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Pd, b_]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Ci, xt]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", xt]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", xt]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...U(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Ci, Il]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Ci, xt]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", xt]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", xt]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...H(), OVe]
|
|
}],
|
|
/**
|
|
* Background Repeat
|
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
*/
|
|
"bg-repeat": [{
|
|
bg: ["no-repeat", {
|
|
repeat: ["", "x", "y", "round", "space"]
|
|
}]
|
|
}],
|
|
/**
|
|
* Background Size
|
|
* @see https://tailwindcss.com/docs/background-size
|
|
*/
|
|
"bg-size": [{
|
|
bg: ["auto", "cover", "contain", _Ve]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, EVe]
|
|
}],
|
|
/**
|
|
* Background Color
|
|
* @see https://tailwindcss.com/docs/background-color
|
|
*/
|
|
"bg-color": [{
|
|
bg: [e]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from-pos": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [p]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [p]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...U(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: U()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...U()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Ci, xt]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Ci, Il]
|
|
}],
|
|
/**
|
|
* Outline Color
|
|
* @see https://tailwindcss.com/docs/outline-color
|
|
*/
|
|
"outline-color": [{
|
|
outline: [e]
|
|
}],
|
|
/**
|
|
* Ring Width
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w": [{
|
|
ring: te()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Ci, Il]
|
|
}],
|
|
/**
|
|
* Ring Offset Color
|
|
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
*/
|
|
"ring-offset-color": [{
|
|
"ring-offset": [e]
|
|
}],
|
|
// Effects
|
|
/**
|
|
* Box Shadow
|
|
* @see https://tailwindcss.com/docs/box-shadow
|
|
*/
|
|
shadow: [{
|
|
shadow: ["", "inner", "none", jl, AVe]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Qm]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [u]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", jl, xt]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [l]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [_]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [d]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [_]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", xt]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: g()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", xt]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: g()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", xt]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Jm, xt]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [q]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [q]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [F]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [F]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", xt]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", xt]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", xt]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Ci, Il, b_]
|
|
}],
|
|
/**
|
|
* Stroke
|
|
* @see https://tailwindcss.com/docs/stroke
|
|
*/
|
|
stroke: [{
|
|
stroke: [e, "none"]
|
|
}],
|
|
// Accessibility
|
|
/**
|
|
* Screen Readers
|
|
* @see https://tailwindcss.com/docs/screen-readers
|
|
*/
|
|
sr: ["sr-only", "not-sr-only"],
|
|
/**
|
|
* Forced Color Adjust
|
|
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
*/
|
|
"forced-color-adjust": [{
|
|
"forced-color-adjust": ["auto", "none"]
|
|
}]
|
|
},
|
|
conflictingClassGroups: {
|
|
overflow: ["overflow-x", "overflow-y"],
|
|
overscroll: ["overscroll-x", "overscroll-y"],
|
|
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
"inset-x": ["right", "left"],
|
|
"inset-y": ["top", "bottom"],
|
|
flex: ["basis", "grow", "shrink"],
|
|
gap: ["gap-x", "gap-y"],
|
|
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
px: ["pr", "pl"],
|
|
py: ["pt", "pb"],
|
|
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
mx: ["mr", "ml"],
|
|
my: ["mt", "mb"],
|
|
size: ["w", "h"],
|
|
"font-size": ["leading"],
|
|
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
"fvn-ordinal": ["fvn-normal"],
|
|
"fvn-slashed-zero": ["fvn-normal"],
|
|
"fvn-figure": ["fvn-normal"],
|
|
"fvn-spacing": ["fvn-normal"],
|
|
"fvn-fraction": ["fvn-normal"],
|
|
"line-clamp": ["display", "overflow"],
|
|
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
"border-w-x": ["border-w-r", "border-w-l"],
|
|
"border-w-y": ["border-w-t", "border-w-b"],
|
|
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
"border-color-x": ["border-color-r", "border-color-l"],
|
|
"border-color-y": ["border-color-t", "border-color-b"],
|
|
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
"touch-x": ["touch"],
|
|
"touch-y": ["touch"],
|
|
"touch-pz": ["touch"]
|
|
},
|
|
conflictingClassGroupModifiers: {
|
|
"font-size": ["leading"]
|
|
}
|
|
};
|
|
}, IVe = /* @__PURE__ */ mVe(TVe), jVe = ({
|
|
onClick: e,
|
|
className: t,
|
|
size: r = "md"
|
|
}) => /* @__PURE__ */ K(
|
|
"button",
|
|
{
|
|
onClick: e,
|
|
className: IVe(
|
|
"flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white",
|
|
{
|
|
sm: "h-5 w-5 text-sm",
|
|
md: "h-7 w-7 text-md",
|
|
lg: "h-9 w-9 text-xl"
|
|
}[r],
|
|
t
|
|
),
|
|
children: /* @__PURE__ */ K(k6, { icon: T8e })
|
|
}
|
|
);
|
|
var O6 = ry(), st = (e) => ty(e, O6), S6 = ry();
|
|
st.write = (e) => ty(e, S6);
|
|
var hw = ry();
|
|
st.onStart = (e) => ty(e, hw);
|
|
var E6 = ry();
|
|
st.onFrame = (e) => ty(e, E6);
|
|
var A6 = ry();
|
|
st.onFinish = (e) => ty(e, A6);
|
|
var Cd = [];
|
|
st.setTimeout = (e, t) => {
|
|
const r = st.now() + t, n = () => {
|
|
const a = Cd.findIndex((i) => i.cancel == n);
|
|
~a && Cd.splice(a, 1), Xl -= ~a ? 1 : 0;
|
|
}, o = { time: r, handler: e, cancel: n };
|
|
return Cd.splice($te(r), 0, o), Xl += 1, kte(), o;
|
|
};
|
|
var $te = (e) => ~(~Cd.findIndex((t) => t.time > e) || ~Cd.length);
|
|
st.cancel = (e) => {
|
|
hw.delete(e), E6.delete(e), A6.delete(e), O6.delete(e), S6.delete(e);
|
|
};
|
|
st.sync = (e) => {
|
|
D5 = !0, st.batchedUpdates(e), D5 = !1;
|
|
};
|
|
st.throttle = (e) => {
|
|
let t;
|
|
function r() {
|
|
try {
|
|
e(...t);
|
|
} finally {
|
|
t = null;
|
|
}
|
|
}
|
|
function n(...o) {
|
|
t = o, st.onStart(r);
|
|
}
|
|
return n.handler = e, n.cancel = () => {
|
|
hw.delete(r), t = null;
|
|
}, n;
|
|
};
|
|
var P6 = typeof window < "u" ? window.requestAnimationFrame : (
|
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
() => {
|
|
}
|
|
);
|
|
st.use = (e) => P6 = e;
|
|
st.now = typeof performance < "u" ? () => performance.now() : Date.now;
|
|
st.batchedUpdates = (e) => e();
|
|
st.catch = console.error;
|
|
st.frameLoop = "always";
|
|
st.advance = () => {
|
|
st.frameLoop !== "demand" ? console.warn(
|
|
"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"
|
|
) : Ote();
|
|
};
|
|
var Kl = -1, Xl = 0, D5 = !1;
|
|
function ty(e, t) {
|
|
D5 ? (t.delete(e), e(0)) : (t.add(e), kte());
|
|
}
|
|
function kte() {
|
|
Kl < 0 && (Kl = 0, st.frameLoop !== "demand" && P6(_te));
|
|
}
|
|
function RVe() {
|
|
Kl = -1;
|
|
}
|
|
function _te() {
|
|
~Kl && (P6(_te), st.batchedUpdates(Ote));
|
|
}
|
|
function Ote() {
|
|
const e = Kl;
|
|
Kl = st.now();
|
|
const t = $te(Kl);
|
|
if (t && (Ste(Cd.splice(0, t), (r) => r.handler()), Xl -= t), !Xl) {
|
|
RVe();
|
|
return;
|
|
}
|
|
hw.flush(), O6.flush(e ? Math.min(64, Kl - e) : 16.667), E6.flush(), S6.flush(), A6.flush();
|
|
}
|
|
function ry() {
|
|
let e = /* @__PURE__ */ new Set(), t = e;
|
|
return {
|
|
add(r) {
|
|
Xl += t == e && !e.has(r) ? 1 : 0, e.add(r);
|
|
},
|
|
delete(r) {
|
|
return Xl -= t == e && e.has(r) ? 1 : 0, e.delete(r);
|
|
},
|
|
flush(r) {
|
|
t.size && (e = /* @__PURE__ */ new Set(), Xl -= t.size, Ste(t, (n) => n(r) && e.add(n)), Xl += e.size, t = e);
|
|
}
|
|
};
|
|
}
|
|
function Ste(e, t) {
|
|
e.forEach((r) => {
|
|
try {
|
|
t(r);
|
|
} catch (n) {
|
|
st.catch(n);
|
|
}
|
|
});
|
|
}
|
|
var MVe = Object.defineProperty, DVe = (e, t) => {
|
|
for (var r in t)
|
|
MVe(e, r, { get: t[r], enumerable: !0 });
|
|
}, ca = {};
|
|
DVe(ca, {
|
|
assign: () => LVe,
|
|
colors: () => rc,
|
|
createStringInterpolator: () => N6,
|
|
skipAnimation: () => Ate,
|
|
to: () => Ete,
|
|
willAdvance: () => T6
|
|
});
|
|
function F5() {
|
|
}
|
|
var FVe = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), Pe = {
|
|
arr: Array.isArray,
|
|
obj: (e) => !!e && e.constructor.name === "Object",
|
|
fun: (e) => typeof e == "function",
|
|
str: (e) => typeof e == "string",
|
|
num: (e) => typeof e == "number",
|
|
und: (e) => e === void 0
|
|
};
|
|
function Ri(e, t) {
|
|
if (Pe.arr(e)) {
|
|
if (!Pe.arr(t) || e.length !== t.length) return !1;
|
|
for (let r = 0; r < e.length; r++)
|
|
if (e[r] !== t[r]) return !1;
|
|
return !0;
|
|
}
|
|
return e === t;
|
|
}
|
|
var $t = (e, t) => e.forEach(t);
|
|
function di(e, t, r) {
|
|
if (Pe.arr(e)) {
|
|
for (let n = 0; n < e.length; n++)
|
|
t.call(r, e[n], `${n}`);
|
|
return;
|
|
}
|
|
for (const n in e)
|
|
e.hasOwnProperty(n) && t.call(r, e[n], n);
|
|
}
|
|
var Mn = (e) => Pe.und(e) ? [] : Pe.arr(e) ? e : [e];
|
|
function lg(e, t) {
|
|
if (e.size) {
|
|
const r = Array.from(e);
|
|
e.clear(), $t(r, t);
|
|
}
|
|
}
|
|
var wh = (e, ...t) => lg(e, (r) => r(...t)), C6 = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), N6, Ete, rc = null, Ate = !1, T6 = F5, LVe = (e) => {
|
|
e.to && (Ete = e.to), e.now && (st.now = e.now), e.colors !== void 0 && (rc = e.colors), e.skipAnimation != null && (Ate = e.skipAnimation), e.createStringInterpolator && (N6 = e.createStringInterpolator), e.requestAnimationFrame && st.use(e.requestAnimationFrame), e.batchedUpdates && (st.batchedUpdates = e.batchedUpdates), e.willAdvance && (T6 = e.willAdvance), e.frameLoop && (st.frameLoop = e.frameLoop);
|
|
}, cg = /* @__PURE__ */ new Set(), No = [], y_ = [], b0 = 0, gw = {
|
|
get idle() {
|
|
return !cg.size && !No.length;
|
|
},
|
|
/** Advance the given animation on every frame until idle. */
|
|
start(e) {
|
|
b0 > e.priority ? (cg.add(e), st.onStart(zVe)) : (Pte(e), st(L5));
|
|
},
|
|
/** Advance all animations by the given time. */
|
|
advance: L5,
|
|
/** Call this when an animation's priority changes. */
|
|
sort(e) {
|
|
if (b0)
|
|
st.onFrame(() => gw.sort(e));
|
|
else {
|
|
const t = No.indexOf(e);
|
|
~t && (No.splice(t, 1), Cte(e));
|
|
}
|
|
},
|
|
/**
|
|
* Clear all animations. For testing purposes.
|
|
*
|
|
* ☠️ Never call this from within the frameloop.
|
|
*/
|
|
clear() {
|
|
No = [], cg.clear();
|
|
}
|
|
};
|
|
function zVe() {
|
|
cg.forEach(Pte), cg.clear(), st(L5);
|
|
}
|
|
function Pte(e) {
|
|
No.includes(e) || Cte(e);
|
|
}
|
|
function Cte(e) {
|
|
No.splice(
|
|
WVe(No, (t) => t.priority > e.priority),
|
|
0,
|
|
e
|
|
);
|
|
}
|
|
function L5(e) {
|
|
const t = y_;
|
|
for (let r = 0; r < No.length; r++) {
|
|
const n = No[r];
|
|
b0 = n.priority, n.idle || (T6(n), n.advance(e), n.idle || t.push(n));
|
|
}
|
|
return b0 = 0, y_ = No, y_.length = 0, No = t, No.length > 0;
|
|
}
|
|
function WVe(e, t) {
|
|
const r = e.findIndex(t);
|
|
return r < 0 ? e.length : r;
|
|
}
|
|
var VVe = {
|
|
transparent: 0,
|
|
aliceblue: 4042850303,
|
|
antiquewhite: 4209760255,
|
|
aqua: 16777215,
|
|
aquamarine: 2147472639,
|
|
azure: 4043309055,
|
|
beige: 4126530815,
|
|
bisque: 4293182719,
|
|
black: 255,
|
|
blanchedalmond: 4293643775,
|
|
blue: 65535,
|
|
blueviolet: 2318131967,
|
|
brown: 2771004159,
|
|
burlywood: 3736635391,
|
|
burntsienna: 3934150143,
|
|
cadetblue: 1604231423,
|
|
chartreuse: 2147418367,
|
|
chocolate: 3530104575,
|
|
coral: 4286533887,
|
|
cornflowerblue: 1687547391,
|
|
cornsilk: 4294499583,
|
|
crimson: 3692313855,
|
|
cyan: 16777215,
|
|
darkblue: 35839,
|
|
darkcyan: 9145343,
|
|
darkgoldenrod: 3095792639,
|
|
darkgray: 2846468607,
|
|
darkgreen: 6553855,
|
|
darkgrey: 2846468607,
|
|
darkkhaki: 3182914559,
|
|
darkmagenta: 2332068863,
|
|
darkolivegreen: 1433087999,
|
|
darkorange: 4287365375,
|
|
darkorchid: 2570243327,
|
|
darkred: 2332033279,
|
|
darksalmon: 3918953215,
|
|
darkseagreen: 2411499519,
|
|
darkslateblue: 1211993087,
|
|
darkslategray: 793726975,
|
|
darkslategrey: 793726975,
|
|
darkturquoise: 13554175,
|
|
darkviolet: 2483082239,
|
|
deeppink: 4279538687,
|
|
deepskyblue: 12582911,
|
|
dimgray: 1768516095,
|
|
dimgrey: 1768516095,
|
|
dodgerblue: 512819199,
|
|
firebrick: 2988581631,
|
|
floralwhite: 4294635775,
|
|
forestgreen: 579543807,
|
|
fuchsia: 4278255615,
|
|
gainsboro: 3705462015,
|
|
ghostwhite: 4177068031,
|
|
gold: 4292280575,
|
|
goldenrod: 3668254975,
|
|
gray: 2155905279,
|
|
green: 8388863,
|
|
greenyellow: 2919182335,
|
|
grey: 2155905279,
|
|
honeydew: 4043305215,
|
|
hotpink: 4285117695,
|
|
indianred: 3445382399,
|
|
indigo: 1258324735,
|
|
ivory: 4294963455,
|
|
khaki: 4041641215,
|
|
lavender: 3873897215,
|
|
lavenderblush: 4293981695,
|
|
lawngreen: 2096890111,
|
|
lemonchiffon: 4294626815,
|
|
lightblue: 2916673279,
|
|
lightcoral: 4034953471,
|
|
lightcyan: 3774873599,
|
|
lightgoldenrodyellow: 4210742015,
|
|
lightgray: 3553874943,
|
|
lightgreen: 2431553791,
|
|
lightgrey: 3553874943,
|
|
lightpink: 4290167295,
|
|
lightsalmon: 4288707327,
|
|
lightseagreen: 548580095,
|
|
lightskyblue: 2278488831,
|
|
lightslategray: 2005441023,
|
|
lightslategrey: 2005441023,
|
|
lightsteelblue: 2965692159,
|
|
lightyellow: 4294959359,
|
|
lime: 16711935,
|
|
limegreen: 852308735,
|
|
linen: 4210091775,
|
|
magenta: 4278255615,
|
|
maroon: 2147483903,
|
|
mediumaquamarine: 1724754687,
|
|
mediumblue: 52735,
|
|
mediumorchid: 3126187007,
|
|
mediumpurple: 2473647103,
|
|
mediumseagreen: 1018393087,
|
|
mediumslateblue: 2070474495,
|
|
mediumspringgreen: 16423679,
|
|
mediumturquoise: 1221709055,
|
|
mediumvioletred: 3340076543,
|
|
midnightblue: 421097727,
|
|
mintcream: 4127193855,
|
|
mistyrose: 4293190143,
|
|
moccasin: 4293178879,
|
|
navajowhite: 4292783615,
|
|
navy: 33023,
|
|
oldlace: 4260751103,
|
|
olive: 2155872511,
|
|
olivedrab: 1804477439,
|
|
orange: 4289003775,
|
|
orangered: 4282712319,
|
|
orchid: 3664828159,
|
|
palegoldenrod: 4008225535,
|
|
palegreen: 2566625535,
|
|
paleturquoise: 2951671551,
|
|
palevioletred: 3681588223,
|
|
papayawhip: 4293907967,
|
|
peachpuff: 4292524543,
|
|
peru: 3448061951,
|
|
pink: 4290825215,
|
|
plum: 3718307327,
|
|
powderblue: 2967529215,
|
|
purple: 2147516671,
|
|
rebeccapurple: 1714657791,
|
|
red: 4278190335,
|
|
rosybrown: 3163525119,
|
|
royalblue: 1097458175,
|
|
saddlebrown: 2336560127,
|
|
salmon: 4202722047,
|
|
sandybrown: 4104413439,
|
|
seagreen: 780883967,
|
|
seashell: 4294307583,
|
|
sienna: 2689740287,
|
|
silver: 3233857791,
|
|
skyblue: 2278484991,
|
|
slateblue: 1784335871,
|
|
slategray: 1887473919,
|
|
slategrey: 1887473919,
|
|
snow: 4294638335,
|
|
springgreen: 16744447,
|
|
steelblue: 1182971135,
|
|
tan: 3535047935,
|
|
teal: 8421631,
|
|
thistle: 3636451583,
|
|
tomato: 4284696575,
|
|
turquoise: 1088475391,
|
|
violet: 4001558271,
|
|
wheat: 4125012991,
|
|
white: 4294967295,
|
|
whitesmoke: 4126537215,
|
|
yellow: 4294902015,
|
|
yellowgreen: 2597139199
|
|
}, oa = "[-+]?\\d*\\.?\\d+", y0 = oa + "%";
|
|
function bw(...e) {
|
|
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)";
|
|
}
|
|
var HVe = new RegExp("rgb" + bw(oa, oa, oa)), GVe = new RegExp("rgba" + bw(oa, oa, oa, oa)), UVe = new RegExp("hsl" + bw(oa, y0, y0)), BVe = new RegExp(
|
|
"hsla" + bw(oa, y0, y0, oa)
|
|
), YVe = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, qVe = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, KVe = /^#([0-9a-fA-F]{6})$/, XVe = /^#([0-9a-fA-F]{8})$/;
|
|
function JVe(e) {
|
|
let t;
|
|
return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = KVe.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : rc && rc[e] !== void 0 ? rc[e] : (t = HVe.exec(e)) ? (wf(t[1]) << 24 | // r
|
|
wf(t[2]) << 16 | // g
|
|
wf(t[3]) << 8 | // b
|
|
255) >>> // a
|
|
0 : (t = GVe.exec(e)) ? (wf(t[1]) << 24 | // r
|
|
wf(t[2]) << 16 | // g
|
|
wf(t[3]) << 8 | // b
|
|
C8(t[4])) >>> // a
|
|
0 : (t = YVe.exec(e)) ? parseInt(
|
|
t[1] + t[1] + // r
|
|
t[2] + t[2] + // g
|
|
t[3] + t[3] + // b
|
|
"ff",
|
|
// a
|
|
16
|
|
) >>> 0 : (t = XVe.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = qVe.exec(e)) ? parseInt(
|
|
t[1] + t[1] + // r
|
|
t[2] + t[2] + // g
|
|
t[3] + t[3] + // b
|
|
t[4] + t[4],
|
|
// a
|
|
16
|
|
) >>> 0 : (t = UVe.exec(e)) ? (A8(
|
|
P8(t[1]),
|
|
// h
|
|
gv(t[2]),
|
|
// s
|
|
gv(t[3])
|
|
// l
|
|
) | 255) >>> // a
|
|
0 : (t = BVe.exec(e)) ? (A8(
|
|
P8(t[1]),
|
|
// h
|
|
gv(t[2]),
|
|
// s
|
|
gv(t[3])
|
|
// l
|
|
) | C8(t[4])) >>> // a
|
|
0 : null;
|
|
}
|
|
function v_(e, t, r) {
|
|
return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * 6 * r : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e;
|
|
}
|
|
function A8(e, t, r) {
|
|
const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = v_(o, n, e + 1 / 3), i = v_(o, n, e), s = v_(o, n, e - 1 / 3);
|
|
return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8;
|
|
}
|
|
function wf(e) {
|
|
const t = parseInt(e, 10);
|
|
return t < 0 ? 0 : t > 255 ? 255 : t;
|
|
}
|
|
function P8(e) {
|
|
return (parseFloat(e) % 360 + 360) % 360 / 360;
|
|
}
|
|
function C8(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255);
|
|
}
|
|
function gv(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 100 ? 1 : t / 100;
|
|
}
|
|
function N8(e) {
|
|
let t = JVe(e);
|
|
if (t === null) return e;
|
|
t = t || 0;
|
|
const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, o = (t & 65280) >>> 8, a = (t & 255) / 255;
|
|
return `rgba(${r}, ${n}, ${o}, ${a})`;
|
|
}
|
|
var sb = (e, t, r) => {
|
|
if (Pe.fun(e))
|
|
return e;
|
|
if (Pe.arr(e))
|
|
return sb({
|
|
range: e,
|
|
output: t,
|
|
extrapolate: r
|
|
});
|
|
if (Pe.str(e.output[0]))
|
|
return N6(e);
|
|
const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", u = n.easing || ((c) => c);
|
|
return (c) => {
|
|
const d = ZVe(c, a);
|
|
return QVe(
|
|
c,
|
|
a[d],
|
|
a[d + 1],
|
|
o[d],
|
|
o[d + 1],
|
|
u,
|
|
i,
|
|
s,
|
|
n.map
|
|
);
|
|
};
|
|
};
|
|
function QVe(e, t, r, n, o, a, i, s, u) {
|
|
let c = u ? u(e) : e;
|
|
if (c < t) {
|
|
if (i === "identity") return c;
|
|
i === "clamp" && (c = t);
|
|
}
|
|
if (c > r) {
|
|
if (s === "identity") return c;
|
|
s === "clamp" && (c = r);
|
|
}
|
|
return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = a(c), n === -1 / 0 ? c = -c : o === 1 / 0 ? c = c + n : c = c * (o - n) + n, c);
|
|
}
|
|
function ZVe(e, t) {
|
|
for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r)
|
|
;
|
|
return r - 1;
|
|
}
|
|
var eHe = {
|
|
linear: (e) => e
|
|
}, lb = Symbol.for("FluidValue.get"), qd = Symbol.for("FluidValue.observers"), Ao = (e) => !!(e && e[lb]), Qn = (e) => e && e[lb] ? e[lb]() : e, T8 = (e) => e[qd] || null;
|
|
function tHe(e, t) {
|
|
e.eventObserved ? e.eventObserved(t) : e(t);
|
|
}
|
|
function cb(e, t) {
|
|
const r = e[qd];
|
|
r && r.forEach((n) => {
|
|
tHe(n, t);
|
|
});
|
|
}
|
|
var Nte = class {
|
|
constructor(e) {
|
|
if (!e && !(e = this.get))
|
|
throw Error("Unknown getter");
|
|
rHe(this, e);
|
|
}
|
|
}, rHe = (e, t) => Tte(e, lb, t);
|
|
function Cp(e, t) {
|
|
if (e[lb]) {
|
|
let r = e[qd];
|
|
r || Tte(e, qd, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t));
|
|
}
|
|
return t;
|
|
}
|
|
function ub(e, t) {
|
|
const r = e[qd];
|
|
if (r && r.has(t)) {
|
|
const n = r.size - 1;
|
|
n ? r.delete(t) : e[qd] = null, e.observerRemoved && e.observerRemoved(n, t);
|
|
}
|
|
}
|
|
var Tte = (e, t, r) => Object.defineProperty(e, t, {
|
|
value: r,
|
|
writable: !0,
|
|
configurable: !0
|
|
}), s1 = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, nHe = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, I8 = new RegExp(`(${s1.source})(%|[a-z]+)`, "i"), oHe = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, yw = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, Ite = (e) => {
|
|
const [t, r] = aHe(e);
|
|
if (!t || C6())
|
|
return e;
|
|
const n = window.getComputedStyle(document.documentElement).getPropertyValue(t);
|
|
return n ? n.trim() : r && r.startsWith("--") ? window.getComputedStyle(document.documentElement).getPropertyValue(r) || e : r && yw.test(r) ? Ite(r) : r || e;
|
|
}, aHe = (e) => {
|
|
const t = yw.exec(e);
|
|
if (!t) return [,];
|
|
const [, r, n] = t;
|
|
return [r, n];
|
|
}, x_, iHe = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, jte = (e) => {
|
|
x_ || (x_ = rc ? (
|
|
// match color names, ignore partial matches
|
|
new RegExp(`(${Object.keys(rc).join("|")})(?!\\w)`, "g")
|
|
) : (
|
|
// never match
|
|
/^\b$/
|
|
));
|
|
const t = e.output.map((o) => Qn(o).replace(yw, Ite).replace(nHe, N8).replace(x_, N8)), r = t.map((o) => o.match(s1).map(Number)), n = r[0].map(
|
|
(o, a) => r.map((i) => {
|
|
if (!(a in i))
|
|
throw Error('The arity of each "output" value must be equal');
|
|
return i[a];
|
|
})
|
|
).map(
|
|
(o) => sb({ ...e, output: o })
|
|
);
|
|
return (o) => {
|
|
var a;
|
|
const i = !I8.test(t[0]) && ((a = t.find((u) => I8.test(u))) == null ? void 0 : a.replace(s1, ""));
|
|
let s = 0;
|
|
return t[0].replace(
|
|
s1,
|
|
() => `${n[s++](o)}${i || ""}`
|
|
).replace(oHe, iHe);
|
|
};
|
|
}, I6 = "react-spring: ", Rte = (e) => {
|
|
const t = e;
|
|
let r = !1;
|
|
if (typeof t != "function")
|
|
throw new TypeError(`${I6}once requires a function parameter`);
|
|
return (...n) => {
|
|
r || (t(...n), r = !0);
|
|
};
|
|
}, sHe = Rte(console.warn);
|
|
function lHe() {
|
|
sHe(
|
|
`${I6}The "interpolate" function is deprecated in v9 (use "to" instead)`
|
|
);
|
|
}
|
|
var cHe = Rte(console.warn);
|
|
function uHe() {
|
|
cHe(
|
|
`${I6}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`
|
|
);
|
|
}
|
|
function vw(e) {
|
|
return Pe.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR
|
|
!C6() && yw.test(e) || e in (rc || {}));
|
|
}
|
|
var Kf = C6() ? ue : pi, fHe = () => {
|
|
const e = ne(!1);
|
|
return Kf(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
};
|
|
function Mte() {
|
|
const e = de()[1], t = fHe();
|
|
return () => {
|
|
t.current && e(Math.random());
|
|
};
|
|
}
|
|
var Dte = (e) => ue(e, dHe), dHe = [];
|
|
function pHe(e) {
|
|
const t = ne(void 0);
|
|
return ue(() => {
|
|
t.current = e;
|
|
}), t.current;
|
|
}
|
|
var fb = Symbol.for("Animated:node"), mHe = (e) => !!e && e[fb] === e, ba = (e) => e && e[fb], j6 = (e, t) => FVe(e, fb, t), xw = (e) => e && e[fb] && e[fb].getPayload(), Fte = class {
|
|
constructor() {
|
|
j6(this, this);
|
|
}
|
|
/** Get every `AnimatedValue` used by this node. */
|
|
getPayload() {
|
|
return this.payload || [];
|
|
}
|
|
}, ww = class Lte extends Fte {
|
|
constructor(t) {
|
|
super(), this._value = t, this.done = !0, this.durationProgress = 0, Pe.num(this._value) && (this.lastPosition = this._value);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new Lte(t);
|
|
}
|
|
getPayload() {
|
|
return [this];
|
|
}
|
|
getValue() {
|
|
return this._value;
|
|
}
|
|
setValue(t, r) {
|
|
return Pe.num(t) && (this.lastPosition = t, r && (t = Math.round(t / r) * r, this.done && (this.lastPosition = t))), this._value === t ? !1 : (this._value = t, !0);
|
|
}
|
|
reset() {
|
|
const { done: t } = this;
|
|
this.done = !1, Pe.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null);
|
|
}
|
|
}, v0 = class zte extends ww {
|
|
constructor(t) {
|
|
super(0), this._string = null, this._toString = sb({
|
|
output: [t, t]
|
|
});
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new zte(t);
|
|
}
|
|
getValue() {
|
|
return this._string ?? (this._string = this._toString(this._value));
|
|
}
|
|
setValue(t) {
|
|
if (Pe.str(t)) {
|
|
if (t == this._string)
|
|
return !1;
|
|
this._string = t, this._value = 1;
|
|
} else if (super.setValue(t))
|
|
this._string = null;
|
|
else
|
|
return !1;
|
|
return !0;
|
|
}
|
|
reset(t) {
|
|
t && (this._toString = sb({
|
|
output: [this.getValue(), t]
|
|
})), this._value = 0, super.reset();
|
|
}
|
|
}, x0 = { dependencies: null }, $w = class extends Fte {
|
|
constructor(e) {
|
|
super(), this.source = e, this.setValue(e);
|
|
}
|
|
getValue(e) {
|
|
const t = {};
|
|
return di(this.source, (r, n) => {
|
|
mHe(r) ? t[n] = r.getValue(e) : Ao(r) ? t[n] = Qn(r) : e || (t[n] = r);
|
|
}), t;
|
|
}
|
|
/** Replace the raw object data */
|
|
setValue(e) {
|
|
this.source = e, this.payload = this._makePayload(e);
|
|
}
|
|
reset() {
|
|
this.payload && $t(this.payload, (e) => e.reset());
|
|
}
|
|
/** Create a payload set. */
|
|
_makePayload(e) {
|
|
if (e) {
|
|
const t = /* @__PURE__ */ new Set();
|
|
return di(e, this._addToPayload, t), Array.from(t);
|
|
}
|
|
}
|
|
/** Add to a payload set. */
|
|
_addToPayload(e) {
|
|
x0.dependencies && Ao(e) && x0.dependencies.add(e);
|
|
const t = xw(e);
|
|
t && $t(t, (r) => this.add(r));
|
|
}
|
|
}, hHe = class Wte extends $w {
|
|
constructor(t) {
|
|
super(t);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new Wte(t);
|
|
}
|
|
getValue() {
|
|
return this.source.map((t) => t.getValue());
|
|
}
|
|
setValue(t) {
|
|
const r = this.getPayload();
|
|
return t.length == r.length ? r.map((n, o) => n.setValue(t[o])).some(Boolean) : (super.setValue(t.map(gHe)), !0);
|
|
}
|
|
};
|
|
function gHe(e) {
|
|
return (vw(e) ? v0 : ww).create(e);
|
|
}
|
|
function z5(e) {
|
|
const t = ba(e);
|
|
return t ? t.constructor : Pe.arr(e) ? hHe : vw(e) ? v0 : ww;
|
|
}
|
|
var j8 = (e, t) => {
|
|
const r = (
|
|
// Function components must use "forwardRef" to avoid being
|
|
// re-rendered on every animation frame.
|
|
!Pe.fun(e) || e.prototype && e.prototype.isReactComponent
|
|
);
|
|
return sf((n, o) => {
|
|
const a = ne(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
Ne(
|
|
(y) => {
|
|
a.current = vHe(o, y);
|
|
},
|
|
[o]
|
|
), [s, u] = yHe(n, t), c = Mte(), d = () => {
|
|
const y = a.current;
|
|
r && !y || (y ? t.applyAnimatedValues(y, s.getValue(!0)) : !1) === !1 && c();
|
|
}, l = new bHe(d, u), f = ne(void 0);
|
|
Kf(() => (f.current = l, $t(u, (y) => Cp(y, l)), () => {
|
|
f.current && ($t(
|
|
f.current.deps,
|
|
(y) => ub(y, f.current)
|
|
), st.cancel(f.current.update));
|
|
})), ue(d, []), Dte(() => () => {
|
|
const y = f.current;
|
|
$t(y.deps, (m) => ub(m, y));
|
|
});
|
|
const p = t.getComponentProps(s.getValue());
|
|
return /* @__PURE__ */ V.createElement(e, { ...p, ref: i });
|
|
});
|
|
}, bHe = class {
|
|
constructor(e, t) {
|
|
this.update = e, this.deps = t;
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && st.write(this.update);
|
|
}
|
|
};
|
|
function yHe(e, t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return x0.dependencies = r, e.style && (e = {
|
|
...e,
|
|
style: t.createAnimatedStyle(e.style)
|
|
}), e = new $w(e), x0.dependencies = null, [e, r];
|
|
}
|
|
function vHe(e, t) {
|
|
return e && (Pe.fun(e) ? e(t) : e.current = t), t;
|
|
}
|
|
var R8 = Symbol.for("AnimatedComponent"), xHe = (e, {
|
|
applyAnimatedValues: t = () => !1,
|
|
createAnimatedStyle: r = (o) => new $w(o),
|
|
getComponentProps: n = (o) => o
|
|
} = {}) => {
|
|
const o = {
|
|
applyAnimatedValues: t,
|
|
createAnimatedStyle: r,
|
|
getComponentProps: n
|
|
}, a = (i) => {
|
|
const s = M8(i) || "Anonymous";
|
|
return Pe.str(i) ? i = a[i] || (a[i] = j8(i, o)) : i = i[R8] || (i[R8] = j8(i, o)), i.displayName = `Animated(${s})`, i;
|
|
};
|
|
return di(e, (i, s) => {
|
|
Pe.arr(e) && (s = M8(i)), a[s] = a(i);
|
|
}), {
|
|
animated: a
|
|
};
|
|
}, M8 = (e) => Pe.str(e) ? e : e && Pe.str(e.displayName) ? e.displayName : Pe.fun(e) && e.name || null;
|
|
function Zn(e, ...t) {
|
|
return Pe.fun(e) ? e(...t) : e;
|
|
}
|
|
var ug = (e, t) => e === !0 || !!(t && e && (Pe.fun(e) ? e(t) : Mn(e).includes(t))), Vte = (e, t) => Pe.obj(e) ? t && e[t] : e, Hte = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, wHe = (e) => e, R6 = (e, t = wHe) => {
|
|
let r = $He;
|
|
e.default && e.default !== !0 && (e = e.default, r = Object.keys(e));
|
|
const n = {};
|
|
for (const o of r) {
|
|
const a = t(e[o], o);
|
|
Pe.und(a) || (n[o] = a);
|
|
}
|
|
return n;
|
|
}, $He = [
|
|
"config",
|
|
"onProps",
|
|
"onStart",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume",
|
|
"onRest"
|
|
], kHe = {
|
|
config: 1,
|
|
from: 1,
|
|
to: 1,
|
|
ref: 1,
|
|
loop: 1,
|
|
reset: 1,
|
|
pause: 1,
|
|
cancel: 1,
|
|
reverse: 1,
|
|
immediate: 1,
|
|
default: 1,
|
|
delay: 1,
|
|
onProps: 1,
|
|
onStart: 1,
|
|
onChange: 1,
|
|
onPause: 1,
|
|
onResume: 1,
|
|
onRest: 1,
|
|
onResolve: 1,
|
|
// Transition props
|
|
items: 1,
|
|
trail: 1,
|
|
sort: 1,
|
|
expires: 1,
|
|
initial: 1,
|
|
enter: 1,
|
|
update: 1,
|
|
leave: 1,
|
|
children: 1,
|
|
onDestroyed: 1,
|
|
// Internal props
|
|
keys: 1,
|
|
callId: 1,
|
|
parentId: 1
|
|
};
|
|
function _He(e) {
|
|
const t = {};
|
|
let r = 0;
|
|
if (di(e, (n, o) => {
|
|
kHe[o] || (t[o] = n, r++);
|
|
}), r)
|
|
return t;
|
|
}
|
|
function M6(e) {
|
|
const t = _He(e);
|
|
if (t) {
|
|
const r = { to: t };
|
|
return di(e, (n, o) => o in t || (r[o] = n)), r;
|
|
}
|
|
return { ...e };
|
|
}
|
|
function db(e) {
|
|
return e = Qn(e), Pe.arr(e) ? e.map(db) : vw(e) ? ca.createStringInterpolator({
|
|
range: [0, 1],
|
|
output: [e, e]
|
|
})(1) : e;
|
|
}
|
|
function OHe(e) {
|
|
for (const t in e) return !0;
|
|
return !1;
|
|
}
|
|
function W5(e) {
|
|
return Pe.fun(e) || Pe.arr(e) && Pe.obj(e[0]);
|
|
}
|
|
function D8(e, t) {
|
|
var r;
|
|
(r = e.ref) == null || r.delete(e), t == null || t.delete(e);
|
|
}
|
|
function SHe(e, t) {
|
|
var r;
|
|
t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t);
|
|
}
|
|
var EHe = {
|
|
default: { tension: 170, friction: 26 }
|
|
}, V5 = {
|
|
...EHe.default,
|
|
mass: 1,
|
|
damping: 1,
|
|
easing: eHe.linear,
|
|
clamp: !1
|
|
}, AHe = class {
|
|
constructor() {
|
|
this.velocity = 0, Object.assign(this, V5);
|
|
}
|
|
};
|
|
function PHe(e, t, r) {
|
|
r && (r = { ...r }, F8(r, t), t = { ...r, ...t }), F8(e, t), Object.assign(e, t);
|
|
for (const i in V5)
|
|
e[i] == null && (e[i] = V5[i]);
|
|
let { frequency: n, damping: o } = e;
|
|
const { mass: a } = e;
|
|
return Pe.und(n) || (n < 0.01 && (n = 0.01), o < 0 && (o = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * a, e.friction = 4 * Math.PI * o * a / n), e;
|
|
}
|
|
function F8(e, t) {
|
|
if (!Pe.und(t.decay))
|
|
e.duration = void 0;
|
|
else {
|
|
const r = !Pe.und(t.tension) || !Pe.und(t.friction);
|
|
(r || !Pe.und(t.frequency) || !Pe.und(t.damping) || !Pe.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0);
|
|
}
|
|
}
|
|
var L8 = [], CHe = class {
|
|
constructor() {
|
|
this.changed = !1, this.values = L8, this.toValues = null, this.fromValues = L8, this.config = new AHe(), this.immediate = !1;
|
|
}
|
|
};
|
|
function Gte(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) {
|
|
return new Promise((i, s) => {
|
|
let u, c, d = ug(r.cancel ?? (n == null ? void 0 : n.cancel), t);
|
|
if (d)
|
|
p();
|
|
else {
|
|
Pe.und(r.pause) || (o.paused = ug(r.pause, t));
|
|
let y = n == null ? void 0 : n.pause;
|
|
y !== !0 && (y = o.paused || ug(y, t)), u = Zn(r.delay || 0, t), y ? (o.resumeQueue.add(f), a.pause()) : (a.resume(), f());
|
|
}
|
|
function l() {
|
|
o.resumeQueue.add(f), o.timeouts.delete(c), c.cancel(), u = c.time - st.now();
|
|
}
|
|
function f() {
|
|
u > 0 && !ca.skipAnimation ? (o.delayed = !0, c = st.setTimeout(p, u), o.pauseQueue.add(l), o.timeouts.add(c)) : p();
|
|
}
|
|
function p() {
|
|
o.delayed && (o.delayed = !1), o.pauseQueue.delete(l), o.timeouts.delete(c), e <= (o.cancelId || 0) && (d = !0);
|
|
try {
|
|
a.start({ ...r, callId: e, cancel: d }, i);
|
|
} catch (y) {
|
|
s(y);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var D6 = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? Nd(e.get()) : t.every((r) => r.noop) ? Ute(e.get()) : Zo(
|
|
e.get(),
|
|
t.every((r) => r.finished)
|
|
), Ute = (e) => ({
|
|
value: e,
|
|
noop: !0,
|
|
finished: !0,
|
|
cancelled: !1
|
|
}), Zo = (e, t, r = !1) => ({
|
|
value: e,
|
|
finished: t,
|
|
cancelled: r
|
|
}), Nd = (e) => ({
|
|
value: e,
|
|
cancelled: !0,
|
|
finished: !1
|
|
});
|
|
function Bte(e, t, r, n) {
|
|
const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: u } = r;
|
|
return !a && e === s && !t.reset ? u : r.promise = (async () => {
|
|
r.asyncId = o, r.asyncTo = e;
|
|
const c = R6(
|
|
t,
|
|
(h, w) => (
|
|
// The `onRest` prop is only called when the `runAsync` promise is resolved.
|
|
w === "onRest" ? void 0 : h
|
|
)
|
|
);
|
|
let d, l;
|
|
const f = new Promise(
|
|
(h, w) => (d = h, l = w)
|
|
), p = (h) => {
|
|
const w = (
|
|
// The `cancel` prop or `stop` method was used.
|
|
o <= (r.cancelId || 0) && Nd(n) || // The async `to` prop was replaced.
|
|
o !== r.asyncId && Zo(n, !1)
|
|
);
|
|
if (w)
|
|
throw h.result = w, l(h), h;
|
|
}, y = (h, w) => {
|
|
const $ = new z8(), _ = new W8();
|
|
return (async () => {
|
|
if (ca.skipAnimation)
|
|
throw pb(r), _.result = Zo(n, !1), l(_), _;
|
|
p($);
|
|
const S = Pe.obj(h) ? { ...h } : { ...w, to: h };
|
|
S.parentId = o, di(c, (F, z) => {
|
|
Pe.und(S[z]) && (S[z] = F);
|
|
});
|
|
const b = await n.start(S);
|
|
return p($), r.paused && await new Promise((F) => {
|
|
r.resumeQueue.add(F);
|
|
}), b;
|
|
})();
|
|
};
|
|
let m;
|
|
if (ca.skipAnimation)
|
|
return pb(r), Zo(n, !1);
|
|
try {
|
|
let h;
|
|
Pe.arr(e) ? h = (async (w) => {
|
|
for (const $ of w)
|
|
await y($);
|
|
})(e) : h = Promise.resolve(e(y, n.stop.bind(n))), await Promise.all([h.then(d), f]), m = Zo(n.get(), !0, !1);
|
|
} catch (h) {
|
|
if (h instanceof z8)
|
|
m = h.result;
|
|
else if (h instanceof W8)
|
|
m = h.result;
|
|
else
|
|
throw h;
|
|
} finally {
|
|
o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? u : void 0);
|
|
}
|
|
return Pe.fun(i) && st.batchedUpdates(() => {
|
|
i(m, n, n.item);
|
|
}), m;
|
|
})();
|
|
}
|
|
function pb(e, t) {
|
|
lg(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t);
|
|
}
|
|
var z8 = class extends Error {
|
|
constructor() {
|
|
super(
|
|
"An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise."
|
|
);
|
|
}
|
|
}, W8 = class extends Error {
|
|
constructor() {
|
|
super("SkipAnimationSignal");
|
|
}
|
|
}, H5 = (e) => e instanceof F6, NHe = 1, F6 = class extends Nte {
|
|
constructor() {
|
|
super(...arguments), this.id = NHe++, this._priority = 0;
|
|
}
|
|
get priority() {
|
|
return this._priority;
|
|
}
|
|
set priority(e) {
|
|
this._priority != e && (this._priority = e, this._onPriorityChange(e));
|
|
}
|
|
/** Get the current value */
|
|
get() {
|
|
const e = ba(this);
|
|
return e && e.getValue();
|
|
}
|
|
/** Create a spring that maps our value to another value */
|
|
to(...e) {
|
|
return ca.to(this, e);
|
|
}
|
|
/** @deprecated Use the `to` method instead. */
|
|
interpolate(...e) {
|
|
return lHe(), ca.to(this, e);
|
|
}
|
|
toJSON() {
|
|
return this.get();
|
|
}
|
|
observerAdded(e) {
|
|
e == 1 && this._attach();
|
|
}
|
|
observerRemoved(e) {
|
|
e == 0 && this._detach();
|
|
}
|
|
/** Called when the first child is added. */
|
|
_attach() {
|
|
}
|
|
/** Called when the last child is removed. */
|
|
_detach() {
|
|
}
|
|
/** Tell our children about our new value */
|
|
_onChange(e, t = !1) {
|
|
cb(this, {
|
|
type: "change",
|
|
parent: this,
|
|
value: e,
|
|
idle: t
|
|
});
|
|
}
|
|
/** Tell our children about our new priority */
|
|
_onPriorityChange(e) {
|
|
this.idle || gw.sort(this), cb(this, {
|
|
type: "priority",
|
|
parent: this,
|
|
priority: e
|
|
});
|
|
}
|
|
}, ef = Symbol.for("SpringPhase"), Yte = 1, qte = 2, Kte = 4, w_ = (e) => (e[ef] & Yte) > 0, Rl = (e) => (e[ef] & qte) > 0, Zm = (e) => (e[ef] & Kte) > 0, V8 = (e, t) => t ? e[ef] |= qte | Yte : e[ef] &= -3, H8 = (e, t) => t ? e[ef] |= Kte : e[ef] &= -5, THe = class extends F6 {
|
|
constructor(e, t) {
|
|
if (super(), this.animation = new CHe(), this.defaultProps = {}, this._state = {
|
|
paused: !1,
|
|
delayed: !1,
|
|
pauseQueue: /* @__PURE__ */ new Set(),
|
|
resumeQueue: /* @__PURE__ */ new Set(),
|
|
timeouts: /* @__PURE__ */ new Set()
|
|
}, this._pendingCalls = /* @__PURE__ */ new Set(), this._lastCallId = 0, this._lastToId = 0, this._memoizedDuration = 0, !Pe.und(e) || !Pe.und(t)) {
|
|
const r = Pe.obj(e) ? { ...e } : { ...t, from: e };
|
|
Pe.und(r.default) && (r.default = !0), this.start(r);
|
|
}
|
|
}
|
|
/** Equals true when not advancing on each frame. */
|
|
get idle() {
|
|
return !(Rl(this) || this._state.asyncTo) || Zm(this);
|
|
}
|
|
get goal() {
|
|
return Qn(this.animation.to);
|
|
}
|
|
get velocity() {
|
|
const e = ba(this);
|
|
return e instanceof ww ? e.lastVelocity || 0 : e.getPayload().map((t) => t.lastVelocity || 0);
|
|
}
|
|
/**
|
|
* When true, this value has been animated at least once.
|
|
*/
|
|
get hasAnimated() {
|
|
return w_(this);
|
|
}
|
|
/**
|
|
* When true, this value has an unfinished animation,
|
|
* which is either active or paused.
|
|
*/
|
|
get isAnimating() {
|
|
return Rl(this);
|
|
}
|
|
/**
|
|
* When true, all current and future animations are paused.
|
|
*/
|
|
get isPaused() {
|
|
return Zm(this);
|
|
}
|
|
/**
|
|
*
|
|
*
|
|
*/
|
|
get isDelayed() {
|
|
return this._state.delayed;
|
|
}
|
|
/** Advance the current animation by a number of milliseconds */
|
|
advance(e) {
|
|
let t = !0, r = !1;
|
|
const n = this.animation;
|
|
let { toValues: o } = n;
|
|
const { config: a } = n, i = xw(n.to);
|
|
!i && Ao(n.to) && (o = Mn(Qn(n.to))), n.values.forEach((c, d) => {
|
|
if (c.done) return;
|
|
const l = (
|
|
// Animated strings always go from 0 to 1.
|
|
c.constructor == v0 ? 1 : i ? i[d].lastPosition : o[d]
|
|
);
|
|
let f = n.immediate, p = l;
|
|
if (!f) {
|
|
if (p = c.lastPosition, a.tension <= 0) {
|
|
c.done = !0;
|
|
return;
|
|
}
|
|
let y = c.elapsedTime += e;
|
|
const m = n.fromValues[d], h = c.v0 != null ? c.v0 : c.v0 = Pe.arr(a.velocity) ? a.velocity[d] : a.velocity;
|
|
let w;
|
|
const $ = a.precision || (m == l ? 5e-3 : Math.min(1, Math.abs(l - m) * 1e-3));
|
|
if (Pe.und(a.duration))
|
|
if (a.decay) {
|
|
const _ = a.decay === !0 ? 0.998 : a.decay, S = Math.exp(-(1 - _) * y);
|
|
p = m + h / (1 - _) * (1 - S), f = Math.abs(c.lastPosition - p) <= $, w = h * S;
|
|
} else {
|
|
w = c.lastVelocity == null ? h : c.lastVelocity;
|
|
const _ = a.restVelocity || $ / 10, S = a.clamp ? 0 : a.bounce, b = !Pe.und(S), F = m == l ? c.v0 > 0 : m < l;
|
|
let z, q = !1;
|
|
const Y = 1, B = Math.ceil(e / Y);
|
|
for (let Z = 0; Z < B && (z = Math.abs(w) > _, !(!z && (f = Math.abs(l - p) <= $, f))); ++Z) {
|
|
b && (q = p == l || p > l == F, q && (w = -w * S, p = l));
|
|
const M = -a.tension * 1e-6 * (p - l), te = -a.friction * 1e-3 * w, G = (M + te) / a.mass;
|
|
w = w + G * Y, p = p + w * Y;
|
|
}
|
|
}
|
|
else {
|
|
let _ = 1;
|
|
a.duration > 0 && (this._memoizedDuration !== a.duration && (this._memoizedDuration = a.duration, c.durationProgress > 0 && (c.elapsedTime = a.duration * c.durationProgress, y = c.elapsedTime += e)), _ = (a.progress || 0) + y / this._memoizedDuration, _ = _ > 1 ? 1 : _ < 0 ? 0 : _, c.durationProgress = _), p = m + a.easing(_) * (l - m), w = (p - c.lastPosition) / e, f = _ == 1;
|
|
}
|
|
c.lastVelocity = w, Number.isNaN(p) && (console.warn("Got NaN while animating:", this), f = !0);
|
|
}
|
|
i && !i[d].done && (f = !1), f ? c.done = !0 : t = !1, c.setValue(p, a.round) && (r = !0);
|
|
});
|
|
const s = ba(this), u = s.getValue();
|
|
if (t) {
|
|
const c = Qn(n.to);
|
|
(u !== c || r) && !a.decay ? (s.setValue(c), this._onChange(c)) : r && a.decay && this._onChange(u), this._stop();
|
|
} else r && this._onChange(u);
|
|
}
|
|
/** Set the current value, while stopping the current animation */
|
|
set(e) {
|
|
return st.batchedUpdates(() => {
|
|
this._stop(), this._focus(e), this._set(e);
|
|
}), this;
|
|
}
|
|
/**
|
|
* Freeze the active animation in time, as well as any updates merged
|
|
* before `resume` is called.
|
|
*/
|
|
pause() {
|
|
this._update({ pause: !0 });
|
|
}
|
|
/** Resume the animation if paused. */
|
|
resume() {
|
|
this._update({ pause: !1 });
|
|
}
|
|
/** Skip to the end of the current animation. */
|
|
finish() {
|
|
if (Rl(this)) {
|
|
const { to: e, config: t } = this.animation;
|
|
st.batchedUpdates(() => {
|
|
this._onStart(), t.decay || this._set(e, !1), this._stop();
|
|
});
|
|
}
|
|
return this;
|
|
}
|
|
/** Push props into the pending queue. */
|
|
update(e) {
|
|
return (this.queue || (this.queue = [])).push(e), this;
|
|
}
|
|
start(e, t) {
|
|
let r;
|
|
return Pe.und(e) ? (r = this.queue || [], this.queue = []) : r = [Pe.obj(e) ? e : { ...t, to: e }], Promise.all(
|
|
r.map((n) => this._update(n))
|
|
).then((n) => D6(this, n));
|
|
}
|
|
/**
|
|
* Stop the current animation, and cancel any delayed updates.
|
|
*
|
|
* Pass `true` to call `onRest` with `cancelled: true`.
|
|
*/
|
|
stop(e) {
|
|
const { to: t } = this.animation;
|
|
return this._focus(this.get()), pb(this._state, e && this._lastCallId), st.batchedUpdates(() => this._stop(t, e)), this;
|
|
}
|
|
/** Restart the animation. */
|
|
reset() {
|
|
this._update({ reset: !0 });
|
|
}
|
|
/** @internal */
|
|
eventObserved(e) {
|
|
e.type == "change" ? this._start() : e.type == "priority" && (this.priority = e.priority + 1);
|
|
}
|
|
/**
|
|
* Parse the `to` and `from` range from the given `props` object.
|
|
*
|
|
* This also ensures the initial value is available to animated components
|
|
* during the render phase.
|
|
*/
|
|
_prepareNode(e) {
|
|
const t = this.key || "";
|
|
let { to: r, from: n } = e;
|
|
r = Pe.obj(r) ? r[t] : r, (r == null || W5(r)) && (r = void 0), n = Pe.obj(n) ? n[t] : n, n == null && (n = void 0);
|
|
const o = { to: r, from: n };
|
|
return w_(this) || (e.reverse && ([r, n] = [n, r]), n = Qn(n), Pe.und(n) ? ba(this) || this._set(r) : this._set(n)), o;
|
|
}
|
|
/** Every update is processed by this method before merging. */
|
|
_update({ ...e }, t) {
|
|
const { key: r, defaultProps: n } = this;
|
|
e.default && Object.assign(
|
|
n,
|
|
R6(
|
|
e,
|
|
(i, s) => /^on/.test(s) ? Vte(i, r) : i
|
|
)
|
|
), U8(this, e, "onProps"), th(this, "onProps", e, this);
|
|
const o = this._prepareNode(e);
|
|
if (Object.isFrozen(this))
|
|
throw Error(
|
|
"Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?"
|
|
);
|
|
const a = this._state;
|
|
return Gte(++this._lastCallId, {
|
|
key: r,
|
|
props: e,
|
|
defaultProps: n,
|
|
state: a,
|
|
actions: {
|
|
pause: () => {
|
|
Zm(this) || (H8(this, !0), wh(a.pauseQueue), th(
|
|
this,
|
|
"onPause",
|
|
Zo(this, eh(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
resume: () => {
|
|
Zm(this) && (H8(this, !1), Rl(this) && this._resume(), wh(a.resumeQueue), th(
|
|
this,
|
|
"onResume",
|
|
Zo(this, eh(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
start: this._merge.bind(this, o)
|
|
}
|
|
}).then((i) => {
|
|
if (e.loop && i.finished && !(t && i.noop)) {
|
|
const s = Xte(e);
|
|
if (s)
|
|
return this._update(s, !0);
|
|
}
|
|
return i;
|
|
});
|
|
}
|
|
/** Merge props into the current animation */
|
|
_merge(e, t, r) {
|
|
if (t.cancel)
|
|
return this.stop(!0), r(Nd(this));
|
|
const n = !Pe.und(e.to), o = !Pe.und(e.from);
|
|
if (n || o)
|
|
if (t.callId > this._lastToId)
|
|
this._lastToId = t.callId;
|
|
else
|
|
return r(Nd(this));
|
|
const { key: a, defaultProps: i, animation: s } = this, { to: u, from: c } = s;
|
|
let { to: d = u, from: l = c } = e;
|
|
o && !n && (!t.default || Pe.und(d)) && (d = l), t.reverse && ([d, l] = [l, d]);
|
|
const f = !Ri(l, c);
|
|
f && (s.from = l), l = Qn(l);
|
|
const p = !Ri(d, u);
|
|
p && this._focus(d);
|
|
const y = W5(t.to), { config: m } = s, { decay: h, velocity: w } = m;
|
|
(n || o) && (m.velocity = 0), t.config && !y && PHe(
|
|
m,
|
|
Zn(t.config, a),
|
|
// Avoid calling the same "config" prop twice.
|
|
t.config !== i.config ? Zn(i.config, a) : void 0
|
|
);
|
|
let $ = ba(this);
|
|
if (!$ || Pe.und(d))
|
|
return r(Zo(this, !0));
|
|
const _ = (
|
|
// When `reset` is undefined, the `from` prop implies `reset: true`,
|
|
// except for declarative updates. When `reset` is defined, there
|
|
// must exist a value to animate from.
|
|
Pe.und(t.reset) ? o && !t.default : !Pe.und(l) && ug(t.reset, a)
|
|
), S = _ ? l : this.get(), b = db(d), F = Pe.num(b) || Pe.arr(b) || vw(b), z = !y && (!F || ug(i.immediate || t.immediate, a));
|
|
if (p) {
|
|
const Z = z5(d);
|
|
if (Z !== $.constructor)
|
|
if (z)
|
|
$ = this._set(b);
|
|
else
|
|
throw Error(
|
|
`Cannot animate between ${$.constructor.name} and ${Z.name}, as the "to" prop suggests`
|
|
);
|
|
}
|
|
const q = $.constructor;
|
|
let Y = Ao(d), B = !1;
|
|
if (!Y) {
|
|
const Z = _ || !w_(this) && f;
|
|
(p || Z) && (B = Ri(db(S), b), Y = !B), (!Ri(s.immediate, z) && !z || !Ri(m.decay, h) || !Ri(m.velocity, w)) && (Y = !0);
|
|
}
|
|
if (B && Rl(this) && (s.changed && !_ ? Y = !0 : Y || this._stop(u)), !y && ((Y || Ao(u)) && (s.values = $.getPayload(), s.toValues = Ao(d) ? null : q == v0 ? [1] : Mn(b)), s.immediate != z && (s.immediate = z, !z && !_ && this._set(u)), Y)) {
|
|
const { onRest: Z } = s;
|
|
$t(IHe, (te) => U8(this, t, te));
|
|
const M = Zo(this, eh(this, u));
|
|
wh(this._pendingCalls, M), this._pendingCalls.add(r), s.changed && st.batchedUpdates(() => {
|
|
var te;
|
|
s.changed = !_, Z == null || Z(M, this), _ ? Zn(i.onRest, M) : (te = s.onStart) == null || te.call(s, M, this);
|
|
});
|
|
}
|
|
_ && this._set(S), y ? r(Bte(t.to, t, this._state, this)) : Y ? this._start() : Rl(this) && !p ? this._pendingCalls.add(r) : r(Ute(S));
|
|
}
|
|
/** Update the `animation.to` value, which might be a `FluidValue` */
|
|
_focus(e) {
|
|
const t = this.animation;
|
|
e !== t.to && (T8(this) && this._detach(), t.to = e, T8(this) && this._attach());
|
|
}
|
|
_attach() {
|
|
let e = 0;
|
|
const { to: t } = this.animation;
|
|
Ao(t) && (Cp(t, this), H5(t) && (e = t.priority + 1)), this.priority = e;
|
|
}
|
|
_detach() {
|
|
const { to: e } = this.animation;
|
|
Ao(e) && ub(e, this);
|
|
}
|
|
/**
|
|
* Update the current value from outside the frameloop,
|
|
* and return the `Animated` node.
|
|
*/
|
|
_set(e, t = !0) {
|
|
const r = Qn(e);
|
|
if (!Pe.und(r)) {
|
|
const n = ba(this);
|
|
if (!n || !Ri(r, n.getValue())) {
|
|
const o = z5(r);
|
|
!n || n.constructor != o ? j6(this, o.create(r)) : n.setValue(r), n && st.batchedUpdates(() => {
|
|
this._onChange(r, t);
|
|
});
|
|
}
|
|
}
|
|
return ba(this);
|
|
}
|
|
_onStart() {
|
|
const e = this.animation;
|
|
e.changed || (e.changed = !0, th(
|
|
this,
|
|
"onStart",
|
|
Zo(this, eh(this, e.to)),
|
|
this
|
|
));
|
|
}
|
|
_onChange(e, t) {
|
|
t || (this._onStart(), Zn(this.animation.onChange, e, this)), Zn(this.defaultProps.onChange, e, this), super._onChange(e, t);
|
|
}
|
|
// This method resets the animation state (even if already animating) to
|
|
// ensure the latest from/to range is used, and it also ensures this spring
|
|
// is added to the frameloop.
|
|
_start() {
|
|
const e = this.animation;
|
|
ba(this).reset(Qn(e.to)), e.immediate || (e.fromValues = e.values.map((t) => t.lastPosition)), Rl(this) || (V8(this, !0), Zm(this) || this._resume());
|
|
}
|
|
_resume() {
|
|
ca.skipAnimation ? this.finish() : gw.start(this);
|
|
}
|
|
/**
|
|
* Exit the frameloop and notify `onRest` listeners.
|
|
*
|
|
* Always wrap `_stop` calls with `batchedUpdates`.
|
|
*/
|
|
_stop(e, t) {
|
|
if (Rl(this)) {
|
|
V8(this, !1);
|
|
const r = this.animation;
|
|
$t(r.values, (o) => {
|
|
o.done = !0;
|
|
}), r.toValues && (r.onChange = r.onPause = r.onResume = void 0), cb(this, {
|
|
type: "idle",
|
|
parent: this
|
|
});
|
|
const n = t ? Nd(this.get()) : Zo(this.get(), eh(this, e ?? r.to));
|
|
wh(this._pendingCalls, n), r.changed && (r.changed = !1, th(this, "onRest", n, this));
|
|
}
|
|
}
|
|
};
|
|
function eh(e, t) {
|
|
const r = db(t), n = db(e.get());
|
|
return Ri(n, r);
|
|
}
|
|
function Xte(e, t = e.loop, r = e.to) {
|
|
const n = Zn(t);
|
|
if (n) {
|
|
const o = n !== !0 && M6(n), a = (o || e).reverse, i = !o || o.reset;
|
|
return w0({
|
|
...e,
|
|
loop: t,
|
|
// Avoid updating default props when looping.
|
|
default: !1,
|
|
// Never loop the `pause` prop.
|
|
pause: void 0,
|
|
// For the "reverse" prop to loop as expected, the "to" prop
|
|
// must be undefined. The "reverse" prop is ignored when the
|
|
// "to" prop is an array or function.
|
|
to: !a || W5(r) ? r : void 0,
|
|
// Ignore the "from" prop except on reset.
|
|
from: i ? e.from : void 0,
|
|
reset: i,
|
|
// The "loop" prop can return a "useSpring" props object to
|
|
// override any of the original props.
|
|
...o
|
|
});
|
|
}
|
|
}
|
|
function w0(e) {
|
|
const { to: t, from: r } = e = M6(e), n = /* @__PURE__ */ new Set();
|
|
return Pe.obj(t) && G8(t, n), Pe.obj(r) && G8(r, n), e.keys = n.size ? Array.from(n) : null, e;
|
|
}
|
|
function G8(e, t) {
|
|
di(e, (r, n) => r != null && t.add(n));
|
|
}
|
|
var IHe = [
|
|
"onStart",
|
|
"onRest",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume"
|
|
];
|
|
function U8(e, t, r) {
|
|
e.animation[r] = t[r] !== Hte(t, r) ? Vte(t[r], e.key) : void 0;
|
|
}
|
|
function th(e, t, ...r) {
|
|
var n, o, a, i;
|
|
(o = (n = e.animation)[t]) == null || o.call(n, ...r), (i = (a = e.defaultProps)[t]) == null || i.call(a, ...r);
|
|
}
|
|
var jHe = ["onStart", "onChange", "onRest"], RHe = 1, MHe = class {
|
|
constructor(e, t) {
|
|
this.id = RHe++, this.springs = {}, this.queue = [], this._lastAsyncId = 0, this._active = /* @__PURE__ */ new Set(), this._changed = /* @__PURE__ */ new Set(), this._started = !1, this._state = {
|
|
paused: !1,
|
|
pauseQueue: /* @__PURE__ */ new Set(),
|
|
resumeQueue: /* @__PURE__ */ new Set(),
|
|
timeouts: /* @__PURE__ */ new Set()
|
|
}, this._events = {
|
|
onStart: /* @__PURE__ */ new Map(),
|
|
onChange: /* @__PURE__ */ new Map(),
|
|
onRest: /* @__PURE__ */ new Map()
|
|
}, this._onFrame = this._onFrame.bind(this), t && (this._flush = t), e && this.start({ default: !0, ...e });
|
|
}
|
|
/**
|
|
* Equals `true` when no spring values are in the frameloop, and
|
|
* no async animation is currently active.
|
|
*/
|
|
get idle() {
|
|
return !this._state.asyncTo && Object.values(this.springs).every((e) => e.idle && !e.isDelayed && !e.isPaused);
|
|
}
|
|
get item() {
|
|
return this._item;
|
|
}
|
|
set item(e) {
|
|
this._item = e;
|
|
}
|
|
/** Get the current values of our springs */
|
|
get() {
|
|
const e = {};
|
|
return this.each((t, r) => e[r] = t.get()), e;
|
|
}
|
|
/** Set the current values without animating. */
|
|
set(e) {
|
|
for (const t in e) {
|
|
const r = e[t];
|
|
Pe.und(r) || this.springs[t].set(r);
|
|
}
|
|
}
|
|
/** Push an update onto the queue of each value. */
|
|
update(e) {
|
|
return e && this.queue.push(w0(e)), this;
|
|
}
|
|
/**
|
|
* Start the queued animations for every spring, and resolve the returned
|
|
* promise once all queued animations have finished or been cancelled.
|
|
*
|
|
* When you pass a queue (instead of nothing), that queue is used instead of
|
|
* the queued animations added with the `update` method, which are left alone.
|
|
*/
|
|
start(e) {
|
|
let { queue: t } = this;
|
|
return e ? t = Mn(e).map(w0) : this.queue = [], this._flush ? this._flush(this, t) : (ere(this, t), DHe(this, t));
|
|
}
|
|
/** @internal */
|
|
stop(e, t) {
|
|
if (e !== !!e && (t = e), t) {
|
|
const r = this.springs;
|
|
$t(Mn(t), (n) => r[n].stop(!!e));
|
|
} else
|
|
pb(this._state, this._lastAsyncId), this.each((r) => r.stop(!!e));
|
|
return this;
|
|
}
|
|
/** Freeze the active animation in time */
|
|
pause(e) {
|
|
if (Pe.und(e))
|
|
this.start({ pause: !0 });
|
|
else {
|
|
const t = this.springs;
|
|
$t(Mn(e), (r) => t[r].pause());
|
|
}
|
|
return this;
|
|
}
|
|
/** Resume the animation if paused. */
|
|
resume(e) {
|
|
if (Pe.und(e))
|
|
this.start({ pause: !1 });
|
|
else {
|
|
const t = this.springs;
|
|
$t(Mn(e), (r) => t[r].resume());
|
|
}
|
|
return this;
|
|
}
|
|
/** Call a function once per spring value */
|
|
each(e) {
|
|
di(this.springs, e);
|
|
}
|
|
/** @internal Called at the end of every animation frame */
|
|
_onFrame() {
|
|
const { onStart: e, onChange: t, onRest: r } = this._events, n = this._active.size > 0, o = this._changed.size > 0;
|
|
(n && !this._started || o && !this._started) && (this._started = !0, lg(e, ([s, u]) => {
|
|
u.value = this.get(), s(u, this, this._item);
|
|
}));
|
|
const a = !n && this._started, i = o || a && r.size ? this.get() : null;
|
|
o && t.size && lg(t, ([s, u]) => {
|
|
u.value = i, s(u, this, this._item);
|
|
}), a && (this._started = !1, lg(r, ([s, u]) => {
|
|
u.value = i, s(u, this, this._item);
|
|
}));
|
|
}
|
|
/** @internal */
|
|
eventObserved(e) {
|
|
if (e.type == "change")
|
|
this._changed.add(e.parent), e.idle || this._active.add(e.parent);
|
|
else if (e.type == "idle")
|
|
this._active.delete(e.parent);
|
|
else return;
|
|
st.onFrame(this._onFrame);
|
|
}
|
|
};
|
|
function DHe(e, t) {
|
|
return Promise.all(t.map((r) => Jte(e, r))).then(
|
|
(r) => D6(e, r)
|
|
);
|
|
}
|
|
async function Jte(e, t, r) {
|
|
const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: u } = t, c = Pe.obj(t.default) && t.default;
|
|
i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null);
|
|
const d = Pe.arr(o) || Pe.fun(o) ? o : void 0;
|
|
d ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : $t(jHe, (m) => {
|
|
const h = t[m];
|
|
if (Pe.fun(h)) {
|
|
const w = e._events[m];
|
|
t[m] = ({ finished: $, cancelled: _ }) => {
|
|
const S = w.get(h);
|
|
S ? ($ || (S.finished = !1), _ && (S.cancelled = !0)) : w.set(h, {
|
|
value: null,
|
|
finished: $ || !1,
|
|
cancelled: _ || !1
|
|
});
|
|
}, c && (c[m] = t[m]);
|
|
}
|
|
});
|
|
const l = e._state;
|
|
t.pause === !l.paused ? (l.paused = t.pause, wh(t.pause ? l.pauseQueue : l.resumeQueue)) : l.paused && (t.pause = !0);
|
|
const f = (n || Object.keys(e.springs)).map(
|
|
(m) => e.springs[m].start(t)
|
|
), p = t.cancel === !0 || Hte(t, "cancel") === !0;
|
|
(d || p && l.asyncId) && f.push(
|
|
Gte(++e._lastAsyncId, {
|
|
props: t,
|
|
state: l,
|
|
actions: {
|
|
pause: F5,
|
|
resume: F5,
|
|
start(m, h) {
|
|
p ? (pb(l, e._lastAsyncId), h(Nd(e))) : (m.onRest = s, h(
|
|
Bte(
|
|
d,
|
|
m,
|
|
l,
|
|
e
|
|
)
|
|
));
|
|
}
|
|
}
|
|
})
|
|
), l.paused && await new Promise((m) => {
|
|
l.resumeQueue.add(m);
|
|
});
|
|
const y = D6(e, await Promise.all(f));
|
|
if (i && y.finished && !(r && y.noop)) {
|
|
const m = Xte(t, i, o);
|
|
if (m)
|
|
return ere(e, [m]), Jte(e, m, !0);
|
|
}
|
|
return u && st.batchedUpdates(() => u(y, e, e.item)), y;
|
|
}
|
|
function FHe(e, t) {
|
|
const r = { ...e.springs };
|
|
return t && $t(Mn(t), (n) => {
|
|
Pe.und(n.keys) && (n = w0(n)), Pe.obj(n.to) || (n = { ...n, to: void 0 }), Zte(r, n, (o) => Qte(o));
|
|
}), LHe(e, r), r;
|
|
}
|
|
function LHe(e, t) {
|
|
di(t, (r, n) => {
|
|
e.springs[n] || (e.springs[n] = r, Cp(r, e));
|
|
});
|
|
}
|
|
function Qte(e, t) {
|
|
const r = new THe();
|
|
return r.key = e, t && Cp(r, t), r;
|
|
}
|
|
function Zte(e, t, r) {
|
|
t.keys && $t(t.keys, (n) => {
|
|
(e[n] || (e[n] = r(n)))._prepareNode(t);
|
|
});
|
|
}
|
|
function ere(e, t) {
|
|
$t(t, (r) => {
|
|
Zte(e.springs, r, (n) => Qte(n, e));
|
|
});
|
|
}
|
|
var zHe = V.createContext({
|
|
pause: !1,
|
|
immediate: !1
|
|
}), WHe = () => {
|
|
const e = [], t = function(n) {
|
|
uHe();
|
|
const o = [];
|
|
return $t(e, (a, i) => {
|
|
if (Pe.und(n))
|
|
o.push(a.start());
|
|
else {
|
|
const s = r(n, a, i);
|
|
s && o.push(a.start(s));
|
|
}
|
|
}), o;
|
|
};
|
|
t.current = e, t.add = function(n) {
|
|
e.includes(n) || e.push(n);
|
|
}, t.delete = function(n) {
|
|
const o = e.indexOf(n);
|
|
~o && e.splice(o, 1);
|
|
}, t.pause = function() {
|
|
return $t(e, (n) => n.pause(...arguments)), this;
|
|
}, t.resume = function() {
|
|
return $t(e, (n) => n.resume(...arguments)), this;
|
|
}, t.set = function(n) {
|
|
$t(e, (o, a) => {
|
|
const i = Pe.fun(n) ? n(a, o) : n;
|
|
i && o.set(i);
|
|
});
|
|
}, t.start = function(n) {
|
|
const o = [];
|
|
return $t(e, (a, i) => {
|
|
if (Pe.und(n))
|
|
o.push(a.start());
|
|
else {
|
|
const s = this._getProps(n, a, i);
|
|
s && o.push(a.start(s));
|
|
}
|
|
}), o;
|
|
}, t.stop = function() {
|
|
return $t(e, (n) => n.stop(...arguments)), this;
|
|
}, t.update = function(n) {
|
|
return $t(e, (o, a) => o.update(this._getProps(n, o, a))), this;
|
|
};
|
|
const r = function(n, o, a) {
|
|
return Pe.fun(n) ? n(a, o) : n;
|
|
};
|
|
return t._getProps = r, t;
|
|
};
|
|
function B8(e, t, r) {
|
|
const n = Pe.fun(t) && t, {
|
|
reset: o,
|
|
sort: a,
|
|
trail: i = 0,
|
|
expires: s = !0,
|
|
exitBeforeEnter: u = !1,
|
|
onDestroyed: c,
|
|
ref: d,
|
|
config: l
|
|
} = n ? n() : t, f = Ie(
|
|
() => n || arguments.length == 3 ? WHe() : void 0,
|
|
[]
|
|
), p = Mn(e), y = [], m = ne(null), h = o ? null : m.current;
|
|
Kf(() => {
|
|
m.current = y;
|
|
}), Dte(() => ($t(y, (G) => {
|
|
f == null || f.add(G.ctrl), G.ctrl.ref = f;
|
|
}), () => {
|
|
$t(m.current, (G) => {
|
|
G.expired && clearTimeout(G.expirationId), D8(G.ctrl, f), G.ctrl.stop(!0);
|
|
});
|
|
}));
|
|
const w = HHe(p, n ? n() : t, h), $ = o && m.current || [];
|
|
Kf(
|
|
() => $t($, ({ ctrl: G, item: H, key: U }) => {
|
|
D8(G, f), Zn(c, H, U);
|
|
})
|
|
);
|
|
const _ = [];
|
|
if (h && $t(h, (G, H) => {
|
|
G.expired ? (clearTimeout(G.expirationId), $.push(G)) : (H = _[H] = w.indexOf(G.key), ~H && (y[H] = G));
|
|
}), $t(p, (G, H) => {
|
|
y[H] || (y[H] = {
|
|
key: w[H],
|
|
item: G,
|
|
phase: "mount",
|
|
ctrl: new MHe()
|
|
}, y[H].ctrl.item = G);
|
|
}), _.length) {
|
|
let G = -1;
|
|
const { leave: H } = n ? n() : t;
|
|
$t(_, (U, W) => {
|
|
const X = h[W];
|
|
~U ? (G = y.indexOf(X), y[G] = { ...X, item: p[U] }) : H && y.splice(++G, 0, X);
|
|
});
|
|
}
|
|
Pe.fun(a) && y.sort((G, H) => a(G.item, H.item));
|
|
let S = -i;
|
|
const b = Mte(), F = R6(t), z = /* @__PURE__ */ new Map(), q = ne(/* @__PURE__ */ new Map()), Y = ne(!1);
|
|
$t(y, (G, H) => {
|
|
const U = G.key, W = G.phase, X = n ? n() : t;
|
|
let ee, v;
|
|
const g = Zn(X.delay || 0, U);
|
|
if (W == "mount")
|
|
ee = X.enter, v = "enter";
|
|
else {
|
|
const T = w.indexOf(U) < 0;
|
|
if (W != "leave")
|
|
if (T)
|
|
ee = X.leave, v = "leave";
|
|
else if (ee = X.update)
|
|
v = "update";
|
|
else return;
|
|
else if (!T)
|
|
ee = X.enter, v = "enter";
|
|
else return;
|
|
}
|
|
if (ee = Zn(ee, G.item, H), ee = Pe.obj(ee) ? M6(ee) : { to: ee }, !ee.config) {
|
|
const T = l || F.config;
|
|
ee.config = Zn(T, G.item, H, v);
|
|
}
|
|
S += i;
|
|
const O = {
|
|
...F,
|
|
// we need to add our props.delay value you here.
|
|
delay: g + S,
|
|
ref: d,
|
|
immediate: X.immediate,
|
|
// This prevents implied resets.
|
|
reset: !1,
|
|
// Merge any phase-specific props.
|
|
...ee
|
|
};
|
|
if (v == "enter" && Pe.und(O.from)) {
|
|
const T = n ? n() : t, N = Pe.und(T.initial) || h ? T.from : T.initial;
|
|
O.from = Zn(N, G.item, H);
|
|
}
|
|
const { onResolve: P } = O;
|
|
O.onResolve = (T) => {
|
|
Zn(P, T);
|
|
const N = m.current, C = N.find((I) => I.key === U);
|
|
if (C && !(T.cancelled && C.phase != "update") && C.ctrl.idle) {
|
|
const I = N.every((j) => j.ctrl.idle);
|
|
if (C.phase == "leave") {
|
|
const j = Zn(s, C.item);
|
|
if (j !== !1) {
|
|
const R = j === !0 ? 0 : j;
|
|
if (C.expired = !0, !I && R > 0) {
|
|
R <= 2147483647 && (C.expirationId = setTimeout(b, R));
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
I && N.some((j) => j.expired) && (q.current.delete(C), u && (Y.current = !0), b());
|
|
}
|
|
};
|
|
const A = FHe(G.ctrl, O);
|
|
v === "leave" && u ? q.current.set(G, { phase: v, springs: A, payload: O }) : z.set(G, { phase: v, springs: A, payload: O });
|
|
});
|
|
const B = nt(zHe), Z = pHe(B), M = B !== Z && OHe(B);
|
|
Kf(() => {
|
|
M && $t(y, (G) => {
|
|
G.ctrl.start({ default: B });
|
|
});
|
|
}, [B]), $t(z, (G, H) => {
|
|
if (q.current.size) {
|
|
const U = y.findIndex((W) => W.key === H.key);
|
|
y.splice(U, 1);
|
|
}
|
|
}), Kf(
|
|
() => {
|
|
$t(
|
|
q.current.size ? q.current : z,
|
|
({ phase: G, payload: H }, U) => {
|
|
const { ctrl: W } = U;
|
|
U.phase = G, f == null || f.add(W), M && G == "enter" && W.start({ default: B }), H && (SHe(W, H.ref), (W.ref || f) && !Y.current ? W.update(H) : (W.start(H), Y.current && (Y.current = !1)));
|
|
}
|
|
);
|
|
},
|
|
o ? void 0 : r
|
|
);
|
|
const te = (G) => /* @__PURE__ */ V.createElement(V.Fragment, null, y.map((H, U) => {
|
|
const { springs: W } = z.get(H) || H.ctrl, X = G({ ...W }, H.item, H, U);
|
|
return X && X.type ? /* @__PURE__ */ V.createElement(
|
|
X.type,
|
|
{
|
|
...X.props,
|
|
key: Pe.str(H.key) || Pe.num(H.key) ? H.key : H.ctrl.id,
|
|
ref: X.ref
|
|
}
|
|
) : X;
|
|
}));
|
|
return f ? [te, f] : te;
|
|
}
|
|
var VHe = 1;
|
|
function HHe(e, { key: t, keys: r = t }, n) {
|
|
if (r === null) {
|
|
const o = /* @__PURE__ */ new Set();
|
|
return e.map((a) => {
|
|
const i = n && n.find(
|
|
(s) => s.item === a && s.phase !== "leave" && !o.has(s)
|
|
);
|
|
return i ? (o.add(i), i.key) : VHe++;
|
|
});
|
|
}
|
|
return Pe.und(r) ? e : Pe.fun(r) ? e.map(r) : Mn(r);
|
|
}
|
|
var GHe = class extends F6 {
|
|
constructor(e, t) {
|
|
super(), this.source = e, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = sb(...t);
|
|
const r = this._get(), n = z5(r);
|
|
j6(this, n.create(r));
|
|
}
|
|
advance(e) {
|
|
const t = this._get(), r = this.get();
|
|
Ri(t, r) || (ba(this).setValue(t), this._onChange(t, this.idle)), !this.idle && Y8(this._active) && $_(this);
|
|
}
|
|
_get() {
|
|
const e = Pe.arr(this.source) ? this.source.map(Qn) : Mn(Qn(this.source));
|
|
return this.calc(...e);
|
|
}
|
|
_start() {
|
|
this.idle && !Y8(this._active) && (this.idle = !1, $t(xw(this), (e) => {
|
|
e.done = !1;
|
|
}), ca.skipAnimation ? (st.batchedUpdates(() => this.advance()), $_(this)) : gw.start(this));
|
|
}
|
|
// Observe our sources only when we're observed.
|
|
_attach() {
|
|
let e = 1;
|
|
$t(Mn(this.source), (t) => {
|
|
Ao(t) && Cp(t, this), H5(t) && (t.idle || this._active.add(t), e = Math.max(e, t.priority + 1));
|
|
}), this.priority = e, this._start();
|
|
}
|
|
// Stop observing our sources once we have no observers.
|
|
_detach() {
|
|
$t(Mn(this.source), (e) => {
|
|
Ao(e) && ub(e, this);
|
|
}), this._active.clear(), $_(this);
|
|
}
|
|
/** @internal */
|
|
eventObserved(e) {
|
|
e.type == "change" ? e.idle ? this.advance() : (this._active.add(e.parent), this._start()) : e.type == "idle" ? this._active.delete(e.parent) : e.type == "priority" && (this.priority = Mn(this.source).reduce(
|
|
(t, r) => Math.max(t, (H5(r) ? r.priority : 0) + 1),
|
|
0
|
|
));
|
|
}
|
|
};
|
|
function UHe(e) {
|
|
return e.idle !== !1;
|
|
}
|
|
function Y8(e) {
|
|
return !e.size || Array.from(e).every(UHe);
|
|
}
|
|
function $_(e) {
|
|
e.idle || (e.idle = !0, $t(xw(e), (t) => {
|
|
t.done = !0;
|
|
}), cb(e, {
|
|
type: "idle",
|
|
parent: e
|
|
}));
|
|
}
|
|
ca.assign({
|
|
createStringInterpolator: jte,
|
|
to: (e, t) => new GHe(e, t)
|
|
});
|
|
var tre = /^--/;
|
|
function BHe(e, t) {
|
|
return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !tre.test(e) && !(fg.hasOwnProperty(e) && fg[e]) ? t + "px" : ("" + t).trim();
|
|
}
|
|
var q8 = {};
|
|
function YHe(e, t) {
|
|
if (!e.nodeType || !e.setAttribute)
|
|
return !1;
|
|
const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", {
|
|
className: n,
|
|
style: o,
|
|
children: a,
|
|
scrollTop: i,
|
|
scrollLeft: s,
|
|
viewBox: u,
|
|
...c
|
|
} = t, d = Object.values(c), l = Object.keys(c).map(
|
|
(f) => r || e.hasAttribute(f) ? f : q8[f] || (q8[f] = f.replace(
|
|
/([A-Z])/g,
|
|
// Attributes are written in dash case
|
|
(p) => "-" + p.toLowerCase()
|
|
))
|
|
);
|
|
a !== void 0 && (e.textContent = a);
|
|
for (const f in o)
|
|
if (o.hasOwnProperty(f)) {
|
|
const p = BHe(f, o[f]);
|
|
tre.test(f) ? e.style.setProperty(f, p) : e.style[f] = p;
|
|
}
|
|
l.forEach((f, p) => {
|
|
e.setAttribute(f, d[p]);
|
|
}), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), u !== void 0 && e.setAttribute("viewBox", u);
|
|
}
|
|
var fg = {
|
|
animationIterationCount: !0,
|
|
borderImageOutset: !0,
|
|
borderImageSlice: !0,
|
|
borderImageWidth: !0,
|
|
boxFlex: !0,
|
|
boxFlexGroup: !0,
|
|
boxOrdinalGroup: !0,
|
|
columnCount: !0,
|
|
columns: !0,
|
|
flex: !0,
|
|
flexGrow: !0,
|
|
flexPositive: !0,
|
|
flexShrink: !0,
|
|
flexNegative: !0,
|
|
flexOrder: !0,
|
|
gridRow: !0,
|
|
gridRowEnd: !0,
|
|
gridRowSpan: !0,
|
|
gridRowStart: !0,
|
|
gridColumn: !0,
|
|
gridColumnEnd: !0,
|
|
gridColumnSpan: !0,
|
|
gridColumnStart: !0,
|
|
fontWeight: !0,
|
|
lineClamp: !0,
|
|
lineHeight: !0,
|
|
opacity: !0,
|
|
order: !0,
|
|
orphans: !0,
|
|
tabSize: !0,
|
|
widows: !0,
|
|
zIndex: !0,
|
|
zoom: !0,
|
|
// SVG-related properties
|
|
fillOpacity: !0,
|
|
floodOpacity: !0,
|
|
stopOpacity: !0,
|
|
strokeDasharray: !0,
|
|
strokeDashoffset: !0,
|
|
strokeMiterlimit: !0,
|
|
strokeOpacity: !0,
|
|
strokeWidth: !0
|
|
}, qHe = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), KHe = ["Webkit", "Ms", "Moz", "O"];
|
|
fg = Object.keys(fg).reduce((e, t) => (KHe.forEach((r) => e[qHe(r, t)] = e[t]), e), fg);
|
|
var XHe = /^(matrix|translate|scale|rotate|skew)/, JHe = /^(translate)/, QHe = /^(rotate|skew)/, k_ = (e, t) => Pe.num(e) && e !== 0 ? e + t : e, l1 = (e, t) => Pe.arr(e) ? e.every((r) => l1(r, t)) : Pe.num(e) ? e === t : parseFloat(e) === t, ZHe = class extends $w {
|
|
constructor({ x: e, y: t, z: r, ...n }) {
|
|
const o = [], a = [];
|
|
(e || t || r) && (o.push([e || 0, t || 0, r || 0]), a.push((i) => [
|
|
`translate3d(${i.map((s) => k_(s, "px")).join(",")})`,
|
|
// prettier-ignore
|
|
l1(i, 0)
|
|
])), di(n, (i, s) => {
|
|
if (s === "transform")
|
|
o.push([i || ""]), a.push((u) => [u, u === ""]);
|
|
else if (XHe.test(s)) {
|
|
if (delete n[s], Pe.und(i)) return;
|
|
const u = JHe.test(s) ? "px" : QHe.test(s) ? "deg" : "";
|
|
o.push(Mn(i)), a.push(
|
|
s === "rotate3d" ? ([c, d, l, f]) => [
|
|
`rotate3d(${c},${d},${l},${k_(f, u)})`,
|
|
l1(f, 0)
|
|
] : (c) => [
|
|
`${s}(${c.map((d) => k_(d, u)).join(",")})`,
|
|
l1(c, s.startsWith("scale") ? 1 : 0)
|
|
]
|
|
);
|
|
}
|
|
}), o.length && (n.transform = new eGe(o, a)), super(n);
|
|
}
|
|
}, eGe = class extends Nte {
|
|
constructor(e, t) {
|
|
super(), this.inputs = e, this.transforms = t, this._value = null;
|
|
}
|
|
get() {
|
|
return this._value || (this._value = this._get());
|
|
}
|
|
_get() {
|
|
let e = "", t = !0;
|
|
return $t(this.inputs, (r, n) => {
|
|
const o = Qn(r[0]), [a, i] = this.transforms[n](
|
|
Pe.arr(o) ? o : r.map(Qn)
|
|
);
|
|
e += " " + a, t = t && i;
|
|
}), t ? "none" : e;
|
|
}
|
|
// Start observing our inputs once we have an observer.
|
|
observerAdded(e) {
|
|
e == 1 && $t(
|
|
this.inputs,
|
|
(t) => $t(
|
|
t,
|
|
(r) => Ao(r) && Cp(r, this)
|
|
)
|
|
);
|
|
}
|
|
// Stop observing our inputs once we have no observers.
|
|
observerRemoved(e) {
|
|
e == 0 && $t(
|
|
this.inputs,
|
|
(t) => $t(
|
|
t,
|
|
(r) => Ao(r) && ub(r, this)
|
|
)
|
|
);
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && (this._value = null), cb(this, e);
|
|
}
|
|
}, tGe = [
|
|
"a",
|
|
"abbr",
|
|
"address",
|
|
"area",
|
|
"article",
|
|
"aside",
|
|
"audio",
|
|
"b",
|
|
"base",
|
|
"bdi",
|
|
"bdo",
|
|
"big",
|
|
"blockquote",
|
|
"body",
|
|
"br",
|
|
"button",
|
|
"canvas",
|
|
"caption",
|
|
"cite",
|
|
"code",
|
|
"col",
|
|
"colgroup",
|
|
"data",
|
|
"datalist",
|
|
"dd",
|
|
"del",
|
|
"details",
|
|
"dfn",
|
|
"dialog",
|
|
"div",
|
|
"dl",
|
|
"dt",
|
|
"em",
|
|
"embed",
|
|
"fieldset",
|
|
"figcaption",
|
|
"figure",
|
|
"footer",
|
|
"form",
|
|
"h1",
|
|
"h2",
|
|
"h3",
|
|
"h4",
|
|
"h5",
|
|
"h6",
|
|
"head",
|
|
"header",
|
|
"hgroup",
|
|
"hr",
|
|
"html",
|
|
"i",
|
|
"iframe",
|
|
"img",
|
|
"input",
|
|
"ins",
|
|
"kbd",
|
|
"keygen",
|
|
"label",
|
|
"legend",
|
|
"li",
|
|
"link",
|
|
"main",
|
|
"map",
|
|
"mark",
|
|
"menu",
|
|
"menuitem",
|
|
"meta",
|
|
"meter",
|
|
"nav",
|
|
"noscript",
|
|
"object",
|
|
"ol",
|
|
"optgroup",
|
|
"option",
|
|
"output",
|
|
"p",
|
|
"param",
|
|
"picture",
|
|
"pre",
|
|
"progress",
|
|
"q",
|
|
"rp",
|
|
"rt",
|
|
"ruby",
|
|
"s",
|
|
"samp",
|
|
"script",
|
|
"section",
|
|
"select",
|
|
"small",
|
|
"source",
|
|
"span",
|
|
"strong",
|
|
"style",
|
|
"sub",
|
|
"summary",
|
|
"sup",
|
|
"table",
|
|
"tbody",
|
|
"td",
|
|
"textarea",
|
|
"tfoot",
|
|
"th",
|
|
"thead",
|
|
"time",
|
|
"title",
|
|
"tr",
|
|
"track",
|
|
"u",
|
|
"ul",
|
|
"var",
|
|
"video",
|
|
"wbr",
|
|
// SVG
|
|
"circle",
|
|
"clipPath",
|
|
"defs",
|
|
"ellipse",
|
|
"foreignObject",
|
|
"g",
|
|
"image",
|
|
"line",
|
|
"linearGradient",
|
|
"mask",
|
|
"path",
|
|
"pattern",
|
|
"polygon",
|
|
"polyline",
|
|
"radialGradient",
|
|
"rect",
|
|
"stop",
|
|
"svg",
|
|
"text",
|
|
"tspan"
|
|
];
|
|
ca.assign({
|
|
batchedUpdates: Of,
|
|
createStringInterpolator: jte,
|
|
colors: VVe
|
|
});
|
|
var rGe = xHe(tGe, {
|
|
applyAnimatedValues: YHe,
|
|
createAnimatedStyle: (e) => new ZHe(e),
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r
|
|
}), rre = rGe.animated;
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const nGe = {
|
|
prefix: "fas",
|
|
iconName: "down-left-and-up-right-to-center",
|
|
icon: [512, 512, ["compress-alt"], "f422", "M439 7c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8l-144 0c-13.3 0-24-10.7-24-24l0-144c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39L439 7zM72 272l144 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39L73 505c-9.4 9.4-24.6 9.4-33.9 0L7 473c-9.4-9.4-9.4-24.6 0-33.9l87-87L55 313c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8z"]
|
|
}, oGe = {
|
|
prefix: "fas",
|
|
iconName: "up-right-and-down-left-from-center",
|
|
icon: [512, 512, ["expand-alt"], "f424", "M344 0L488 0c13.3 0 24 10.7 24 24l0 144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-39-39-87 87c-9.4 9.4-24.6 9.4-33.9 0l-32-32c-9.4-9.4-9.4-24.6 0-33.9l87-87L327 41c-6.9-6.9-8.9-17.2-5.2-26.2S334.3 0 344 0zM168 512L24 512c-13.3 0-24-10.7-24-24L0 344c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l39 39 87-87c9.4-9.4 24.6-9.4 33.9 0l32 32c9.4 9.4 9.4 24.6 0 33.9l-87 87 39 39c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8z"]
|
|
};
|
|
var G5 = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(G5 || {}), aGe = Object.freeze({
|
|
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
|
position: "absolute",
|
|
border: 0,
|
|
width: 1,
|
|
height: 1,
|
|
padding: 0,
|
|
margin: -1,
|
|
overflow: "hidden",
|
|
clip: "rect(0, 0, 0, 0)",
|
|
whiteSpace: "nowrap",
|
|
wordWrap: "normal"
|
|
}), iGe = "VisuallyHidden", nre = V.forwardRef(
|
|
(e, t) => /* @__PURE__ */ K(
|
|
bi.span,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
style: { ...aGe, ...e.style }
|
|
}
|
|
)
|
|
);
|
|
nre.displayName = iGe;
|
|
var K8 = nre;
|
|
const mb = [], sGe = (e) => {
|
|
mb.push(e);
|
|
}, lGe = (e) => {
|
|
const t = mb.findIndex((r) => r.id === e);
|
|
t !== -1 && mb.splice(t, 1);
|
|
}, cGe = (e, t) => {
|
|
const r = mb.find((n) => n.id === e);
|
|
r && Object.assign(r, t);
|
|
}, uGe = () => mb.filter((e) => e.closeOnEsc).sort((e, t) => t.zIndex - e.zIndex)[0];
|
|
typeof window < "u" && !window.__modalEscListenerInstalled && (window.__modalEscListenerInstalled = !0, window.addEventListener("keydown", (e) => {
|
|
if (e.key !== "Escape" && e.key !== "Esc") return;
|
|
const t = uGe();
|
|
t && (e.preventDefault(), t.onClose());
|
|
}));
|
|
let rh = 70;
|
|
const fGe = ({
|
|
styles: e,
|
|
backdropClassName: t,
|
|
disableHotkeyInput: r,
|
|
enableHotkeyInput: n
|
|
}) => (ue(() => (r(G5.DIALOGUE), () => {
|
|
n(G5.DIALOGUE);
|
|
}), [r, n]), /* @__PURE__ */ K(PDe, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ K(
|
|
rre.div,
|
|
{
|
|
className: ng("fixed inset-0 z-[69]", t),
|
|
style: {
|
|
opacity: e.opacity,
|
|
pointerEvents: "none",
|
|
background: "radial-gradient(800px 400px at 10% -10%, rgba(45,129,255,0.10), transparent), radial-gradient(600px 320px at 110% 110%, rgba(28,182,190,0.10), transparent), rgba(0,0,0,0.60)"
|
|
}
|
|
}
|
|
) })), U5 = ({ children: e }) => /* @__PURE__ */ K(rn, { children: e }), ore = zt(
|
|
void 0
|
|
), L6 = ({ className: e, size: t = "md" }) => {
|
|
const r = nt(ore);
|
|
if (!r) return null;
|
|
const { expanded: n, toggleExpanded: o } = r;
|
|
return /* @__PURE__ */ K(
|
|
"button",
|
|
{
|
|
type: "button",
|
|
"aria-label": n ? "Restore modal size" : "Expand modal",
|
|
onClick: o,
|
|
className: ng(
|
|
"flex items-center justify-center rounded-full bg-black/40 text-white/60 transition-all hover:bg-black/70 hover:text-white",
|
|
{
|
|
sm: "h-5 w-5 text-sm",
|
|
md: "h-7 w-7 text-md",
|
|
lg: "h-9 w-9 text-xl"
|
|
}[t],
|
|
"relative z-[70]",
|
|
e
|
|
),
|
|
children: /* @__PURE__ */ K(
|
|
ob,
|
|
{
|
|
icon: n ? nGe : oGe
|
|
}
|
|
)
|
|
}
|
|
);
|
|
};
|
|
L6.displayName = "ModalExpandButton";
|
|
const kw = ({
|
|
isOpen: e,
|
|
title: t,
|
|
titleIcon: r,
|
|
onTitleIconClick: n,
|
|
onClose: o,
|
|
enableHotkeyInput: a = () => {
|
|
},
|
|
disableHotkeyInput: i = () => {
|
|
},
|
|
className: s,
|
|
backdropClassName: u,
|
|
width: c,
|
|
children: d,
|
|
childPadding: l = !0,
|
|
titleIconClassName: f,
|
|
showClose: p = !0,
|
|
draggable: y = !1,
|
|
resizable: m = !1,
|
|
initialPosition: h,
|
|
closeOnOutsideClick: w = !0,
|
|
closeOnEsc: $ = !0,
|
|
allowBackgroundInteraction: _ = !1,
|
|
expandable: S = !1,
|
|
accessibleTitle: b,
|
|
accessibleDescription: F
|
|
}) => {
|
|
const [z, q] = de(
|
|
null
|
|
), [Y, B] = de(!1), [Z, M] = de(!1), te = ne({ x: 0, y: 0 }), G = ne({ x: 0, y: 0 }), H = ne(null), U = ne(null), W = ne(null), [X, ee] = de(() => ++rh), [v, g] = de(!1), O = ne(null), P = B8(e, {
|
|
from: {
|
|
opacity: 0,
|
|
transform: "scale(0.95) translateY(-10px)"
|
|
},
|
|
enter: {
|
|
opacity: 1,
|
|
transform: "scale(1) translateY(0px)"
|
|
},
|
|
leave: {
|
|
opacity: 0,
|
|
transform: "scale(0.95) translateY(10px)"
|
|
},
|
|
config: {
|
|
tension: 300,
|
|
friction: 30,
|
|
mass: 0.8
|
|
}
|
|
}), A = B8(e, {
|
|
from: { opacity: 0 },
|
|
enter: { opacity: 1 },
|
|
leave: { opacity: 0 },
|
|
config: {
|
|
tension: 280,
|
|
friction: 25
|
|
}
|
|
});
|
|
ue(() => {
|
|
v ? (U.current && (O.current = { ...U.current }), q({ x: 0, y: 0 }), U.current = { x: 0, y: 0 }, H.current && (H.current.style.left = "0px", H.current.style.top = "0px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : O.current && (q({ ...O.current }), U.current = { ...O.current }, H.current && (H.current.style.left = O.current.x + "px", H.current.style.top = O.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X)));
|
|
}, [v, X]);
|
|
const T = () => g((ce) => !ce);
|
|
ue(() => {
|
|
e ? W.current ? (q({ ...W.current }), U.current = { ...W.current }, H.current && (H.current.style.left = W.current.x + "px", H.current.style.top = W.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : h && (q({ ...h }), U.current = { ...h }, H.current && (H.current.style.left = h.x + "px", H.current.style.top = h.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X))) : U.current && (W.current = { ...U.current });
|
|
}, [e, X]), ue(() => {
|
|
if (!Y) return;
|
|
let ce = null;
|
|
const le = (ot) => {
|
|
if (!H.current) return;
|
|
const kt = ot.clientX - G.current.x, De = ot.clientY - G.current.y, Ze = te.current.x + kt, rt = te.current.y + De, Wt = H.current, { width: lt, height: $r } = Wt.getBoundingClientRect(), pn = window.innerWidth, ro = window.innerHeight, kr = 450, vo = -450, Mo = 0, Do = pn - lt + kr, yr = ro - $r + kr, Tn = Math.max(vo, Math.min(Ze, Do)), Fo = Math.max(Mo, Math.min(rt, yr));
|
|
U.current = { x: Tn, y: Fo }, H.current && (ce && cancelAnimationFrame(ce), ce = requestAnimationFrame(() => {
|
|
H.current && U.current && (H.current.style.left = U.current.x + "px", H.current.style.top = U.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X));
|
|
}));
|
|
}, fe = () => {
|
|
B(!1), U.current && q({ ...U.current });
|
|
};
|
|
return window.addEventListener("mousemove", le), window.addEventListener("mouseup", fe), () => {
|
|
window.removeEventListener("mousemove", le), window.removeEventListener("mouseup", fe), ce && cancelAnimationFrame(ce);
|
|
};
|
|
}, [Y, X]);
|
|
const N = (ce) => {
|
|
var le, fe;
|
|
if (!H.current) return;
|
|
v && g(!1), ce.preventDefault(), ce.stopPropagation();
|
|
const ot = H.current, { width: kt, height: De } = ot.getBoundingClientRect(), Ze = window.innerWidth, rt = window.innerHeight;
|
|
let Wt = ((le = U.current) == null ? void 0 : le.x) ?? (z == null ? void 0 : z.x), lt = ((fe = U.current) == null ? void 0 : fe.y) ?? (z == null ? void 0 : z.y);
|
|
(Wt === void 0 || lt === void 0) && (h ? (Wt = h.x, lt = h.y) : (Wt = (Ze - kt) / 2, lt = (rt - De) / 2)), te.current = { x: Wt, y: lt }, G.current = { x: ce.clientX, y: ce.clientY }, B(!0), !z && !U.current && (q({ x: Wt, y: lt }), U.current = { x: Wt, y: lt }, H.current && (H.current.style.left = Wt + "px", H.current.style.top = lt + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X)));
|
|
};
|
|
let C = d;
|
|
if (y) {
|
|
let ce = !1;
|
|
C = Array.isArray(d) ? d.map((le) => {
|
|
if (!ce && Fi(le) && (le.type === U5 || le.type.displayName === "ModalDragHandle")) {
|
|
ce = !0;
|
|
const fe = le;
|
|
return Li(fe, {
|
|
children: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: N,
|
|
children: fe.props.children
|
|
}
|
|
)
|
|
});
|
|
}
|
|
return le;
|
|
}) : Fi(d) && (d.type === U5 || d.type.displayName === "ModalDragHandle") ? (() => {
|
|
const le = d;
|
|
return Li(le, {
|
|
children: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: N,
|
|
children: le.props.children
|
|
}
|
|
)
|
|
});
|
|
})() : d;
|
|
}
|
|
const I = ne(null), j = ne(null), R = (ce, le) => {
|
|
if (!H.current || (ce.preventDefault(), ce.stopPropagation(), v)) return;
|
|
const fe = H.current.getBoundingClientRect();
|
|
I.current = le, j.current = {
|
|
mouseX: ce.clientX,
|
|
mouseY: ce.clientY,
|
|
width: fe.width,
|
|
height: fe.height,
|
|
x: fe.left,
|
|
y: fe.top
|
|
}, M(!0);
|
|
};
|
|
ue(() => {
|
|
if (!Z) return;
|
|
let ce = null;
|
|
const le = (ot) => {
|
|
if (!H.current || !j.current || !I.current)
|
|
return;
|
|
const kt = ot.clientX - j.current.mouseX, De = ot.clientY - j.current.mouseY;
|
|
let Ze = j.current.width, rt = j.current.height, Wt = j.current.x, lt = j.current.y;
|
|
const $r = I.current;
|
|
$r.includes("right") && (Ze = j.current.width + kt), $r.includes("left") && (Ze = j.current.width - kt, Wt = j.current.x + kt), $r.includes("bottom") && (rt = j.current.height + De), $r.includes("top") && (rt = j.current.height - De, lt = j.current.y + De), Ze = Math.max(320, Ze), rt = Math.max(240, rt), U.current = { x: Wt, y: lt }, me.current = { width: Ze, height: rt }, ce && cancelAnimationFrame(ce), ce = requestAnimationFrame(() => {
|
|
H.current && U.current && (H.current.style.width = Ze + "px", H.current.style.height = rt + "px", H.current.style.left = U.current.x + "px", H.current.style.top = U.current.y + "px", H.current.style.margin = "0", H.current.style.position = "fixed", H.current.style.zIndex = String(X));
|
|
});
|
|
}, fe = () => {
|
|
M(!1), U.current && q({ ...U.current }), me.current && oe({ ...me.current });
|
|
};
|
|
return window.addEventListener("mousemove", le), window.addEventListener("mouseup", fe), () => {
|
|
window.removeEventListener("mousemove", le), window.removeEventListener("mouseup", fe), ce && cancelAnimationFrame(ce);
|
|
};
|
|
}, [Z, X]);
|
|
const Q = () => {
|
|
if (!m || v) return null;
|
|
const ce = "absolute z-[75] bg-transparent select-none", le = 5, fe = 2, ot = [
|
|
{ dir: "top", className: `top-0 left-0 w-full h-${fe}` },
|
|
{ dir: "bottom", className: `bottom-0 left-0 w-full h-${fe}` },
|
|
{ dir: "left", className: `left-0 top-0 h-full w-${fe}` },
|
|
{ dir: "right", className: `right-0 top-0 h-full w-${fe}` },
|
|
{
|
|
dir: "top-left",
|
|
className: `top-0 left-0 w-${le} h-${le}`
|
|
},
|
|
{
|
|
dir: "top-right",
|
|
className: `top-0 right-0 w-${le} h-${le}`
|
|
},
|
|
{
|
|
dir: "bottom-left",
|
|
className: `bottom-0 left-0 w-${le} h-${le}`
|
|
},
|
|
{
|
|
dir: "bottom-right",
|
|
className: `bottom-0 right-0 w-${le} h-${le}`
|
|
}
|
|
], kt = {
|
|
top: "n-resize",
|
|
bottom: "s-resize",
|
|
left: "w-resize",
|
|
right: "e-resize",
|
|
"top-left": "nw-resize",
|
|
"top-right": "ne-resize",
|
|
"bottom-left": "sw-resize",
|
|
"bottom-right": "se-resize"
|
|
};
|
|
return ot.map((De) => /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: `${ce} ${De.className}`,
|
|
style: { cursor: kt[De.dir] },
|
|
onMouseDown: (Ze) => R(Ze, De.dir)
|
|
},
|
|
De.dir
|
|
));
|
|
}, [k, oe] = de(
|
|
null
|
|
), me = ne(null), Le = ne(null);
|
|
ue(() => {
|
|
if (e && !k && H.current && m) {
|
|
const { width: ce, height: le } = H.current.getBoundingClientRect();
|
|
oe({ width: ce, height: le }), me.current = { width: ce, height: le };
|
|
}
|
|
}, [e, k, m]), ue(() => {
|
|
if (m) {
|
|
if (!e)
|
|
me.current && (Le.current = { ...me.current });
|
|
else if (Le.current && H.current) {
|
|
const { width: ce, height: le } = Le.current;
|
|
H.current.style.width = ce + "px", H.current.style.height = le + "px", oe({ width: ce, height: le }), me.current = { width: ce, height: le };
|
|
}
|
|
}
|
|
}, [e, m]), ue(() => {
|
|
const ce = () => {
|
|
H.current && X < rh && (rh += 1, ee(rh), H.current.style.zIndex = String(rh));
|
|
}, le = H.current;
|
|
return le && le.addEventListener("mousedown", ce), () => {
|
|
le && le.removeEventListener("mousedown", ce);
|
|
};
|
|
}, [X]), ue(() => {
|
|
if (!e || _) return;
|
|
const ce = (le) => {
|
|
if (le.key === "Escape" || le.key === "Esc") return;
|
|
const fe = le.target;
|
|
fe && (fe.closest(
|
|
'[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]'
|
|
) || fe.matches("input, textarea, select, button, [contenteditable]")) || le.stopPropagation();
|
|
};
|
|
return window.addEventListener("keydown", ce, !0), () => {
|
|
window.removeEventListener("keydown", ce, !0);
|
|
};
|
|
}, [e, _]), ue(() => {
|
|
if (!_) return;
|
|
const ce = H.current;
|
|
if (!ce) return;
|
|
const le = (De) => {
|
|
De && (De.hasAttribute("inert") && De.removeAttribute("inert"), De.inert && (De.inert = !1), De.getAttribute("aria-hidden") === "true" && De.removeAttribute("aria-hidden"));
|
|
};
|
|
let fe = ce;
|
|
for (; fe; )
|
|
le(fe), fe = fe.parentElement;
|
|
const ot = new MutationObserver((De) => {
|
|
De.forEach((Ze) => {
|
|
if (Ze.type === "attributes" && Ze.attributeName === "inert" && Ze.target instanceof HTMLElement) {
|
|
const rt = Ze.target;
|
|
(rt === ce || ce.contains(rt)) && le(rt);
|
|
}
|
|
});
|
|
});
|
|
ot.observe(ce, {
|
|
attributes: !0,
|
|
subtree: !1,
|
|
attributeFilter: ["inert"]
|
|
}), document.querySelectorAll(
|
|
"[data-radix-portal][inert], [data-headlessui-portal][inert]"
|
|
).forEach((De) => De.removeAttribute("inert"));
|
|
const kt = new MutationObserver((De) => {
|
|
De.forEach((Ze) => {
|
|
if (Ze.type === "attributes" && Ze.attributeName === "inert" && Ze.target.hasAttribute("inert")) {
|
|
const rt = Ze.target;
|
|
(rt.hasAttribute("data-radix-portal") || rt.hasAttribute("data-headlessui-portal")) && le(rt);
|
|
}
|
|
});
|
|
});
|
|
return kt.observe(document.body, {
|
|
attributes: !0,
|
|
subtree: !0,
|
|
attributeFilter: ["inert"]
|
|
}), () => {
|
|
ot.disconnect(), kt.disconnect();
|
|
};
|
|
}, [_]);
|
|
const Xr = ne(Math.floor(Math.random() * 1e9));
|
|
ue(() => {
|
|
if (e)
|
|
return sGe({
|
|
id: Xr.current,
|
|
zIndex: X,
|
|
onClose: o,
|
|
closeOnEsc: $
|
|
}), () => {
|
|
lGe(Xr.current);
|
|
};
|
|
}, [e]), ue(() => {
|
|
e && cGe(Xr.current, { zIndex: X, onClose: o, closeOnEsc: $ });
|
|
}, [e, X, o, $]);
|
|
const Jr = () => v ? {
|
|
position: "fixed",
|
|
left: 0,
|
|
top: 0,
|
|
margin: 0,
|
|
zIndex: X,
|
|
width: "100vw",
|
|
height: "100vh",
|
|
..._ ? { pointerEvents: "auto" } : {}
|
|
} : !y || !z ? {
|
|
...m && k ? { width: k.width, height: k.height } : {},
|
|
..._ ? { pointerEvents: "auto" } : {}
|
|
} : {
|
|
position: "fixed",
|
|
left: z.x,
|
|
top: z.y,
|
|
margin: 0,
|
|
zIndex: X,
|
|
...m && k ? { width: k.width, height: k.height } : {},
|
|
..._ ? { pointerEvents: "auto" } : {}
|
|
};
|
|
return /* @__PURE__ */ K(
|
|
EDe,
|
|
{
|
|
open: e,
|
|
onOpenChange: (ce) => !ce && w && o(),
|
|
modal: !_,
|
|
children: /* @__PURE__ */ K(ADe, { children: /* @__PURE__ */ Te(
|
|
"div",
|
|
{
|
|
className: "fixed inset-0 z-[70]",
|
|
style: _ ? { pointerEvents: "none" } : void 0,
|
|
children: [
|
|
!_ && A(
|
|
(ce, le) => le ? /* @__PURE__ */ K(
|
|
fGe,
|
|
{
|
|
styles: ce,
|
|
backdropClassName: u,
|
|
disableHotkeyInput: i,
|
|
enableHotkeyInput: a
|
|
},
|
|
"backdrop"
|
|
) : null
|
|
),
|
|
_ && /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: ng("fixed inset-0 z-[69]", u),
|
|
style: { pointerEvents: "none" }
|
|
}
|
|
),
|
|
/* @__PURE__ */ K(ore.Provider, { value: { expanded: v, toggleExpanded: T }, children: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: "flex min-h-full items-center justify-center p-4 text-center",
|
|
style: _ ? { pointerEvents: "none" } : void 0,
|
|
children: P((ce, le) => le ? /* @__PURE__ */ K(
|
|
CDe,
|
|
{
|
|
forceMount: !0,
|
|
asChild: !0,
|
|
...F ? {} : { "aria-describedby": void 0 },
|
|
onPointerDownOutside: (fe) => {
|
|
(!w || _) && fe.preventDefault();
|
|
},
|
|
onEscapeKeyDown: (fe) => {
|
|
$ || fe.preventDefault();
|
|
},
|
|
onInteractOutside: (fe) => {
|
|
_ && fe.preventDefault();
|
|
},
|
|
children: /* @__PURE__ */ Te(
|
|
rre.div,
|
|
{
|
|
className: ng(
|
|
"w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]",
|
|
l && !v ? "p-4" : "",
|
|
s,
|
|
"!transition-none",
|
|
// Always disable CSS transitions for spring animations
|
|
v && "w-screen h-screen max-w-screen max-h-screen rounded-none"
|
|
),
|
|
ref: H,
|
|
style: {
|
|
...Jr(),
|
|
opacity: ce.opacity,
|
|
transform: ce.transform,
|
|
transformOrigin: "center center",
|
|
willChange: "transform, opacity"
|
|
// Optimize for animations
|
|
},
|
|
children: [
|
|
/* @__PURE__ */ Te("div", { className: "w-full h-full", children: [
|
|
F && /* @__PURE__ */ K(K8, { asChild: !0, children: /* @__PURE__ */ K(NDe, { children: F }) }),
|
|
t ? /* @__PURE__ */ K(
|
|
KF,
|
|
{
|
|
className: ng(
|
|
"mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg"
|
|
),
|
|
children: /* @__PURE__ */ K(rn, { children: n ? /* @__PURE__ */ Te(
|
|
"button",
|
|
{
|
|
className: "flex items-center gap-3",
|
|
onClick: n,
|
|
children: [
|
|
r && /* @__PURE__ */ K(
|
|
ob,
|
|
{
|
|
icon: r,
|
|
className: f
|
|
}
|
|
),
|
|
t
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Te("div", { className: "flex items-center gap-3", children: [
|
|
r && /* @__PURE__ */ K(
|
|
ob,
|
|
{
|
|
icon: r,
|
|
className: f
|
|
}
|
|
),
|
|
t
|
|
] }) })
|
|
}
|
|
) : /* @__PURE__ */ K(K8, { asChild: !0, children: /* @__PURE__ */ K(KF, { children: b ?? "Dialog" }) }),
|
|
/* @__PURE__ */ K("div", { className: "h-full".trim(), children: C }),
|
|
Q()
|
|
] }),
|
|
(p || S) && /* @__PURE__ */ Te("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [
|
|
S && /* @__PURE__ */ K(kw.ExpandButton, {}),
|
|
p && /* @__PURE__ */ K(jVe, { onClick: o })
|
|
] })
|
|
]
|
|
}
|
|
)
|
|
}
|
|
) : null)
|
|
}
|
|
) })
|
|
]
|
|
}
|
|
) })
|
|
}
|
|
);
|
|
};
|
|
kw.DragHandle = U5;
|
|
kw.DragHandle.displayName = "ModalDragHandle";
|
|
kw.ExpandButton = L6;
|
|
L6.displayName = "ModalExpandButton";
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function dGe(e, t, r) {
|
|
return (t = mGe(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function X8(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Se(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? X8(Object(r), !0).forEach(function(n) {
|
|
dGe(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : X8(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function pGe(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function mGe(e) {
|
|
var t = pGe(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const J8 = () => {
|
|
};
|
|
let z6 = {}, are = {}, ire = null, sre = {
|
|
mark: J8,
|
|
measure: J8
|
|
};
|
|
try {
|
|
typeof window < "u" && (z6 = window), typeof document < "u" && (are = document), typeof MutationObserver < "u" && (ire = MutationObserver), typeof performance < "u" && (sre = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: Q8 = ""
|
|
} = z6.navigator || {}, Lc = z6, Yr = are, Z8 = ire, bv = sre;
|
|
Lc.document;
|
|
const _s = !!Yr.documentElement && !!Yr.head && typeof Yr.addEventListener == "function" && typeof Yr.createElement == "function", lre = ~Q8.indexOf("MSIE") || ~Q8.indexOf("Trident/");
|
|
var hGe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, gGe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, cre = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, bGe = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, ure = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Cn = "classic", _w = "duotone", yGe = "sharp", vGe = "sharp-duotone", fre = [Cn, _w, yGe, vGe], xGe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, wGe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, $Ge = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), kGe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, _Ge = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], ez = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, OGe = ["kit"], SGe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, EGe = ["fak", "fakd"], AGe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, tz = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, yv = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, PGe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], CGe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], NGe = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, TGe = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, IGe = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, B5 = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, jGe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Y5 = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...PGe, ...jGe], RGe = ["solid", "regular", "light", "thin", "duotone", "brands"], dre = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], MGe = dre.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), DGe = [...Object.keys(IGe), ...RGe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", yv.GROUP, yv.SWAP_OPACITY, yv.PRIMARY, yv.SECONDARY].concat(dre.map((e) => "".concat(e, "x"))).concat(MGe.map((e) => "w-".concat(e))), FGe = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const cs = "___FONT_AWESOME___", q5 = 16, pre = "fa", mre = "svg-inline--fa", tf = "data-fa-i2svg", K5 = "data-fa-pseudo-element", LGe = "data-fa-pseudo-element-pending", W6 = "data-prefix", V6 = "data-icon", rz = "fontawesome-i2svg", zGe = "async", WGe = ["HTML", "HEAD", "STYLE", "SCRIPT"], hre = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function ny(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Cn];
|
|
}
|
|
});
|
|
}
|
|
const gre = Se({}, cre);
|
|
gre[Cn] = Se(Se(Se(Se({}, {
|
|
"fa-duotone": "duotone"
|
|
}), cre[Cn]), ez.kit), ez["kit-duotone"]);
|
|
const VGe = ny(gre), X5 = Se({}, kGe);
|
|
X5[Cn] = Se(Se(Se(Se({}, {
|
|
duotone: "fad"
|
|
}), X5[Cn]), tz.kit), tz["kit-duotone"]);
|
|
const nz = ny(X5), J5 = Se({}, B5);
|
|
J5[Cn] = Se(Se({}, J5[Cn]), AGe.kit);
|
|
const H6 = ny(J5), Q5 = Se({}, TGe);
|
|
Q5[Cn] = Se(Se({}, Q5[Cn]), SGe.kit);
|
|
ny(Q5);
|
|
const HGe = hGe, bre = "fa-layers-text", GGe = gGe, UGe = Se({}, xGe);
|
|
ny(UGe);
|
|
const BGe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], __ = bGe, YGe = [...OGe, ...DGe], dg = Lc.FontAwesomeConfig || {};
|
|
function qGe(e) {
|
|
var t = Yr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function KGe(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Yr && typeof Yr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = KGe(qGe(t));
|
|
n != null && (dg[r] = n);
|
|
});
|
|
const yre = {
|
|
styleDefault: "solid",
|
|
familyDefault: Cn,
|
|
cssPrefix: pre,
|
|
replacementClass: mre,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
dg.familyPrefix && (dg.cssPrefix = dg.familyPrefix);
|
|
const Kd = Se(Se({}, yre), dg);
|
|
Kd.autoReplaceSvg || (Kd.observeMutations = !1);
|
|
const Je = {};
|
|
Object.keys(yre).forEach((e) => {
|
|
Object.defineProperty(Je, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Kd[e] = t, pg.forEach((r) => r(Je));
|
|
},
|
|
get: function() {
|
|
return Kd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Je, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Kd.cssPrefix = e, pg.forEach((t) => t(Je));
|
|
},
|
|
get: function() {
|
|
return Kd.cssPrefix;
|
|
}
|
|
});
|
|
Lc.FontAwesomeConfig = Je;
|
|
const pg = [];
|
|
function XGe(e) {
|
|
return pg.push(e), () => {
|
|
pg.splice(pg.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Ml = q5, ni = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function JGe(e) {
|
|
if (!e || !_s)
|
|
return;
|
|
const t = Yr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Yr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return Yr.head.insertBefore(t, n), e;
|
|
}
|
|
const QGe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function hb() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += QGe[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Np(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function G6(e) {
|
|
return e.classList ? Np(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function vre(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function ZGe(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(vre(e[r]), '" '), "").trim();
|
|
}
|
|
function Ow(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function U6(e) {
|
|
return e.size !== ni.size || e.x !== ni.x || e.y !== ni.y || e.rotate !== ni.rotate || e.flipX || e.flipY;
|
|
}
|
|
function eUe(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function tUe(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = q5,
|
|
height: n = q5,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && lre ? a += "translate(".concat(t.x / Ml - r / 2, "em, ").concat(t.y / Ml - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Ml, "em), calc(-50% + ").concat(t.y / Ml, "em)) ") : a += "translate(".concat(t.x / Ml, "em, ").concat(t.y / Ml, "em) "), a += "scale(".concat(t.size / Ml * (t.flipX ? -1 : 1), ", ").concat(t.size / Ml * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var rUe = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function xre() {
|
|
const e = pre, t = mre, r = Je.cssPrefix, n = Je.replacementClass;
|
|
let o = rUe;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let oz = !1;
|
|
function O_() {
|
|
Je.autoAddCss && !oz && (JGe(xre()), oz = !0);
|
|
}
|
|
var nUe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: xre,
|
|
insertCss: O_
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
O_();
|
|
},
|
|
beforeI2svg() {
|
|
O_();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const us = Lc || {};
|
|
us[cs] || (us[cs] = {});
|
|
us[cs].styles || (us[cs].styles = {});
|
|
us[cs].hooks || (us[cs].hooks = {});
|
|
us[cs].shims || (us[cs].shims = []);
|
|
var oi = us[cs];
|
|
const wre = [], $re = function() {
|
|
Yr.removeEventListener("DOMContentLoaded", $re), $0 = 1, wre.map((e) => e());
|
|
};
|
|
let $0 = !1;
|
|
_s && ($0 = (Yr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Yr.readyState), $0 || Yr.addEventListener("DOMContentLoaded", $re));
|
|
function oUe(e) {
|
|
_s && ($0 ? setTimeout(e, 0) : wre.push(e));
|
|
}
|
|
function oy(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? vre(e) : "<".concat(t, " ").concat(ZGe(r), ">").concat(n.map(oy).join(""), "</").concat(t, ">");
|
|
}
|
|
function az(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var S_ = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function aUe(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function kre(e) {
|
|
const t = aUe(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function iUe(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function iz(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function Z5(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = iz(t);
|
|
typeof oi.hooks.addPack == "function" && !n ? oi.hooks.addPack(e, iz(t)) : oi.styles[e] = Se(Se({}, oi.styles[e] || {}), o), e === "fas" && Z5("fa", t);
|
|
}
|
|
const {
|
|
styles: gb,
|
|
shims: sUe
|
|
} = oi, _re = Object.keys(H6), lUe = _re.reduce((e, t) => (e[t] = Object.keys(H6[t]), e), {});
|
|
let B6 = null, Ore = {}, Sre = {}, Ere = {}, Are = {}, Pre = {};
|
|
function cUe(e) {
|
|
return ~YGe.indexOf(e);
|
|
}
|
|
function uUe(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !cUe(o) ? o : null;
|
|
}
|
|
const Cre = () => {
|
|
const e = (n) => S_(gb, (o, a, i) => (o[i] = S_(a, n, {}), o), {});
|
|
Ore = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), Sre = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), Pre = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in gb || Je.autoFetchSvg, r = S_(sUe, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
Ere = r.names, Are = r.unicodes, B6 = Sw(Je.styleDefault, {
|
|
family: Je.familyDefault
|
|
});
|
|
};
|
|
XGe((e) => {
|
|
B6 = Sw(e.styleDefault, {
|
|
family: Je.familyDefault
|
|
});
|
|
});
|
|
Cre();
|
|
function Y6(e, t) {
|
|
return (Ore[e] || {})[t];
|
|
}
|
|
function fUe(e, t) {
|
|
return (Sre[e] || {})[t];
|
|
}
|
|
function bu(e, t) {
|
|
return (Pre[e] || {})[t];
|
|
}
|
|
function Nre(e) {
|
|
return Ere[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function dUe(e) {
|
|
const t = Are[e], r = Y6("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function zc() {
|
|
return B6;
|
|
}
|
|
const Tre = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function pUe(e) {
|
|
let t = Cn;
|
|
const r = _re.reduce((n, o) => (n[o] = "".concat(Je.cssPrefix, "-").concat(o), n), {});
|
|
return fre.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => lUe[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Sw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Cn
|
|
} = t, n = VGe[r][e];
|
|
if (r === _w && !e)
|
|
return "fad";
|
|
const o = nz[r][e] || nz[r][n], a = e in oi.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function mUe(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = uUe(Je.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function sz(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Ew(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Y5.concat(CGe), a = sz(e.filter((l) => o.includes(l))), i = sz(e.filter((l) => !Y5.includes(l))), s = a.filter((l) => (n = l, !ure.includes(l))), [u = null] = s, c = pUe(a), d = Se(Se({}, mUe(i)), {}, {
|
|
prefix: Sw(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return Se(Se(Se({}, d), yUe({
|
|
values: e,
|
|
family: c,
|
|
styles: gb,
|
|
config: Je,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), hUe(r, n, d));
|
|
}
|
|
function hUe(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? Nre(o) : {}, i = bu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !gb.far && gb.fas && !Je.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const gUe = fre.filter((e) => e !== Cn || e !== _w), bUe = Object.keys(B5).filter((e) => e !== Cn).map((e) => Object.keys(B5[e])).flat();
|
|
function yUe(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === _w, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && gUe.includes(r) && (Object.keys(a).find((l) => bUe.includes(l)) || i.autoFetchSvg)) {
|
|
const l = $Ge.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = bu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = zc() || "fas"), n;
|
|
}
|
|
class vUe {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = Se(Se({}, this.definitions[a] || {}), o[a]), Z5(a, o[a]);
|
|
const i = H6[Cn][a];
|
|
i && Z5(i, o[a]), Cre();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let lz = [], Xf = {};
|
|
const Td = {}, xUe = Object.keys(Td);
|
|
function wUe(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return lz = e, Xf = {}, Object.keys(Td).forEach((n) => {
|
|
xUe.indexOf(n) === -1 && delete Td[n];
|
|
}), lz.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Xf[i] || (Xf[i] = []), Xf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Td);
|
|
}), r;
|
|
}
|
|
function e4(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Xf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function rf(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Xf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Wc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Td[e] ? Td[e].apply(null, t) : void 0;
|
|
}
|
|
function t4(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || zc();
|
|
if (t)
|
|
return t = bu(r, t) || t, az(Ire.definitions, r, t) || az(oi.styles, r, t);
|
|
}
|
|
const Ire = new vUe(), $Ue = () => {
|
|
Je.autoReplaceSvg = !1, Je.observeMutations = !1, rf("noAuto");
|
|
}, kUe = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return _s ? (rf("beforeI2svg", e), Wc("pseudoElements2svg", e), Wc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Je.autoReplaceSvg === !1 && (Je.autoReplaceSvg = !0), Je.observeMutations = !0, oUe(() => {
|
|
OUe({
|
|
autoReplaceSvgRoot: t
|
|
}), rf("watch", e);
|
|
});
|
|
}
|
|
}, _Ue = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: bu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = Sw(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: bu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Je.cssPrefix, "-")) > -1 || e.match(HGe))) {
|
|
const t = Ew(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || zc(),
|
|
iconName: bu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = zc();
|
|
return {
|
|
prefix: t,
|
|
iconName: bu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, bo = {
|
|
noAuto: $Ue,
|
|
config: Je,
|
|
dom: kUe,
|
|
parse: _Ue,
|
|
library: Ire,
|
|
findIconDefinition: t4,
|
|
toHtml: oy
|
|
}, OUe = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Yr
|
|
} = e;
|
|
(Object.keys(oi.styles).length > 0 || Je.autoFetchSvg) && _s && Je.autoReplaceSvg && bo.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Aw(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => oy(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!_s) return;
|
|
const r = Yr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function SUe(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (U6(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Ow(Se(Se({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function EUe(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Je.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: Se(Se({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function q6(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = EGe.includes(n), m = [Je.replacementClass, o ? "".concat(Je.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: Se(Se({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[tf] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || hb())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = Se(Se({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: Se(Se({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? Wc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Wc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? EUe($) : SUe($);
|
|
}
|
|
function cz(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = Se(Se(Se({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[tf] = "");
|
|
const c = Se({}, i.styles);
|
|
U6(o) && (c.transform = tUe({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Ow(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function AUe(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = Se(Se(Se({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Ow(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: E_
|
|
} = oi;
|
|
function r4(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Je.cssPrefix, "-").concat(__.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Je.cssPrefix, "-").concat(__.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Je.cssPrefix, "-").concat(__.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const PUe = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function CUe(e, t) {
|
|
!hre && !Je.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function n4(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Je.styleDefault !== null && (t = zc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = Nre(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && E_[t] && E_[t][e]) {
|
|
const a = E_[t][e];
|
|
return n(r4(a));
|
|
}
|
|
CUe(e, t), n(Se(Se({}, PUe), {}, {
|
|
icon: Je.showMissingIcons && e ? Wc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const uz = () => {
|
|
}, o4 = Je.measurePerformance && bv && bv.mark && bv.measure ? bv : {
|
|
mark: uz,
|
|
measure: uz
|
|
}, $h = 'FA "6.7.2"', NUe = (e) => (o4.mark("".concat($h, " ").concat(e, " begins")), () => jre(e)), jre = (e) => {
|
|
o4.mark("".concat($h, " ").concat(e, " ends")), o4.measure("".concat($h, " ").concat(e), "".concat($h, " ").concat(e, " begins"), "".concat($h, " ").concat(e, " ends"));
|
|
};
|
|
var K6 = {
|
|
begin: NUe,
|
|
end: jre
|
|
};
|
|
const c1 = () => {
|
|
};
|
|
function fz(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(tf) : null) == "string";
|
|
}
|
|
function TUe(e) {
|
|
const t = e.getAttribute ? e.getAttribute(W6) : null, r = e.getAttribute ? e.getAttribute(V6) : null;
|
|
return t && r;
|
|
}
|
|
function IUe(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Je.replacementClass);
|
|
}
|
|
function jUe() {
|
|
return Je.autoReplaceSvg === !0 ? u1.replace : u1[Je.autoReplaceSvg] || u1.replace;
|
|
}
|
|
function RUe(e) {
|
|
return Yr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function MUe(e) {
|
|
return Yr.createElement(e);
|
|
}
|
|
function Rre(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? RUe : MUe
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Yr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(Rre(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function DUe(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const u1 = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(Rre(r), t);
|
|
}), t.getAttribute(tf) === null && Je.keepOriginalSource) {
|
|
let r = Yr.createComment(DUe(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~G6(t).indexOf(Je.replacementClass))
|
|
return u1.replace(e);
|
|
const n = new RegExp("".concat(Je.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Je.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => oy(a)).join(`
|
|
`);
|
|
t.setAttribute(tf, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function dz(e) {
|
|
e();
|
|
}
|
|
function Mre(e, t) {
|
|
const r = typeof t == "function" ? t : c1;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = dz;
|
|
Je.mutateApproach === zGe && (n = Lc.requestAnimationFrame || dz), n(() => {
|
|
const o = jUe(), a = K6.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let X6 = !1;
|
|
function Dre() {
|
|
X6 = !0;
|
|
}
|
|
function a4() {
|
|
X6 = !1;
|
|
}
|
|
let k0 = null;
|
|
function pz(e) {
|
|
if (!Z8 || !Je.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = c1,
|
|
nodeCallback: r = c1,
|
|
pseudoElementsCallback: n = c1,
|
|
observeMutationsRoot: o = Yr
|
|
} = e;
|
|
k0 = new Z8((a) => {
|
|
if (X6) return;
|
|
const i = zc();
|
|
Np(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !fz(s.addedNodes[0]) && (Je.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Je.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && fz(s.target) && ~BGe.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && TUe(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Ew(G6(s.target));
|
|
s.target.setAttribute(W6, u || i), c && s.target.setAttribute(V6, c);
|
|
} else IUe(s.target) && r(s.target);
|
|
});
|
|
}), _s && k0.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function FUe() {
|
|
k0 && k0.disconnect();
|
|
}
|
|
function LUe(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function zUe(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Ew(G6(e));
|
|
return o.prefix || (o.prefix = zc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = fUe(o.prefix, e.innerText) || Y6(o.prefix, kre(e.innerText))), !o.iconName && Je.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function WUe(e) {
|
|
const t = Np(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Je.autoA11y && (r ? t["aria-labelledby"] = "".concat(Je.replacementClass, "-title-").concat(n || hb()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function VUe() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: ni,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function mz(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = zUe(e), a = WUe(e), i = e4("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? LUe(e) : [];
|
|
return Se({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: ni,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: HUe
|
|
} = oi;
|
|
function Fre(e) {
|
|
const t = Je.autoReplaceSvg === "nest" ? mz(e, {
|
|
styleParser: !1
|
|
}) : mz(e);
|
|
return ~t.extra.classes.indexOf(bre) ? Wc("generateLayersText", e, t) : Wc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function GUe() {
|
|
return [..._Ge, ...Y5];
|
|
}
|
|
function hz(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!_s) return Promise.resolve();
|
|
const r = Yr.documentElement.classList, n = (d) => r.add("".concat(rz, "-").concat(d)), o = (d) => r.remove("".concat(rz, "-").concat(d)), a = Je.autoFetchSvg ? GUe() : ure.concat(Object.keys(HUe));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(bre, ":not([").concat(tf, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(tf, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Np(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = K6.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = Fre(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
hre || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
Mre(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function UUe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
Fre(e).then((r) => {
|
|
r && Mre([r], t);
|
|
});
|
|
}
|
|
function BUe(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : t4(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : t4(o || {})), e(n, Se(Se({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const YUe = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ni,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return Aw(Se({
|
|
type: "icon"
|
|
}, e), () => (rf("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Je.autoA11y && (i ? c["aria-labelledby"] = "".concat(Je.replacementClass, "-title-").concat(s || hb()) : (c["aria-hidden"] = "true", c.focusable = "false")), q6({
|
|
icons: {
|
|
main: r4(p),
|
|
mask: o ? r4(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: Se(Se({}, ni), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var qUe = {
|
|
mixout() {
|
|
return {
|
|
icon: BUe(YUe)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = hz, e.nodeCallback = UUe, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Yr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return hz(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([n4(n, i), c.iconName ? n4(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, q6({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Ow(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return U6(a) && (u = Wc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, KUe = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Aw({
|
|
type: "layer"
|
|
}, () => {
|
|
rf("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Je.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, XUe = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Aw({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (rf("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), AUe({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Je.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, JUe = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ni,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Aw({
|
|
type: "text",
|
|
content: e
|
|
}, () => (rf("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), cz({
|
|
content: e,
|
|
transform: Se(Se({}, ni), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Je.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (lre) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Je.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, cz({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const QUe = new RegExp('"', "ug"), gz = [1105920, 1112319], bz = Se(Se(Se(Se({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), wGe), FGe), NGe), i4 = Object.keys(bz).reduce((e, t) => (e[t.toLowerCase()] = bz[t], e), {}), ZUe = Object.keys(i4).reduce((e, t) => {
|
|
const r = i4[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function eBe(e) {
|
|
const t = e.replace(QUe, ""), r = iUe(t, 0), n = r >= gz[0] && r <= gz[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: kre(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function tBe(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (i4[r] || {})[o] || ZUe[r];
|
|
}
|
|
function yz(e, t) {
|
|
const r = "".concat(LGe).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Np(e.children).filter((l) => l.getAttribute(K5) === t)[0], i = Lc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(GGe), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = tBe(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = eBe(l), m = u[0].startsWith("FontAwesome");
|
|
let h = Y6(f, p), w = h;
|
|
if (m) {
|
|
const $ = dUe(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(W6) !== f || a.getAttribute(V6) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = VUe(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[K5] = t, n4(h, f).then((S) => {
|
|
const b = q6(Se(Se({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: Tre()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = Yr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => oy(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function rBe(e) {
|
|
return Promise.all([yz(e, "::before"), yz(e, "::after")]);
|
|
}
|
|
function nBe(e) {
|
|
return e.parentNode !== document.head && !~WGe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(K5) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function vz(e) {
|
|
if (_s)
|
|
return new Promise((t, r) => {
|
|
const n = Np(e.querySelectorAll("*")).filter(nBe).map(rBe), o = K6.begin("searchPseudoElements");
|
|
Dre(), Promise.all(n).then(() => {
|
|
o(), a4(), t();
|
|
}).catch(() => {
|
|
o(), a4(), r();
|
|
});
|
|
});
|
|
}
|
|
var oBe = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = vz, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Yr
|
|
} = t;
|
|
Je.searchPseudoElements && vz(r);
|
|
};
|
|
}
|
|
};
|
|
let xz = !1;
|
|
var aBe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
Dre(), xz = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
pz(e4("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
FUe();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
xz ? a4() : pz(e4("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const wz = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var iBe = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => wz(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = wz(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: Se({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: Se({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: Se(Se({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const A_ = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function $z(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function sBe(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var lBe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Ew(r.split(" ").map((o) => o.trim())) : Tre();
|
|
return n.prefix || (n.prefix = zc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = eUe({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: Se(Se({}, A_), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map($z)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: Se({}, f.inner),
|
|
children: [$z(Se({
|
|
tag: c.tag,
|
|
attributes: Se(Se({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: Se({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || hb()), $ = "clip-".concat(i || hb()), _ = {
|
|
tag: "mask",
|
|
attributes: Se(Se({}, A_), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: sBe(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: Se({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, A_)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, cBe = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Lc.matchMedia && (t = Lc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: Se(Se({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = Se(Se({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: Se(Se({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: Se(Se({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: Se(Se({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: Se(Se({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: Se(Se({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: Se(Se({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: Se(Se({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, uBe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, fBe = [nUe, qUe, KUe, XUe, JUe, oBe, aBe, iBe, lBe, cBe, uBe];
|
|
wUe(fBe, {
|
|
mixoutsTo: bo
|
|
});
|
|
bo.noAuto;
|
|
bo.config;
|
|
bo.library;
|
|
bo.dom;
|
|
const s4 = bo.parse;
|
|
bo.findIconDefinition;
|
|
bo.toHtml;
|
|
const dBe = bo.icon;
|
|
bo.layer;
|
|
bo.text;
|
|
bo.counter;
|
|
function pBe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var vv = { exports: {} }, P_ = { exports: {} }, or = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var kz;
|
|
function mBe() {
|
|
if (kz) return or;
|
|
kz = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return or.AsyncMode = u, or.ConcurrentMode = c, or.ContextConsumer = s, or.ContextProvider = i, or.Element = t, or.ForwardRef = d, or.Fragment = n, or.Lazy = y, or.Memo = p, or.Portal = r, or.Profiler = a, or.StrictMode = o, or.Suspense = l, or.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, or.isConcurrentMode = S, or.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, or.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, or.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, or.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, or.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, or.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, or.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, or.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, or.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, or.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, or.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, or.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, or.typeOf = _, or;
|
|
}
|
|
var gr = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var _z;
|
|
function hBe() {
|
|
return _z || (_z = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
gr.AsyncMode = b, gr.ConcurrentMode = F, gr.ContextConsumer = z, gr.ContextProvider = q, gr.Element = Y, gr.ForwardRef = B, gr.Fragment = Z, gr.Lazy = M, gr.Memo = te, gr.Portal = G, gr.Profiler = H, gr.StrictMode = U, gr.Suspense = W, gr.isAsyncMode = ee, gr.isConcurrentMode = v, gr.isContextConsumer = g, gr.isContextProvider = O, gr.isElement = P, gr.isForwardRef = A, gr.isFragment = T, gr.isLazy = N, gr.isMemo = C, gr.isPortal = I, gr.isProfiler = j, gr.isStrictMode = R, gr.isSuspense = Q, gr.isValidElementType = _, gr.typeOf = S;
|
|
}()), gr;
|
|
}
|
|
var Oz;
|
|
function Lre() {
|
|
return Oz || (Oz = 1, process.env.NODE_ENV === "production" ? P_.exports = mBe() : P_.exports = hBe()), P_.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var C_, Sz;
|
|
function gBe() {
|
|
if (Sz) return C_;
|
|
Sz = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return C_ = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, C_;
|
|
}
|
|
var N_, Ez;
|
|
function J6() {
|
|
if (Ez) return N_;
|
|
Ez = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return N_ = e, N_;
|
|
}
|
|
var Az, Pz;
|
|
function zre() {
|
|
return Pz || (Pz = 1, Az = Function.call.bind(Object.prototype.hasOwnProperty)), Az;
|
|
}
|
|
var T_, Cz;
|
|
function bBe() {
|
|
if (Cz) return T_;
|
|
Cz = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ J6(), r = {}, n = /* @__PURE__ */ zre();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, T_ = o, T_;
|
|
}
|
|
var I_, Nz;
|
|
function yBe() {
|
|
if (Nz) return I_;
|
|
Nz = 1;
|
|
var e = Lre(), t = gBe(), r = /* @__PURE__ */ J6(), n = /* @__PURE__ */ zre(), o = /* @__PURE__ */ bBe(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return I_ = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, I_;
|
|
}
|
|
var j_, Tz;
|
|
function vBe() {
|
|
if (Tz) return j_;
|
|
Tz = 1;
|
|
var e = /* @__PURE__ */ J6();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, j_ = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, j_;
|
|
}
|
|
var Iz;
|
|
function xBe() {
|
|
if (Iz) return vv.exports;
|
|
if (Iz = 1, process.env.NODE_ENV !== "production") {
|
|
var e = Lre(), t = !0;
|
|
vv.exports = /* @__PURE__ */ yBe()(e.isElement, t);
|
|
} else
|
|
vv.exports = /* @__PURE__ */ vBe()();
|
|
return vv.exports;
|
|
}
|
|
var wBe = /* @__PURE__ */ xBe();
|
|
const Ft = /* @__PURE__ */ pBe(wBe);
|
|
function jz(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Ca(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? jz(Object(r), !0).forEach(function(n) {
|
|
Jf(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : jz(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function _0(e) {
|
|
"@babel/helpers - typeof";
|
|
return _0 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, _0(e);
|
|
}
|
|
function Jf(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function $Be(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function kBe(e, t) {
|
|
if (e == null) return {};
|
|
var r = $Be(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function l4(e) {
|
|
return _Be(e) || OBe(e) || SBe(e) || EBe();
|
|
}
|
|
function _Be(e) {
|
|
if (Array.isArray(e)) return c4(e);
|
|
}
|
|
function OBe(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function SBe(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return c4(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return c4(e, t);
|
|
}
|
|
}
|
|
function c4(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function EBe() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function ABe(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Jf(t, "fa-".concat(w), typeof w < "u" && w !== null), Jf(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), Jf(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), Jf(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function PBe(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function Wre(e) {
|
|
return PBe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var CBe = ["style"];
|
|
function NBe(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function TBe(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = Wre(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[NBe(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function Vre(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return Vre(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = TBe(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[Wre(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = kBe(r, CBe);
|
|
return o.attrs.style = Ca(Ca({}, o.attrs.style), i), e.apply(void 0, [t.tag, Ca(Ca({}, o.attrs), s)].concat(l4(n)));
|
|
}
|
|
var Hre = !1;
|
|
try {
|
|
Hre = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function IBe() {
|
|
if (!Hre && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function Rz(e) {
|
|
if (e && _0(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (s4.icon)
|
|
return s4.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && _0(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function R_(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Jf({}, e, t) : {};
|
|
}
|
|
var Mz = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, Gre = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = Ca(Ca({}, Mz), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = Rz(n), l = R_("classes", [].concat(l4(ABe(r)), l4((i || "").split(" ")))), f = R_("transform", typeof r.transform == "string" ? s4.transform(r.transform) : r.transform), p = R_("mask", Rz(o)), y = dBe(d, Ca(Ca(Ca(Ca({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return IBe("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
Mz.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), jBe(m[0], h);
|
|
});
|
|
Gre.displayName = "FontAwesomeIcon";
|
|
Gre.propTypes = {
|
|
beat: Ft.bool,
|
|
border: Ft.bool,
|
|
beatFade: Ft.bool,
|
|
bounce: Ft.bool,
|
|
className: Ft.string,
|
|
fade: Ft.bool,
|
|
flash: Ft.bool,
|
|
mask: Ft.oneOfType([Ft.object, Ft.array, Ft.string]),
|
|
maskId: Ft.string,
|
|
fixedWidth: Ft.bool,
|
|
inverse: Ft.bool,
|
|
flip: Ft.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ft.oneOfType([Ft.object, Ft.array, Ft.string]),
|
|
listItem: Ft.bool,
|
|
pull: Ft.oneOf(["right", "left"]),
|
|
pulse: Ft.bool,
|
|
rotation: Ft.oneOf([0, 90, 180, 270]),
|
|
shake: Ft.bool,
|
|
size: Ft.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ft.bool,
|
|
spinPulse: Ft.bool,
|
|
spinReverse: Ft.bool,
|
|
symbol: Ft.oneOfType([Ft.bool, Ft.string]),
|
|
title: Ft.string,
|
|
titleId: Ft.string,
|
|
transform: Ft.oneOfType([Ft.string, Ft.object]),
|
|
swapOpacity: Ft.bool
|
|
};
|
|
var jBe = Vre.bind(null, ae.createElement), f1 = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(f1 || {});
|
|
f1.FEATURED, f1.MINE, f1.BOOKMARKED;
|
|
const Dz = (e) => {
|
|
let t;
|
|
const r = /* @__PURE__ */ new Set(), n = (s, u) => {
|
|
const c = typeof s == "function" ? s(t) : s;
|
|
if (!Object.is(c, t)) {
|
|
const d = t;
|
|
t = u ?? (typeof c != "object" || c === null) ? c : Object.assign({}, t, c), r.forEach((l) => l(t, d));
|
|
}
|
|
}, o = () => t, a = { setState: n, getState: o, getInitialState: () => i, subscribe: (s) => (r.add(s), () => r.delete(s)) }, i = t = e(n, o, a);
|
|
return a;
|
|
}, RBe = (e) => e ? Dz(e) : Dz, MBe = (e) => e;
|
|
function DBe(e, t = MBe) {
|
|
const r = ae.useSyncExternalStore(
|
|
e.subscribe,
|
|
() => t(e.getState()),
|
|
() => t(e.getInitialState())
|
|
);
|
|
return ae.useDebugValue(r), r;
|
|
}
|
|
const Fz = (e) => {
|
|
const t = RBe(e), r = (n) => DBe(t, n);
|
|
return Object.assign(r, t), r;
|
|
}, Ure = (e) => e ? Fz(e) : Fz, FBe = Ure((e) => ({
|
|
isOpen: !1,
|
|
subscription: {
|
|
currentPlanId: "free",
|
|
hasActiveSubscription: !1
|
|
},
|
|
openModal: () => e({ isOpen: !0 }),
|
|
closeModal: () => e({ isOpen: !1 }),
|
|
toggleModal: () => e((t) => ({ isOpen: !t.isOpen })),
|
|
setSubscription: (t) => e((r) => ({
|
|
subscription: { ...r.subscription, ...t }
|
|
})),
|
|
updateCurrentPlan: (t, r) => e((n) => ({
|
|
subscription: {
|
|
...n.subscription,
|
|
currentPlanId: t,
|
|
hasActiveSubscription: r
|
|
}
|
|
}))
|
|
}));
|
|
var LBe = Object.defineProperty, zBe = (e, t, r) => t in e ? LBe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, M_ = (e, t, r) => (zBe(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let WBe = class {
|
|
constructor() {
|
|
M_(this, "current", this.detect()), M_(this, "handoffState", "pending"), M_(this, "currentId", 0);
|
|
}
|
|
set(e) {
|
|
this.current !== e && (this.handoffState = "pending", this.currentId = 0, this.current = e);
|
|
}
|
|
reset() {
|
|
this.set(this.detect());
|
|
}
|
|
nextId() {
|
|
return ++this.currentId;
|
|
}
|
|
get isServer() {
|
|
return this.current === "server";
|
|
}
|
|
get isClient() {
|
|
return this.current === "client";
|
|
}
|
|
detect() {
|
|
return typeof window > "u" || typeof document > "u" ? "server" : "client";
|
|
}
|
|
handoff() {
|
|
this.handoffState === "pending" && (this.handoffState = "complete");
|
|
}
|
|
get isHandoffComplete() {
|
|
return this.handoffState === "complete";
|
|
}
|
|
}, d1 = new WBe();
|
|
function VBe(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function Pw() {
|
|
let e = [], t = { addEventListener(r, n, o, a) {
|
|
return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a));
|
|
}, requestAnimationFrame(...r) {
|
|
let n = requestAnimationFrame(...r);
|
|
return t.add(() => cancelAnimationFrame(n));
|
|
}, nextFrame(...r) {
|
|
return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));
|
|
}, setTimeout(...r) {
|
|
let n = setTimeout(...r);
|
|
return t.add(() => clearTimeout(n));
|
|
}, microTask(...r) {
|
|
let n = { current: !0 };
|
|
return VBe(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, o) {
|
|
let a = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: o }), this.add(() => {
|
|
Object.assign(r.style, { [n]: a });
|
|
});
|
|
}, group(r) {
|
|
let n = Pw();
|
|
return r(n), this.add(() => n.dispose());
|
|
}, add(r) {
|
|
return e.includes(r) || e.push(r), () => {
|
|
let n = e.indexOf(r);
|
|
if (n >= 0) for (let o of e.splice(n, 1)) o();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function Bre() {
|
|
let [e] = de(Pw);
|
|
return ue(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let nc = (e, t) => {
|
|
d1.isServer ? ue(e, t) : pi(e, t);
|
|
};
|
|
function Yre(e) {
|
|
let t = ne(e);
|
|
return nc(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let Di = function(e) {
|
|
let t = Yre(e);
|
|
return ae.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function u4(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function Cw(e, t, ...r) {
|
|
if (e in t) {
|
|
let o = t[e];
|
|
return typeof o == "function" ? o(...r) : o;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, Cw), n;
|
|
}
|
|
var qre = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(qre || {}), Jl = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Jl || {});
|
|
function Kre() {
|
|
let e = GBe();
|
|
return Ne((t) => HBe({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function HBe({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? UBe;
|
|
let u = Xre(t, e);
|
|
if (a) return xv(u, r, n, i, s);
|
|
let c = o ?? 0;
|
|
if (c & 2) {
|
|
let { static: d = !1, ...l } = u;
|
|
if (d) return xv(l, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: d = !0, ...l } = u;
|
|
return Cw(d ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return xv({ ...l, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return xv(u, r, n, i, s);
|
|
}
|
|
function xv(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...u } = D_(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, d = typeof i == "function" ? i(t) : i;
|
|
"className" in u && u.className && typeof u.className == "function" && (u.className = u.className(t)), u["aria-labelledby"] && u["aria-labelledby"] === u.id && (u["aria-labelledby"] = void 0);
|
|
let l = {};
|
|
if (t) {
|
|
let f = !1, p = [];
|
|
for (let [y, m] of Object.entries(t)) typeof m == "boolean" && (f = !0), m === !0 && p.push(y.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
|
|
if (f) {
|
|
l["data-headlessui-state"] = p.join(" ");
|
|
for (let y of p) l[`data-${y}`] = "";
|
|
}
|
|
}
|
|
if (a === Ut && (Object.keys(eu(u)).length > 0 || Object.keys(eu(l)).length > 0)) if (!Fi(d) || Array.isArray(d) && d.length > 1) {
|
|
if (Object.keys(eu(u)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(eu(u)).concat(Object.keys(eu(l))).map((f) => ` - ${f}`).join(`
|
|
`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((f) => ` - ${f}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let f = d.props, p = f == null ? void 0 : f.className, y = typeof p == "function" ? (...w) => u4(p(...w), u.className) : u4(p, u.className), m = y ? { className: y } : {}, h = Xre(d.props, eu(D_(u, ["ref"])));
|
|
for (let w in l) w in h && delete l[w];
|
|
return Li(d, Object.assign({}, h, l, c, { ref: o(BBe(d), c.ref) }, m));
|
|
}
|
|
return vb(a, Object.assign({}, D_(u, ["ref"]), a !== Ut && c, a !== Ut && l), d);
|
|
}
|
|
function GBe() {
|
|
let e = ne([]), t = Ne((r) => {
|
|
for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r);
|
|
}, []);
|
|
return (...r) => {
|
|
if (!r.every((n) => n == null)) return e.current = r, t;
|
|
};
|
|
}
|
|
function UBe(...e) {
|
|
return e.every((t) => t == null) ? void 0 : (t) => {
|
|
for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t);
|
|
};
|
|
}
|
|
function Xre(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => {
|
|
var a;
|
|
return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](o, ...a) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
|
|
s(o, ...a);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function Q6(e) {
|
|
var t;
|
|
return Object.assign(sf(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function eu(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function D_(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function BBe(e) {
|
|
return ae.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
let YBe = Symbol();
|
|
function Jre(...e) {
|
|
let t = ne(e);
|
|
ue(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = Di((n) => {
|
|
for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[YBe])) ? void 0 : r;
|
|
}
|
|
function qBe(e = 0) {
|
|
let [t, r] = de(e), n = Ne((u) => r(u), [t]), o = Ne((u) => r((c) => c | u), [t]), a = Ne((u) => (t & u) === u, [t]), i = Ne((u) => r((c) => c & ~u), [r]), s = Ne((u) => r((c) => c ^ u), [r]);
|
|
return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var Lz, zz;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((Lz = process == null ? void 0 : process.env) == null ? void 0 : Lz.NODE_ENV) === "test" && typeof ((zz = Element == null ? void 0 : Element.prototype) == null ? void 0 : zz.getAnimations) > "u" && (Element.prototype.getAnimations = function() {
|
|
return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.", "Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.", "", "Example usage:", "```js", "import { mockAnimationsApi } from 'jsdom-testing-mocks'", "mockAnimationsApi()", "```"].join(`
|
|
`)), [];
|
|
});
|
|
var KBe = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(KBe || {});
|
|
function XBe(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function JBe(e, t, r, n) {
|
|
let [o, a] = de(r), { hasFlag: i, addFlag: s, removeFlag: u } = qBe(e && o ? 3 : 0), c = ne(!1), d = ne(!1), l = Bre();
|
|
return nc(() => {
|
|
var f;
|
|
if (e) {
|
|
if (r && a(!0), !t) {
|
|
r && s(3);
|
|
return;
|
|
}
|
|
return (f = n == null ? void 0 : n.start) == null || f.call(n, r), QBe(t, { inFlight: c, prepare() {
|
|
d.current ? d.current = !1 : d.current = c.current, c.current = !0, !d.current && (r ? (s(3), u(4)) : (s(4), u(2)));
|
|
}, run() {
|
|
d.current ? r ? (u(3), s(4)) : (u(4), s(3)) : r ? u(1) : s(1);
|
|
}, done() {
|
|
var p;
|
|
d.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, u(7), r || a(!1), (p = n == null ? void 0 : n.end) == null || p.call(n, r));
|
|
} });
|
|
}
|
|
}, [e, r, t, l]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }];
|
|
}
|
|
function QBe(e, { prepare: t, run: r, done: n, inFlight: o }) {
|
|
let a = Pw();
|
|
return eYe(e, { prepare: t, inFlight: o }), a.nextFrame(() => {
|
|
r(), a.requestAnimationFrame(() => {
|
|
a.add(ZBe(e, n));
|
|
});
|
|
}), a.dispose;
|
|
}
|
|
function ZBe(e, t) {
|
|
var r, n;
|
|
let o = Pw();
|
|
if (!e) return o.dispose;
|
|
let a = !1;
|
|
o.add(() => {
|
|
a = !0;
|
|
});
|
|
let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : [];
|
|
return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => {
|
|
a || t();
|
|
}), o.dispose);
|
|
}
|
|
function eYe(e, { inFlight: t, prepare: r }) {
|
|
if (t != null && t.current) {
|
|
r();
|
|
return;
|
|
}
|
|
let n = e.style.transition;
|
|
e.style.transition = "none", r(), e.offsetHeight, e.style.transition = n;
|
|
}
|
|
let Z6 = zt(null);
|
|
Z6.displayName = "OpenClosedContext";
|
|
var yu = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(yu || {});
|
|
function Qre() {
|
|
return nt(Z6);
|
|
}
|
|
function tYe({ value: e, children: t }) {
|
|
return ae.createElement(Z6.Provider, { value: e }, t);
|
|
}
|
|
function rYe() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in V ? ((t) => t.useSyncExternalStore)(V)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function Zre() {
|
|
let e = rYe(), [t, r] = V.useState(d1.isHandoffComplete);
|
|
return t && d1.isHandoffComplete === !1 && r(!1), V.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), V.useEffect(() => d1.handoff(), []), e ? !1 : t;
|
|
}
|
|
function nYe() {
|
|
let e = ne(!1);
|
|
return nc(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function ene(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : rne) !== Ut || ae.Children.count(e.children) === 1;
|
|
}
|
|
let Nw = zt(null);
|
|
Nw.displayName = "TransitionContext";
|
|
var oYe = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(oYe || {});
|
|
function aYe() {
|
|
let e = nt(Nw);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function iYe() {
|
|
let e = nt(Tw);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let Tw = zt(null);
|
|
Tw.displayName = "NestingContext";
|
|
function Iw(e) {
|
|
return "children" in e ? Iw(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function tne(e, t) {
|
|
let r = Yre(e), n = ne([]), o = nYe(), a = Bre(), i = Di((p, y = Jl.Hidden) => {
|
|
let m = n.current.findIndex(({ el: h }) => h === p);
|
|
m !== -1 && (Cw(y, { [Jl.Unmount]() {
|
|
n.current.splice(m, 1);
|
|
}, [Jl.Hidden]() {
|
|
n.current[m].state = "hidden";
|
|
} }), a.microTask(() => {
|
|
var h;
|
|
!Iw(n) && o.current && ((h = r.current) == null || h.call(r));
|
|
}));
|
|
}), s = Di((p) => {
|
|
let y = n.current.find(({ el: m }) => m === p);
|
|
return y ? y.state !== "visible" && (y.state = "visible") : n.current.push({ el: p, state: "visible" }), () => i(p, Jl.Unmount);
|
|
}), u = ne([]), c = ne(Promise.resolve()), d = ne({ enter: [], leave: [] }), l = Di((p, y, m) => {
|
|
u.current.splice(0), t && (t.chains.current[y] = t.chains.current[y].filter(([h]) => h !== p)), t == null || t.chains.current[y].push([p, new Promise((h) => {
|
|
u.current.push(h);
|
|
})]), t == null || t.chains.current[y].push([p, new Promise((h) => {
|
|
Promise.all(d.current[y].map(([w, $]) => $)).then(() => h());
|
|
})]), y === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => m(y)) : m(y);
|
|
}), f = Di((p, y, m) => {
|
|
Promise.all(d.current[y].splice(0).map(([h, w]) => w)).then(() => {
|
|
var h;
|
|
(h = u.current.shift()) == null || h();
|
|
}).then(() => m(y));
|
|
});
|
|
return Ie(() => ({ children: n, register: s, unregister: i, onStart: l, onStop: f, wait: c, chains: d }), [s, i, n, l, f, d, c]);
|
|
}
|
|
let rne = Ut, nne = qre.RenderStrategy;
|
|
function sYe(e, t) {
|
|
var r, n;
|
|
let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: u, enter: c, enterFrom: d, enterTo: l, entered: f, leave: p, leaveFrom: y, leaveTo: m, ...h } = e, [w, $] = de(null), _ = ne(null), S = ene(e), b = Jre(...S ? [_, t, $] : t === null ? [] : [t]), F = (r = h.unmount) == null || r ? Jl.Unmount : Jl.Hidden, { show: z, appear: q, initial: Y } = aYe(), [B, Z] = de(z ? "visible" : "hidden"), M = iYe(), { register: te, unregister: G } = M;
|
|
nc(() => te(_), [te, _]), nc(() => {
|
|
if (F === Jl.Hidden && _.current) {
|
|
if (z && B !== "visible") {
|
|
Z("visible");
|
|
return;
|
|
}
|
|
return Cw(B, { hidden: () => G(_), visible: () => te(_) });
|
|
}
|
|
}, [B, _, te, G, z, F]);
|
|
let H = Zre();
|
|
nc(() => {
|
|
if (S && H && B === "visible" && _.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [_, B, H, S]);
|
|
let U = Y && !q, W = q && z && Y, X = ne(!1), ee = tne(() => {
|
|
X.current || (Z("hidden"), G(_));
|
|
}, M), v = Di((C) => {
|
|
X.current = !0;
|
|
let I = C ? "enter" : "leave";
|
|
ee.onStart(_, I, (j) => {
|
|
j === "enter" ? a == null || a() : j === "leave" && (s == null || s());
|
|
});
|
|
}), g = Di((C) => {
|
|
let I = C ? "enter" : "leave";
|
|
X.current = !1, ee.onStop(_, I, (j) => {
|
|
j === "enter" ? i == null || i() : j === "leave" && (u == null || u());
|
|
}), I === "leave" && !Iw(ee) && (Z("hidden"), G(_));
|
|
});
|
|
ue(() => {
|
|
S && o || (v(z), g(z));
|
|
}, [z, S, o]);
|
|
let O = !(!o || !S || !H || U), [, P] = JBe(O, w, z, { start: v, end: g }), A = eu({ ref: b, className: ((n = u4(h.className, W && c, W && d, P.enter && c, P.enter && P.closed && d, P.enter && !P.closed && l, P.leave && p, P.leave && !P.closed && y, P.leave && P.closed && m, !P.transition && z && f)) == null ? void 0 : n.trim()) || void 0, ...XBe(P) }), T = 0;
|
|
B === "visible" && (T |= yu.Open), B === "hidden" && (T |= yu.Closed), z && B === "hidden" && (T |= yu.Opening), !z && B === "visible" && (T |= yu.Closing);
|
|
let N = Kre();
|
|
return ae.createElement(Tw.Provider, { value: ee }, ae.createElement(tYe, { value: T }, N({ ourProps: A, theirProps: h, defaultTag: rne, features: nne, visible: B === "visible", name: "Transition.Child" })));
|
|
}
|
|
function lYe(e, t) {
|
|
let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = ne(null), s = ene(e), u = Jre(...s ? [i, t] : t === null ? [] : [t]);
|
|
Zre();
|
|
let c = Qre();
|
|
if (r === void 0 && c !== null && (r = (c & yu.Open) === yu.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [d, l] = de(r ? "visible" : "hidden"), f = tne(() => {
|
|
r || l("hidden");
|
|
}), [p, y] = de(!0), m = ne([r]);
|
|
nc(() => {
|
|
p !== !1 && m.current[m.current.length - 1] !== r && (m.current.push(r), y(!1));
|
|
}, [m, r]);
|
|
let h = Ie(() => ({ show: r, appear: n, initial: p }), [r, n, p]);
|
|
nc(() => {
|
|
r ? l("visible") : !Iw(f) && i.current !== null && l("hidden");
|
|
}, [r, f]);
|
|
let w = { unmount: o }, $ = Di(() => {
|
|
var b;
|
|
p && y(!1), (b = e.beforeEnter) == null || b.call(e);
|
|
}), _ = Di(() => {
|
|
var b;
|
|
p && y(!1), (b = e.beforeLeave) == null || b.call(e);
|
|
}), S = Kre();
|
|
return ae.createElement(Tw.Provider, { value: f }, ae.createElement(Nw.Provider, { value: h }, S({ ourProps: { ...w, as: Ut, children: ae.createElement(one, { ref: u, ...w, ...a, beforeEnter: $, beforeLeave: _ }) }, theirProps: {}, defaultTag: Ut, features: nne, visible: d === "visible", name: "Transition" })));
|
|
}
|
|
function cYe(e, t) {
|
|
let r = nt(Nw) !== null, n = Qre() !== null;
|
|
return ae.createElement(ae.Fragment, null, !r && n ? ae.createElement(f4, { ref: t, ...e }) : ae.createElement(one, { ref: t, ...e }));
|
|
}
|
|
let f4 = Q6(lYe), one = Q6(sYe), uYe = Q6(cYe);
|
|
Object.assign(f4, { Child: uYe, Root: f4 });
|
|
const ane = typeof document < "u" ? ae.useLayoutEffect : () => {
|
|
};
|
|
function fYe(e) {
|
|
const t = ne(null);
|
|
return ane(() => {
|
|
t.current = e;
|
|
}, [
|
|
e
|
|
]), Ne((...r) => {
|
|
const n = t.current;
|
|
return n == null ? void 0 : n(...r);
|
|
}, []);
|
|
}
|
|
const qc = (e) => {
|
|
var t;
|
|
return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document;
|
|
}, vu = (e) => e && "window" in e && e.window === e ? e : qc(e).defaultView || window;
|
|
function ine(e, t) {
|
|
return t && e ? e.contains(t) : !1;
|
|
}
|
|
const d4 = (e = document) => e.activeElement;
|
|
function sne(e) {
|
|
return e.target;
|
|
}
|
|
function dYe(e) {
|
|
var t;
|
|
return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((r) => e.test(r.brand))) || e.test(window.navigator.userAgent);
|
|
}
|
|
function pYe(e) {
|
|
var t;
|
|
return typeof window < "u" && window.navigator != null ? e.test(((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.platform) || window.navigator.platform) : !1;
|
|
}
|
|
function lne(e) {
|
|
let t = null;
|
|
return () => (t == null && (t = e()), t);
|
|
}
|
|
const mYe = lne(function() {
|
|
return pYe(/^Mac/i);
|
|
}), hYe = lne(function() {
|
|
return dYe(/Android/i);
|
|
});
|
|
function cne() {
|
|
let e = ne(/* @__PURE__ */ new Map()), t = Ne((o, a, i, s) => {
|
|
let u = s != null && s.once ? (...c) => {
|
|
e.current.delete(i), i(...c);
|
|
} : i;
|
|
e.current.set(i, {
|
|
type: a,
|
|
eventTarget: o,
|
|
fn: u,
|
|
options: s
|
|
}), o.addEventListener(a, u, s);
|
|
}, []), r = Ne((o, a, i, s) => {
|
|
var u;
|
|
let c = ((u = e.current.get(i)) === null || u === void 0 ? void 0 : u.fn) || i;
|
|
o.removeEventListener(a, c, s), e.current.delete(i);
|
|
}, []), n = Ne(() => {
|
|
e.current.forEach((o, a) => {
|
|
r(o.eventTarget, o.type, a, o.options);
|
|
});
|
|
}, [
|
|
r
|
|
]);
|
|
return ue(() => n, [
|
|
n
|
|
]), {
|
|
addGlobalListener: t,
|
|
removeGlobalListener: r,
|
|
removeAllGlobalListeners: n
|
|
};
|
|
}
|
|
function gYe(e) {
|
|
return e.mozInputSource === 0 && e.isTrusted ? !0 : hYe() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
|
|
}
|
|
class une {
|
|
isDefaultPrevented() {
|
|
return this.nativeEvent.defaultPrevented;
|
|
}
|
|
preventDefault() {
|
|
this.defaultPrevented = !0, this.nativeEvent.preventDefault();
|
|
}
|
|
stopPropagation() {
|
|
this.nativeEvent.stopPropagation(), this.isPropagationStopped = () => !0;
|
|
}
|
|
isPropagationStopped() {
|
|
return !1;
|
|
}
|
|
persist() {
|
|
}
|
|
constructor(t, r) {
|
|
this.nativeEvent = r, this.target = r.target, this.currentTarget = r.currentTarget, this.relatedTarget = r.relatedTarget, this.bubbles = r.bubbles, this.cancelable = r.cancelable, this.defaultPrevented = r.defaultPrevented, this.eventPhase = r.eventPhase, this.isTrusted = r.isTrusted, this.timeStamp = r.timeStamp, this.type = t;
|
|
}
|
|
}
|
|
function fne(e) {
|
|
let t = ne({
|
|
isFocused: !1,
|
|
observer: null
|
|
});
|
|
ane(() => {
|
|
const n = t.current;
|
|
return () => {
|
|
n.observer && (n.observer.disconnect(), n.observer = null);
|
|
};
|
|
}, []);
|
|
let r = fYe((n) => {
|
|
e == null || e(n);
|
|
});
|
|
return Ne((n) => {
|
|
if (n.target instanceof HTMLButtonElement || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement || n.target instanceof HTMLSelectElement) {
|
|
t.current.isFocused = !0;
|
|
let o = n.target, a = (i) => {
|
|
t.current.isFocused = !1, o.disabled && r(new une("blur", i)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
|
|
};
|
|
o.addEventListener("focusout", a, {
|
|
once: !0
|
|
}), t.current.observer = new MutationObserver(() => {
|
|
if (t.current.isFocused && o.disabled) {
|
|
var i;
|
|
(i = t.current.observer) === null || i === void 0 || i.disconnect();
|
|
let s = o === document.activeElement ? null : document.activeElement;
|
|
o.dispatchEvent(new FocusEvent("blur", {
|
|
relatedTarget: s
|
|
})), o.dispatchEvent(new FocusEvent("focusout", {
|
|
bubbles: !0,
|
|
relatedTarget: s
|
|
}));
|
|
}
|
|
}), t.current.observer.observe(o, {
|
|
attributes: !0,
|
|
attributeFilter: [
|
|
"disabled"
|
|
]
|
|
});
|
|
}
|
|
}, [
|
|
r
|
|
]);
|
|
}
|
|
let bYe = !1, ay = null, p4 = /* @__PURE__ */ new Set(), mg = /* @__PURE__ */ new Map(), nf = !1, m4 = !1;
|
|
const yYe = {
|
|
Tab: !0,
|
|
Escape: !0
|
|
};
|
|
function eN(e, t) {
|
|
for (let r of p4) r(e, t);
|
|
}
|
|
function vYe(e) {
|
|
return !(e.metaKey || !mYe() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
|
|
}
|
|
function O0(e) {
|
|
nf = !0, vYe(e) && (ay = "keyboard", eN("keyboard", e));
|
|
}
|
|
function Po(e) {
|
|
ay = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (nf = !0, eN("pointer", e));
|
|
}
|
|
function dne(e) {
|
|
gYe(e) && (nf = !0, ay = "virtual");
|
|
}
|
|
function pne(e) {
|
|
e.target === window || e.target === document || bYe || !e.isTrusted || (!nf && !m4 && (ay = "virtual", eN("virtual", e)), nf = !1, m4 = !1);
|
|
}
|
|
function mne() {
|
|
nf = !1, m4 = !0;
|
|
}
|
|
function h4(e) {
|
|
if (typeof window > "u" || mg.get(vu(e))) return;
|
|
const t = vu(e), r = qc(e);
|
|
let n = t.HTMLElement.prototype.focus;
|
|
t.HTMLElement.prototype.focus = function() {
|
|
nf = !0, n.apply(this, arguments);
|
|
}, r.addEventListener("keydown", O0, !0), r.addEventListener("keyup", O0, !0), r.addEventListener("click", dne, !0), t.addEventListener("focus", pne, !0), t.addEventListener("blur", mne, !1), typeof PointerEvent < "u" ? (r.addEventListener("pointerdown", Po, !0), r.addEventListener("pointermove", Po, !0), r.addEventListener("pointerup", Po, !0)) : (r.addEventListener("mousedown", Po, !0), r.addEventListener("mousemove", Po, !0), r.addEventListener("mouseup", Po, !0)), t.addEventListener("beforeunload", () => {
|
|
hne(e);
|
|
}, {
|
|
once: !0
|
|
}), mg.set(t, {
|
|
focus: n
|
|
});
|
|
}
|
|
const hne = (e, t) => {
|
|
const r = vu(e), n = qc(e);
|
|
t && n.removeEventListener("DOMContentLoaded", t), mg.has(r) && (r.HTMLElement.prototype.focus = mg.get(r).focus, n.removeEventListener("keydown", O0, !0), n.removeEventListener("keyup", O0, !0), n.removeEventListener("click", dne, !0), r.removeEventListener("focus", pne, !0), r.removeEventListener("blur", mne, !1), typeof PointerEvent < "u" ? (n.removeEventListener("pointerdown", Po, !0), n.removeEventListener("pointermove", Po, !0), n.removeEventListener("pointerup", Po, !0)) : (n.removeEventListener("mousedown", Po, !0), n.removeEventListener("mousemove", Po, !0), n.removeEventListener("mouseup", Po, !0)), mg.delete(r));
|
|
};
|
|
function xYe(e) {
|
|
const t = qc(e);
|
|
let r;
|
|
return t.readyState !== "loading" ? h4(e) : (r = () => {
|
|
h4(e);
|
|
}, t.addEventListener("DOMContentLoaded", r)), () => hne(e, r);
|
|
}
|
|
typeof document < "u" && xYe();
|
|
function gne() {
|
|
return ay !== "pointer";
|
|
}
|
|
const wYe = /* @__PURE__ */ new Set([
|
|
"checkbox",
|
|
"radio",
|
|
"range",
|
|
"color",
|
|
"file",
|
|
"image",
|
|
"button",
|
|
"submit",
|
|
"reset"
|
|
]);
|
|
function $Ye(e, t, r) {
|
|
let n = qc(r == null ? void 0 : r.target);
|
|
const o = typeof window < "u" ? vu(r == null ? void 0 : r.target).HTMLInputElement : HTMLInputElement, a = typeof window < "u" ? vu(r == null ? void 0 : r.target).HTMLTextAreaElement : HTMLTextAreaElement, i = typeof window < "u" ? vu(r == null ? void 0 : r.target).HTMLElement : HTMLElement, s = typeof window < "u" ? vu(r == null ? void 0 : r.target).KeyboardEvent : KeyboardEvent;
|
|
return e = e || n.activeElement instanceof o && !wYe.has(n.activeElement.type) || n.activeElement instanceof a || n.activeElement instanceof i && n.activeElement.isContentEditable, !(e && t === "keyboard" && r instanceof s && !yYe[r.key]);
|
|
}
|
|
function kYe(e, t, r) {
|
|
h4(), ue(() => {
|
|
let n = (o, a) => {
|
|
$Ye(!!(r != null && r.isTextInput), o, a) && e(gne());
|
|
};
|
|
return p4.add(n), () => {
|
|
p4.delete(n);
|
|
};
|
|
}, t);
|
|
}
|
|
function _Ye(e) {
|
|
let { isDisabled: t, onFocus: r, onBlur: n, onFocusChange: o } = e;
|
|
const a = Ne((u) => {
|
|
if (u.target === u.currentTarget)
|
|
return n && n(u), o && o(!1), !0;
|
|
}, [
|
|
n,
|
|
o
|
|
]), i = fne(a), s = Ne((u) => {
|
|
const c = qc(u.target), d = c ? d4(c) : d4();
|
|
u.target === u.currentTarget && d === sne(u.nativeEvent) && (r && r(u), o && o(!0), i(u));
|
|
}, [
|
|
o,
|
|
r,
|
|
i
|
|
]);
|
|
return {
|
|
focusProps: {
|
|
onFocus: !t && (r || o || n) ? s : void 0,
|
|
onBlur: !t && (n || o) ? a : void 0
|
|
}
|
|
};
|
|
}
|
|
function OYe(e) {
|
|
let { isDisabled: t, onBlurWithin: r, onFocusWithin: n, onFocusWithinChange: o } = e, a = ne({
|
|
isFocusWithin: !1
|
|
}), { addGlobalListener: i, removeAllGlobalListeners: s } = cne(), u = Ne((l) => {
|
|
l.currentTarget.contains(l.target) && a.current.isFocusWithin && !l.currentTarget.contains(l.relatedTarget) && (a.current.isFocusWithin = !1, s(), r && r(l), o && o(!1));
|
|
}, [
|
|
r,
|
|
o,
|
|
a,
|
|
s
|
|
]), c = fne(u), d = Ne((l) => {
|
|
if (!l.currentTarget.contains(l.target)) return;
|
|
const f = qc(l.target), p = d4(f);
|
|
if (!a.current.isFocusWithin && p === sne(l.nativeEvent)) {
|
|
n && n(l), o && o(!0), a.current.isFocusWithin = !0, c(l);
|
|
let y = l.currentTarget;
|
|
i(f, "focus", (m) => {
|
|
if (a.current.isFocusWithin && !ine(y, m.target)) {
|
|
let h = new une("blur", new f.defaultView.FocusEvent("blur", {
|
|
relatedTarget: m.target
|
|
}));
|
|
h.target = y, h.currentTarget = y, u(h);
|
|
}
|
|
}, {
|
|
capture: !0
|
|
});
|
|
}
|
|
}, [
|
|
n,
|
|
o,
|
|
c,
|
|
i,
|
|
u
|
|
]);
|
|
return t ? {
|
|
focusWithinProps: {
|
|
// These cannot be null, that would conflict in mergeProps
|
|
onFocus: void 0,
|
|
onBlur: void 0
|
|
}
|
|
} : {
|
|
focusWithinProps: {
|
|
onFocus: d,
|
|
onBlur: u
|
|
}
|
|
};
|
|
}
|
|
let S0 = !1, F_ = 0;
|
|
function g4() {
|
|
S0 = !0, setTimeout(() => {
|
|
S0 = !1;
|
|
}, 50);
|
|
}
|
|
function Wz(e) {
|
|
e.pointerType === "touch" && g4();
|
|
}
|
|
function SYe() {
|
|
if (!(typeof document > "u"))
|
|
return typeof PointerEvent < "u" ? document.addEventListener("pointerup", Wz) : document.addEventListener("touchend", g4), F_++, () => {
|
|
F_--, !(F_ > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", Wz) : document.removeEventListener("touchend", g4));
|
|
};
|
|
}
|
|
function EYe(e) {
|
|
let { onHoverStart: t, onHoverChange: r, onHoverEnd: n, isDisabled: o } = e, [a, i] = de(!1), s = ne({
|
|
isHovered: !1,
|
|
ignoreEmulatedMouseEvents: !1,
|
|
pointerType: "",
|
|
target: null
|
|
}).current;
|
|
ue(SYe, []);
|
|
let { addGlobalListener: u, removeAllGlobalListeners: c } = cne(), { hoverProps: d, triggerHoverEnd: l } = Ie(() => {
|
|
let f = (m, h) => {
|
|
if (s.pointerType = h, o || h === "touch" || s.isHovered || !m.currentTarget.contains(m.target)) return;
|
|
s.isHovered = !0;
|
|
let w = m.currentTarget;
|
|
s.target = w, u(qc(m.target), "pointerover", ($) => {
|
|
s.isHovered && s.target && !ine(s.target, $.target) && p($, $.pointerType);
|
|
}, {
|
|
capture: !0
|
|
}), t && t({
|
|
type: "hoverstart",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!0), i(!0);
|
|
}, p = (m, h) => {
|
|
let w = s.target;
|
|
s.pointerType = "", s.target = null, !(h === "touch" || !s.isHovered || !w) && (s.isHovered = !1, c(), n && n({
|
|
type: "hoverend",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!1), i(!1));
|
|
}, y = {};
|
|
return typeof PointerEvent < "u" ? (y.onPointerEnter = (m) => {
|
|
S0 && m.pointerType === "mouse" || f(m, m.pointerType);
|
|
}, y.onPointerLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && p(m, m.pointerType);
|
|
}) : (y.onTouchStart = () => {
|
|
s.ignoreEmulatedMouseEvents = !0;
|
|
}, y.onMouseEnter = (m) => {
|
|
!s.ignoreEmulatedMouseEvents && !S0 && f(m, "mouse"), s.ignoreEmulatedMouseEvents = !1;
|
|
}, y.onMouseLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && p(m, "mouse");
|
|
}), {
|
|
hoverProps: y,
|
|
triggerHoverEnd: p
|
|
};
|
|
}, [
|
|
t,
|
|
r,
|
|
n,
|
|
o,
|
|
s,
|
|
u,
|
|
c
|
|
]);
|
|
return ue(() => {
|
|
o && l({
|
|
currentTarget: s.target
|
|
}, s.pointerType);
|
|
}, [
|
|
o
|
|
]), {
|
|
hoverProps: d,
|
|
isHovered: a
|
|
};
|
|
}
|
|
function bne(e = {}) {
|
|
let { autoFocus: t = !1, isTextInput: r, within: n } = e, o = ne({
|
|
isFocused: !1,
|
|
isFocusVisible: t || gne()
|
|
}), [a, i] = de(!1), [s, u] = de(() => o.current.isFocused && o.current.isFocusVisible), c = Ne(() => u(o.current.isFocused && o.current.isFocusVisible), []), d = Ne((p) => {
|
|
o.current.isFocused = p, i(p), c();
|
|
}, [
|
|
c
|
|
]);
|
|
kYe((p) => {
|
|
o.current.isFocusVisible = p, c();
|
|
}, [], {
|
|
isTextInput: r
|
|
});
|
|
let { focusProps: l } = _Ye({
|
|
isDisabled: n,
|
|
onFocusChange: d
|
|
}), { focusWithinProps: f } = OYe({
|
|
isDisabled: !n,
|
|
onFocusWithinChange: d
|
|
});
|
|
return {
|
|
isFocused: a,
|
|
isFocusVisible: s,
|
|
focusProps: n ? f : l
|
|
};
|
|
}
|
|
var AYe = Object.defineProperty, PYe = (e, t, r) => t in e ? AYe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, L_ = (e, t, r) => (PYe(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let CYe = class {
|
|
constructor() {
|
|
L_(this, "current", this.detect()), L_(this, "handoffState", "pending"), L_(this, "currentId", 0);
|
|
}
|
|
set(e) {
|
|
this.current !== e && (this.handoffState = "pending", this.currentId = 0, this.current = e);
|
|
}
|
|
reset() {
|
|
this.set(this.detect());
|
|
}
|
|
nextId() {
|
|
return ++this.currentId;
|
|
}
|
|
get isServer() {
|
|
return this.current === "server";
|
|
}
|
|
get isClient() {
|
|
return this.current === "client";
|
|
}
|
|
detect() {
|
|
return typeof window > "u" || typeof document > "u" ? "server" : "client";
|
|
}
|
|
handoff() {
|
|
this.handoffState === "pending" && (this.handoffState = "complete");
|
|
}
|
|
get isHandoffComplete() {
|
|
return this.handoffState === "complete";
|
|
}
|
|
}, yne = new CYe();
|
|
function vne(e) {
|
|
var t, r;
|
|
return yne.isServer ? null : e ? "ownerDocument" in e ? e.ownerDocument : "current" in e ? (r = (t = e.current) == null ? void 0 : t.ownerDocument) != null ? r : document : null : document;
|
|
}
|
|
function xne(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function wne() {
|
|
let e = [], t = { addEventListener(r, n, o, a) {
|
|
return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a));
|
|
}, requestAnimationFrame(...r) {
|
|
let n = requestAnimationFrame(...r);
|
|
return t.add(() => cancelAnimationFrame(n));
|
|
}, nextFrame(...r) {
|
|
return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));
|
|
}, setTimeout(...r) {
|
|
let n = setTimeout(...r);
|
|
return t.add(() => clearTimeout(n));
|
|
}, microTask(...r) {
|
|
let n = { current: !0 };
|
|
return xne(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, o) {
|
|
let a = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: o }), this.add(() => {
|
|
Object.assign(r.style, { [n]: a });
|
|
});
|
|
}, group(r) {
|
|
let n = wne();
|
|
return r(n), this.add(() => n.dispose());
|
|
}, add(r) {
|
|
return e.includes(r) || e.push(r), () => {
|
|
let n = e.indexOf(r);
|
|
if (n >= 0) for (let o of e.splice(n, 1)) o();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function NYe() {
|
|
let [e] = de(wne);
|
|
return ue(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let Xd = (e, t) => {
|
|
yne.isServer ? ue(e, t) : pi(e, t);
|
|
};
|
|
function kh(e) {
|
|
let t = ne(e);
|
|
return Xd(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let ai = function(e) {
|
|
let t = kh(e);
|
|
return ae.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function TYe(e) {
|
|
let t = e.width / 2, r = e.height / 2;
|
|
return { top: e.clientY - r, right: e.clientX + t, bottom: e.clientY + r, left: e.clientX - t };
|
|
}
|
|
function IYe(e, t) {
|
|
return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
|
|
}
|
|
function jYe({ disabled: e = !1 } = {}) {
|
|
let t = ne(null), [r, n] = de(!1), o = NYe(), a = ai(() => {
|
|
t.current = null, n(!1), o.dispose();
|
|
}), i = ai((s) => {
|
|
if (o.dispose(), t.current === null) {
|
|
t.current = s.currentTarget, n(!0);
|
|
{
|
|
let u = vne(s.currentTarget);
|
|
o.addEventListener(u, "pointerup", a, !1), o.addEventListener(u, "pointermove", (c) => {
|
|
if (t.current) {
|
|
let d = TYe(c);
|
|
n(IYe(d, t.current.getBoundingClientRect()));
|
|
}
|
|
}, !1), o.addEventListener(u, "pointercancel", a, !1);
|
|
}
|
|
}
|
|
});
|
|
return { pressed: r, pressProps: e ? {} : { onPointerDown: i, onPointerUp: a, onClick: a } };
|
|
}
|
|
function Vz(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function ku(e, t, ...r) {
|
|
if (e in t) {
|
|
let o = t[e];
|
|
return typeof o == "function" ? o(...r) : o;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, ku), n;
|
|
}
|
|
var b4 = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(b4 || {}), RYe = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(RYe || {});
|
|
function Tp() {
|
|
let e = DYe();
|
|
return Ne((t) => MYe({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function MYe({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? FYe;
|
|
let u = $ne(t, e);
|
|
if (a) return wv(u, r, n, i, s);
|
|
let c = o ?? 0;
|
|
if (c & 2) {
|
|
let { static: d = !1, ...l } = u;
|
|
if (d) return wv(l, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: d = !0, ...l } = u;
|
|
return ku(d ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return wv({ ...l, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return wv(u, r, n, i, s);
|
|
}
|
|
function wv(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...u } = z_(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, d = typeof i == "function" ? i(t) : i;
|
|
"className" in u && u.className && typeof u.className == "function" && (u.className = u.className(t)), u["aria-labelledby"] && u["aria-labelledby"] === u.id && (u["aria-labelledby"] = void 0);
|
|
let l = {};
|
|
if (t) {
|
|
let f = !1, p = [];
|
|
for (let [y, m] of Object.entries(t)) typeof m == "boolean" && (f = !0), m === !0 && p.push(y.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
|
|
if (f) {
|
|
l["data-headlessui-state"] = p.join(" ");
|
|
for (let y of p) l[`data-${y}`] = "";
|
|
}
|
|
}
|
|
if (a === Ut && (Object.keys($f(u)).length > 0 || Object.keys($f(l)).length > 0)) if (!Fi(d) || Array.isArray(d) && d.length > 1) {
|
|
if (Object.keys($f(u)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${n} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys($f(u)).concat(Object.keys($f(l))).map((f) => ` - ${f}`).join(`
|
|
`), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".', "Render a single element as the child so that we can forward the props onto that element."].map((f) => ` - ${f}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let f = d.props, p = f == null ? void 0 : f.className, y = typeof p == "function" ? (...w) => Vz(p(...w), u.className) : Vz(p, u.className), m = y ? { className: y } : {}, h = $ne(d.props, $f(z_(u, ["ref"])));
|
|
for (let w in l) w in h && delete l[w];
|
|
return Li(d, Object.assign({}, h, l, c, { ref: o(LYe(d), c.ref) }, m));
|
|
}
|
|
return vb(a, Object.assign({}, z_(u, ["ref"]), a !== Ut && c, a !== Ut && l), d);
|
|
}
|
|
function DYe() {
|
|
let e = ne([]), t = Ne((r) => {
|
|
for (let n of e.current) n != null && (typeof n == "function" ? n(r) : n.current = r);
|
|
}, []);
|
|
return (...r) => {
|
|
if (!r.every((n) => n == null)) return e.current = r, t;
|
|
};
|
|
}
|
|
function FYe(...e) {
|
|
return e.every((t) => t == null) ? void 0 : (t) => {
|
|
for (let r of e) r != null && (typeof r == "function" ? r(t) : r.current = t);
|
|
};
|
|
}
|
|
function $ne(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => {
|
|
var a;
|
|
return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](o, ...a) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
|
|
s(o, ...a);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function kne(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
for (let n in r) Object.assign(t, { [n](...o) {
|
|
let a = r[n];
|
|
for (let i of a) i == null || i(...o);
|
|
} });
|
|
return t;
|
|
}
|
|
function Ip(e) {
|
|
var t;
|
|
return Object.assign(sf(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function $f(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function z_(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function LYe(e) {
|
|
return ae.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
let zYe = "span";
|
|
var _ne = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(_ne || {});
|
|
function WYe(e, t) {
|
|
var r;
|
|
let { features: n = 1, ...o } = e, a = { ref: t, "aria-hidden": (n & 2) === 2 ? !0 : (r = o["aria-hidden"]) != null ? r : void 0, hidden: (n & 4) === 4 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } };
|
|
return Tp()({ ourProps: a, theirProps: o, slot: {}, defaultTag: zYe, name: "Hidden" });
|
|
}
|
|
let One = Ip(WYe), VYe = Symbol();
|
|
function iy(...e) {
|
|
let t = ne(e);
|
|
ue(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = ai((n) => {
|
|
for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[VYe])) ? void 0 : r;
|
|
}
|
|
var Xo = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(Xo || {});
|
|
let HYe = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(","), GYe = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
|
|
var Jo = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e[e.AutoFocus = 64] = "AutoFocus", e))(Jo || {}), _h = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(_h || {}), UYe = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(UYe || {});
|
|
function BYe(e = document.body) {
|
|
return e == null ? [] : Array.from(e.querySelectorAll(HYe)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER)));
|
|
}
|
|
function YYe(e = document.body) {
|
|
return e == null ? [] : Array.from(e.querySelectorAll(GYe)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER)));
|
|
}
|
|
var qYe = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(qYe || {}), KYe = ((e) => (e[e.Keyboard = 0] = "Keyboard", e[e.Mouse = 1] = "Mouse", e))(KYe || {});
|
|
typeof window < "u" && typeof document < "u" && (document.addEventListener("keydown", (e) => {
|
|
e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
|
|
}, !0), document.addEventListener("click", (e) => {
|
|
e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = "");
|
|
}, !0));
|
|
let XYe = ["textarea", "input"].join(",");
|
|
function JYe(e) {
|
|
var t, r;
|
|
return (r = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, XYe)) != null ? r : !1;
|
|
}
|
|
function Qf(e, t = (r) => r) {
|
|
return e.slice().sort((r, n) => {
|
|
let o = t(r), a = t(n);
|
|
if (o === null || a === null) return 0;
|
|
let i = o.compareDocumentPosition(a);
|
|
return i & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : i & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
|
|
});
|
|
}
|
|
function kf(e, t, { sorted: r = !0, relativeTo: n = null, skipElements: o = [] } = {}) {
|
|
let a = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, i = Array.isArray(e) ? r ? Qf(e) : e : t & 64 ? YYe(e) : BYe(e);
|
|
o.length > 0 && i.length > 1 && (i = i.filter((p) => !o.some((y) => y != null && "current" in y ? (y == null ? void 0 : y.current) === p : y === p))), n = n ?? a.activeElement;
|
|
let s = (() => {
|
|
if (t & 5) return 1;
|
|
if (t & 10) return -1;
|
|
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
|
|
})(), u = (() => {
|
|
if (t & 1) return 0;
|
|
if (t & 2) return Math.max(0, i.indexOf(n)) - 1;
|
|
if (t & 4) return Math.max(0, i.indexOf(n)) + 1;
|
|
if (t & 8) return i.length - 1;
|
|
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
|
|
})(), c = t & 32 ? { preventScroll: !0 } : {}, d = 0, l = i.length, f;
|
|
do {
|
|
if (d >= l || d + l <= 0) return 0;
|
|
let p = u + d;
|
|
if (t & 16) p = (p + l) % l;
|
|
else {
|
|
if (p < 0) return 3;
|
|
if (p >= l) return 1;
|
|
}
|
|
f = i[p], f == null || f.focus(c), d += s;
|
|
} while (f !== a.activeElement);
|
|
return t & 6 && JYe(f) && f.select(), 2;
|
|
}
|
|
function QYe(e, t) {
|
|
return Ie(() => {
|
|
var r;
|
|
if (e.type) return e.type;
|
|
let n = (r = e.as) != null ? r : "button";
|
|
if (typeof n == "string" && n.toLowerCase() === "button" || (t == null ? void 0 : t.tagName) === "BUTTON" && !t.hasAttribute("type")) return "button";
|
|
}, [e.type, e.as, t]);
|
|
}
|
|
function ZYe() {
|
|
let e = ne(!1);
|
|
return Xd(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function eqe({ onFocus: e }) {
|
|
let [t, r] = de(!0), n = ZYe();
|
|
return t ? ae.createElement(One, { as: "button", type: "button", features: _ne.Focusable, onFocus: (o) => {
|
|
o.preventDefault();
|
|
let a, i = 50;
|
|
function s() {
|
|
if (i-- <= 0) {
|
|
a && cancelAnimationFrame(a);
|
|
return;
|
|
}
|
|
if (e()) {
|
|
if (cancelAnimationFrame(a), !n.current) return;
|
|
r(!1);
|
|
return;
|
|
}
|
|
a = requestAnimationFrame(s);
|
|
}
|
|
a = requestAnimationFrame(s);
|
|
} }) : null;
|
|
}
|
|
const Sne = V.createContext(null);
|
|
function tqe() {
|
|
return { groups: /* @__PURE__ */ new Map(), get(e, t) {
|
|
var r;
|
|
let n = this.groups.get(e);
|
|
n || (n = /* @__PURE__ */ new Map(), this.groups.set(e, n));
|
|
let o = (r = n.get(t)) != null ? r : 0;
|
|
n.set(t, o + 1);
|
|
let a = Array.from(n.keys()).indexOf(t);
|
|
function i() {
|
|
let s = n.get(t);
|
|
s > 1 ? n.set(t, s - 1) : n.delete(t);
|
|
}
|
|
return [a, i];
|
|
} };
|
|
}
|
|
function rqe({ children: e }) {
|
|
let t = V.useRef(tqe());
|
|
return V.createElement(Sne.Provider, { value: t }, e);
|
|
}
|
|
function Ene(e) {
|
|
let t = V.useContext(Sne);
|
|
if (!t) throw new Error("You must wrap your component in a <StableCollection>");
|
|
let r = V.useId(), [n, o] = t.current.get(e, r);
|
|
return V.useEffect(() => o, []), n;
|
|
}
|
|
var nqe = ((e) => (e[e.Forwards = 0] = "Forwards", e[e.Backwards = 1] = "Backwards", e))(nqe || {}), oqe = ((e) => (e[e.Less = -1] = "Less", e[e.Equal = 0] = "Equal", e[e.Greater = 1] = "Greater", e))(oqe || {}), aqe = ((e) => (e[e.SetSelectedIndex = 0] = "SetSelectedIndex", e[e.RegisterTab = 1] = "RegisterTab", e[e.UnregisterTab = 2] = "UnregisterTab", e[e.RegisterPanel = 3] = "RegisterPanel", e[e.UnregisterPanel = 4] = "UnregisterPanel", e))(aqe || {});
|
|
let iqe = { 0(e, t) {
|
|
var r;
|
|
let n = Qf(e.tabs, (d) => d.current), o = Qf(e.panels, (d) => d.current), a = n.filter((d) => {
|
|
var l;
|
|
return !((l = d.current) != null && l.hasAttribute("disabled"));
|
|
}), i = { ...e, tabs: n, panels: o };
|
|
if (t.index < 0 || t.index > n.length - 1) {
|
|
let d = ku(Math.sign(t.index - e.selectedIndex), { [-1]: () => 1, 0: () => ku(Math.sign(t.index), { [-1]: () => 0, 0: () => 0, 1: () => 1 }), 1: () => 0 });
|
|
if (a.length === 0) return i;
|
|
let l = ku(d, { 0: () => n.indexOf(a[0]), 1: () => n.indexOf(a[a.length - 1]) });
|
|
return { ...i, selectedIndex: l === -1 ? e.selectedIndex : l };
|
|
}
|
|
let s = n.slice(0, t.index), u = [...n.slice(t.index), ...s].find((d) => a.includes(d));
|
|
if (!u) return i;
|
|
let c = (r = n.indexOf(u)) != null ? r : e.selectedIndex;
|
|
return c === -1 && (c = e.selectedIndex), { ...i, selectedIndex: c };
|
|
}, 1(e, t) {
|
|
if (e.tabs.includes(t.tab)) return e;
|
|
let r = e.tabs[e.selectedIndex], n = Qf([...e.tabs, t.tab], (a) => a.current), o = e.selectedIndex;
|
|
return e.info.current.isControlled || (o = n.indexOf(r), o === -1 && (o = e.selectedIndex)), { ...e, tabs: n, selectedIndex: o };
|
|
}, 2(e, t) {
|
|
return { ...e, tabs: e.tabs.filter((r) => r !== t.tab) };
|
|
}, 3(e, t) {
|
|
return e.panels.includes(t.panel) ? e : { ...e, panels: Qf([...e.panels, t.panel], (r) => r.current) };
|
|
}, 4(e, t) {
|
|
return { ...e, panels: e.panels.filter((r) => r !== t.panel) };
|
|
} }, tN = zt(null);
|
|
tN.displayName = "TabsDataContext";
|
|
function Jd(e) {
|
|
let t = nt(tN);
|
|
if (t === null) {
|
|
let r = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(r, Jd), r;
|
|
}
|
|
return t;
|
|
}
|
|
let rN = zt(null);
|
|
rN.displayName = "TabsActionsContext";
|
|
function nN(e) {
|
|
let t = nt(rN);
|
|
if (t === null) {
|
|
let r = new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(r, nN), r;
|
|
}
|
|
return t;
|
|
}
|
|
function sqe(e, t) {
|
|
return ku(t.type, iqe, e, t);
|
|
}
|
|
let lqe = "div";
|
|
function cqe(e, t) {
|
|
let { defaultIndex: r = 0, vertical: n = !1, manual: o = !1, onChange: a, selectedIndex: i = null, ...s } = e;
|
|
const u = n ? "vertical" : "horizontal", c = o ? "manual" : "auto";
|
|
let d = i !== null, l = kh({ isControlled: d }), f = iy(t), [p, y] = D4(sqe, { info: l, selectedIndex: i ?? r, tabs: [], panels: [] }), m = Ie(() => ({ selectedIndex: p.selectedIndex }), [p.selectedIndex]), h = kh(a || (() => {
|
|
})), w = kh(p.tabs), $ = Ie(() => ({ orientation: u, activation: c, ...p }), [u, c, p]), _ = ai((B) => (y({ type: 1, tab: B }), () => y({ type: 2, tab: B }))), S = ai((B) => (y({ type: 3, panel: B }), () => y({ type: 4, panel: B }))), b = ai((B) => {
|
|
F.current !== B && h.current(B), d || y({ type: 0, index: B });
|
|
}), F = kh(d ? e.selectedIndex : p.selectedIndex), z = Ie(() => ({ registerTab: _, registerPanel: S, change: b }), []);
|
|
Xd(() => {
|
|
y({ type: 0, index: i ?? r });
|
|
}, [i]), Xd(() => {
|
|
if (F.current === void 0 || p.tabs.length <= 0) return;
|
|
let B = Qf(p.tabs, (Z) => Z.current);
|
|
B.some((Z, M) => p.tabs[M] !== Z) && b(B.indexOf(p.tabs[F.current]));
|
|
});
|
|
let q = { ref: f }, Y = Tp();
|
|
return ae.createElement(rqe, null, ae.createElement(rN.Provider, { value: z }, ae.createElement(tN.Provider, { value: $ }, $.tabs.length <= 0 && ae.createElement(eqe, { onFocus: () => {
|
|
var B, Z;
|
|
for (let M of w.current) if (((B = M.current) == null ? void 0 : B.tabIndex) === 0) return (Z = M.current) == null || Z.focus(), !0;
|
|
return !1;
|
|
} }), Y({ ourProps: q, theirProps: s, slot: m, defaultTag: lqe, name: "Tabs" }))));
|
|
}
|
|
let uqe = "div";
|
|
function fqe(e, t) {
|
|
let { orientation: r, selectedIndex: n } = Jd("Tab.List"), o = iy(t), a = Ie(() => ({ selectedIndex: n }), [n]), i = e, s = { ref: o, role: "tablist", "aria-orientation": r };
|
|
return Tp()({ ourProps: s, theirProps: i, slot: a, defaultTag: uqe, name: "Tabs.List" });
|
|
}
|
|
let dqe = "button";
|
|
function pqe(e, t) {
|
|
var r, n;
|
|
let o = ua(), { id: a = `headlessui-tabs-tab-${o}`, disabled: i = !1, autoFocus: s = !1, ...u } = e, { orientation: c, activation: d, selectedIndex: l, tabs: f, panels: p } = Jd("Tab"), y = nN("Tab"), m = Jd("Tab"), [h, w] = de(null), $ = ne(null), _ = iy($, t, w);
|
|
Xd(() => y.registerTab($), [y, $]);
|
|
let S = Ene("tabs"), b = f.indexOf($);
|
|
b === -1 && (b = S);
|
|
let F = b === l, z = ai((v) => {
|
|
var g;
|
|
let O = v();
|
|
if (O === _h.Success && d === "auto") {
|
|
let P = (g = vne($)) == null ? void 0 : g.activeElement, A = m.tabs.findIndex((T) => T.current === P);
|
|
A !== -1 && y.change(A);
|
|
}
|
|
return O;
|
|
}), q = ai((v) => {
|
|
let g = f.map((O) => O.current).filter(Boolean);
|
|
if (v.key === Xo.Space || v.key === Xo.Enter) {
|
|
v.preventDefault(), v.stopPropagation(), y.change(b);
|
|
return;
|
|
}
|
|
switch (v.key) {
|
|
case Xo.Home:
|
|
case Xo.PageUp:
|
|
return v.preventDefault(), v.stopPropagation(), z(() => kf(g, Jo.First));
|
|
case Xo.End:
|
|
case Xo.PageDown:
|
|
return v.preventDefault(), v.stopPropagation(), z(() => kf(g, Jo.Last));
|
|
}
|
|
if (z(() => ku(c, { vertical() {
|
|
return v.key === Xo.ArrowUp ? kf(g, Jo.Previous | Jo.WrapAround) : v.key === Xo.ArrowDown ? kf(g, Jo.Next | Jo.WrapAround) : _h.Error;
|
|
}, horizontal() {
|
|
return v.key === Xo.ArrowLeft ? kf(g, Jo.Previous | Jo.WrapAround) : v.key === Xo.ArrowRight ? kf(g, Jo.Next | Jo.WrapAround) : _h.Error;
|
|
} })) === _h.Success) return v.preventDefault();
|
|
}), Y = ne(!1), B = ai(() => {
|
|
var v;
|
|
Y.current || (Y.current = !0, (v = $.current) == null || v.focus({ preventScroll: !0 }), y.change(b), xne(() => {
|
|
Y.current = !1;
|
|
}));
|
|
}), Z = ai((v) => {
|
|
v.preventDefault();
|
|
}), { isFocusVisible: M, focusProps: te } = bne({ autoFocus: s }), { isHovered: G, hoverProps: H } = EYe({ isDisabled: i }), { pressed: U, pressProps: W } = jYe({ disabled: i }), X = Ie(() => ({ selected: F, hover: G, active: U, focus: M, autofocus: s, disabled: i }), [F, G, M, U, s, i]), ee = kne({ ref: _, onKeyDown: q, onMouseDown: Z, onClick: B, id: a, role: "tab", type: QYe(e, h), "aria-controls": (n = (r = p[b]) == null ? void 0 : r.current) == null ? void 0 : n.id, "aria-selected": F, tabIndex: F ? 0 : -1, disabled: i || void 0, autoFocus: s }, te, H, W);
|
|
return Tp()({ ourProps: ee, theirProps: u, slot: X, defaultTag: dqe, name: "Tabs.Tab" });
|
|
}
|
|
let mqe = "div";
|
|
function hqe(e, t) {
|
|
let { selectedIndex: r } = Jd("Tab.Panels"), n = iy(t), o = Ie(() => ({ selectedIndex: r }), [r]), a = e, i = { ref: n };
|
|
return Tp()({ ourProps: i, theirProps: a, slot: o, defaultTag: mqe, name: "Tabs.Panels" });
|
|
}
|
|
let gqe = "div", bqe = b4.RenderStrategy | b4.Static;
|
|
function yqe(e, t) {
|
|
var r, n, o, a;
|
|
let i = ua(), { id: s = `headlessui-tabs-panel-${i}`, tabIndex: u = 0, ...c } = e, { selectedIndex: d, tabs: l, panels: f } = Jd("Tab.Panel"), p = nN("Tab.Panel"), y = ne(null), m = iy(y, t);
|
|
Xd(() => p.registerPanel(y), [p, y]);
|
|
let h = Ene("panels"), w = f.indexOf(y);
|
|
w === -1 && (w = h);
|
|
let $ = w === d, { isFocusVisible: _, focusProps: S } = bne(), b = Ie(() => ({ selected: $, focus: _ }), [$, _]), F = kne({ ref: m, id: s, role: "tabpanel", "aria-labelledby": (n = (r = l[w]) == null ? void 0 : r.current) == null ? void 0 : n.id, tabIndex: $ ? u : -1 }, S), z = Tp();
|
|
return !$ && ((o = c.unmount) == null || o) && !((a = c.static) != null && a) ? ae.createElement(One, { "aria-hidden": "true", ...F }) : z({ ourProps: F, theirProps: c, slot: b, defaultTag: gqe, features: bqe, visible: $, name: "Tabs.Panel" });
|
|
}
|
|
let vqe = Ip(pqe), xqe = Ip(cqe), wqe = Ip(fqe), $qe = Ip(hqe), kqe = Ip(yqe);
|
|
Object.assign(vqe, { Group: xqe, List: wqe, Panels: $qe, Panel: kqe });
|
|
const _qe = {
|
|
slug: "free",
|
|
name: "Free",
|
|
isPaidPlan: !1,
|
|
monthlyPrice: 0,
|
|
yearlyPrice: 0,
|
|
features: [
|
|
{ text: "Free daily generations", included: !0 },
|
|
{ text: "Limited access to ArtCraft tools", included: !0 }
|
|
],
|
|
colorScheme: "dark"
|
|
}, Oqe = [
|
|
_qe,
|
|
{
|
|
slug: "artcraft_basic",
|
|
name: "Basic",
|
|
isPaidPlan: !0,
|
|
monthlyPrice: 8,
|
|
yearlyPrice: 96,
|
|
originalMonthlyPrice: 10,
|
|
originalYearlyPrice: 120,
|
|
features: [
|
|
{ text: "~1,010 Flux images", included: !0 },
|
|
{ text: "~36,000 real-time images", included: !0 },
|
|
{ text: "~180 enhanced images", included: !0 },
|
|
{ text: "~6 training jobs", included: !0 },
|
|
{ text: "Commercial license", included: !0 }
|
|
],
|
|
colorScheme: "green"
|
|
},
|
|
{
|
|
slug: "artcraft_pro",
|
|
name: "Pro",
|
|
isPaidPlan: !0,
|
|
monthlyPrice: 28,
|
|
yearlyPrice: 336,
|
|
originalMonthlyPrice: 35,
|
|
originalYearlyPrice: 420,
|
|
features: [
|
|
{ text: "~5,048 Flux images", included: !0 },
|
|
{ text: "~180,000 real-time images", included: !0 },
|
|
{ text: "~900 enhanced images", included: !0 },
|
|
{ text: "~30 training jobs", included: !0 },
|
|
{ text: "Commercial license", included: !0 }
|
|
],
|
|
colorScheme: "purple"
|
|
},
|
|
{
|
|
slug: "artcraft_max",
|
|
name: "Max",
|
|
isPaidPlan: !0,
|
|
monthlyPrice: 48,
|
|
yearlyPrice: 576,
|
|
originalMonthlyPrice: 60,
|
|
originalYearlyPrice: 720,
|
|
features: [
|
|
{ text: "~15,142 Flux images", included: !0 },
|
|
{ text: "~540,000 real-time images", included: !0 },
|
|
{ text: "~2,700 enhanced images", included: !0 },
|
|
{ text: "~90 training jobs", included: !0 },
|
|
{ text: "Commercial license", included: !0 }
|
|
],
|
|
colorScheme: "orange"
|
|
}
|
|
];
|
|
new Map(
|
|
Oqe.map((e) => [e.slug, e])
|
|
);
|
|
const Hz = (e) => {
|
|
let t;
|
|
const r = /* @__PURE__ */ new Set(), n = (s, u) => {
|
|
const c = typeof s == "function" ? s(t) : s;
|
|
if (!Object.is(c, t)) {
|
|
const d = t;
|
|
t = u ?? (typeof c != "object" || c === null) ? c : Object.assign({}, t, c), r.forEach((l) => l(t, d));
|
|
}
|
|
}, o = () => t, a = { setState: n, getState: o, getInitialState: () => i, subscribe: (s) => (r.add(s), () => r.delete(s)) }, i = t = e(n, o, a);
|
|
return a;
|
|
}, Sqe = (e) => e ? Hz(e) : Hz, Eqe = (e) => e;
|
|
function Aqe(e, t = Eqe) {
|
|
const r = ae.useSyncExternalStore(
|
|
e.subscribe,
|
|
() => t(e.getState()),
|
|
() => t(e.getInitialState())
|
|
);
|
|
return ae.useDebugValue(r), r;
|
|
}
|
|
const Gz = (e) => {
|
|
const t = Sqe(e), r = (n) => Aqe(t, n);
|
|
return Object.assign(r, t), r;
|
|
}, Pqe = (e) => e ? Gz(e) : Gz;
|
|
async function Cqe(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
const Nqe = async () => {
|
|
try {
|
|
return await Cqe("storyteller_get_subscription_command");
|
|
} catch (e) {
|
|
throw e;
|
|
}
|
|
};
|
|
var Uz;
|
|
(function(e) {
|
|
e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave";
|
|
})(Uz || (Uz = {}));
|
|
Pqe((e, t) => ({
|
|
subscriptionInfo: void 0,
|
|
// Returns true if the user has a paid plan.
|
|
// (We do not store "free" as a plan.)
|
|
hasPaidPlan: () => {
|
|
var r;
|
|
return ((r = t().subscriptionInfo) == null ? void 0 : r.subscriptionToken) !== void 0;
|
|
},
|
|
// Returns true if the user can cancel their plan.
|
|
// (The user can't cancel an already set to cancel/expire plan again)
|
|
canCancelPlan: () => {
|
|
const r = t().subscriptionInfo;
|
|
return (r == null ? void 0 : r.subscriptionToken) !== void 0 && (r == null ? void 0 : r.subscriptionEndAt) === void 0;
|
|
},
|
|
// Call to fetch credits from the server
|
|
fetchFromServer: async () => {
|
|
let r;
|
|
try {
|
|
r = await Nqe();
|
|
} catch (n) {
|
|
console.error("Error fetching subscription", n);
|
|
return;
|
|
}
|
|
if (console.log("Fetched subscription from server: ", r), r.payload) {
|
|
let n;
|
|
r.payload.active_subscription && (n = {
|
|
subscriptionToken: r.payload.active_subscription.subscription_token,
|
|
productSlug: r.payload.active_subscription.product_slug,
|
|
namespace: r.payload.active_subscription.namespace,
|
|
nextBillAt: r.payload.active_subscription.next_bill_at ? new Date(r.payload.active_subscription.next_bill_at) : void 0,
|
|
subscriptionEndAt: r.payload.active_subscription.subscription_end_at ? new Date(r.payload.active_subscription.subscription_end_at) : void 0
|
|
}), e((o) => ({
|
|
subscriptionInfo: n
|
|
}));
|
|
}
|
|
}
|
|
}));
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function Tqe(e, t, r) {
|
|
return (t = jqe(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Bz(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Ee(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Bz(Object(r), !0).forEach(function(n) {
|
|
Tqe(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Bz(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Iqe(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function jqe(e) {
|
|
var t = Iqe(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const Yz = () => {
|
|
};
|
|
let oN = {}, Ane = {}, Pne = null, Cne = {
|
|
mark: Yz,
|
|
measure: Yz
|
|
};
|
|
try {
|
|
typeof window < "u" && (oN = window), typeof document < "u" && (Ane = document), typeof MutationObserver < "u" && (Pne = MutationObserver), typeof performance < "u" && (Cne = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: qz = ""
|
|
} = oN.navigator || {}, Vc = oN, qr = Ane, Kz = Pne, $v = Cne;
|
|
Vc.document;
|
|
const Os = !!qr.documentElement && !!qr.head && typeof qr.addEventListener == "function" && typeof qr.createElement == "function", Nne = ~qz.indexOf("MSIE") || ~qz.indexOf("Trident/");
|
|
var Rqe = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Mqe = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Tne = {
|
|
classic: {
|
|
fa: "solid",
|
|
fas: "solid",
|
|
"fa-solid": "solid",
|
|
far: "regular",
|
|
"fa-regular": "regular",
|
|
fal: "light",
|
|
"fa-light": "light",
|
|
fat: "thin",
|
|
"fa-thin": "thin",
|
|
fab: "brands",
|
|
"fa-brands": "brands"
|
|
},
|
|
duotone: {
|
|
fa: "solid",
|
|
fad: "solid",
|
|
"fa-solid": "solid",
|
|
"fa-duotone": "solid",
|
|
fadr: "regular",
|
|
"fa-regular": "regular",
|
|
fadl: "light",
|
|
"fa-light": "light",
|
|
fadt: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
sharp: {
|
|
fa: "solid",
|
|
fass: "solid",
|
|
"fa-solid": "solid",
|
|
fasr: "regular",
|
|
"fa-regular": "regular",
|
|
fasl: "light",
|
|
"fa-light": "light",
|
|
fast: "thin",
|
|
"fa-thin": "thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fa: "solid",
|
|
fasds: "solid",
|
|
"fa-solid": "solid",
|
|
fasdr: "regular",
|
|
"fa-regular": "regular",
|
|
fasdl: "light",
|
|
"fa-light": "light",
|
|
fasdt: "thin",
|
|
"fa-thin": "thin"
|
|
}
|
|
}, Dqe = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Ine = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Nn = "classic", jw = "duotone", Fqe = "sharp", Lqe = "sharp-duotone", jne = [Nn, jw, Fqe, Lqe], zqe = {
|
|
classic: {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
duotone: {
|
|
900: "fad",
|
|
400: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
sharp: {
|
|
900: "fass",
|
|
400: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, Wqe = {
|
|
"Font Awesome 6 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 6 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal",
|
|
100: "fat"
|
|
},
|
|
"Font Awesome 6 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 6 Duotone": {
|
|
900: "fad",
|
|
400: "fadr",
|
|
normal: "fadr",
|
|
300: "fadl",
|
|
100: "fadt"
|
|
},
|
|
"Font Awesome 6 Sharp": {
|
|
900: "fass",
|
|
400: "fasr",
|
|
normal: "fasr",
|
|
300: "fasl",
|
|
100: "fast"
|
|
},
|
|
"Font Awesome 6 Sharp Duotone": {
|
|
900: "fasds",
|
|
400: "fasdr",
|
|
normal: "fasdr",
|
|
300: "fasdl",
|
|
100: "fasdt"
|
|
}
|
|
}, Vqe = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), Hqe = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, Gqe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Xz = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, Uqe = ["kit"], Bqe = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, Yqe = ["fak", "fakd"], qqe = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, Jz = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, kv = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Kqe = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Xqe = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Jqe = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, Qqe = {
|
|
classic: {
|
|
"fa-brands": "fab",
|
|
"fa-duotone": "fad",
|
|
"fa-light": "fal",
|
|
"fa-regular": "far",
|
|
"fa-solid": "fas",
|
|
"fa-thin": "fat"
|
|
},
|
|
duotone: {
|
|
"fa-regular": "fadr",
|
|
"fa-light": "fadl",
|
|
"fa-thin": "fadt"
|
|
},
|
|
sharp: {
|
|
"fa-solid": "fass",
|
|
"fa-regular": "fasr",
|
|
"fa-light": "fasl",
|
|
"fa-thin": "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
"fa-solid": "fasds",
|
|
"fa-regular": "fasdr",
|
|
"fa-light": "fasdl",
|
|
"fa-thin": "fasdt"
|
|
}
|
|
}, Zqe = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, y4 = {
|
|
classic: {
|
|
fab: "fa-brands",
|
|
fad: "fa-duotone",
|
|
fal: "fa-light",
|
|
far: "fa-regular",
|
|
fas: "fa-solid",
|
|
fat: "fa-thin"
|
|
},
|
|
duotone: {
|
|
fadr: "fa-regular",
|
|
fadl: "fa-light",
|
|
fadt: "fa-thin"
|
|
},
|
|
sharp: {
|
|
fass: "fa-solid",
|
|
fasr: "fa-regular",
|
|
fasl: "fa-light",
|
|
fast: "fa-thin"
|
|
},
|
|
"sharp-duotone": {
|
|
fasds: "fa-solid",
|
|
fasdr: "fa-regular",
|
|
fasdl: "fa-light",
|
|
fasdt: "fa-thin"
|
|
}
|
|
}, eKe = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], v4 = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Kqe, ...eKe], tKe = ["solid", "regular", "light", "thin", "duotone", "brands"], Rne = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], rKe = Rne.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), nKe = [...Object.keys(Zqe), ...tKe, "2xs", "xs", "sm", "lg", "xl", "2xl", "beat", "border", "fade", "beat-fade", "bounce", "flip-both", "flip-horizontal", "flip-vertical", "flip", "fw", "inverse", "layers-counter", "layers-text", "layers", "li", "pull-left", "pull-right", "pulse", "rotate-180", "rotate-270", "rotate-90", "rotate-by", "shake", "spin-pulse", "spin-reverse", "spin", "stack-1x", "stack-2x", "stack", "ul", kv.GROUP, kv.SWAP_OPACITY, kv.PRIMARY, kv.SECONDARY].concat(Rne.map((e) => "".concat(e, "x"))).concat(rKe.map((e) => "w-".concat(e))), oKe = {
|
|
"Font Awesome 5 Free": {
|
|
900: "fas",
|
|
400: "far"
|
|
},
|
|
"Font Awesome 5 Pro": {
|
|
900: "fas",
|
|
400: "far",
|
|
normal: "far",
|
|
300: "fal"
|
|
},
|
|
"Font Awesome 5 Brands": {
|
|
400: "fab",
|
|
normal: "fab"
|
|
},
|
|
"Font Awesome 5 Duotone": {
|
|
900: "fad"
|
|
}
|
|
};
|
|
const fs = "___FONT_AWESOME___", x4 = 16, Mne = "fa", Dne = "svg-inline--fa", of = "data-fa-i2svg", w4 = "data-fa-pseudo-element", aKe = "data-fa-pseudo-element-pending", aN = "data-prefix", iN = "data-icon", Qz = "fontawesome-i2svg", iKe = "async", sKe = ["HTML", "HEAD", "STYLE", "SCRIPT"], Fne = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function sy(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Nn];
|
|
}
|
|
});
|
|
}
|
|
const Lne = Ee({}, Tne);
|
|
Lne[Nn] = Ee(Ee(Ee(Ee({}, {
|
|
"fa-duotone": "duotone"
|
|
}), Tne[Nn]), Xz.kit), Xz["kit-duotone"]);
|
|
const lKe = sy(Lne), $4 = Ee({}, Hqe);
|
|
$4[Nn] = Ee(Ee(Ee(Ee({}, {
|
|
duotone: "fad"
|
|
}), $4[Nn]), Jz.kit), Jz["kit-duotone"]);
|
|
const Zz = sy($4), k4 = Ee({}, y4);
|
|
k4[Nn] = Ee(Ee({}, k4[Nn]), qqe.kit);
|
|
const sN = sy(k4), _4 = Ee({}, Qqe);
|
|
_4[Nn] = Ee(Ee({}, _4[Nn]), Bqe.kit);
|
|
sy(_4);
|
|
const cKe = Rqe, zne = "fa-layers-text", uKe = Mqe, fKe = Ee({}, zqe);
|
|
sy(fKe);
|
|
const dKe = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], W_ = Dqe, pKe = [...Uqe, ...nKe], hg = Vc.FontAwesomeConfig || {};
|
|
function mKe(e) {
|
|
var t = qr.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function hKe(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
qr && typeof qr.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((e) => {
|
|
let [t, r] = e;
|
|
const n = hKe(mKe(t));
|
|
n != null && (hg[r] = n);
|
|
});
|
|
const Wne = {
|
|
styleDefault: "solid",
|
|
familyDefault: Nn,
|
|
cssPrefix: Mne,
|
|
replacementClass: Dne,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
hg.familyPrefix && (hg.cssPrefix = hg.familyPrefix);
|
|
const Qd = Ee(Ee({}, Wne), hg);
|
|
Qd.autoReplaceSvg || (Qd.observeMutations = !1);
|
|
const Qe = {};
|
|
Object.keys(Wne).forEach((e) => {
|
|
Object.defineProperty(Qe, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Qd[e] = t, gg.forEach((r) => r(Qe));
|
|
},
|
|
get: function() {
|
|
return Qd[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(Qe, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Qd.cssPrefix = e, gg.forEach((t) => t(Qe));
|
|
},
|
|
get: function() {
|
|
return Qd.cssPrefix;
|
|
}
|
|
});
|
|
Vc.FontAwesomeConfig = Qe;
|
|
const gg = [];
|
|
function gKe(e) {
|
|
return gg.push(e), () => {
|
|
gg.splice(gg.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Dl = x4, ii = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function bKe(e) {
|
|
if (!e || !Os)
|
|
return;
|
|
const t = qr.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = qr.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return qr.head.insertBefore(t, n), e;
|
|
}
|
|
const yKe = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function bb() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += yKe[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function jp(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function lN(e) {
|
|
return e.classList ? jp(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function Vne(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function vKe(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Vne(e[r]), '" '), "").trim();
|
|
}
|
|
function Rw(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function cN(e) {
|
|
return e.size !== ii.size || e.x !== ii.x || e.y !== ii.y || e.rotate !== ii.rotate || e.flipX || e.flipY;
|
|
}
|
|
function xKe(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), u = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function wKe(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = x4,
|
|
height: n = x4,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && Nne ? a += "translate(".concat(t.x / Dl - r / 2, "em, ").concat(t.y / Dl - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Dl, "em), calc(-50% + ").concat(t.y / Dl, "em)) ") : a += "translate(".concat(t.x / Dl, "em, ").concat(t.y / Dl, "em) "), a += "scale(".concat(t.size / Dl * (t.flipX ? -1 : 1), ", ").concat(t.size / Dl * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var $Ke = `:root, :host {
|
|
--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
|
|
--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";
|
|
--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";
|
|
--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
|
|
--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
|
|
--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone";
|
|
}
|
|
|
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
|
overflow: visible;
|
|
box-sizing: content-box;
|
|
}
|
|
|
|
.svg-inline--fa {
|
|
display: var(--fa-display, inline-block);
|
|
height: 1em;
|
|
overflow: visible;
|
|
vertical-align: -0.125em;
|
|
}
|
|
.svg-inline--fa.fa-2xs {
|
|
vertical-align: 0.1em;
|
|
}
|
|
.svg-inline--fa.fa-xs {
|
|
vertical-align: 0em;
|
|
}
|
|
.svg-inline--fa.fa-sm {
|
|
vertical-align: -0.0714285705em;
|
|
}
|
|
.svg-inline--fa.fa-lg {
|
|
vertical-align: -0.2em;
|
|
}
|
|
.svg-inline--fa.fa-xl {
|
|
vertical-align: -0.25em;
|
|
}
|
|
.svg-inline--fa.fa-2xl {
|
|
vertical-align: -0.3125em;
|
|
}
|
|
.svg-inline--fa.fa-pull-left {
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-pull-right {
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
width: auto;
|
|
}
|
|
.svg-inline--fa.fa-li {
|
|
width: var(--fa-li-width, 2em);
|
|
top: 0.25em;
|
|
}
|
|
.svg-inline--fa.fa-fw {
|
|
width: var(--fa-fw-width, 1.25em);
|
|
}
|
|
|
|
.fa-layers svg.svg-inline--fa {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
}
|
|
|
|
.fa-layers-counter, .fa-layers-text {
|
|
display: inline-block;
|
|
position: absolute;
|
|
text-align: center;
|
|
}
|
|
|
|
.fa-layers {
|
|
display: inline-block;
|
|
height: 1em;
|
|
position: relative;
|
|
text-align: center;
|
|
vertical-align: -0.125em;
|
|
width: 1em;
|
|
}
|
|
.fa-layers svg.svg-inline--fa {
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-text {
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transform-origin: center center;
|
|
}
|
|
|
|
.fa-layers-counter {
|
|
background-color: var(--fa-counter-background-color, #ff253a);
|
|
border-radius: var(--fa-counter-border-radius, 1em);
|
|
box-sizing: border-box;
|
|
color: var(--fa-inverse, #fff);
|
|
line-height: var(--fa-counter-line-height, 1);
|
|
max-width: var(--fa-counter-max-width, 5em);
|
|
min-width: var(--fa-counter-min-width, 1.5em);
|
|
overflow: hidden;
|
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
|
right: var(--fa-right, 0);
|
|
text-overflow: ellipsis;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-counter-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-bottom-right {
|
|
bottom: var(--fa-bottom, 0);
|
|
right: var(--fa-right, 0);
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom right;
|
|
}
|
|
|
|
.fa-layers-bottom-left {
|
|
bottom: var(--fa-bottom, 0);
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: auto;
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: bottom left;
|
|
}
|
|
|
|
.fa-layers-top-right {
|
|
top: var(--fa-top, 0);
|
|
right: var(--fa-right, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top right;
|
|
}
|
|
|
|
.fa-layers-top-left {
|
|
left: var(--fa-left, 0);
|
|
right: auto;
|
|
top: var(--fa-top, 0);
|
|
transform: scale(var(--fa-layers-scale, 0.25));
|
|
transform-origin: top left;
|
|
}
|
|
|
|
.fa-1x {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.fa-2x {
|
|
font-size: 2em;
|
|
}
|
|
|
|
.fa-3x {
|
|
font-size: 3em;
|
|
}
|
|
|
|
.fa-4x {
|
|
font-size: 4em;
|
|
}
|
|
|
|
.fa-5x {
|
|
font-size: 5em;
|
|
}
|
|
|
|
.fa-6x {
|
|
font-size: 6em;
|
|
}
|
|
|
|
.fa-7x {
|
|
font-size: 7em;
|
|
}
|
|
|
|
.fa-8x {
|
|
font-size: 8em;
|
|
}
|
|
|
|
.fa-9x {
|
|
font-size: 9em;
|
|
}
|
|
|
|
.fa-10x {
|
|
font-size: 10em;
|
|
}
|
|
|
|
.fa-2xs {
|
|
font-size: 0.625em;
|
|
line-height: 0.1em;
|
|
vertical-align: 0.225em;
|
|
}
|
|
|
|
.fa-xs {
|
|
font-size: 0.75em;
|
|
line-height: 0.0833333337em;
|
|
vertical-align: 0.125em;
|
|
}
|
|
|
|
.fa-sm {
|
|
font-size: 0.875em;
|
|
line-height: 0.0714285718em;
|
|
vertical-align: 0.0535714295em;
|
|
}
|
|
|
|
.fa-lg {
|
|
font-size: 1.25em;
|
|
line-height: 0.05em;
|
|
vertical-align: -0.075em;
|
|
}
|
|
|
|
.fa-xl {
|
|
font-size: 1.5em;
|
|
line-height: 0.0416666682em;
|
|
vertical-align: -0.125em;
|
|
}
|
|
|
|
.fa-2xl {
|
|
font-size: 2em;
|
|
line-height: 0.03125em;
|
|
vertical-align: -0.1875em;
|
|
}
|
|
|
|
.fa-fw {
|
|
text-align: center;
|
|
width: 1.25em;
|
|
}
|
|
|
|
.fa-ul {
|
|
list-style-type: none;
|
|
margin-left: var(--fa-li-margin, 2.5em);
|
|
padding-left: 0;
|
|
}
|
|
.fa-ul > li {
|
|
position: relative;
|
|
}
|
|
|
|
.fa-li {
|
|
left: calc(-1 * var(--fa-li-width, 2em));
|
|
position: absolute;
|
|
text-align: center;
|
|
width: var(--fa-li-width, 2em);
|
|
line-height: inherit;
|
|
}
|
|
|
|
.fa-border {
|
|
border-color: var(--fa-border-color, #eee);
|
|
border-radius: var(--fa-border-radius, 0.1em);
|
|
border-style: var(--fa-border-style, solid);
|
|
border-width: var(--fa-border-width, 0.08em);
|
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
|
|
}
|
|
|
|
.fa-pull-left {
|
|
float: left;
|
|
margin-right: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-pull-right {
|
|
float: right;
|
|
margin-left: var(--fa-pull-margin, 0.3em);
|
|
}
|
|
|
|
.fa-beat {
|
|
animation-name: fa-beat;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-bounce {
|
|
animation-name: fa-bounce;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
|
}
|
|
|
|
.fa-fade {
|
|
animation-name: fa-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-beat-fade {
|
|
animation-name: fa-beat-fade;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
|
}
|
|
|
|
.fa-flip {
|
|
animation-name: fa-flip;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
|
}
|
|
|
|
.fa-shake {
|
|
animation-name: fa-shake;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin {
|
|
animation-name: fa-spin;
|
|
animation-delay: var(--fa-animation-delay, 0s);
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 2s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, linear);
|
|
}
|
|
|
|
.fa-spin-reverse {
|
|
--fa-animation-direction: reverse;
|
|
}
|
|
|
|
.fa-pulse,
|
|
.fa-spin-pulse {
|
|
animation-name: fa-spin;
|
|
animation-direction: var(--fa-animation-direction, normal);
|
|
animation-duration: var(--fa-animation-duration, 1s);
|
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
|
animation-timing-function: var(--fa-animation-timing, steps(8));
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.fa-beat,
|
|
.fa-bounce,
|
|
.fa-fade,
|
|
.fa-beat-fade,
|
|
.fa-flip,
|
|
.fa-pulse,
|
|
.fa-shake,
|
|
.fa-spin,
|
|
.fa-spin-pulse {
|
|
animation-delay: -1ms;
|
|
animation-duration: 1ms;
|
|
animation-iteration-count: 1;
|
|
transition-delay: 0s;
|
|
transition-duration: 0s;
|
|
}
|
|
}
|
|
@keyframes fa-beat {
|
|
0%, 90% {
|
|
transform: scale(1);
|
|
}
|
|
45% {
|
|
transform: scale(var(--fa-beat-scale, 1.25));
|
|
}
|
|
}
|
|
@keyframes fa-bounce {
|
|
0% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
10% {
|
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
|
}
|
|
30% {
|
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
|
}
|
|
50% {
|
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
|
}
|
|
57% {
|
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
|
}
|
|
64% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
100% {
|
|
transform: scale(1, 1) translateY(0);
|
|
}
|
|
}
|
|
@keyframes fa-fade {
|
|
50% {
|
|
opacity: var(--fa-fade-opacity, 0.4);
|
|
}
|
|
}
|
|
@keyframes fa-beat-fade {
|
|
0%, 100% {
|
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
|
transform: scale(1);
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
transform: scale(var(--fa-beat-fade-scale, 1.125));
|
|
}
|
|
}
|
|
@keyframes fa-flip {
|
|
50% {
|
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
|
}
|
|
}
|
|
@keyframes fa-shake {
|
|
0% {
|
|
transform: rotate(-15deg);
|
|
}
|
|
4% {
|
|
transform: rotate(15deg);
|
|
}
|
|
8%, 24% {
|
|
transform: rotate(-18deg);
|
|
}
|
|
12%, 28% {
|
|
transform: rotate(18deg);
|
|
}
|
|
16% {
|
|
transform: rotate(-22deg);
|
|
}
|
|
20% {
|
|
transform: rotate(22deg);
|
|
}
|
|
32% {
|
|
transform: rotate(-12deg);
|
|
}
|
|
36% {
|
|
transform: rotate(12deg);
|
|
}
|
|
40%, 100% {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
@keyframes fa-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
.fa-rotate-90 {
|
|
transform: rotate(90deg);
|
|
}
|
|
|
|
.fa-rotate-180 {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.fa-rotate-270 {
|
|
transform: rotate(270deg);
|
|
}
|
|
|
|
.fa-flip-horizontal {
|
|
transform: scale(-1, 1);
|
|
}
|
|
|
|
.fa-flip-vertical {
|
|
transform: scale(1, -1);
|
|
}
|
|
|
|
.fa-flip-both,
|
|
.fa-flip-horizontal.fa-flip-vertical {
|
|
transform: scale(-1, -1);
|
|
}
|
|
|
|
.fa-rotate-by {
|
|
transform: rotate(var(--fa-rotate-angle, 0));
|
|
}
|
|
|
|
.fa-stack {
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
height: 2em;
|
|
position: relative;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-stack-1x,
|
|
.fa-stack-2x {
|
|
bottom: 0;
|
|
left: 0;
|
|
margin: auto;
|
|
position: absolute;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: var(--fa-stack-z-index, auto);
|
|
}
|
|
|
|
.svg-inline--fa.fa-stack-1x {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
}
|
|
.svg-inline--fa.fa-stack-2x {
|
|
height: 2em;
|
|
width: 2.5em;
|
|
}
|
|
|
|
.fa-inverse {
|
|
color: var(--fa-inverse, #fff);
|
|
}
|
|
|
|
.sr-only,
|
|
.fa-sr-only {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.sr-only-focusable:not(:focus),
|
|
.fa-sr-only-focusable:not(:focus) {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.svg-inline--fa .fa-primary {
|
|
fill: var(--fa-primary-color, currentColor);
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa .fa-secondary {
|
|
fill: var(--fa-secondary-color, currentColor);
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
opacity: var(--fa-secondary-opacity, 0.4);
|
|
}
|
|
|
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
opacity: var(--fa-primary-opacity, 1);
|
|
}
|
|
|
|
.svg-inline--fa mask .fa-primary,
|
|
.svg-inline--fa mask .fa-secondary {
|
|
fill: black;
|
|
}`;
|
|
function Hne() {
|
|
const e = Mne, t = Dne, r = Qe.cssPrefix, n = Qe.replacementClass;
|
|
let o = $Ke;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let eW = !1;
|
|
function V_() {
|
|
Qe.autoAddCss && !eW && (bKe(Hne()), eW = !0);
|
|
}
|
|
var kKe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: Hne,
|
|
insertCss: V_
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
V_();
|
|
},
|
|
beforeI2svg() {
|
|
V_();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const ds = Vc || {};
|
|
ds[fs] || (ds[fs] = {});
|
|
ds[fs].styles || (ds[fs].styles = {});
|
|
ds[fs].hooks || (ds[fs].hooks = {});
|
|
ds[fs].shims || (ds[fs].shims = []);
|
|
var si = ds[fs];
|
|
const Gne = [], Une = function() {
|
|
qr.removeEventListener("DOMContentLoaded", Une), E0 = 1, Gne.map((e) => e());
|
|
};
|
|
let E0 = !1;
|
|
Os && (E0 = (qr.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(qr.readyState), E0 || qr.addEventListener("DOMContentLoaded", Une));
|
|
function _Ke(e) {
|
|
Os && (E0 ? setTimeout(e, 0) : Gne.push(e));
|
|
}
|
|
function ly(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? Vne(e) : "<".concat(t, " ").concat(vKe(r), ">").concat(n.map(ly).join(""), "</").concat(t, ">");
|
|
}
|
|
function tW(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var H_ = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
u = o[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function OKe(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function Bne(e) {
|
|
const t = OKe(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function SKe(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function rW(e) {
|
|
return Object.keys(e).reduce((t, r) => {
|
|
const n = e[r];
|
|
return n.icon ? t[n.iconName] = n.icon : t[r] = n, t;
|
|
}, {});
|
|
}
|
|
function O4(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = rW(t);
|
|
typeof si.hooks.addPack == "function" && !n ? si.hooks.addPack(e, rW(t)) : si.styles[e] = Ee(Ee({}, si.styles[e] || {}), o), e === "fas" && O4("fa", t);
|
|
}
|
|
const {
|
|
styles: yb,
|
|
shims: EKe
|
|
} = si, Yne = Object.keys(sN), AKe = Yne.reduce((e, t) => (e[t] = Object.keys(sN[t]), e), {});
|
|
let uN = null, qne = {}, Kne = {}, Xne = {}, Jne = {}, Qne = {};
|
|
function PKe(e) {
|
|
return ~pKe.indexOf(e);
|
|
}
|
|
function CKe(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !PKe(o) ? o : null;
|
|
}
|
|
const Zne = () => {
|
|
const e = (n) => H_(yb, (o, a, i) => (o[i] = H_(a, n, {}), o), {});
|
|
qne = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), Kne = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), Qne = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in yb || Qe.autoFetchSvg, r = H_(EKe, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
Xne = r.names, Jne = r.unicodes, uN = Mw(Qe.styleDefault, {
|
|
family: Qe.familyDefault
|
|
});
|
|
};
|
|
gKe((e) => {
|
|
uN = Mw(e.styleDefault, {
|
|
family: Qe.familyDefault
|
|
});
|
|
});
|
|
Zne();
|
|
function fN(e, t) {
|
|
return (qne[e] || {})[t];
|
|
}
|
|
function NKe(e, t) {
|
|
return (Kne[e] || {})[t];
|
|
}
|
|
function xu(e, t) {
|
|
return (Qne[e] || {})[t];
|
|
}
|
|
function eoe(e) {
|
|
return Xne[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function TKe(e) {
|
|
const t = Jne[e], r = fN("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Hc() {
|
|
return uN;
|
|
}
|
|
const toe = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function IKe(e) {
|
|
let t = Nn;
|
|
const r = Yne.reduce((n, o) => (n[o] = "".concat(Qe.cssPrefix, "-").concat(o), n), {});
|
|
return jne.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => AKe[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Mw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Nn
|
|
} = t, n = lKe[r][e];
|
|
if (r === jw && !e)
|
|
return "fad";
|
|
const o = Zz[r][e] || Zz[r][n], a = e in si.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function jKe(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = CKe(Qe.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function nW(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Dw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = v4.concat(Xqe), a = nW(e.filter((l) => o.includes(l))), i = nW(e.filter((l) => !v4.includes(l))), s = a.filter((l) => (n = l, !Ine.includes(l))), [u = null] = s, c = IKe(a), d = Ee(Ee({}, jKe(i)), {}, {
|
|
prefix: Mw(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return Ee(Ee(Ee({}, d), FKe({
|
|
values: e,
|
|
family: c,
|
|
styles: yb,
|
|
config: Qe,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), RKe(r, n, d));
|
|
}
|
|
function RKe(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? eoe(o) : {}, i = xu(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !yb.far && yb.fas && !Qe.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const MKe = jne.filter((e) => e !== Nn || e !== jw), DKe = Object.keys(y4).filter((e) => e !== Nn).map((e) => Object.keys(y4[e])).flat();
|
|
function FKe(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === jw, u = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", d = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (u || c || d) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && MKe.includes(r) && (Object.keys(a).find((l) => DKe.includes(l)) || i.autoFetchSvg)) {
|
|
const l = Vqe.get(r).defaultShortPrefixId;
|
|
n.prefix = l, n.iconName = xu(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Hc() || "fas"), n;
|
|
}
|
|
class LKe {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = Ee(Ee({}, this.definitions[a] || {}), o[a]), O4(a, o[a]);
|
|
const i = sN[Nn][a];
|
|
i && O4(i, o[a]), Zne();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], u = s[2];
|
|
t[a] || (t[a] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let oW = [], Zf = {};
|
|
const Id = {}, zKe = Object.keys(Id);
|
|
function WKe(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return oW = e, Zf = {}, Object.keys(Id).forEach((n) => {
|
|
zKe.indexOf(n) === -1 && delete Id[n];
|
|
}), oW.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Zf[i] || (Zf[i] = []), Zf[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Id);
|
|
}), r;
|
|
}
|
|
function S4(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Zf[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function af(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Zf[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Gc() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Id[e] ? Id[e].apply(null, t) : void 0;
|
|
}
|
|
function E4(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Hc();
|
|
if (t)
|
|
return t = xu(r, t) || t, tW(roe.definitions, r, t) || tW(si.styles, r, t);
|
|
}
|
|
const roe = new LKe(), VKe = () => {
|
|
Qe.autoReplaceSvg = !1, Qe.observeMutations = !1, af("noAuto");
|
|
}, HKe = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Os ? (af("beforeI2svg", e), Gc("pseudoElements2svg", e), Gc("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
Qe.autoReplaceSvg === !1 && (Qe.autoReplaceSvg = !0), Qe.observeMutations = !0, _Ke(() => {
|
|
UKe({
|
|
autoReplaceSvgRoot: t
|
|
}), af("watch", e);
|
|
});
|
|
}
|
|
}, GKe = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: xu(e.prefix, e.iconName) || e.iconName
|
|
};
|
|
if (Array.isArray(e) && e.length === 2) {
|
|
const t = e[1].indexOf("fa-") === 0 ? e[1].slice(3) : e[1], r = Mw(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: xu(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(Qe.cssPrefix, "-")) > -1 || e.match(cKe))) {
|
|
const t = Dw(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Hc(),
|
|
iconName: xu(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Hc();
|
|
return {
|
|
prefix: t,
|
|
iconName: xu(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, yo = {
|
|
noAuto: VKe,
|
|
config: Qe,
|
|
dom: HKe,
|
|
parse: GKe,
|
|
library: roe,
|
|
findIconDefinition: E4,
|
|
toHtml: ly
|
|
}, UKe = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = qr
|
|
} = e;
|
|
(Object.keys(si.styles).length > 0 || Qe.autoFetchSvg) && Os && Qe.autoReplaceSvg && yo.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Fw(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => ly(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Os) return;
|
|
const r = qr.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function BKe(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (cN(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Rw(Ee(Ee({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function YKe(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(Qe.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: Ee(Ee({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function dN(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: l = !1
|
|
} = e, {
|
|
width: f,
|
|
height: p
|
|
} = r.found ? r : t, y = Yqe.includes(n), m = [Qe.replacementClass, o ? "".concat(Qe.cssPrefix, "-").concat(o) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: Ee(Ee({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(f, " ").concat(p)
|
|
})
|
|
};
|
|
const w = y && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(f / p * 16 * 0.0625, "em")
|
|
} : {};
|
|
l && (h.attributes[of] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || bb())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const $ = Ee(Ee({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: Ee(Ee({}, w), d.styles)
|
|
}), {
|
|
children: _,
|
|
attributes: S
|
|
} = r.found && t.found ? Gc("generateAbstractMask", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Gc("generateAbstractIcon", $) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return $.children = _, $.attributes = S, i ? YKe($) : BKe($);
|
|
}
|
|
function aW(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = Ee(Ee(Ee({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[of] = "");
|
|
const c = Ee({}, i.styles);
|
|
cN(o) && (c.transform = wKe({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Rw(c);
|
|
d.length > 0 && (u.style = d);
|
|
const l = [];
|
|
return l.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), a && l.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), l;
|
|
}
|
|
function qKe(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = Ee(Ee(Ee({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Rw(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: G_
|
|
} = si;
|
|
function A4(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(Qe.cssPrefix, "-").concat(W_.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Qe.cssPrefix, "-").concat(W_.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(Qe.cssPrefix, "-").concat(W_.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const KKe = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function XKe(e, t) {
|
|
!Fne && !Qe.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function P4(e, t) {
|
|
let r = t;
|
|
return t === "fa" && Qe.styleDefault !== null && (t = Hc()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = eoe(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && G_[t] && G_[t][e]) {
|
|
const a = G_[t][e];
|
|
return n(A4(a));
|
|
}
|
|
XKe(e, t), n(Ee(Ee({}, KKe), {}, {
|
|
icon: Qe.showMissingIcons && e ? Gc("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const iW = () => {
|
|
}, C4 = Qe.measurePerformance && $v && $v.mark && $v.measure ? $v : {
|
|
mark: iW,
|
|
measure: iW
|
|
}, Oh = 'FA "6.7.2"', JKe = (e) => (C4.mark("".concat(Oh, " ").concat(e, " begins")), () => noe(e)), noe = (e) => {
|
|
C4.mark("".concat(Oh, " ").concat(e, " ends")), C4.measure("".concat(Oh, " ").concat(e), "".concat(Oh, " ").concat(e, " begins"), "".concat(Oh, " ").concat(e, " ends"));
|
|
};
|
|
var pN = {
|
|
begin: JKe,
|
|
end: noe
|
|
};
|
|
const p1 = () => {
|
|
};
|
|
function sW(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(of) : null) == "string";
|
|
}
|
|
function QKe(e) {
|
|
const t = e.getAttribute ? e.getAttribute(aN) : null, r = e.getAttribute ? e.getAttribute(iN) : null;
|
|
return t && r;
|
|
}
|
|
function ZKe(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(Qe.replacementClass);
|
|
}
|
|
function eXe() {
|
|
return Qe.autoReplaceSvg === !0 ? m1.replace : m1[Qe.autoReplaceSvg] || m1.replace;
|
|
}
|
|
function tXe(e) {
|
|
return qr.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function rXe(e) {
|
|
return qr.createElement(e);
|
|
}
|
|
function ooe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? tXe : rXe
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return qr.createTextNode(e);
|
|
const n = r(e.tag);
|
|
return Object.keys(e.attributes || []).forEach(function(o) {
|
|
n.setAttribute(o, e.attributes[o]);
|
|
}), (e.children || []).forEach(function(o) {
|
|
n.appendChild(ooe(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function nXe(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const m1 = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(ooe(r), t);
|
|
}), t.getAttribute(of) === null && Qe.keepOriginalSource) {
|
|
let r = qr.createComment(nXe(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~lN(t).indexOf(Qe.replacementClass))
|
|
return m1.replace(e);
|
|
const n = new RegExp("".concat(Qe.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === Qe.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => ly(a)).join(`
|
|
`);
|
|
t.setAttribute(of, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function lW(e) {
|
|
e();
|
|
}
|
|
function aoe(e, t) {
|
|
const r = typeof t == "function" ? t : p1;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = lW;
|
|
Qe.mutateApproach === iKe && (n = Vc.requestAnimationFrame || lW), n(() => {
|
|
const o = eXe(), a = pN.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let mN = !1;
|
|
function ioe() {
|
|
mN = !0;
|
|
}
|
|
function N4() {
|
|
mN = !1;
|
|
}
|
|
let A0 = null;
|
|
function cW(e) {
|
|
if (!Kz || !Qe.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = p1,
|
|
nodeCallback: r = p1,
|
|
pseudoElementsCallback: n = p1,
|
|
observeMutationsRoot: o = qr
|
|
} = e;
|
|
A0 = new Kz((a) => {
|
|
if (mN) return;
|
|
const i = Hc();
|
|
jp(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !sW(s.addedNodes[0]) && (Qe.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && Qe.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && sW(s.target) && ~dKe.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && QKe(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Dw(lN(s.target));
|
|
s.target.setAttribute(aN, u || i), c && s.target.setAttribute(iN, c);
|
|
} else ZKe(s.target) && r(s.target);
|
|
});
|
|
}), Os && A0.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function oXe() {
|
|
A0 && A0.disconnect();
|
|
}
|
|
function aXe(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function iXe(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Dw(lN(e));
|
|
return o.prefix || (o.prefix = Hc()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = NKe(o.prefix, e.innerText) || fN(o.prefix, Bne(e.innerText))), !o.iconName && Qe.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function sXe(e) {
|
|
const t = jp(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return Qe.autoA11y && (r ? t["aria-labelledby"] = "".concat(Qe.replacementClass, "-title-").concat(n || bb()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function lXe() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: ii,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function uW(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = iXe(e), a = sXe(e), i = S4("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? aXe(e) : [];
|
|
return Ee({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: ii,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: cXe
|
|
} = si;
|
|
function soe(e) {
|
|
const t = Qe.autoReplaceSvg === "nest" ? uW(e, {
|
|
styleParser: !1
|
|
}) : uW(e);
|
|
return ~t.extra.classes.indexOf(zne) ? Gc("generateLayersText", e, t) : Gc("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function uXe() {
|
|
return [...Gqe, ...v4];
|
|
}
|
|
function fW(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Os) return Promise.resolve();
|
|
const r = qr.documentElement.classList, n = (d) => r.add("".concat(Qz, "-").concat(d)), o = (d) => r.remove("".concat(Qz, "-").concat(d)), a = Qe.autoFetchSvg ? uXe() : Ine.concat(Object.keys(cXe));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(zne, ":not([").concat(of, "])")].concat(a.map((d) => ".".concat(d, ":not([").concat(of, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = jp(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = pN.begin("onTree"), c = s.reduce((d, l) => {
|
|
try {
|
|
const f = soe(l);
|
|
f && d.push(f);
|
|
} catch (f) {
|
|
Fne || f.name === "MissingIcon" && console.error(f);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, l) => {
|
|
Promise.all(c).then((f) => {
|
|
aoe(f, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((f) => {
|
|
u(), l(f);
|
|
});
|
|
});
|
|
}
|
|
function fXe(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
soe(e).then((r) => {
|
|
r && aoe([r], t);
|
|
});
|
|
}
|
|
function dXe(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : E4(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : E4(o || {})), e(n, Ee(Ee({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const pXe = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ii,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: l,
|
|
iconName: f,
|
|
icon: p
|
|
} = e;
|
|
return Fw(Ee({
|
|
type: "icon"
|
|
}, e), () => (af("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), Qe.autoA11y && (i ? c["aria-labelledby"] = "".concat(Qe.replacementClass, "-title-").concat(s || bb()) : (c["aria-hidden"] = "true", c.focusable = "false")), dN({
|
|
icons: {
|
|
main: A4(p),
|
|
mask: o ? A4(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: l,
|
|
iconName: f,
|
|
transform: Ee(Ee({}, ii), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var mXe = {
|
|
mixout() {
|
|
return {
|
|
icon: dXe(pXe)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = fW, e.nodeCallback = fXe, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = qr,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return fW(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: l
|
|
} = r;
|
|
return new Promise((f, p) => {
|
|
Promise.all([P4(n, i), c.iconName ? P4(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((y) => {
|
|
let [m, h] = y;
|
|
f([t, dN({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: o,
|
|
titleId: a,
|
|
extra: l,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(p);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Rw(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return cN(a) && (u = Gc("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(u || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, hXe = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Fw({
|
|
type: "layer"
|
|
}, () => {
|
|
af("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(Qe.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, gXe = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Fw({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (af("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), qKe({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(Qe.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, bXe = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ii,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Fw({
|
|
type: "text",
|
|
content: e
|
|
}, () => (af("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), aW({
|
|
content: e,
|
|
transform: Ee(Ee({}, ii), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(Qe.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (Nne) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return Qe.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, aW({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const yXe = new RegExp('"', "ug"), dW = [1105920, 1112319], pW = Ee(Ee(Ee(Ee({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), Wqe), oKe), Jqe), T4 = Object.keys(pW).reduce((e, t) => (e[t.toLowerCase()] = pW[t], e), {}), vXe = Object.keys(T4).reduce((e, t) => {
|
|
const r = T4[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function xXe(e) {
|
|
const t = e.replace(yXe, ""), r = SKe(t, 0), n = r >= dW[0] && r <= dW[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: Bne(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function wXe(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (T4[r] || {})[o] || vXe[r];
|
|
}
|
|
function mW(e, t) {
|
|
const r = "".concat(aKe).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = jp(e.children).filter((l) => l.getAttribute(w4) === t)[0], i = Vc.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(uKe), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (a && !u)
|
|
return e.removeChild(a), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const l = i.getPropertyValue("content");
|
|
let f = wXe(s, c);
|
|
const {
|
|
value: p,
|
|
isSecondary: y
|
|
} = xXe(l), m = u[0].startsWith("FontAwesome");
|
|
let h = fN(f, p), w = h;
|
|
if (m) {
|
|
const $ = TKe(p);
|
|
$.iconName && $.prefix && (h = $.iconName, f = $.prefix);
|
|
}
|
|
if (h && !y && (!a || a.getAttribute(aN) !== f || a.getAttribute(iN) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const $ = lXe(), {
|
|
extra: _
|
|
} = $;
|
|
_.attributes[w4] = t, P4(h, f).then((S) => {
|
|
const b = dN(Ee(Ee({}, $), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: toe()
|
|
},
|
|
prefix: f,
|
|
iconName: w,
|
|
extra: _,
|
|
watchable: !0
|
|
})), F = qr.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(F, e.firstChild) : e.appendChild(F), F.outerHTML = b.map((z) => ly(z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function $Xe(e) {
|
|
return Promise.all([mW(e, "::before"), mW(e, "::after")]);
|
|
}
|
|
function kXe(e) {
|
|
return e.parentNode !== document.head && !~sKe.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(w4) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function hW(e) {
|
|
if (Os)
|
|
return new Promise((t, r) => {
|
|
const n = jp(e.querySelectorAll("*")).filter(kXe).map($Xe), o = pN.begin("searchPseudoElements");
|
|
ioe(), Promise.all(n).then(() => {
|
|
o(), N4(), t();
|
|
}).catch(() => {
|
|
o(), N4(), r();
|
|
});
|
|
});
|
|
}
|
|
var _Xe = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = hW, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = qr
|
|
} = t;
|
|
Qe.searchPseudoElements && hW(r);
|
|
};
|
|
}
|
|
};
|
|
let gW = !1;
|
|
var OXe = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
ioe(), gW = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
cW(S4("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
oXe();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
gW ? N4() : cW(S4("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const bW = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var SXe = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => bW(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = bW(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), u = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), d = {
|
|
transform: "".concat(s, " ").concat(u, " ").concat(c)
|
|
}, l = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, f = {
|
|
outer: i,
|
|
inner: d,
|
|
path: l
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: Ee({}, f.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: Ee({}, f.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: Ee(Ee({}, r.icon.attributes), f.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const U_ = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function yW(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
|
|
return e.attributes && (e.attributes.fill || t) && (e.attributes.fill = "black"), e;
|
|
}
|
|
function EXe(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var AXe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Dw(r.split(" ").map((o) => o.trim())) : toe();
|
|
return n.prefix || (n.prefix = Hc()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = o, {
|
|
width: d,
|
|
icon: l
|
|
} = a, f = xKe({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), p = {
|
|
tag: "rect",
|
|
attributes: Ee(Ee({}, U_), {}, {
|
|
fill: "white"
|
|
})
|
|
}, y = c.children ? {
|
|
children: c.children.map(yW)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: Ee({}, f.inner),
|
|
children: [yW(Ee({
|
|
tag: c.tag,
|
|
attributes: Ee(Ee({}, c.attributes), f.path)
|
|
}, y))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: Ee({}, f.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || bb()), $ = "clip-".concat(i || bb()), _ = {
|
|
tag: "mask",
|
|
attributes: Ee(Ee({}, U_), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [p, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: $
|
|
},
|
|
children: EXe(l)
|
|
}, _]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: Ee({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat($, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, U_)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, PXe = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Vc.matchMedia && (t = Vc.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: Ee(Ee({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = Ee(Ee({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: Ee(Ee({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: Ee(Ee({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: Ee(Ee({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: Ee(Ee({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: Ee(Ee({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: Ee(Ee({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: Ee(Ee({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, CXe = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, NXe = [kKe, mXe, hXe, gXe, bXe, _Xe, OXe, SXe, AXe, PXe, CXe];
|
|
WKe(NXe, {
|
|
mixoutsTo: yo
|
|
});
|
|
yo.noAuto;
|
|
yo.config;
|
|
yo.library;
|
|
yo.dom;
|
|
const I4 = yo.parse;
|
|
yo.findIconDefinition;
|
|
yo.toHtml;
|
|
const TXe = yo.icon;
|
|
yo.layer;
|
|
yo.text;
|
|
yo.counter;
|
|
function IXe(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var _v = { exports: {} }, B_ = { exports: {} }, ar = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var vW;
|
|
function jXe() {
|
|
if (vW) return ar;
|
|
vW = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var F = b.$$typeof;
|
|
switch (F) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return F;
|
|
}
|
|
}
|
|
case r:
|
|
return F;
|
|
}
|
|
}
|
|
}
|
|
function S(b) {
|
|
return _(b) === c;
|
|
}
|
|
return ar.AsyncMode = u, ar.ConcurrentMode = c, ar.ContextConsumer = s, ar.ContextProvider = i, ar.Element = t, ar.ForwardRef = d, ar.Fragment = n, ar.Lazy = y, ar.Memo = p, ar.Portal = r, ar.Profiler = a, ar.StrictMode = o, ar.Suspense = l, ar.isAsyncMode = function(b) {
|
|
return S(b) || _(b) === u;
|
|
}, ar.isConcurrentMode = S, ar.isContextConsumer = function(b) {
|
|
return _(b) === s;
|
|
}, ar.isContextProvider = function(b) {
|
|
return _(b) === i;
|
|
}, ar.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, ar.isForwardRef = function(b) {
|
|
return _(b) === d;
|
|
}, ar.isFragment = function(b) {
|
|
return _(b) === n;
|
|
}, ar.isLazy = function(b) {
|
|
return _(b) === y;
|
|
}, ar.isMemo = function(b) {
|
|
return _(b) === p;
|
|
}, ar.isPortal = function(b) {
|
|
return _(b) === r;
|
|
}, ar.isProfiler = function(b) {
|
|
return _(b) === a;
|
|
}, ar.isStrictMode = function(b) {
|
|
return _(b) === o;
|
|
}, ar.isSuspense = function(b) {
|
|
return _(b) === l;
|
|
}, ar.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === a || b === o || b === l || b === f || typeof b == "object" && b !== null && (b.$$typeof === y || b.$$typeof === p || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === h || b.$$typeof === w || b.$$typeof === $ || b.$$typeof === m);
|
|
}, ar.typeOf = _, ar;
|
|
}
|
|
var br = {};
|
|
/** @license React v16.13.1
|
|
* react-is.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var xW;
|
|
function RXe() {
|
|
return xW || (xW = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, u = e ? Symbol.for("react.async_mode") : 60111, c = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, l = e ? Symbol.for("react.suspense") : 60113, f = e ? Symbol.for("react.suspense_list") : 60120, p = e ? Symbol.for("react.memo") : 60115, y = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, $ = e ? Symbol.for("react.scope") : 60119;
|
|
function _(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === l || k === f || typeof k == "object" && k !== null && (k.$$typeof === y || k.$$typeof === p || k.$$typeof === i || k.$$typeof === s || k.$$typeof === d || k.$$typeof === h || k.$$typeof === w || k.$$typeof === $ || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var oe = k.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var me = k.type;
|
|
switch (me) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case l:
|
|
return me;
|
|
default:
|
|
var Le = me && me.$$typeof;
|
|
switch (Le) {
|
|
case s:
|
|
case d:
|
|
case y:
|
|
case p:
|
|
case i:
|
|
return Le;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = u, F = c, z = s, q = i, Y = t, B = d, Z = n, M = y, te = p, G = r, H = a, U = o, W = l, X = !1;
|
|
function ee(k) {
|
|
return X || (X = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), v(k) || S(k) === u;
|
|
}
|
|
function v(k) {
|
|
return S(k) === c;
|
|
}
|
|
function g(k) {
|
|
return S(k) === s;
|
|
}
|
|
function O(k) {
|
|
return S(k) === i;
|
|
}
|
|
function P(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function A(k) {
|
|
return S(k) === d;
|
|
}
|
|
function T(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === y;
|
|
}
|
|
function C(k) {
|
|
return S(k) === p;
|
|
}
|
|
function I(k) {
|
|
return S(k) === r;
|
|
}
|
|
function j(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === l;
|
|
}
|
|
br.AsyncMode = b, br.ConcurrentMode = F, br.ContextConsumer = z, br.ContextProvider = q, br.Element = Y, br.ForwardRef = B, br.Fragment = Z, br.Lazy = M, br.Memo = te, br.Portal = G, br.Profiler = H, br.StrictMode = U, br.Suspense = W, br.isAsyncMode = ee, br.isConcurrentMode = v, br.isContextConsumer = g, br.isContextProvider = O, br.isElement = P, br.isForwardRef = A, br.isFragment = T, br.isLazy = N, br.isMemo = C, br.isPortal = I, br.isProfiler = j, br.isStrictMode = R, br.isSuspense = Q, br.isValidElementType = _, br.typeOf = S;
|
|
}()), br;
|
|
}
|
|
var wW;
|
|
function loe() {
|
|
return wW || (wW = 1, process.env.NODE_ENV === "production" ? B_.exports = jXe() : B_.exports = RXe()), B_.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Y_, $W;
|
|
function MXe() {
|
|
if ($W) return Y_;
|
|
$W = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var u = Object.getOwnPropertyNames(i).map(function(d) {
|
|
return i[d];
|
|
});
|
|
if (u.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(d) {
|
|
c[d] = d;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Y_ = o() ? Object.assign : function(a, i) {
|
|
for (var s, u = n(a), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var l in s)
|
|
t.call(s, l) && (u[l] = s[l]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var f = 0; f < c.length; f++)
|
|
r.call(s, c[f]) && (u[c[f]] = s[c[f]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, Y_;
|
|
}
|
|
var q_, kW;
|
|
function hN() {
|
|
if (kW) return q_;
|
|
kW = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return q_ = e, q_;
|
|
}
|
|
var _W, OW;
|
|
function coe() {
|
|
return OW || (OW = 1, _W = Function.call.bind(Object.prototype.hasOwnProperty)), _W;
|
|
}
|
|
var K_, SW;
|
|
function DXe() {
|
|
if (SW) return K_;
|
|
SW = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ hN(), r = {}, n = /* @__PURE__ */ coe();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in a)
|
|
if (n(a, d)) {
|
|
var l;
|
|
try {
|
|
if (typeof a[d] != "function") {
|
|
var f = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
l = a[d](i, d, u, s, null, t);
|
|
} catch (y) {
|
|
l = y;
|
|
}
|
|
if (l && !(l instanceof Error) && e(
|
|
(u || "React class") + ": type specification of " + s + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof l + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), l instanceof Error && !(l.message in r)) {
|
|
r[l.message] = !0;
|
|
var p = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + l.message + (p ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, K_ = o, K_;
|
|
}
|
|
var X_, EW;
|
|
function FXe() {
|
|
if (EW) return X_;
|
|
EW = 1;
|
|
var e = loe(), t = MXe(), r = /* @__PURE__ */ hN(), n = /* @__PURE__ */ coe(), o = /* @__PURE__ */ DXe(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return X_ = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function l(v) {
|
|
var g = v && (c && v[c] || v[d]);
|
|
if (typeof g == "function")
|
|
return g;
|
|
}
|
|
var f = "<<anonymous>>", p = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: $(),
|
|
arrayOf: _,
|
|
element: S(),
|
|
elementType: b(),
|
|
instanceOf: F,
|
|
node: B(),
|
|
objectOf: q,
|
|
oneOf: z,
|
|
oneOfType: Y,
|
|
shape: M,
|
|
exact: te
|
|
};
|
|
function y(v, g) {
|
|
return v === g ? v !== 0 || 1 / v === 1 / g : v !== v && g !== g;
|
|
}
|
|
function m(v, g) {
|
|
this.message = v, this.data = g && typeof g == "object" ? g : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(v) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var g = {}, O = 0;
|
|
function P(T, N, C, I, j, R, Q) {
|
|
if (I = I || f, R = R || C, Q !== r) {
|
|
if (u) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + C;
|
|
!g[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
O < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), g[oe] = !0, O++);
|
|
}
|
|
}
|
|
return N[C] == null ? T ? N[C] === null ? new m("The " + j + " `" + R + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + j + " `" + R + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : v(N, C, I, j, R);
|
|
}
|
|
var A = P.bind(null, !1);
|
|
return A.isRequired = P.bind(null, !0), A;
|
|
}
|
|
function w(v) {
|
|
function g(O, P, A, T, N, C) {
|
|
var I = O[P], j = U(I);
|
|
if (j !== v) {
|
|
var R = W(I);
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` of type " + ("`" + R + "` supplied to `" + A + "`, expected ") + ("`" + v + "`."),
|
|
{ expectedType: v }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function $() {
|
|
return h(i);
|
|
}
|
|
function _(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside arrayOf.");
|
|
var C = O[P];
|
|
if (!Array.isArray(C)) {
|
|
var I = U(C);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an array."));
|
|
}
|
|
for (var j = 0; j < C.length; j++) {
|
|
var R = v(C, j, A, T, N + "[" + j + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function S() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!s(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function b() {
|
|
function v(g, O, P, A, T) {
|
|
var N = g[O];
|
|
if (!e.isValidElementType(N)) {
|
|
var C = U(N);
|
|
return new m("Invalid " + A + " `" + T + "` of type " + ("`" + C + "` supplied to `" + P + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(v);
|
|
}
|
|
function F(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (!(O[P] instanceof v)) {
|
|
var C = v.name || f, I = ee(O[P]);
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected ") + ("instance of `" + C + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function z(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function g(O, P, A, T, N) {
|
|
for (var C = O[P], I = 0; I < v.length; I++)
|
|
if (y(C, v[I]))
|
|
return null;
|
|
var j = JSON.stringify(v, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + T + " `" + N + "` of value `" + String(C) + "` " + ("supplied to `" + A + "`, expected one of " + j + "."));
|
|
}
|
|
return h(g);
|
|
}
|
|
function q(v) {
|
|
function g(O, P, A, T, N) {
|
|
if (typeof v != "function")
|
|
return new m("Property `" + N + "` of component `" + A + "` has invalid PropType notation inside objectOf.");
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type " + ("`" + I + "` supplied to `" + A + "`, expected an object."));
|
|
for (var j in C)
|
|
if (n(C, j)) {
|
|
var R = v(C, j, A, T, N + "." + j, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function Y(v) {
|
|
if (!Array.isArray(v))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var g = 0; g < v.length; g++) {
|
|
var O = v[g];
|
|
if (typeof O != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + X(O) + " at index " + g + "."
|
|
), i;
|
|
}
|
|
function P(A, T, N, C, I) {
|
|
for (var j = [], R = 0; R < v.length; R++) {
|
|
var Q = v[R], k = Q(A, T, N, C, I, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && j.push(k.data.expectedType);
|
|
}
|
|
var oe = j.length > 0 ? ", expected one of type [" + j.join(", ") + "]" : "";
|
|
return new m("Invalid " + C + " `" + I + "` supplied to " + ("`" + N + "`" + oe + "."));
|
|
}
|
|
return h(P);
|
|
}
|
|
function B() {
|
|
function v(g, O, P, A, T) {
|
|
return G(g[O]) ? null : new m("Invalid " + A + " `" + T + "` supplied to " + ("`" + P + "`, expected a ReactNode."));
|
|
}
|
|
return h(v);
|
|
}
|
|
function Z(v, g, O, P, A) {
|
|
return new m(
|
|
(v || "React class") + ": " + g + " type `" + O + "." + P + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + A + "`."
|
|
);
|
|
}
|
|
function M(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
for (var j in v) {
|
|
var R = v[j];
|
|
if (typeof R != "function")
|
|
return Z(A, T, N, j, W(R));
|
|
var Q = R(C, j, A, T, N + "." + j, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function te(v) {
|
|
function g(O, P, A, T, N) {
|
|
var C = O[P], I = U(C);
|
|
if (I !== "object")
|
|
return new m("Invalid " + T + " `" + N + "` of type `" + I + "` " + ("supplied to `" + A + "`, expected `object`."));
|
|
var j = t({}, O[P], v);
|
|
for (var R in j) {
|
|
var Q = v[R];
|
|
if (n(v, R) && typeof Q != "function")
|
|
return Z(A, T, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + T + " `" + N + "` key `" + R + "` supplied to `" + A + "`.\nBad object: " + JSON.stringify(O[P], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(v), null, " ")
|
|
);
|
|
var k = Q(C, R, A, T, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(g);
|
|
}
|
|
function G(v) {
|
|
switch (typeof v) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !v;
|
|
case "object":
|
|
if (Array.isArray(v))
|
|
return v.every(G);
|
|
if (v === null || s(v))
|
|
return !0;
|
|
var g = l(v);
|
|
if (g) {
|
|
var O = g.call(v), P;
|
|
if (g !== v.entries) {
|
|
for (; !(P = O.next()).done; )
|
|
if (!G(P.value))
|
|
return !1;
|
|
} else
|
|
for (; !(P = O.next()).done; ) {
|
|
var A = P.value;
|
|
if (A && !G(A[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function H(v, g) {
|
|
return v === "symbol" ? !0 : g ? g["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && g instanceof Symbol : !1;
|
|
}
|
|
function U(v) {
|
|
var g = typeof v;
|
|
return Array.isArray(v) ? "array" : v instanceof RegExp ? "object" : H(g, v) ? "symbol" : g;
|
|
}
|
|
function W(v) {
|
|
if (typeof v > "u" || v === null)
|
|
return "" + v;
|
|
var g = U(v);
|
|
if (g === "object") {
|
|
if (v instanceof Date)
|
|
return "date";
|
|
if (v instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return g;
|
|
}
|
|
function X(v) {
|
|
var g = W(v);
|
|
switch (g) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + g;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + g;
|
|
default:
|
|
return g;
|
|
}
|
|
}
|
|
function ee(v) {
|
|
return !v.constructor || !v.constructor.name ? f : v.constructor.name;
|
|
}
|
|
return p.checkPropTypes = o, p.resetWarningCache = o.resetWarningCache, p.PropTypes = p, p;
|
|
}, X_;
|
|
}
|
|
var J_, AW;
|
|
function LXe() {
|
|
if (AW) return J_;
|
|
AW = 1;
|
|
var e = /* @__PURE__ */ hN();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, J_ = function() {
|
|
function n(i, s, u, c, d, l) {
|
|
if (l !== e) {
|
|
var f = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw f.name = "Invariant Violation", f;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, J_;
|
|
}
|
|
var PW;
|
|
function zXe() {
|
|
if (PW) return _v.exports;
|
|
if (PW = 1, process.env.NODE_ENV !== "production") {
|
|
var e = loe(), t = !0;
|
|
_v.exports = /* @__PURE__ */ FXe()(e.isElement, t);
|
|
} else
|
|
_v.exports = /* @__PURE__ */ LXe()();
|
|
return _v.exports;
|
|
}
|
|
var WXe = /* @__PURE__ */ zXe();
|
|
const Lt = /* @__PURE__ */ IXe(WXe);
|
|
function CW(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Na(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? CW(Object(r), !0).forEach(function(n) {
|
|
ed(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : CW(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function P0(e) {
|
|
"@babel/helpers - typeof";
|
|
return P0 = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
|
|
return typeof t;
|
|
} : function(t) {
|
|
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
|
|
}, P0(e);
|
|
}
|
|
function ed(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function VXe(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function HXe(e, t) {
|
|
if (e == null) return {};
|
|
var r = VXe(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function j4(e) {
|
|
return GXe(e) || UXe(e) || BXe(e) || YXe();
|
|
}
|
|
function GXe(e) {
|
|
if (Array.isArray(e)) return R4(e);
|
|
}
|
|
function UXe(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function BXe(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return R4(e, t);
|
|
var r = Object.prototype.toString.call(e).slice(8, -1);
|
|
if (r === "Object" && e.constructor && (r = e.constructor.name), r === "Map" || r === "Set") return Array.from(e);
|
|
if (r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return R4(e, t);
|
|
}
|
|
}
|
|
function R4(e, t) {
|
|
(t == null || t > e.length) && (t = e.length);
|
|
for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
|
|
return n;
|
|
}
|
|
function YXe() {
|
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
}
|
|
function qXe(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, l = e.pulse, f = e.fixedWidth, p = e.inverse, y = e.border, m = e.listItem, h = e.flip, w = e.size, $ = e.rotation, _ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": l,
|
|
"fa-fw": f,
|
|
"fa-inverse": p,
|
|
"fa-border": y,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, ed(t, "fa-".concat(w), typeof w < "u" && w !== null), ed(t, "fa-rotate-".concat($), typeof $ < "u" && $ !== null && $ !== 0), ed(t, "fa-pull-".concat(_), typeof _ < "u" && _ !== null), ed(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(b) {
|
|
return S[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function KXe(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function uoe(e) {
|
|
return KXe(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var XXe = ["style"];
|
|
function JXe(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function QXe(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = uoe(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[JXe(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function foe(e, t) {
|
|
var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
if (typeof t == "string")
|
|
return t;
|
|
var n = (t.children || []).map(function(u) {
|
|
return foe(e, u);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(u, c) {
|
|
var d = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
u.attrs.className = d, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
u.attrs.style = QXe(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[uoe(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = HXe(r, XXe);
|
|
return o.attrs.style = Na(Na({}, o.attrs.style), i), e.apply(void 0, [t.tag, Na(Na({}, o.attrs), s)].concat(j4(n)));
|
|
}
|
|
var doe = !1;
|
|
try {
|
|
doe = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function ZXe() {
|
|
if (!doe && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function NW(e) {
|
|
if (e && P0(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (I4.icon)
|
|
return I4.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && P0(e) === "object" && e.prefix && e.iconName)
|
|
return e;
|
|
if (Array.isArray(e) && e.length === 2)
|
|
return {
|
|
prefix: e[0],
|
|
iconName: e[1]
|
|
};
|
|
if (typeof e == "string")
|
|
return {
|
|
prefix: "fas",
|
|
iconName: e
|
|
};
|
|
}
|
|
function Q_(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? ed({}, e, t) : {};
|
|
}
|
|
var TW = {
|
|
border: !1,
|
|
className: "",
|
|
mask: null,
|
|
maskId: null,
|
|
fixedWidth: !1,
|
|
inverse: !1,
|
|
flip: !1,
|
|
icon: null,
|
|
listItem: !1,
|
|
pull: null,
|
|
pulse: !1,
|
|
rotation: null,
|
|
size: null,
|
|
spin: !1,
|
|
spinPulse: !1,
|
|
spinReverse: !1,
|
|
beat: !1,
|
|
fade: !1,
|
|
beatFade: !1,
|
|
bounce: !1,
|
|
shake: !1,
|
|
symbol: !1,
|
|
title: "",
|
|
titleId: null,
|
|
transform: null,
|
|
swapOpacity: !1
|
|
}, poe = /* @__PURE__ */ ae.forwardRef(function(e, t) {
|
|
var r = Na(Na({}, TW), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = NW(n), l = Q_("classes", [].concat(j4(qXe(r)), j4((i || "").split(" ")))), f = Q_("transform", typeof r.transform == "string" ? I4.transform(r.transform) : r.transform), p = Q_("mask", NW(o)), y = TXe(d, Na(Na(Na(Na({}, l), f), p), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!y)
|
|
return ZXe("Could not find icon", d), null;
|
|
var m = y.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
TW.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), eJe(m[0], h);
|
|
});
|
|
poe.displayName = "FontAwesomeIcon";
|
|
poe.propTypes = {
|
|
beat: Lt.bool,
|
|
border: Lt.bool,
|
|
beatFade: Lt.bool,
|
|
bounce: Lt.bool,
|
|
className: Lt.string,
|
|
fade: Lt.bool,
|
|
flash: Lt.bool,
|
|
mask: Lt.oneOfType([Lt.object, Lt.array, Lt.string]),
|
|
maskId: Lt.string,
|
|
fixedWidth: Lt.bool,
|
|
inverse: Lt.bool,
|
|
flip: Lt.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Lt.oneOfType([Lt.object, Lt.array, Lt.string]),
|
|
listItem: Lt.bool,
|
|
pull: Lt.oneOf(["right", "left"]),
|
|
pulse: Lt.bool,
|
|
rotation: Lt.oneOf([0, 90, 180, 270]),
|
|
shake: Lt.bool,
|
|
size: Lt.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Lt.bool,
|
|
spinPulse: Lt.bool,
|
|
spinReverse: Lt.bool,
|
|
symbol: Lt.oneOfType([Lt.bool, Lt.string]),
|
|
title: Lt.string,
|
|
titleId: Lt.string,
|
|
transform: Lt.oneOfType([Lt.string, Lt.object]),
|
|
swapOpacity: Lt.bool
|
|
};
|
|
var eJe = foe.bind(null, ae.createElement);
|
|
const tJe = "grep_for_single_inclusion_12345", rJe = Ure((e) => ({
|
|
isOpen: !1,
|
|
openModal: () => e({ isOpen: !0 }),
|
|
closeModal: () => e({ isOpen: !1 }),
|
|
toggleModal: () => {
|
|
console.log(tJe), e((t) => ({ isOpen: !t.isOpen }));
|
|
}
|
|
})), IW = (e) => {
|
|
let t;
|
|
const r = /* @__PURE__ */ new Set(), n = (s, u) => {
|
|
const c = typeof s == "function" ? s(t) : s;
|
|
if (!Object.is(c, t)) {
|
|
const d = t;
|
|
t = u ?? (typeof c != "object" || c === null) ? c : Object.assign({}, t, c), r.forEach((l) => l(t, d));
|
|
}
|
|
}, o = () => t, a = { setState: n, getState: o, getInitialState: () => i, subscribe: (s) => (r.add(s), () => r.delete(s)) }, i = t = e(n, o, a);
|
|
return a;
|
|
}, nJe = (e) => e ? IW(e) : IW, oJe = (e) => e;
|
|
function aJe(e, t = oJe) {
|
|
const r = ae.useSyncExternalStore(
|
|
e.subscribe,
|
|
() => t(e.getState()),
|
|
() => t(e.getInitialState())
|
|
);
|
|
return ae.useDebugValue(r), r;
|
|
}
|
|
const jW = (e) => {
|
|
const t = nJe(e), r = (n) => aJe(t, n);
|
|
return Object.assign(r, t), r;
|
|
}, iJe = (e) => e ? jW(e) : jW;
|
|
async function sJe(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
const lJe = async () => {
|
|
try {
|
|
return await sJe("storyteller_get_credits_command");
|
|
} catch (e) {
|
|
throw e;
|
|
}
|
|
};
|
|
var RW;
|
|
(function(e) {
|
|
e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave";
|
|
})(RW || (RW = {}));
|
|
const cJe = iJe((e) => ({
|
|
freeCredits: 0,
|
|
monthlyCredits: 0,
|
|
bankedCredits: 0,
|
|
totalCredits: 0,
|
|
// Call to fetch credits from the server
|
|
fetchFromServer: async () => {
|
|
let t;
|
|
try {
|
|
t = await lJe();
|
|
} catch (r) {
|
|
console.error("Error fetching credits", r);
|
|
return;
|
|
}
|
|
console.log("Fetched credits from server: ", t), t.payload && e((r) => ({
|
|
freeCredits: t.payload.free_credits,
|
|
monthlyCredits: t.payload.monthly_credits,
|
|
bankedCredits: t.payload.banked_credits,
|
|
totalCredits: t.payload.sum_total_credits
|
|
}));
|
|
}
|
|
})), M4 = {
|
|
slug: "free",
|
|
name: "Free",
|
|
isPaidPlan: !1,
|
|
monthlyPrice: 0,
|
|
yearlyPrice: 0,
|
|
features: [
|
|
{ text: "Free daily generations", included: !0 },
|
|
{ text: "Limited access to ArtCraft tools", included: !0 }
|
|
],
|
|
colorScheme: "dark"
|
|
}, uJe = [
|
|
M4,
|
|
{
|
|
slug: "artcraft_basic",
|
|
name: "Basic",
|
|
isPaidPlan: !0,
|
|
monthlyPrice: 8,
|
|
yearlyPrice: 96,
|
|
originalMonthlyPrice: 10,
|
|
originalYearlyPrice: 120,
|
|
features: [
|
|
{ text: "~1,010 Flux images", included: !0 },
|
|
{ text: "~36,000 real-time images", included: !0 },
|
|
{ text: "~180 enhanced images", included: !0 },
|
|
{ text: "~6 training jobs", included: !0 },
|
|
{ text: "Commercial license", included: !0 }
|
|
],
|
|
colorScheme: "green"
|
|
},
|
|
{
|
|
slug: "artcraft_pro",
|
|
name: "Pro",
|
|
isPaidPlan: !0,
|
|
monthlyPrice: 28,
|
|
yearlyPrice: 336,
|
|
originalMonthlyPrice: 35,
|
|
originalYearlyPrice: 420,
|
|
features: [
|
|
{ text: "~5,048 Flux images", included: !0 },
|
|
{ text: "~180,000 real-time images", included: !0 },
|
|
{ text: "~900 enhanced images", included: !0 },
|
|
{ text: "~30 training jobs", included: !0 },
|
|
{ text: "Commercial license", included: !0 }
|
|
],
|
|
colorScheme: "purple"
|
|
},
|
|
{
|
|
slug: "artcraft_max",
|
|
name: "Max",
|
|
isPaidPlan: !0,
|
|
monthlyPrice: 48,
|
|
yearlyPrice: 576,
|
|
originalMonthlyPrice: 60,
|
|
originalYearlyPrice: 720,
|
|
features: [
|
|
{ text: "~15,142 Flux images", included: !0 },
|
|
{ text: "~540,000 real-time images", included: !0 },
|
|
{ text: "~2,700 enhanced images", included: !0 },
|
|
{ text: "~90 training jobs", included: !0 },
|
|
{ text: "Commercial license", included: !0 }
|
|
],
|
|
colorScheme: "orange"
|
|
}
|
|
], fJe = new Map(
|
|
uJe.map((e) => [e.slug, e])
|
|
), MW = (e) => {
|
|
let t;
|
|
const r = /* @__PURE__ */ new Set(), n = (s, u) => {
|
|
const c = typeof s == "function" ? s(t) : s;
|
|
if (!Object.is(c, t)) {
|
|
const d = t;
|
|
t = u ?? (typeof c != "object" || c === null) ? c : Object.assign({}, t, c), r.forEach((l) => l(t, d));
|
|
}
|
|
}, o = () => t, a = { setState: n, getState: o, getInitialState: () => i, subscribe: (s) => (r.add(s), () => r.delete(s)) }, i = t = e(n, o, a);
|
|
return a;
|
|
}, dJe = (e) => e ? MW(e) : MW, pJe = (e) => e;
|
|
function mJe(e, t = pJe) {
|
|
const r = ae.useSyncExternalStore(
|
|
e.subscribe,
|
|
() => t(e.getState()),
|
|
() => t(e.getInitialState())
|
|
);
|
|
return ae.useDebugValue(r), r;
|
|
}
|
|
const DW = (e) => {
|
|
const t = dJe(e), r = (n) => mJe(t, n);
|
|
return Object.assign(r, t), r;
|
|
}, hJe = (e) => e ? DW(e) : DW;
|
|
async function gJe(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
const bJe = async () => {
|
|
try {
|
|
return await gJe("storyteller_get_subscription_command");
|
|
} catch (e) {
|
|
throw e;
|
|
}
|
|
};
|
|
var FW;
|
|
(function(e) {
|
|
e.WINDOW_RESIZED = "tauri://resize", e.WINDOW_MOVED = "tauri://move", e.WINDOW_CLOSE_REQUESTED = "tauri://close-requested", e.WINDOW_DESTROYED = "tauri://destroyed", e.WINDOW_FOCUS = "tauri://focus", e.WINDOW_BLUR = "tauri://blur", e.WINDOW_SCALE_FACTOR_CHANGED = "tauri://scale-change", e.WINDOW_THEME_CHANGED = "tauri://theme-changed", e.WINDOW_CREATED = "tauri://window-created", e.WEBVIEW_CREATED = "tauri://webview-created", e.DRAG_ENTER = "tauri://drag-enter", e.DRAG_OVER = "tauri://drag-over", e.DRAG_DROP = "tauri://drag-drop", e.DRAG_LEAVE = "tauri://drag-leave";
|
|
})(FW || (FW = {}));
|
|
const yJe = hJe((e, t) => ({
|
|
subscriptionInfo: void 0,
|
|
// Returns true if the user has a paid plan.
|
|
// (We do not store "free" as a plan.)
|
|
hasPaidPlan: () => {
|
|
var r;
|
|
return ((r = t().subscriptionInfo) == null ? void 0 : r.subscriptionToken) !== void 0;
|
|
},
|
|
// Returns true if the user can cancel their plan.
|
|
// (The user can't cancel an already set to cancel/expire plan again)
|
|
canCancelPlan: () => {
|
|
const r = t().subscriptionInfo;
|
|
return (r == null ? void 0 : r.subscriptionToken) !== void 0 && (r == null ? void 0 : r.subscriptionEndAt) === void 0;
|
|
},
|
|
// Call to fetch credits from the server
|
|
fetchFromServer: async () => {
|
|
let r;
|
|
try {
|
|
r = await bJe();
|
|
} catch (n) {
|
|
console.error("Error fetching subscription", n);
|
|
return;
|
|
}
|
|
if (console.log("Fetched subscription from server: ", r), r.payload) {
|
|
let n;
|
|
r.payload.active_subscription && (n = {
|
|
subscriptionToken: r.payload.active_subscription.subscription_token,
|
|
productSlug: r.payload.active_subscription.product_slug,
|
|
namespace: r.payload.active_subscription.namespace,
|
|
nextBillAt: r.payload.active_subscription.next_bill_at ? new Date(r.payload.active_subscription.next_bill_at) : void 0,
|
|
subscriptionEndAt: r.payload.active_subscription.subscription_end_at ? new Date(r.payload.active_subscription.subscription_end_at) : void 0
|
|
}), e((o) => ({
|
|
subscriptionInfo: n
|
|
}));
|
|
}
|
|
}
|
|
})), vJe = (e) => {
|
|
var l, f, p, y, m;
|
|
const { toggleModal: t } = FBe(), r = cJe(), n = r.totalCredits, o = yJe(), a = (l = o.subscriptionInfo) == null ? void 0 : l.productSlug, i = a && fJe.get(a) || M4, s = o.canCancelPlan(), u = (p = (f = o.subscriptionInfo) == null ? void 0 : f.nextBillAt) == null ? void 0 : p.toLocaleDateString(), c = (m = (y = o.subscriptionInfo) == null ? void 0 : y.subscriptionEndAt) == null ? void 0 : m.toLocaleDateString(), d = s ? "Change plan" : "Upgrade plan";
|
|
return ue(() => {
|
|
r.fetchFromServer(), o.fetchFromServer();
|
|
}, []), /* @__PURE__ */ K(rn, { children: /* @__PURE__ */ Te("div", { className: "space-y-4 text-base-fg", children: [
|
|
/* @__PURE__ */ Te("div", { className: "space-y-2", children: [
|
|
/* @__PURE__ */ K(jn, { children: "Current Plan" }),
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center justify-between", children: [
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center gap-2 text-xl font-semibold ", children: [
|
|
/* @__PURE__ */ K(
|
|
To,
|
|
{
|
|
icon: age,
|
|
className: "text-[#C03FFF] text-lg"
|
|
}
|
|
),
|
|
i.name
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "flex gap-2", children: [
|
|
s && /* @__PURE__ */ K(xJe, {}),
|
|
/* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: "primary",
|
|
className: "h-[30px]",
|
|
onClick: () => t(),
|
|
children: d
|
|
}
|
|
)
|
|
] })
|
|
] })
|
|
] }),
|
|
c && /* @__PURE__ */ Te("div", { className: "flex items-center gap-2 text-white/50", children: [
|
|
/* @__PURE__ */ K(To, { icon: gj }),
|
|
"Subscription ends on ",
|
|
c
|
|
] }),
|
|
u && /* @__PURE__ */ Te("div", { className: "flex items-center gap-2 text-white/50", children: [
|
|
/* @__PURE__ */ K(To, { icon: gj }),
|
|
"Next payment on ",
|
|
u
|
|
] }),
|
|
/* @__PURE__ */ K("hr", { className: "border-ui-panel-border" }),
|
|
/* @__PURE__ */ Te("div", { className: "flex flex-col", children: [
|
|
/* @__PURE__ */ K(jn, { htmlFor: "credits", className: "flex items-center gap-2", children: "Your credit balance" }),
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center justify-between", children: [
|
|
/* @__PURE__ */ Te("div", { className: "flex items-center gap-2", children: [
|
|
/* @__PURE__ */ K(
|
|
To,
|
|
{
|
|
icon: ige,
|
|
className: "text-primary text-lg"
|
|
}
|
|
),
|
|
/* @__PURE__ */ K("span", { className: "text-2xl font-bold", children: n })
|
|
] }),
|
|
/* @__PURE__ */ K("div", { className: "flex gap-2", children: /* @__PURE__ */ K(wJe, {}) })
|
|
] }),
|
|
/* @__PURE__ */ K($Je, { creditsStore: r })
|
|
] })
|
|
] }) });
|
|
}, xJe = () => /* @__PURE__ */ K(Io, { variant: "secondary", className: "h-[30px]", onClick: async () => {
|
|
await Mg("storyteller_open_customer_portal_cancel_plan_command");
|
|
}, children: "Cancel plan" }), wJe = () => {
|
|
const { toggleModal: e } = rJe();
|
|
return /* @__PURE__ */ K(
|
|
Io,
|
|
{
|
|
variant: "primary",
|
|
className: "h-[30px]",
|
|
onClick: () => e(),
|
|
children: "Buy credits"
|
|
}
|
|
);
|
|
}, $Je = ({ creditsStore: e }) => /* @__PURE__ */ K("div", { className: "flex pl-5 pt-3", children: /* @__PURE__ */ Te("ul", { className: "list-disc", children: [
|
|
/* @__PURE__ */ Te("li", { children: [
|
|
" ",
|
|
e.monthlyCredits,
|
|
" monthly credits (refilled monthly)",
|
|
" "
|
|
] }),
|
|
/* @__PURE__ */ Te("li", { children: [
|
|
" ",
|
|
e.bankedCredits,
|
|
" purchased credits "
|
|
] })
|
|
] }) }), moe = "st-theme";
|
|
function kJe() {
|
|
const e = (localStorage.getItem(moe) || "").trim();
|
|
return e === "light" || e === "gray" || e === "black" || e === "aurora" || e === "sunset" || e === "gradient" ? e === "gradient" ? "aurora" : e : "gray";
|
|
}
|
|
function _Je(e) {
|
|
const t = document.documentElement, r = [];
|
|
t.classList.forEach((n) => {
|
|
n.startsWith("theme-") && r.push(n);
|
|
}), r.forEach((n) => t.classList.remove(n)), t.classList.add(`theme-${e}`), localStorage.setItem(moe, e);
|
|
}
|
|
const OJe = () => {
|
|
const [e, t] = de(kJe());
|
|
ue(() => {
|
|
_Je(e);
|
|
}, [e]);
|
|
const r = Ie(
|
|
() => [
|
|
{
|
|
id: "light",
|
|
label: "Light",
|
|
swatch: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: "h-8 w-8 rounded-full border border-gray-300",
|
|
style: { background: "#ffffff" }
|
|
}
|
|
)
|
|
},
|
|
{
|
|
id: "gray",
|
|
label: "Gray",
|
|
swatch: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: "h-8 w-8 rounded-full border border-gray-700",
|
|
style: { background: "#242424" }
|
|
}
|
|
)
|
|
},
|
|
{
|
|
id: "black",
|
|
label: "Black",
|
|
swatch: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: "h-8 w-8 rounded-full border border-gray-800",
|
|
style: { background: "#000000" }
|
|
}
|
|
)
|
|
},
|
|
{
|
|
id: "aurora",
|
|
label: "Aurora",
|
|
swatch: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: "h-8 w-8 rounded-full border border-gray-700",
|
|
style: {
|
|
background: "radial-gradient(28px 14px at 20% 10%, #2d81ff, transparent), radial-gradient(32px 20px at 80% 80%, #1cb6be, transparent), #0d0f16"
|
|
}
|
|
}
|
|
)
|
|
},
|
|
{
|
|
id: "sunset",
|
|
label: "Sunset",
|
|
swatch: /* @__PURE__ */ K(
|
|
"div",
|
|
{
|
|
className: "h-8 w-8 rounded-full border border-gray-700",
|
|
style: {
|
|
background: "radial-gradient(28px 14px at 20% 10%, #8b5cf6, transparent), radial-gradient(32px 20px at 80% 80%, #fb923c, transparent), #140b12"
|
|
}
|
|
}
|
|
)
|
|
}
|
|
],
|
|
[]
|
|
);
|
|
return /* @__PURE__ */ Te("div", { className: "space-y-4", children: [
|
|
/* @__PURE__ */ Te("div", { children: [
|
|
/* @__PURE__ */ K(jn, { children: "Themes" }),
|
|
/* @__PURE__ */ K("p", { className: "text-sm opacity-70", children: "Choose your preferred look. Applies instantly." })
|
|
] }),
|
|
/* @__PURE__ */ K("div", { className: "grid grid-cols-2 gap-3", children: r.map((n) => /* @__PURE__ */ Te(
|
|
"button",
|
|
{
|
|
className: `group flex items-center gap-3 rounded-lg border border-white/10 bg-[#63636B]/10 p-2 text-left transition-colors duration-100 hover:bg-[#63636B]/30 ${e === n.id ? "ring-2 ring-brand-primary-500" : ""}`,
|
|
onClick: () => t(n.id),
|
|
"aria-pressed": e === n.id,
|
|
children: [
|
|
n.swatch,
|
|
/* @__PURE__ */ K("div", { className: "text-sm opacity-90", children: n.label })
|
|
]
|
|
},
|
|
n.id
|
|
)) })
|
|
] });
|
|
}, gQe = ({
|
|
isOpen: e,
|
|
onClose: t,
|
|
globalAccountLogoutCallback: r,
|
|
initialSection: n = "general"
|
|
}) => {
|
|
var u;
|
|
const [o, a] = de(n);
|
|
ue(() => {
|
|
e && a(n);
|
|
}, [e, n]);
|
|
const i = [
|
|
{ id: "general", label: "General", icon: fge },
|
|
{ id: "accounts", label: "Accounts", icon: oge },
|
|
{ id: "billing", label: "Plan & Credits", icon: pge },
|
|
{
|
|
id: "provider_priority",
|
|
label: "Provider Priority",
|
|
icon: cge
|
|
},
|
|
{ id: "appearance", label: "Appearance", icon: sge },
|
|
{ id: "alerts", label: "Alerts", icon: lge },
|
|
{ id: "about", label: "About", icon: yU }
|
|
//{ id: "video" as const, label: "Video", icon: faVideo },
|
|
//{ id: "image" as const, label: "Image", icon: faImage },
|
|
], s = () => {
|
|
switch (o) {
|
|
case "appearance":
|
|
return /* @__PURE__ */ K(OJe, {});
|
|
case "alerts":
|
|
return /* @__PURE__ */ K(UOe, {});
|
|
case "general":
|
|
return /* @__PURE__ */ K(M1e, {});
|
|
case "accounts":
|
|
return /* @__PURE__ */ K(
|
|
F9e,
|
|
{
|
|
globalAccountLogoutCallback: r
|
|
}
|
|
);
|
|
case "about":
|
|
return /* @__PURE__ */ K(L9e, {});
|
|
case "provider_priority":
|
|
return /* @__PURE__ */ K(B7e, {});
|
|
case "billing":
|
|
return /* @__PURE__ */ K(vJe, {});
|
|
}
|
|
};
|
|
return /* @__PURE__ */ K(
|
|
Sb,
|
|
{
|
|
isOpen: e,
|
|
onClose: t,
|
|
className: "max-w-3xl",
|
|
childPadding: !1,
|
|
children: /* @__PURE__ */ K("div", { className: "h-[560px]", children: /* @__PURE__ */ Te("div", { className: "grid h-full grid-cols-12 gap-3", children: [
|
|
/* @__PURE__ */ Te("div", { className: "relative col-span-4 p-3 pt-2 after:absolute after:right-0 after:top-0 after:h-full after:w-px after:bg-ui-panel-border", children: [
|
|
/* @__PURE__ */ K("div", { className: "flex items-center justify-between gap-2.5 py-0.5", children: /* @__PURE__ */ K("h2", { className: "text-[18px] font-semibold opacity-80", children: "Settings" }) }),
|
|
/* @__PURE__ */ K("hr", { className: "my-2 w-full border-ui-panel-border" }),
|
|
/* @__PURE__ */ K("div", { className: "space-y-1", children: i.map((c) => /* @__PURE__ */ K(
|
|
"button",
|
|
{
|
|
className: Uge(
|
|
"h-9 w-full rounded-lg p-2 text-left transition-colors duration-100 hover:bg-[#63636B]/30",
|
|
c.id === o ? "bg-[#63636B]/20" : ""
|
|
),
|
|
onClick: () => {
|
|
Y7e("switch_settings_section", {
|
|
section: c.id
|
|
}), a(c.id);
|
|
},
|
|
children: /* @__PURE__ */ Te("div", { className: "flex items-center gap-2.5 text-sm", children: [
|
|
/* @__PURE__ */ K(To, { icon: c.icon }),
|
|
c.label
|
|
] })
|
|
},
|
|
c.id
|
|
)) })
|
|
] }),
|
|
/* @__PURE__ */ Te("div", { className: "col-span-8 flex h-full flex-col", children: [
|
|
/* @__PURE__ */ K("div", { className: "w-full border-b border-ui-panel-border py-2.5 ps-0", children: /* @__PURE__ */ K("h2", { className: "text-[18px] font-semibold", children: (u = i.find((c) => c.id === o)) == null ? void 0 : u.label }) }),
|
|
/* @__PURE__ */ K("div", { className: "p-3 ps-0 text-sm h-full", children: s() })
|
|
] })
|
|
] }) })
|
|
}
|
|
);
|
|
};
|
|
export {
|
|
gQe as SettingsModal
|
|
};
|