mirror of
https://github.com/storytold/placeholder-artcraft.git
synced 2026-10-22 08:04:59 +00:00
0daf83dba9
Need to remove secrets before entire repo can be made public.
37698 lines
1.1 MiB
Plaintext
37698 lines
1.1 MiB
Plaintext
import { jsx as X, jsxs as Le, Fragment as Ht } from "react/jsx-runtime";
|
|
import * as H from "react";
|
|
import He, { createContext as al, useState as vt, useRef as Ge, useEffect as pt, isValidElement as tf, cloneElement as rf, useContext as Ya, useMemo as Hd, useLayoutEffect as Nb, forwardRef as jb, useCallback as dn, Fragment as Qn, createElement as Dw } from "react";
|
|
import * as Lw from "react-dom";
|
|
import Gw, { unstable_batchedUpdates as Vw } from "react-dom";
|
|
function bn(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 ym(e, t) {
|
|
if (typeof e == "function")
|
|
return e(t);
|
|
e != null && (e.current = t);
|
|
}
|
|
function Ib(...e) {
|
|
return (t) => {
|
|
let r = !1;
|
|
const n = e.map((a) => {
|
|
const o = ym(a, t);
|
|
return !r && typeof o == "function" && (r = !0), o;
|
|
});
|
|
if (r)
|
|
return () => {
|
|
for (let a = 0; a < n.length; a++) {
|
|
const o = n[a];
|
|
typeof o == "function" ? o() : ym(e[a], null);
|
|
}
|
|
};
|
|
};
|
|
}
|
|
function ca(...e) {
|
|
return H.useCallback(Ib(...e), e);
|
|
}
|
|
function Ww(e, t) {
|
|
const r = H.createContext(t), n = (o) => {
|
|
const { children: i, ...s } = o, u = H.useMemo(() => s, Object.values(s));
|
|
return /* @__PURE__ */ X(r.Provider, { value: u, children: i });
|
|
};
|
|
n.displayName = e + "Provider";
|
|
function a(o) {
|
|
const i = H.useContext(r);
|
|
if (i) return i;
|
|
if (t !== void 0) return t;
|
|
throw new Error(`\`${o}\` must be used within \`${e}\``);
|
|
}
|
|
return [n, a];
|
|
}
|
|
function Uw(e, t = []) {
|
|
let r = [];
|
|
function n(o, i) {
|
|
const s = H.createContext(i), u = r.length;
|
|
r = [...r, i];
|
|
const c = (p) => {
|
|
var m;
|
|
const { scope: w, children: _, ...v } = p, y = ((m = w == null ? void 0 : w[e]) == null ? void 0 : m[u]) || s, k = H.useMemo(() => v, Object.values(v));
|
|
return /* @__PURE__ */ X(y.Provider, { value: k, children: _ });
|
|
};
|
|
c.displayName = o + "Provider";
|
|
function d(p, m) {
|
|
var w;
|
|
const _ = ((w = m == null ? void 0 : m[e]) == null ? void 0 : w[u]) || s, v = H.useContext(_);
|
|
if (v) return v;
|
|
if (i !== void 0) return i;
|
|
throw new Error(`\`${p}\` must be used within \`${o}\``);
|
|
}
|
|
return [c, d];
|
|
}
|
|
const a = () => {
|
|
const o = r.map((i) => H.createContext(i));
|
|
return function(i) {
|
|
const s = (i == null ? void 0 : i[e]) || o;
|
|
return H.useMemo(
|
|
() => ({ [`__scope${e}`]: { ...i, [e]: s } }),
|
|
[i, s]
|
|
);
|
|
};
|
|
};
|
|
return a.scopeName = e, [n, Hw(a, ...t)];
|
|
}
|
|
function Hw(...e) {
|
|
const t = e[0];
|
|
if (e.length === 1) return t;
|
|
const r = () => {
|
|
const n = e.map((a) => ({
|
|
useScope: a(),
|
|
scopeName: a.scopeName
|
|
}));
|
|
return function(a) {
|
|
const o = n.reduce((i, { useScope: s, scopeName: u }) => {
|
|
const c = s(a)[`__scope${u}`];
|
|
return { ...i, ...c };
|
|
}, {});
|
|
return H.useMemo(() => ({ [`__scope${t.scopeName}`]: o }), [o]);
|
|
};
|
|
};
|
|
return r.scopeName = t.scopeName, r;
|
|
}
|
|
var wi = globalThis != null && globalThis.document ? H.useLayoutEffect : () => {
|
|
}, Yw = H[" useId ".trim().toString()] || (() => {
|
|
}), qw = 0;
|
|
function Mc(e) {
|
|
const [t, r] = H.useState(Yw());
|
|
return wi(() => {
|
|
r((n) => n ?? String(qw++));
|
|
}, [e]), e || (t ? `radix-${t}` : "");
|
|
}
|
|
var Bw = H[" useInsertionEffect ".trim().toString()] || wi;
|
|
function Kw({
|
|
prop: e,
|
|
defaultProp: t,
|
|
onChange: r = () => {
|
|
},
|
|
caller: n
|
|
}) {
|
|
const [a, o, i] = Xw({
|
|
defaultProp: t,
|
|
onChange: r
|
|
}), s = e !== void 0, u = s ? e : a;
|
|
{
|
|
const d = H.useRef(e !== void 0);
|
|
H.useEffect(() => {
|
|
const p = d.current;
|
|
p !== s && console.warn(
|
|
`${n} is changing from ${p ? "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 = H.useCallback(
|
|
(d) => {
|
|
var p;
|
|
if (s) {
|
|
const m = Jw(d) ? d(e) : d;
|
|
m !== e && ((p = i.current) == null || p.call(i, m));
|
|
} else
|
|
o(d);
|
|
},
|
|
[s, e, o, i]
|
|
);
|
|
return [u, c];
|
|
}
|
|
function Xw({
|
|
defaultProp: e,
|
|
onChange: t
|
|
}) {
|
|
const [r, n] = H.useState(e), a = H.useRef(r), o = H.useRef(t);
|
|
return Bw(() => {
|
|
o.current = t;
|
|
}, [t]), H.useEffect(() => {
|
|
var i;
|
|
a.current !== r && ((i = o.current) == null || i.call(o, r), a.current = r);
|
|
}, [r, a]), [r, n, o];
|
|
}
|
|
function Jw(e) {
|
|
return typeof e == "function";
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function Tb(e) {
|
|
const t = /* @__PURE__ */ Qw(e), r = H.forwardRef((n, a) => {
|
|
const { children: o, ...i } = n, s = H.Children.toArray(o), u = s.find(e2);
|
|
if (u) {
|
|
const c = u.props.children, d = s.map((p) => p === u ? H.Children.count(c) > 1 ? H.Children.only(null) : H.isValidElement(c) ? c.props.children : null : p);
|
|
return /* @__PURE__ */ X(t, { ...i, ref: a, children: H.isValidElement(c) ? H.cloneElement(c, void 0, d) : null });
|
|
}
|
|
return /* @__PURE__ */ X(t, { ...i, ref: a, children: o });
|
|
});
|
|
return r.displayName = `${e}.Slot`, r;
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function Qw(e) {
|
|
const t = H.forwardRef((r, n) => {
|
|
const { children: a, ...o } = r;
|
|
if (H.isValidElement(a)) {
|
|
const i = r2(a), s = t2(o, a.props);
|
|
return a.type !== H.Fragment && (s.ref = n ? Ib(n, i) : i), H.cloneElement(a, s);
|
|
}
|
|
return H.Children.count(a) > 1 ? H.Children.only(null) : null;
|
|
});
|
|
return t.displayName = `${e}.SlotClone`, t;
|
|
}
|
|
var Zw = Symbol("radix.slottable");
|
|
function e2(e) {
|
|
return H.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Zw;
|
|
}
|
|
function t2(e, t) {
|
|
const r = { ...t };
|
|
for (const n in t) {
|
|
const a = e[n], o = t[n];
|
|
/^on[A-Z]/.test(n) ? a && o ? r[n] = (...i) => {
|
|
const s = o(...i);
|
|
return a(...i), s;
|
|
} : a && (r[n] = a) : n === "style" ? r[n] = { ...a, ...o } : n === "className" && (r[n] = [a, o].filter(Boolean).join(" "));
|
|
}
|
|
return { ...e, ...r };
|
|
}
|
|
function r2(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, a = n && "isReactWarning" in n && n.isReactWarning;
|
|
return a ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, a = n && "isReactWarning" in n && n.isReactWarning, a ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var n2 = [
|
|
"a",
|
|
"button",
|
|
"div",
|
|
"form",
|
|
"h2",
|
|
"h3",
|
|
"img",
|
|
"input",
|
|
"label",
|
|
"li",
|
|
"nav",
|
|
"ol",
|
|
"p",
|
|
"select",
|
|
"span",
|
|
"svg",
|
|
"ul"
|
|
], mr = n2.reduce((e, t) => {
|
|
const r = /* @__PURE__ */ Tb(`Primitive.${t}`), n = H.forwardRef((a, o) => {
|
|
const { asChild: i, ...s } = a, u = i ? r : t;
|
|
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ X(u, { ...s, ref: o });
|
|
});
|
|
return n.displayName = `Primitive.${t}`, { ...e, [t]: n };
|
|
}, {});
|
|
function a2(e, t) {
|
|
e && Lw.flushSync(() => e.dispatchEvent(t));
|
|
}
|
|
function ki(e) {
|
|
const t = H.useRef(e);
|
|
return H.useEffect(() => {
|
|
t.current = e;
|
|
}), H.useMemo(() => (...r) => {
|
|
var n;
|
|
return (n = t.current) == null ? void 0 : n.call(t, ...r);
|
|
}, []);
|
|
}
|
|
function o2(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = ki(e);
|
|
H.useEffect(() => {
|
|
const n = (a) => {
|
|
a.key === "Escape" && r(a);
|
|
};
|
|
return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 });
|
|
}, [r, t]);
|
|
}
|
|
var i2 = "DismissableLayer", nf = "dismissableLayer.update", s2 = "dismissableLayer.pointerDownOutside", l2 = "dismissableLayer.focusOutside", bm, Rb = H.createContext({
|
|
layers: /* @__PURE__ */ new Set(),
|
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
branches: /* @__PURE__ */ new Set()
|
|
}), Mb = H.forwardRef(
|
|
(e, t) => {
|
|
const {
|
|
disableOutsidePointerEvents: r = !1,
|
|
onEscapeKeyDown: n,
|
|
onPointerDownOutside: a,
|
|
onFocusOutside: o,
|
|
onInteractOutside: i,
|
|
onDismiss: s,
|
|
...u
|
|
} = e, c = H.useContext(Rb), [d, p] = H.useState(null), m = (d == null ? void 0 : d.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, w] = H.useState({}), _ = ca(t, (q) => p(q)), v = Array.from(c.layers), [y] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), k = v.indexOf(y), P = d ? v.indexOf(d) : -1, E = c.layersWithOutsidePointerEventsDisabled.size > 0, C = P >= k, b = f2((q) => {
|
|
const Z = q.target, ie = [...c.branches].some((Q) => Q.contains(Z));
|
|
!C || ie || (a == null || a(q), i == null || i(q), q.defaultPrevented || s == null || s());
|
|
}, m), Y = d2((q) => {
|
|
const Z = q.target;
|
|
[...c.branches].some((ie) => ie.contains(Z)) || (o == null || o(q), i == null || i(q), q.defaultPrevented || s == null || s());
|
|
}, m);
|
|
return o2((q) => {
|
|
P === c.layers.size - 1 && (n == null || n(q), !q.defaultPrevented && s && (q.preventDefault(), s()));
|
|
}, m), H.useEffect(() => {
|
|
if (d)
|
|
return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (bm = m.body.style.pointerEvents, m.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(d)), c.layers.add(d), vm(), () => {
|
|
r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (m.body.style.pointerEvents = bm);
|
|
};
|
|
}, [d, m, r, c]), H.useEffect(() => () => {
|
|
d && (c.layers.delete(d), c.layersWithOutsidePointerEventsDisabled.delete(d), vm());
|
|
}, [d, c]), H.useEffect(() => {
|
|
const q = () => w({});
|
|
return document.addEventListener(nf, q), () => document.removeEventListener(nf, q);
|
|
}, []), /* @__PURE__ */ X(
|
|
mr.div,
|
|
{
|
|
...u,
|
|
ref: _,
|
|
style: {
|
|
pointerEvents: E ? C ? "auto" : "none" : void 0,
|
|
...e.style
|
|
},
|
|
onFocusCapture: bn(e.onFocusCapture, Y.onFocusCapture),
|
|
onBlurCapture: bn(e.onBlurCapture, Y.onBlurCapture),
|
|
onPointerDownCapture: bn(
|
|
e.onPointerDownCapture,
|
|
b.onPointerDownCapture
|
|
)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
Mb.displayName = i2;
|
|
var c2 = "DismissableLayerBranch", u2 = H.forwardRef((e, t) => {
|
|
const r = H.useContext(Rb), n = H.useRef(null), a = ca(t, n);
|
|
return H.useEffect(() => {
|
|
const o = n.current;
|
|
if (o)
|
|
return r.branches.add(o), () => {
|
|
r.branches.delete(o);
|
|
};
|
|
}, [r.branches]), /* @__PURE__ */ X(mr.div, { ...e, ref: a });
|
|
});
|
|
u2.displayName = c2;
|
|
function f2(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = ki(e), n = H.useRef(!1), a = H.useRef(() => {
|
|
});
|
|
return H.useEffect(() => {
|
|
const o = (s) => {
|
|
if (s.target && !n.current) {
|
|
let u = function() {
|
|
zb(
|
|
s2,
|
|
r,
|
|
c,
|
|
{ discrete: !0 }
|
|
);
|
|
};
|
|
const c = { originalEvent: s };
|
|
s.pointerType === "touch" ? (t.removeEventListener("click", a.current), a.current = u, t.addEventListener("click", a.current, { once: !0 })) : u();
|
|
} else
|
|
t.removeEventListener("click", a.current);
|
|
n.current = !1;
|
|
}, i = window.setTimeout(() => {
|
|
t.addEventListener("pointerdown", o);
|
|
}, 0);
|
|
return () => {
|
|
window.clearTimeout(i), t.removeEventListener("pointerdown", o), t.removeEventListener("click", a.current);
|
|
};
|
|
}, [t, r]), {
|
|
// ensures we check React component tree (not just DOM tree)
|
|
onPointerDownCapture: () => n.current = !0
|
|
};
|
|
}
|
|
function d2(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = ki(e), n = H.useRef(!1);
|
|
return H.useEffect(() => {
|
|
const a = (o) => {
|
|
o.target && !n.current && zb(l2, r, { originalEvent: o }, {
|
|
discrete: !1
|
|
});
|
|
};
|
|
return t.addEventListener("focusin", a), () => t.removeEventListener("focusin", a);
|
|
}, [t, r]), {
|
|
onFocusCapture: () => n.current = !0,
|
|
onBlurCapture: () => n.current = !1
|
|
};
|
|
}
|
|
function vm() {
|
|
const e = new CustomEvent(nf);
|
|
document.dispatchEvent(e);
|
|
}
|
|
function zb(e, t, r, { discrete: n }) {
|
|
const a = r.originalEvent.target, o = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r });
|
|
t && a.addEventListener(e, t, { once: !0 }), n ? a2(a, o) : a.dispatchEvent(o);
|
|
}
|
|
var zc = "focusScope.autoFocusOnMount", Fc = "focusScope.autoFocusOnUnmount", xm = { bubbles: !1, cancelable: !0 }, p2 = "FocusScope", Fb = H.forwardRef((e, t) => {
|
|
const {
|
|
loop: r = !1,
|
|
trapped: n = !1,
|
|
onMountAutoFocus: a,
|
|
onUnmountAutoFocus: o,
|
|
...i
|
|
} = e, [s, u] = H.useState(null), c = ki(a), d = ki(o), p = H.useRef(null), m = ca(t, (v) => u(v)), w = H.useRef({
|
|
paused: !1,
|
|
pause() {
|
|
this.paused = !0;
|
|
},
|
|
resume() {
|
|
this.paused = !1;
|
|
}
|
|
}).current;
|
|
H.useEffect(() => {
|
|
if (n) {
|
|
let v = function(E) {
|
|
if (w.paused || !s) return;
|
|
const C = E.target;
|
|
s.contains(C) ? p.current = C : fn(p.current, { select: !0 });
|
|
}, y = function(E) {
|
|
if (w.paused || !s) return;
|
|
const C = E.relatedTarget;
|
|
C !== null && (s.contains(C) || fn(p.current, { select: !0 }));
|
|
}, k = function(E) {
|
|
if (document.activeElement === document.body)
|
|
for (const C of E)
|
|
C.removedNodes.length > 0 && fn(s);
|
|
};
|
|
document.addEventListener("focusin", v), document.addEventListener("focusout", y);
|
|
const P = new MutationObserver(k);
|
|
return s && P.observe(s, { childList: !0, subtree: !0 }), () => {
|
|
document.removeEventListener("focusin", v), document.removeEventListener("focusout", y), P.disconnect();
|
|
};
|
|
}
|
|
}, [n, s, w.paused]), H.useEffect(() => {
|
|
if (s) {
|
|
km.add(w);
|
|
const v = document.activeElement;
|
|
if (!s.contains(v)) {
|
|
const y = new CustomEvent(zc, xm);
|
|
s.addEventListener(zc, c), s.dispatchEvent(y), y.defaultPrevented || (m2(v2(Db(s)), { select: !0 }), document.activeElement === v && fn(s));
|
|
}
|
|
return () => {
|
|
s.removeEventListener(zc, c), setTimeout(() => {
|
|
const y = new CustomEvent(Fc, xm);
|
|
s.addEventListener(Fc, d), s.dispatchEvent(y), y.defaultPrevented || fn(v ?? document.body, { select: !0 }), s.removeEventListener(Fc, d), km.remove(w);
|
|
}, 0);
|
|
};
|
|
}
|
|
}, [s, c, d, w]);
|
|
const _ = H.useCallback(
|
|
(v) => {
|
|
if (!r && !n || w.paused) return;
|
|
const y = v.key === "Tab" && !v.altKey && !v.ctrlKey && !v.metaKey, k = document.activeElement;
|
|
if (y && k) {
|
|
const P = v.currentTarget, [E, C] = g2(P);
|
|
E && C ? !v.shiftKey && k === C ? (v.preventDefault(), r && fn(E, { select: !0 })) : v.shiftKey && k === E && (v.preventDefault(), r && fn(C, { select: !0 })) : k === P && v.preventDefault();
|
|
}
|
|
},
|
|
[r, n, w.paused]
|
|
);
|
|
return /* @__PURE__ */ X(mr.div, { tabIndex: -1, ...i, ref: m, onKeyDown: _ });
|
|
});
|
|
Fb.displayName = p2;
|
|
function m2(e, { select: t = !1 } = {}) {
|
|
const r = document.activeElement;
|
|
for (const n of e)
|
|
if (fn(n, { select: t }), document.activeElement !== r) return;
|
|
}
|
|
function g2(e) {
|
|
const t = Db(e), r = wm(t, e), n = wm(t.reverse(), e);
|
|
return [r, n];
|
|
}
|
|
function Db(e) {
|
|
const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
|
|
acceptNode: (n) => {
|
|
const a = n.tagName === "INPUT" && n.type === "hidden";
|
|
return n.disabled || n.hidden || a ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
}
|
|
});
|
|
for (; r.nextNode(); ) t.push(r.currentNode);
|
|
return t;
|
|
}
|
|
function wm(e, t) {
|
|
for (const r of e)
|
|
if (!h2(r, { upTo: t })) return r;
|
|
}
|
|
function h2(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 y2(e) {
|
|
return e instanceof HTMLInputElement && "select" in e;
|
|
}
|
|
function fn(e, { select: t = !1 } = {}) {
|
|
if (e && e.focus) {
|
|
const r = document.activeElement;
|
|
e.focus({ preventScroll: !0 }), e !== r && y2(e) && t && e.select();
|
|
}
|
|
}
|
|
var km = b2();
|
|
function b2() {
|
|
let e = [];
|
|
return {
|
|
add(t) {
|
|
const r = e[0];
|
|
t !== r && (r == null || r.pause()), e = _m(e, t), e.unshift(t);
|
|
},
|
|
remove(t) {
|
|
var r;
|
|
e = _m(e, t), (r = e[0]) == null || r.resume();
|
|
}
|
|
};
|
|
}
|
|
function _m(e, t) {
|
|
const r = [...e], n = r.indexOf(t);
|
|
return n !== -1 && r.splice(n, 1), r;
|
|
}
|
|
function v2(e) {
|
|
return e.filter((t) => t.tagName !== "A");
|
|
}
|
|
var x2 = "Portal", Lb = H.forwardRef((e, t) => {
|
|
var r;
|
|
const { container: n, ...a } = e, [o, i] = H.useState(!1);
|
|
wi(() => i(!0), []);
|
|
const s = n || o && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body);
|
|
return s ? Gw.createPortal(/* @__PURE__ */ X(mr.div, { ...a, ref: t }), s) : null;
|
|
});
|
|
Lb.displayName = x2;
|
|
function w2(e, t) {
|
|
return H.useReducer((r, n) => t[r][n] ?? r, e);
|
|
}
|
|
var ol = (e) => {
|
|
const { present: t, children: r } = e, n = k2(t), a = typeof r == "function" ? r({ present: n.isPresent }) : H.Children.only(r), o = ca(n.ref, _2(a));
|
|
return typeof r == "function" || n.isPresent ? H.cloneElement(a, { ref: o }) : null;
|
|
};
|
|
ol.displayName = "Presence";
|
|
function k2(e) {
|
|
const [t, r] = H.useState(), n = H.useRef(null), a = H.useRef(e), o = H.useRef("none"), i = e ? "mounted" : "unmounted", [s, u] = w2(i, {
|
|
mounted: {
|
|
UNMOUNT: "unmounted",
|
|
ANIMATION_OUT: "unmountSuspended"
|
|
},
|
|
unmountSuspended: {
|
|
MOUNT: "mounted",
|
|
ANIMATION_END: "unmounted"
|
|
},
|
|
unmounted: {
|
|
MOUNT: "mounted"
|
|
}
|
|
});
|
|
return H.useEffect(() => {
|
|
const c = Qi(n.current);
|
|
o.current = s === "mounted" ? c : "none";
|
|
}, [s]), wi(() => {
|
|
const c = n.current, d = a.current;
|
|
if (d !== e) {
|
|
const p = o.current, m = Qi(c);
|
|
e ? u("MOUNT") : m === "none" || (c == null ? void 0 : c.display) === "none" ? u("UNMOUNT") : u(d && p !== m ? "ANIMATION_OUT" : "UNMOUNT"), a.current = e;
|
|
}
|
|
}, [e, u]), wi(() => {
|
|
if (t) {
|
|
let c;
|
|
const d = t.ownerDocument.defaultView ?? window, p = (w) => {
|
|
const _ = Qi(n.current).includes(w.animationName);
|
|
if (w.target === t && _ && (u("ANIMATION_END"), !a.current)) {
|
|
const v = t.style.animationFillMode;
|
|
t.style.animationFillMode = "forwards", c = d.setTimeout(() => {
|
|
t.style.animationFillMode === "forwards" && (t.style.animationFillMode = v);
|
|
});
|
|
}
|
|
}, m = (w) => {
|
|
w.target === t && (o.current = Qi(n.current));
|
|
};
|
|
return t.addEventListener("animationstart", m), t.addEventListener("animationcancel", p), t.addEventListener("animationend", p), () => {
|
|
d.clearTimeout(c), t.removeEventListener("animationstart", m), t.removeEventListener("animationcancel", p), t.removeEventListener("animationend", p);
|
|
};
|
|
} else
|
|
u("ANIMATION_END");
|
|
}, [t, u]), {
|
|
isPresent: ["mounted", "unmountSuspended"].includes(s),
|
|
ref: H.useCallback((c) => {
|
|
n.current = c ? getComputedStyle(c) : null, r(c);
|
|
}, [])
|
|
};
|
|
}
|
|
function Qi(e) {
|
|
return (e == null ? void 0 : e.animationName) || "none";
|
|
}
|
|
function _2(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, a = n && "isReactWarning" in n && n.isReactWarning;
|
|
return a ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, a = n && "isReactWarning" in n && n.isReactWarning, a ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var Dc = 0;
|
|
function O2() {
|
|
H.useEffect(() => {
|
|
const e = document.querySelectorAll("[data-radix-focus-guard]");
|
|
return document.body.insertAdjacentElement("afterbegin", e[0] ?? Om()), document.body.insertAdjacentElement("beforeend", e[1] ?? Om()), Dc++, () => {
|
|
Dc === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), Dc--;
|
|
};
|
|
}, []);
|
|
}
|
|
function Om() {
|
|
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 ar = function() {
|
|
return ar = Object.assign || function(e) {
|
|
for (var t, r = 1, n = arguments.length; r < n; r++) {
|
|
t = arguments[r];
|
|
for (var a in t) Object.prototype.hasOwnProperty.call(t, a) && (e[a] = t[a]);
|
|
}
|
|
return e;
|
|
}, ar.apply(this, arguments);
|
|
};
|
|
function Gb(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 a = 0, n = Object.getOwnPropertySymbols(e); a < n.length; a++)
|
|
t.indexOf(n[a]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[a]) && (r[n[a]] = e[n[a]]);
|
|
return r;
|
|
}
|
|
function S2(e, t, r) {
|
|
for (var n = 0, a = t.length, o; n < a; n++)
|
|
(o || !(n in t)) && (o || (o = Array.prototype.slice.call(t, 0, n)), o[n] = t[n]);
|
|
return e.concat(o || Array.prototype.slice.call(t));
|
|
}
|
|
var _s = "right-scroll-bar-position", Os = "width-before-scroll-bar", E2 = "with-scroll-bars-hidden", P2 = "--removed-body-scroll-bar-size";
|
|
function Lc(e, t) {
|
|
return typeof e == "function" ? e(t) : e && (e.current = t), e;
|
|
}
|
|
function C2(e, t) {
|
|
var r = vt(function() {
|
|
return {
|
|
// value
|
|
value: e,
|
|
// last callback
|
|
callback: t,
|
|
// "memoized" public interface
|
|
facade: {
|
|
get current() {
|
|
return r.value;
|
|
},
|
|
set current(n) {
|
|
var a = r.value;
|
|
a !== n && (r.value = n, r.callback(n, a));
|
|
}
|
|
}
|
|
};
|
|
})[0];
|
|
return r.callback = t, r.facade;
|
|
}
|
|
var A2 = typeof window < "u" ? H.useLayoutEffect : H.useEffect, Sm = /* @__PURE__ */ new WeakMap();
|
|
function $2(e, t) {
|
|
var r = C2(null, function(n) {
|
|
return e.forEach(function(a) {
|
|
return Lc(a, n);
|
|
});
|
|
});
|
|
return A2(function() {
|
|
var n = Sm.get(r);
|
|
if (n) {
|
|
var a = new Set(n), o = new Set(e), i = r.current;
|
|
a.forEach(function(s) {
|
|
o.has(s) || Lc(s, null);
|
|
}), o.forEach(function(s) {
|
|
a.has(s) || Lc(s, i);
|
|
});
|
|
}
|
|
Sm.set(r, e);
|
|
}, [e]), r;
|
|
}
|
|
function N2(e) {
|
|
return e;
|
|
}
|
|
function j2(e, t) {
|
|
t === void 0 && (t = N2);
|
|
var r = [], n = !1, a = {
|
|
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(o) {
|
|
var i = t(o, n);
|
|
return r.push(i), function() {
|
|
r = r.filter(function(s) {
|
|
return s !== i;
|
|
});
|
|
};
|
|
},
|
|
assignSyncMedium: function(o) {
|
|
for (n = !0; r.length; ) {
|
|
var i = r;
|
|
r = [], i.forEach(o);
|
|
}
|
|
r = {
|
|
push: function(s) {
|
|
return o(s);
|
|
},
|
|
filter: function() {
|
|
return r;
|
|
}
|
|
};
|
|
},
|
|
assignMedium: function(o) {
|
|
n = !0;
|
|
var i = [];
|
|
if (r.length) {
|
|
var s = r;
|
|
r = [], s.forEach(o), i = r;
|
|
}
|
|
var u = function() {
|
|
var d = i;
|
|
i = [], d.forEach(o);
|
|
}, 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 a;
|
|
}
|
|
function I2(e) {
|
|
e === void 0 && (e = {});
|
|
var t = j2(null);
|
|
return t.options = ar({ async: !0, ssr: !1 }, e), t;
|
|
}
|
|
var Vb = function(e) {
|
|
var t = e.sideCar, r = Gb(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 H.createElement(n, ar({}, r));
|
|
};
|
|
Vb.isSideCarExport = !0;
|
|
function T2(e, t) {
|
|
return e.useMedium(t), Vb;
|
|
}
|
|
var Wb = I2(), Gc = function() {
|
|
}, il = H.forwardRef(function(e, t) {
|
|
var r = H.useRef(null), n = H.useState({
|
|
onScrollCapture: Gc,
|
|
onWheelCapture: Gc,
|
|
onTouchMoveCapture: Gc
|
|
}), a = n[0], o = n[1], i = e.forwardProps, s = e.children, u = e.className, c = e.removeScrollBar, d = e.enabled, p = e.shards, m = e.sideCar, w = e.noRelative, _ = e.noIsolation, v = e.inert, y = e.allowPinchZoom, k = e.as, P = k === void 0 ? "div" : k, E = e.gapMode, C = Gb(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), b = m, Y = $2([r, t]), q = ar(ar({}, C), a);
|
|
return H.createElement(
|
|
H.Fragment,
|
|
null,
|
|
d && H.createElement(b, { sideCar: Wb, removeScrollBar: c, shards: p, noRelative: w, noIsolation: _, inert: v, setCallbacks: o, allowPinchZoom: !!y, lockRef: r, gapMode: E }),
|
|
i ? H.cloneElement(H.Children.only(s), ar(ar({}, q), { ref: Y })) : H.createElement(P, ar({}, q, { className: u, ref: Y }), s)
|
|
);
|
|
});
|
|
il.defaultProps = {
|
|
enabled: !0,
|
|
removeScrollBar: !0,
|
|
inert: !1
|
|
};
|
|
il.classNames = {
|
|
fullWidth: Os,
|
|
zeroRight: _s
|
|
};
|
|
var R2 = function() {
|
|
if (typeof __webpack_nonce__ < "u")
|
|
return __webpack_nonce__;
|
|
};
|
|
function M2() {
|
|
if (!document)
|
|
return null;
|
|
var e = document.createElement("style");
|
|
e.type = "text/css";
|
|
var t = R2();
|
|
return t && e.setAttribute("nonce", t), e;
|
|
}
|
|
function z2(e, t) {
|
|
e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
|
|
}
|
|
function F2(e) {
|
|
var t = document.head || document.getElementsByTagName("head")[0];
|
|
t.appendChild(e);
|
|
}
|
|
var D2 = function() {
|
|
var e = 0, t = null;
|
|
return {
|
|
add: function(r) {
|
|
e == 0 && (t = M2()) && (z2(t, r), F2(t)), e++;
|
|
},
|
|
remove: function() {
|
|
e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null);
|
|
}
|
|
};
|
|
}, L2 = function() {
|
|
var e = D2();
|
|
return function(t, r) {
|
|
H.useEffect(function() {
|
|
return e.add(t), function() {
|
|
e.remove();
|
|
};
|
|
}, [t && r]);
|
|
};
|
|
}, Ub = function() {
|
|
var e = L2(), t = function(r) {
|
|
var n = r.styles, a = r.dynamic;
|
|
return e(n, a), null;
|
|
};
|
|
return t;
|
|
}, G2 = {
|
|
left: 0,
|
|
top: 0,
|
|
right: 0,
|
|
gap: 0
|
|
}, Vc = function(e) {
|
|
return parseInt(e || "", 10) || 0;
|
|
}, V2 = function(e) {
|
|
var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], a = t[e === "padding" ? "paddingRight" : "marginRight"];
|
|
return [Vc(r), Vc(n), Vc(a)];
|
|
}, W2 = function(e) {
|
|
if (e === void 0 && (e = "margin"), typeof window > "u")
|
|
return G2;
|
|
var t = V2(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])
|
|
};
|
|
}, U2 = Ub(), Pa = "data-scroll-locked", H2 = function(e, t, r, n) {
|
|
var a = e.left, o = e.top, i = e.right, s = e.gap;
|
|
return r === void 0 && (r = "margin"), `
|
|
.`.concat(E2, ` {
|
|
overflow: hidden `).concat(n, `;
|
|
padding-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
body[`).concat(Pa, `] {
|
|
overflow: hidden `).concat(n, `;
|
|
overscroll-behavior: contain;
|
|
`).concat([
|
|
t && "position: relative ".concat(n, ";"),
|
|
r === "margin" && `
|
|
padding-left: `.concat(a, `px;
|
|
padding-top: `).concat(o, `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(_s, ` {
|
|
right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(Os, ` {
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(_s, " .").concat(_s, ` {
|
|
right: 0 `).concat(n, `;
|
|
}
|
|
|
|
.`).concat(Os, " .").concat(Os, ` {
|
|
margin-right: 0 `).concat(n, `;
|
|
}
|
|
|
|
body[`).concat(Pa, `] {
|
|
`).concat(P2, ": ").concat(s, `px;
|
|
}
|
|
`);
|
|
}, Em = function() {
|
|
var e = parseInt(document.body.getAttribute(Pa) || "0", 10);
|
|
return isFinite(e) ? e : 0;
|
|
}, Y2 = function() {
|
|
H.useEffect(function() {
|
|
return document.body.setAttribute(Pa, (Em() + 1).toString()), function() {
|
|
var e = Em() - 1;
|
|
e <= 0 ? document.body.removeAttribute(Pa) : document.body.setAttribute(Pa, e.toString());
|
|
};
|
|
}, []);
|
|
}, q2 = function(e) {
|
|
var t = e.noRelative, r = e.noImportant, n = e.gapMode, a = n === void 0 ? "margin" : n;
|
|
Y2();
|
|
var o = H.useMemo(function() {
|
|
return W2(a);
|
|
}, [a]);
|
|
return H.createElement(U2, { styles: H2(o, !t, a, r ? "" : "!important") });
|
|
}, af = !1;
|
|
if (typeof window < "u")
|
|
try {
|
|
var Zi = Object.defineProperty({}, "passive", {
|
|
get: function() {
|
|
return af = !0, !0;
|
|
}
|
|
});
|
|
window.addEventListener("test", Zi, Zi), window.removeEventListener("test", Zi, Zi);
|
|
} catch {
|
|
af = !1;
|
|
}
|
|
var da = af ? { passive: !1 } : !1, B2 = function(e) {
|
|
return e.tagName === "TEXTAREA";
|
|
}, Hb = 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 && !B2(e) && r[t] === "visible")
|
|
);
|
|
}, K2 = function(e) {
|
|
return Hb(e, "overflowY");
|
|
}, X2 = function(e) {
|
|
return Hb(e, "overflowX");
|
|
}, Pm = function(e, t) {
|
|
var r = t.ownerDocument, n = t;
|
|
do {
|
|
typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host);
|
|
var a = Yb(e, n);
|
|
if (a) {
|
|
var o = qb(e, n), i = o[1], s = o[2];
|
|
if (i > s)
|
|
return !0;
|
|
}
|
|
n = n.parentNode;
|
|
} while (n && n !== r.body);
|
|
return !1;
|
|
}, J2 = function(e) {
|
|
var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, Q2 = function(e) {
|
|
var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, Yb = function(e, t) {
|
|
return e === "v" ? K2(t) : X2(t);
|
|
}, qb = function(e, t) {
|
|
return e === "v" ? J2(t) : Q2(t);
|
|
}, Z2 = function(e, t) {
|
|
return e === "h" && t === "rtl" ? -1 : 1;
|
|
}, ek = function(e, t, r, n, a) {
|
|
var o = Z2(e, window.getComputedStyle(t).direction), i = o * n, s = r.target, u = t.contains(s), c = !1, d = i > 0, p = 0, m = 0;
|
|
do {
|
|
if (!s)
|
|
break;
|
|
var w = qb(e, s), _ = w[0], v = w[1], y = w[2], k = v - y - o * _;
|
|
(_ || k) && Yb(e, s) && (p += k, m += _);
|
|
var P = s.parentNode;
|
|
s = P && P.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? P.host : P;
|
|
} while (
|
|
// portaled content
|
|
!u && s !== document.body || // self content
|
|
u && (t.contains(s) || t === s)
|
|
);
|
|
return (d && Math.abs(p) < 1 || !d && Math.abs(m) < 1) && (c = !0), c;
|
|
}, es = function(e) {
|
|
return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];
|
|
}, Cm = function(e) {
|
|
return [e.deltaX, e.deltaY];
|
|
}, Am = function(e) {
|
|
return e && "current" in e ? e.current : e;
|
|
}, tk = function(e, t) {
|
|
return e[0] === t[0] && e[1] === t[1];
|
|
}, rk = function(e) {
|
|
return `
|
|
.block-interactivity-`.concat(e, ` {pointer-events: none;}
|
|
.allow-interactivity-`).concat(e, ` {pointer-events: all;}
|
|
`);
|
|
}, nk = 0, pa = [];
|
|
function ak(e) {
|
|
var t = H.useRef([]), r = H.useRef([0, 0]), n = H.useRef(), a = H.useState(nk++)[0], o = H.useState(Ub)[0], i = H.useRef(e);
|
|
H.useEffect(function() {
|
|
i.current = e;
|
|
}, [e]), H.useEffect(function() {
|
|
if (e.inert) {
|
|
document.body.classList.add("block-interactivity-".concat(a));
|
|
var v = S2([e.lockRef.current], (e.shards || []).map(Am)).filter(Boolean);
|
|
return v.forEach(function(y) {
|
|
return y.classList.add("allow-interactivity-".concat(a));
|
|
}), function() {
|
|
document.body.classList.remove("block-interactivity-".concat(a)), v.forEach(function(y) {
|
|
return y.classList.remove("allow-interactivity-".concat(a));
|
|
});
|
|
};
|
|
}
|
|
}, [e.inert, e.lockRef.current, e.shards]);
|
|
var s = H.useCallback(function(v, y) {
|
|
if ("touches" in v && v.touches.length === 2 || v.type === "wheel" && v.ctrlKey)
|
|
return !i.current.allowPinchZoom;
|
|
var k = es(v), P = r.current, E = "deltaX" in v ? v.deltaX : P[0] - k[0], C = "deltaY" in v ? v.deltaY : P[1] - k[1], b, Y = v.target, q = Math.abs(E) > Math.abs(C) ? "h" : "v";
|
|
if ("touches" in v && q === "h" && Y.type === "range")
|
|
return !1;
|
|
var Z = Pm(q, Y);
|
|
if (!Z)
|
|
return !0;
|
|
if (Z ? b = q : (b = q === "v" ? "h" : "v", Z = Pm(q, Y)), !Z)
|
|
return !1;
|
|
if (!n.current && "changedTouches" in v && (E || C) && (n.current = b), !b)
|
|
return !0;
|
|
var ie = n.current || b;
|
|
return ek(ie, y, v, ie === "h" ? E : C);
|
|
}, []), u = H.useCallback(function(v) {
|
|
var y = v;
|
|
if (!(!pa.length || pa[pa.length - 1] !== o)) {
|
|
var k = "deltaY" in y ? Cm(y) : es(y), P = t.current.filter(function(b) {
|
|
return b.name === y.type && (b.target === y.target || y.target === b.shadowParent) && tk(b.delta, k);
|
|
})[0];
|
|
if (P && P.should) {
|
|
y.cancelable && y.preventDefault();
|
|
return;
|
|
}
|
|
if (!P) {
|
|
var E = (i.current.shards || []).map(Am).filter(Boolean).filter(function(b) {
|
|
return b.contains(y.target);
|
|
}), C = E.length > 0 ? s(y, E[0]) : !i.current.noIsolation;
|
|
C && y.cancelable && y.preventDefault();
|
|
}
|
|
}
|
|
}, []), c = H.useCallback(function(v, y, k, P) {
|
|
var E = { name: v, delta: y, target: k, should: P, shadowParent: ok(k) };
|
|
t.current.push(E), setTimeout(function() {
|
|
t.current = t.current.filter(function(C) {
|
|
return C !== E;
|
|
});
|
|
}, 1);
|
|
}, []), d = H.useCallback(function(v) {
|
|
r.current = es(v), n.current = void 0;
|
|
}, []), p = H.useCallback(function(v) {
|
|
c(v.type, Cm(v), v.target, s(v, e.lockRef.current));
|
|
}, []), m = H.useCallback(function(v) {
|
|
c(v.type, es(v), v.target, s(v, e.lockRef.current));
|
|
}, []);
|
|
H.useEffect(function() {
|
|
return pa.push(o), e.setCallbacks({
|
|
onScrollCapture: p,
|
|
onWheelCapture: p,
|
|
onTouchMoveCapture: m
|
|
}), document.addEventListener("wheel", u, da), document.addEventListener("touchmove", u, da), document.addEventListener("touchstart", d, da), function() {
|
|
pa = pa.filter(function(v) {
|
|
return v !== o;
|
|
}), document.removeEventListener("wheel", u, da), document.removeEventListener("touchmove", u, da), document.removeEventListener("touchstart", d, da);
|
|
};
|
|
}, []);
|
|
var w = e.removeScrollBar, _ = e.inert;
|
|
return H.createElement(
|
|
H.Fragment,
|
|
null,
|
|
_ ? H.createElement(o, { styles: rk(a) }) : null,
|
|
w ? H.createElement(q2, { noRelative: e.noRelative, gapMode: e.gapMode }) : null
|
|
);
|
|
}
|
|
function ok(e) {
|
|
for (var t = null; e !== null; )
|
|
e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode;
|
|
return t;
|
|
}
|
|
const ik = T2(Wb, ak);
|
|
var Bb = H.forwardRef(function(e, t) {
|
|
return H.createElement(il, ar({}, e, { ref: t, sideCar: ik }));
|
|
});
|
|
Bb.classNames = il.classNames;
|
|
var sk = function(e) {
|
|
if (typeof document > "u")
|
|
return null;
|
|
var t = Array.isArray(e) ? e[0] : e;
|
|
return t.ownerDocument.body;
|
|
}, ma = /* @__PURE__ */ new WeakMap(), ts = /* @__PURE__ */ new WeakMap(), rs = {}, Wc = 0, Kb = function(e) {
|
|
return e && (e.host || Kb(e.parentNode));
|
|
}, lk = function(e, t) {
|
|
return t.map(function(r) {
|
|
if (e.contains(r))
|
|
return r;
|
|
var n = Kb(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;
|
|
});
|
|
}, ck = function(e, t, r, n) {
|
|
var a = lk(t, Array.isArray(e) ? e : [e]);
|
|
rs[r] || (rs[r] = /* @__PURE__ */ new WeakMap());
|
|
var o = rs[r], i = [], s = /* @__PURE__ */ new Set(), u = new Set(a), c = function(p) {
|
|
!p || s.has(p) || (s.add(p), c(p.parentNode));
|
|
};
|
|
a.forEach(c);
|
|
var d = function(p) {
|
|
!p || u.has(p) || Array.prototype.forEach.call(p.children, function(m) {
|
|
if (s.has(m))
|
|
d(m);
|
|
else
|
|
try {
|
|
var w = m.getAttribute(n), _ = w !== null && w !== "false", v = (ma.get(m) || 0) + 1, y = (o.get(m) || 0) + 1;
|
|
ma.set(m, v), o.set(m, y), i.push(m), v === 1 && _ && ts.set(m, !0), y === 1 && m.setAttribute(r, "true"), _ || m.setAttribute(n, "true");
|
|
} catch (k) {
|
|
console.error("aria-hidden: cannot operate on ", m, k);
|
|
}
|
|
});
|
|
};
|
|
return d(t), s.clear(), Wc++, function() {
|
|
i.forEach(function(p) {
|
|
var m = ma.get(p) - 1, w = o.get(p) - 1;
|
|
ma.set(p, m), o.set(p, w), m || (ts.has(p) || p.removeAttribute(n), ts.delete(p)), w || p.removeAttribute(r);
|
|
}), Wc--, Wc || (ma = /* @__PURE__ */ new WeakMap(), ma = /* @__PURE__ */ new WeakMap(), ts = /* @__PURE__ */ new WeakMap(), rs = {});
|
|
};
|
|
}, uk = function(e, t, r) {
|
|
r === void 0 && (r = "data-aria-hidden");
|
|
var n = Array.from(Array.isArray(e) ? e : [e]), a = sk(e);
|
|
return a ? (n.push.apply(n, Array.from(a.querySelectorAll("[aria-live], script"))), ck(n, a, r, "aria-hidden")) : function() {
|
|
return null;
|
|
};
|
|
}, sl = "Dialog", [Xb, pR] = Uw(sl), [fk, Kt] = Xb(sl), Jb = (e) => {
|
|
const {
|
|
__scopeDialog: t,
|
|
children: r,
|
|
open: n,
|
|
defaultOpen: a,
|
|
onOpenChange: o,
|
|
modal: i = !0
|
|
} = e, s = H.useRef(null), u = H.useRef(null), [c, d] = Kw({
|
|
prop: n,
|
|
defaultProp: a ?? !1,
|
|
onChange: o,
|
|
caller: sl
|
|
});
|
|
return /* @__PURE__ */ X(
|
|
fk,
|
|
{
|
|
scope: t,
|
|
triggerRef: s,
|
|
contentRef: u,
|
|
contentId: Mc(),
|
|
titleId: Mc(),
|
|
descriptionId: Mc(),
|
|
open: c,
|
|
onOpenChange: d,
|
|
onOpenToggle: H.useCallback(() => d((p) => !p), [d]),
|
|
modal: i,
|
|
children: r
|
|
}
|
|
);
|
|
};
|
|
Jb.displayName = sl;
|
|
var Qb = "DialogTrigger", dk = H.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, a = Kt(Qb, r), o = ca(t, a.triggerRef);
|
|
return /* @__PURE__ */ X(
|
|
mr.button,
|
|
{
|
|
type: "button",
|
|
"aria-haspopup": "dialog",
|
|
"aria-expanded": a.open,
|
|
"aria-controls": a.contentId,
|
|
"data-state": Bd(a.open),
|
|
...n,
|
|
ref: o,
|
|
onClick: bn(e.onClick, a.onOpenToggle)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
dk.displayName = Qb;
|
|
var Yd = "DialogPortal", [pk, Zb] = Xb(Yd, {
|
|
forceMount: void 0
|
|
}), ev = (e) => {
|
|
const { __scopeDialog: t, forceMount: r, children: n, container: a } = e, o = Kt(Yd, t);
|
|
return /* @__PURE__ */ X(pk, { scope: t, forceMount: r, children: H.Children.map(n, (i) => /* @__PURE__ */ X(ol, { present: r || o.open, children: /* @__PURE__ */ X(Lb, { asChild: !0, container: a, children: i }) })) });
|
|
};
|
|
ev.displayName = Yd;
|
|
var Ls = "DialogOverlay", tv = H.forwardRef(
|
|
(e, t) => {
|
|
const r = Zb(Ls, e.__scopeDialog), { forceMount: n = r.forceMount, ...a } = e, o = Kt(Ls, e.__scopeDialog);
|
|
return o.modal ? /* @__PURE__ */ X(ol, { present: n || o.open, children: /* @__PURE__ */ X(gk, { ...a, ref: t }) }) : null;
|
|
}
|
|
);
|
|
tv.displayName = Ls;
|
|
var mk = /* @__PURE__ */ Tb("DialogOverlay.RemoveScroll"), gk = H.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, a = Kt(Ls, r);
|
|
return (
|
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
// ie. when `Overlay` and `Content` are siblings
|
|
/* @__PURE__ */ X(Bb, { as: mk, allowPinchZoom: !0, shards: [a.contentRef], children: /* @__PURE__ */ X(
|
|
mr.div,
|
|
{
|
|
"data-state": Bd(a.open),
|
|
...n,
|
|
ref: t,
|
|
style: { pointerEvents: "auto", ...n.style }
|
|
}
|
|
) })
|
|
);
|
|
}
|
|
), Zn = "DialogContent", rv = H.forwardRef(
|
|
(e, t) => {
|
|
const r = Zb(Zn, e.__scopeDialog), { forceMount: n = r.forceMount, ...a } = e, o = Kt(Zn, e.__scopeDialog);
|
|
return /* @__PURE__ */ X(ol, { present: n || o.open, children: o.modal ? /* @__PURE__ */ X(hk, { ...a, ref: t }) : /* @__PURE__ */ X(yk, { ...a, ref: t }) });
|
|
}
|
|
);
|
|
rv.displayName = Zn;
|
|
var hk = H.forwardRef(
|
|
(e, t) => {
|
|
const r = Kt(Zn, e.__scopeDialog), n = H.useRef(null), a = ca(t, r.contentRef, n);
|
|
return H.useEffect(() => {
|
|
const o = n.current;
|
|
if (o) return uk(o);
|
|
}, []), /* @__PURE__ */ X(
|
|
nv,
|
|
{
|
|
...e,
|
|
ref: a,
|
|
trapFocus: r.open,
|
|
disableOutsidePointerEvents: !0,
|
|
onCloseAutoFocus: bn(e.onCloseAutoFocus, (o) => {
|
|
var i;
|
|
o.preventDefault(), (i = r.triggerRef.current) == null || i.focus();
|
|
}),
|
|
onPointerDownOutside: bn(e.onPointerDownOutside, (o) => {
|
|
const i = o.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0;
|
|
(i.button === 2 || s) && o.preventDefault();
|
|
}),
|
|
onFocusOutside: bn(
|
|
e.onFocusOutside,
|
|
(o) => o.preventDefault()
|
|
)
|
|
}
|
|
);
|
|
}
|
|
), yk = H.forwardRef(
|
|
(e, t) => {
|
|
const r = Kt(Zn, e.__scopeDialog), n = H.useRef(!1), a = H.useRef(!1);
|
|
return /* @__PURE__ */ X(
|
|
nv,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
trapFocus: !1,
|
|
disableOutsidePointerEvents: !1,
|
|
onCloseAutoFocus: (o) => {
|
|
var i, s;
|
|
(i = e.onCloseAutoFocus) == null || i.call(e, o), o.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), o.preventDefault()), n.current = !1, a.current = !1;
|
|
},
|
|
onInteractOutside: (o) => {
|
|
var i, s;
|
|
(i = e.onInteractOutside) == null || i.call(e, o), o.defaultPrevented || (n.current = !0, o.detail.originalEvent.type === "pointerdown" && (a.current = !0));
|
|
const u = o.target;
|
|
(s = r.triggerRef.current) != null && s.contains(u) && o.preventDefault(), o.detail.originalEvent.type === "focusin" && a.current && o.preventDefault();
|
|
}
|
|
}
|
|
);
|
|
}
|
|
), nv = H.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: a, onCloseAutoFocus: o, ...i } = e, s = Kt(Zn, r), u = H.useRef(null), c = ca(t, u);
|
|
return O2(), /* @__PURE__ */ Le(Ht, { children: [
|
|
/* @__PURE__ */ X(
|
|
Fb,
|
|
{
|
|
asChild: !0,
|
|
loop: !0,
|
|
trapped: n,
|
|
onMountAutoFocus: a,
|
|
onUnmountAutoFocus: o,
|
|
children: /* @__PURE__ */ X(
|
|
Mb,
|
|
{
|
|
role: "dialog",
|
|
id: s.contentId,
|
|
"aria-describedby": s.descriptionId,
|
|
"aria-labelledby": s.titleId,
|
|
"data-state": Bd(s.open),
|
|
...i,
|
|
ref: c,
|
|
onDismiss: () => s.onOpenChange(!1)
|
|
}
|
|
)
|
|
}
|
|
),
|
|
/* @__PURE__ */ Le(Ht, { children: [
|
|
/* @__PURE__ */ X(vk, { titleId: s.titleId }),
|
|
/* @__PURE__ */ X(wk, { contentRef: u, descriptionId: s.descriptionId })
|
|
] })
|
|
] });
|
|
}
|
|
), qd = "DialogTitle", av = H.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, a = Kt(qd, r);
|
|
return /* @__PURE__ */ X(mr.h2, { id: a.titleId, ...n, ref: t });
|
|
}
|
|
);
|
|
av.displayName = qd;
|
|
var ov = "DialogDescription", iv = H.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, a = Kt(ov, r);
|
|
return /* @__PURE__ */ X(mr.p, { id: a.descriptionId, ...n, ref: t });
|
|
}
|
|
);
|
|
iv.displayName = ov;
|
|
var sv = "DialogClose", bk = H.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, a = Kt(sv, r);
|
|
return /* @__PURE__ */ X(
|
|
mr.button,
|
|
{
|
|
type: "button",
|
|
...n,
|
|
ref: t,
|
|
onClick: bn(e.onClick, () => a.onOpenChange(!1))
|
|
}
|
|
);
|
|
}
|
|
);
|
|
bk.displayName = sv;
|
|
function Bd(e) {
|
|
return e ? "open" : "closed";
|
|
}
|
|
var lv = "DialogTitleWarning", [mR, cv] = Ww(lv, {
|
|
contentName: Zn,
|
|
titleName: qd,
|
|
docsSlug: "dialog"
|
|
}), vk = ({ titleId: e }) => {
|
|
const t = cv(lv), 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 H.useEffect(() => {
|
|
e && (document.getElementById(e) || console.error(r));
|
|
}, [r, e]), null;
|
|
}, xk = "DialogDescriptionWarning", wk = ({ contentRef: e, descriptionId: t }) => {
|
|
const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${cv(xk).contentName}}.`;
|
|
return H.useEffect(() => {
|
|
var n;
|
|
const a = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby");
|
|
t && a && (document.getElementById(t) || console.warn(r));
|
|
}, [r, e, t]), null;
|
|
}, kk = Jb, _k = ev, Ok = tv, Sk = rv, $m = av, Ek = iv;
|
|
const Kd = "-", Pk = (e) => {
|
|
const t = Ak(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (a) => {
|
|
const o = a.split(Kd);
|
|
return o[0] === "" && o.length !== 1 && o.shift(), uv(o, t) || Ck(a);
|
|
},
|
|
getConflictingClassGroupIds: (a, o) => {
|
|
const i = r[a] || [];
|
|
return o && n[a] ? [...i, ...n[a]] : i;
|
|
}
|
|
};
|
|
}, uv = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], a = t.nextPart.get(n), o = a ? uv(e.slice(1), a) : void 0;
|
|
if (o)
|
|
return o;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Kd);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, Nm = /^\[(.+)\]$/, Ck = (e) => {
|
|
if (Nm.test(e)) {
|
|
const t = Nm.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, Ak = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return Nk(Object.entries(e.classGroups), r).forEach(([a, o]) => {
|
|
of(o, n, a, t);
|
|
}), n;
|
|
}, of = (e, t, r, n) => {
|
|
e.forEach((a) => {
|
|
if (typeof a == "string") {
|
|
const o = a === "" ? t : jm(t, a);
|
|
o.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof a == "function") {
|
|
if ($k(a)) {
|
|
of(a(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: a,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(a).forEach(([o, i]) => {
|
|
of(i, jm(t, o), r, n);
|
|
});
|
|
});
|
|
}, jm = (e, t) => {
|
|
let r = e;
|
|
return t.split(Kd).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, $k = (e) => e.isThemeGetter, Nk = (e, t) => t ? e.map(([r, n]) => {
|
|
const a = n.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
|
|
return [r, a];
|
|
}) : e, jk = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const a = (o, i) => {
|
|
r.set(o, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(o) {
|
|
let i = r.get(o);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(o)) !== void 0)
|
|
return a(o, i), i;
|
|
},
|
|
set(o, i) {
|
|
r.has(o) ? r.set(o, i) : a(o, i);
|
|
}
|
|
};
|
|
}, fv = "!", Ik = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, a = t[0], o = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, p;
|
|
for (let y = 0; y < s.length; y++) {
|
|
let k = s[y];
|
|
if (c === 0) {
|
|
if (k === a && (n || s.slice(y, y + o) === t)) {
|
|
u.push(s.slice(d, y)), d = y + o;
|
|
continue;
|
|
}
|
|
if (k === "/") {
|
|
p = y;
|
|
continue;
|
|
}
|
|
}
|
|
k === "[" ? c++ : k === "]" && c--;
|
|
}
|
|
const m = u.length === 0 ? s : s.substring(d), w = m.startsWith(fv), _ = w ? m.substring(1) : m, v = p && p > d ? p - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: w,
|
|
baseClassName: _,
|
|
maybePostfixModifierPosition: v
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, Tk = (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;
|
|
}, Rk = (e) => ({
|
|
cache: jk(e.cacheSize),
|
|
parseClassName: Ik(e),
|
|
...Pk(e)
|
|
}), Mk = /\s+/, zk = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: a
|
|
} = t, o = [], i = e.trim().split(Mk);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: p,
|
|
baseClassName: m,
|
|
maybePostfixModifierPosition: w
|
|
} = r(c);
|
|
let _ = !!w, v = n(_ ? m.substring(0, w) : m);
|
|
if (!v) {
|
|
if (!_) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (v = n(m), !v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
_ = !1;
|
|
}
|
|
const y = Tk(d).join(":"), k = p ? y + fv : y, P = k + v;
|
|
if (o.includes(P))
|
|
continue;
|
|
o.push(P);
|
|
const E = a(v, _);
|
|
for (let C = 0; C < E.length; ++C) {
|
|
const b = E[C];
|
|
o.push(k + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function Fk() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = dv(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const dv = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = dv(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function Dk(e, ...t) {
|
|
let r, n, a, o = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, p) => p(d), e());
|
|
return r = Rk(c), n = r.cache.get, a = r.cache.set, o = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = zk(u, r);
|
|
return a(u, d), d;
|
|
}
|
|
return function() {
|
|
return o(Fk.apply(null, arguments));
|
|
};
|
|
}
|
|
const rt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, pv = /^\[(?:([a-z-]+):)?(.+)\]$/i, Lk = /^\d+\/\d+$/, Gk = /* @__PURE__ */ new Set(["px", "full", "screen"]), Vk = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Wk = /\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$/, Uk = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Hk = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Yk = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Sr = (e) => Ca(e) || Gk.has(e) || Lk.test(e), qr = (e) => qa(e, "length", e_), Ca = (e) => !!e && !Number.isNaN(Number(e)), Uc = (e) => qa(e, "number", Ca), Fo = (e) => !!e && Number.isInteger(Number(e)), qk = (e) => e.endsWith("%") && Ca(e.slice(0, -1)), Ee = (e) => pv.test(e), Br = (e) => Vk.test(e), Bk = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Kk = (e) => qa(e, Bk, mv), Xk = (e) => qa(e, "position", mv), Jk = /* @__PURE__ */ new Set(["image", "url"]), Qk = (e) => qa(e, Jk, r_), Zk = (e) => qa(e, "", t_), Do = () => !0, qa = (e, t, r) => {
|
|
const n = pv.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, 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.
|
|
Wk.test(e) && !Uk.test(e)
|
|
), mv = () => !1, t_ = (e) => Hk.test(e), r_ = (e) => Yk.test(e), n_ = () => {
|
|
const e = rt("colors"), t = rt("spacing"), r = rt("blur"), n = rt("brightness"), a = rt("borderColor"), o = rt("borderRadius"), i = rt("borderSpacing"), s = rt("borderWidth"), u = rt("contrast"), c = rt("grayscale"), d = rt("hueRotate"), p = rt("invert"), m = rt("gap"), w = rt("gradientColorStops"), _ = rt("gradientColorStopPositions"), v = rt("inset"), y = rt("margin"), k = rt("opacity"), P = rt("padding"), E = rt("saturate"), C = rt("scale"), b = rt("sepia"), Y = rt("skew"), q = rt("space"), Z = rt("translate"), ie = () => ["auto", "contain", "none"], Q = () => ["auto", "hidden", "clip", "visible", "scroll"], J = () => ["auto", Ee, t], D = () => [Ee, t], ce = () => ["", Sr, qr], V = () => ["auto", Ca, Ee], I = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], R = () => ["solid", "dashed", "dotted", "double", "none"], j = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], U = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], B = () => ["", "0", Ee], h = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], f = () => [Ca, Ee];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Do],
|
|
spacing: [Sr, qr],
|
|
blur: ["none", "", Br, Ee],
|
|
brightness: f(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Br, Ee],
|
|
borderSpacing: D(),
|
|
borderWidth: ce(),
|
|
contrast: f(),
|
|
grayscale: B(),
|
|
hueRotate: f(),
|
|
invert: B(),
|
|
gap: D(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [qk, qr],
|
|
inset: J(),
|
|
margin: J(),
|
|
opacity: f(),
|
|
padding: D(),
|
|
saturate: f(),
|
|
scale: f(),
|
|
sepia: B(),
|
|
skew: f(),
|
|
space: D(),
|
|
translate: D()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Ee]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Br]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": h()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": h()
|
|
}],
|
|
/**
|
|
* 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: [...I(), Ee]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: Q()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": Q()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": Q()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": ie()
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [v]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [v]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [v]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [v]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [v]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [v]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [v]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [v]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Fo, Ee]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: J()
|
|
}],
|
|
/**
|
|
* 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", Ee]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: B()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: B()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Fo, Ee]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Do]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Fo, Ee]
|
|
}, Ee]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": V()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": V()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Do]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Fo, Ee]
|
|
}, Ee]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": V()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": V()
|
|
}],
|
|
/**
|
|
* 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", Ee]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Ee]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [m]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [m]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [m]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...U()]
|
|
}],
|
|
/**
|
|
* 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", ...U(), "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": [...U(), "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: [P]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [P]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [P]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [P]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [P]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [P]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [P]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [P]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [P]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [y]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [y]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [y]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [y]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [y]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [y]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [y]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [y]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [y]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [q]
|
|
}],
|
|
/**
|
|
* 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": [q]
|
|
}],
|
|
/**
|
|
* 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", Ee, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Ee, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Ee, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Br]
|
|
}, Br]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Ee, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Ee, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Ee, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Ee, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Br, qr]
|
|
}],
|
|
/**
|
|
* 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", Uc]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Do]
|
|
}],
|
|
/**
|
|
* 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", Ee]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Ca, Uc]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Sr, Ee]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Ee]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Ee]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...R(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Sr, qr]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Sr, Ee]
|
|
}],
|
|
/**
|
|
* 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: D()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ee]
|
|
}],
|
|
/**
|
|
* 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", Ee]
|
|
}],
|
|
// 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...I(), Xk]
|
|
}],
|
|
/**
|
|
* 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", Kk]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, Qk]
|
|
}],
|
|
/**
|
|
* 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: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [w]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [o]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...R(), "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": [k]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: R()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [a]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [a]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [a]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [a]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [a]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [a]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [a]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [a]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [a]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [a]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...R()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Sr, Ee]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Sr, qr]
|
|
}],
|
|
/**
|
|
* 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: ce()
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Sr, qr]
|
|
}],
|
|
/**
|
|
* 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", Br, Zk]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Do]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [k]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...j(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": j()
|
|
}],
|
|
// 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", Br, Ee]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [E]
|
|
}],
|
|
/**
|
|
* 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": [p]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [k]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [E]
|
|
}],
|
|
/**
|
|
* 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", Ee]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: f()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Ee]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: f()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Ee]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [C]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [C]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [C]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Fo, Ee]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [Z]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [Z]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [Y]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [Y]
|
|
}],
|
|
/**
|
|
* 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", Ee]
|
|
}],
|
|
// 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", Ee]
|
|
}],
|
|
/**
|
|
* 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": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": D()
|
|
}],
|
|
/**
|
|
* 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", Ee]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Sr, qr, Uc]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, li = /* @__PURE__ */ Dk(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 a_(e, t, r) {
|
|
return (t = i_(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Im(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function te(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Im(Object(r), !0).forEach(function(n) {
|
|
a_(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Im(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function o_(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 i_(e) {
|
|
var t = o_(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const Tm = () => {
|
|
};
|
|
let Xd = {}, gv = {}, hv = null, yv = {
|
|
mark: Tm,
|
|
measure: Tm
|
|
};
|
|
try {
|
|
typeof window < "u" && (Xd = window), typeof document < "u" && (gv = document), typeof MutationObserver < "u" && (hv = MutationObserver), typeof performance < "u" && (yv = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: Rm = ""
|
|
} = Xd.navigator || {}, wn = Xd, lt = gv, Mm = hv, ns = yv;
|
|
wn.document;
|
|
const Wr = !!lt.documentElement && !!lt.head && typeof lt.addEventListener == "function" && typeof lt.createElement == "function", bv = ~Rm.indexOf("MSIE") || ~Rm.indexOf("Trident/");
|
|
var s_ = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, l_ = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, vv = {
|
|
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"
|
|
}
|
|
}, c_ = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, xv = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], wt = "classic", ll = "duotone", u_ = "sharp", f_ = "sharp-duotone", wv = [wt, ll, u_, f_], d_ = {
|
|
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"
|
|
}
|
|
}, p_ = {
|
|
"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"
|
|
}
|
|
}, m_ = /* @__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
|
|
}]]), g_ = {
|
|
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"
|
|
}
|
|
}, h_ = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], zm = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, y_ = ["kit"], b_ = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, v_ = ["fak", "fakd"], x_ = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, Fm = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, as = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, w_ = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], k_ = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], __ = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, O_ = {
|
|
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"
|
|
}
|
|
}, S_ = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, sf = {
|
|
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"
|
|
}
|
|
}, E_ = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], lf = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...w_, ...E_], P_ = ["solid", "regular", "light", "thin", "duotone", "brands"], kv = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], C_ = kv.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), A_ = [...Object.keys(S_), ...P_, "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", as.GROUP, as.SWAP_OPACITY, as.PRIMARY, as.SECONDARY].concat(kv.map((e) => "".concat(e, "x"))).concat(C_.map((e) => "w-".concat(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 Tr = "___FONT_AWESOME___", cf = 16, _v = "fa", Ov = "svg-inline--fa", ea = "data-fa-i2svg", uf = "data-fa-pseudo-element", N_ = "data-fa-pseudo-element-pending", Jd = "data-prefix", Qd = "data-icon", Dm = "fontawesome-i2svg", j_ = "async", I_ = ["HTML", "HEAD", "STYLE", "SCRIPT"], Sv = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Gi(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[wt];
|
|
}
|
|
});
|
|
}
|
|
const Ev = te({}, vv);
|
|
Ev[wt] = te(te(te(te({}, {
|
|
"fa-duotone": "duotone"
|
|
}), vv[wt]), zm.kit), zm["kit-duotone"]);
|
|
const T_ = Gi(Ev), ff = te({}, g_);
|
|
ff[wt] = te(te(te(te({}, {
|
|
duotone: "fad"
|
|
}), ff[wt]), Fm.kit), Fm["kit-duotone"]);
|
|
const Lm = Gi(ff), df = te({}, sf);
|
|
df[wt] = te(te({}, df[wt]), x_.kit);
|
|
const Zd = Gi(df), pf = te({}, O_);
|
|
pf[wt] = te(te({}, pf[wt]), b_.kit);
|
|
Gi(pf);
|
|
const R_ = s_, Pv = "fa-layers-text", M_ = l_, z_ = te({}, d_);
|
|
Gi(z_);
|
|
const F_ = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Hc = c_, D_ = [...y_, ...A_], ci = wn.FontAwesomeConfig || {};
|
|
function L_(e) {
|
|
var t = lt.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function G_(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
lt && typeof lt.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 = G_(L_(t));
|
|
n != null && (ci[r] = n);
|
|
});
|
|
const Cv = {
|
|
styleDefault: "solid",
|
|
familyDefault: wt,
|
|
cssPrefix: _v,
|
|
replacementClass: Ov,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
ci.familyPrefix && (ci.cssPrefix = ci.familyPrefix);
|
|
const La = te(te({}, Cv), ci);
|
|
La.autoReplaceSvg || (La.observeMutations = !1);
|
|
const pe = {};
|
|
Object.keys(Cv).forEach((e) => {
|
|
Object.defineProperty(pe, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
La[e] = t, ui.forEach((r) => r(pe));
|
|
},
|
|
get: function() {
|
|
return La[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(pe, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
La.cssPrefix = e, ui.forEach((t) => t(pe));
|
|
},
|
|
get: function() {
|
|
return La.cssPrefix;
|
|
}
|
|
});
|
|
wn.FontAwesomeConfig = pe;
|
|
const ui = [];
|
|
function V_(e) {
|
|
return ui.push(e), () => {
|
|
ui.splice(ui.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Kr = cf, or = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function W_(e) {
|
|
if (!e || !Wr)
|
|
return;
|
|
const t = lt.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = lt.head.childNodes;
|
|
let n = null;
|
|
for (let a = r.length - 1; a > -1; a--) {
|
|
const o = r[a], i = (o.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = o);
|
|
}
|
|
return lt.head.insertBefore(t, n), e;
|
|
}
|
|
const U_ = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function _i() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += U_[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Ba(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function ep(e) {
|
|
return e.classList ? Ba(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function Av(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function H_(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Av(e[r]), '" '), "").trim();
|
|
}
|
|
function cl(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function tp(e) {
|
|
return e.size !== or.size || e.x !== or.x || e.y !== or.y || e.rotate !== or.rotate || e.flipX || e.flipY;
|
|
}
|
|
function Y_(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const a = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, o = "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(o, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: a,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function q_(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = cf,
|
|
height: n = cf,
|
|
startCentered: a = !1
|
|
} = e, o = "";
|
|
return a && bv ? o += "translate(".concat(t.x / Kr - r / 2, "em, ").concat(t.y / Kr - n / 2, "em) ") : a ? o += "translate(calc(-50% + ".concat(t.x / Kr, "em), calc(-50% + ").concat(t.y / Kr, "em)) ") : o += "translate(".concat(t.x / Kr, "em, ").concat(t.y / Kr, "em) "), o += "scale(".concat(t.size / Kr * (t.flipX ? -1 : 1), ", ").concat(t.size / Kr * (t.flipY ? -1 : 1), ") "), o += "rotate(".concat(t.rotate, "deg) "), o;
|
|
}
|
|
var B_ = `: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 $v() {
|
|
const e = _v, t = Ov, r = pe.cssPrefix, n = pe.replacementClass;
|
|
let a = B_;
|
|
if (r !== e || n !== t) {
|
|
const o = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
a = a.replace(o, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return a;
|
|
}
|
|
let Gm = !1;
|
|
function Yc() {
|
|
pe.autoAddCss && !Gm && (W_($v()), Gm = !0);
|
|
}
|
|
var K_ = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: $v,
|
|
insertCss: Yc
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Yc();
|
|
},
|
|
beforeI2svg() {
|
|
Yc();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Rr = wn || {};
|
|
Rr[Tr] || (Rr[Tr] = {});
|
|
Rr[Tr].styles || (Rr[Tr].styles = {});
|
|
Rr[Tr].hooks || (Rr[Tr].hooks = {});
|
|
Rr[Tr].shims || (Rr[Tr].shims = []);
|
|
var ir = Rr[Tr];
|
|
const Nv = [], jv = function() {
|
|
lt.removeEventListener("DOMContentLoaded", jv), Gs = 1, Nv.map((e) => e());
|
|
};
|
|
let Gs = !1;
|
|
Wr && (Gs = (lt.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(lt.readyState), Gs || lt.addEventListener("DOMContentLoaded", jv));
|
|
function X_(e) {
|
|
Wr && (Gs ? setTimeout(e, 0) : Nv.push(e));
|
|
}
|
|
function Vi(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? Av(e) : "<".concat(t, " ").concat(H_(r), ">").concat(n.map(Vi).join(""), "</").concat(t, ">");
|
|
}
|
|
function Vm(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var qc = function(e, t, r, n) {
|
|
var a = Object.keys(e), o = a.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[a[0]]) : (s = 0, c = r); s < o; s++)
|
|
u = a[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function J_(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const a = e.charCodeAt(r++);
|
|
if (a >= 55296 && a <= 56319 && r < n) {
|
|
const o = e.charCodeAt(r++);
|
|
(o & 64512) == 56320 ? t.push(((a & 1023) << 10) + (o & 1023) + 65536) : (t.push(a), r--);
|
|
} else
|
|
t.push(a);
|
|
}
|
|
return t;
|
|
}
|
|
function Iv(e) {
|
|
const t = J_(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function Q_(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), a;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (a = e.charCodeAt(t + 1), a >= 56320 && a <= 57343) ? (n - 55296) * 1024 + a - 56320 + 65536 : n;
|
|
}
|
|
function Wm(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 mf(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, a = Wm(t);
|
|
typeof ir.hooks.addPack == "function" && !n ? ir.hooks.addPack(e, Wm(t)) : ir.styles[e] = te(te({}, ir.styles[e] || {}), a), e === "fas" && mf("fa", t);
|
|
}
|
|
const {
|
|
styles: Oi,
|
|
shims: Z_
|
|
} = ir, Tv = Object.keys(Zd), eO = Tv.reduce((e, t) => (e[t] = Object.keys(Zd[t]), e), {});
|
|
let rp = null, Rv = {}, Mv = {}, zv = {}, Fv = {}, Dv = {};
|
|
function tO(e) {
|
|
return ~D_.indexOf(e);
|
|
}
|
|
function rO(e, t) {
|
|
const r = t.split("-"), n = r[0], a = r.slice(1).join("-");
|
|
return n === e && a !== "" && !tO(a) ? a : null;
|
|
}
|
|
const Lv = () => {
|
|
const e = (n) => qc(Oi, (a, o, i) => (a[i] = qc(o, n, {}), a), {});
|
|
Rv = e((n, a, o) => (a[3] && (n[a[3]] = o), a[2] && a[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = o;
|
|
}), n)), Mv = e((n, a, o) => (n[o] = o, a[2] && a[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = o;
|
|
}), n)), Dv = e((n, a, o) => {
|
|
const i = a[2];
|
|
return n[o] = o, i.forEach((s) => {
|
|
n[s] = o;
|
|
}), n;
|
|
});
|
|
const t = "far" in Oi || pe.autoFetchSvg, r = qc(Z_, (n, a) => {
|
|
const o = a[0];
|
|
let i = a[1];
|
|
const s = a[2];
|
|
return i === "far" && !t && (i = "fas"), typeof o == "string" && (n.names[o] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof o == "number" && (n.unicodes[o.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
zv = r.names, Fv = r.unicodes, rp = ul(pe.styleDefault, {
|
|
family: pe.familyDefault
|
|
});
|
|
};
|
|
V_((e) => {
|
|
rp = ul(e.styleDefault, {
|
|
family: pe.familyDefault
|
|
});
|
|
});
|
|
Lv();
|
|
function np(e, t) {
|
|
return (Rv[e] || {})[t];
|
|
}
|
|
function nO(e, t) {
|
|
return (Mv[e] || {})[t];
|
|
}
|
|
function qn(e, t) {
|
|
return (Dv[e] || {})[t];
|
|
}
|
|
function Gv(e) {
|
|
return zv[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function aO(e) {
|
|
const t = Fv[e], r = np("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function kn() {
|
|
return rp;
|
|
}
|
|
const Vv = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function oO(e) {
|
|
let t = wt;
|
|
const r = Tv.reduce((n, a) => (n[a] = "".concat(pe.cssPrefix, "-").concat(a), n), {});
|
|
return wv.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((a) => eO[n].includes(a))) && (t = n);
|
|
}), t;
|
|
}
|
|
function ul(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = wt
|
|
} = t, n = T_[r][e];
|
|
if (r === ll && !e)
|
|
return "fad";
|
|
const a = Lm[r][e] || Lm[r][n], o = e in ir.styles ? e : null;
|
|
return a || o || null;
|
|
}
|
|
function iO(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const a = rO(pe.cssPrefix, n);
|
|
a ? r = a : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Um(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function fl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const a = lf.concat(k_), o = Um(e.filter((p) => a.includes(p))), i = Um(e.filter((p) => !lf.includes(p))), s = o.filter((p) => (n = p, !xv.includes(p))), [u = null] = s, c = oO(o), d = te(te({}, iO(i)), {}, {
|
|
prefix: ul(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return te(te(te({}, d), uO({
|
|
values: e,
|
|
family: c,
|
|
styles: Oi,
|
|
config: pe,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), sO(r, n, d));
|
|
}
|
|
function sO(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: a
|
|
} = r;
|
|
if (e || !n || !a)
|
|
return {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
const o = t === "fa" ? Gv(a) : {}, i = qn(n, a);
|
|
return a = o.iconName || i || a, n = o.prefix || n, n === "far" && !Oi.far && Oi.fas && !pe.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
}
|
|
const lO = wv.filter((e) => e !== wt || e !== ll), cO = Object.keys(sf).filter((e) => e !== wt).map((e) => Object.keys(sf[e])).flat();
|
|
function uO(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: a = "",
|
|
styles: o = {},
|
|
config: i = {}
|
|
} = e, s = r === ll, 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 && lO.includes(r) && (Object.keys(o).find((p) => cO.includes(p)) || i.autoFetchSvg)) {
|
|
const p = m_.get(r).defaultShortPrefixId;
|
|
n.prefix = p, n.iconName = qn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || a === "fa") && (n.prefix = kn() || "fas"), n;
|
|
}
|
|
class fO {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const a = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(a).forEach((o) => {
|
|
this.definitions[o] = te(te({}, this.definitions[o] || {}), a[o]), mf(o, a[o]);
|
|
const i = Zd[wt][o];
|
|
i && mf(i, a[o]), Lv();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((a) => {
|
|
const {
|
|
prefix: o,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[a], u = s[2];
|
|
t[o] || (t[o] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[o][c] = s);
|
|
}), t[o][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let Hm = [], ba = {};
|
|
const Aa = {}, dO = Object.keys(Aa);
|
|
function pO(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return Hm = e, ba = {}, Object.keys(Aa).forEach((n) => {
|
|
dO.indexOf(n) === -1 && delete Aa[n];
|
|
}), Hm.forEach((n) => {
|
|
const a = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(a).forEach((o) => {
|
|
typeof a[o] == "function" && (r[o] = a[o]), typeof a[o] == "object" && Object.keys(a[o]).forEach((i) => {
|
|
r[o] || (r[o] = {}), r[o][i] = a[o][i];
|
|
});
|
|
}), n.hooks) {
|
|
const o = n.hooks();
|
|
Object.keys(o).forEach((i) => {
|
|
ba[i] || (ba[i] = []), ba[i].push(o[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Aa);
|
|
}), r;
|
|
}
|
|
function gf(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), a = 2; a < r; a++)
|
|
n[a - 2] = arguments[a];
|
|
return (ba[e] || []).forEach((o) => {
|
|
t = o.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ta(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(ba[e] || []).forEach((a) => {
|
|
a.apply(null, r);
|
|
});
|
|
}
|
|
function _n() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Aa[e] ? Aa[e].apply(null, t) : void 0;
|
|
}
|
|
function hf(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || kn();
|
|
if (t)
|
|
return t = qn(r, t) || t, Vm(Wv.definitions, r, t) || Vm(ir.styles, r, t);
|
|
}
|
|
const Wv = new fO(), mO = () => {
|
|
pe.autoReplaceSvg = !1, pe.observeMutations = !1, ta("noAuto");
|
|
}, gO = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Wr ? (ta("beforeI2svg", e), _n("pseudoElements2svg", e), _n("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;
|
|
pe.autoReplaceSvg === !1 && (pe.autoReplaceSvg = !0), pe.observeMutations = !0, X_(() => {
|
|
yO({
|
|
autoReplaceSvgRoot: t
|
|
}), ta("watch", e);
|
|
});
|
|
}
|
|
}, hO = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: qn(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 = ul(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: qn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(pe.cssPrefix, "-")) > -1 || e.match(R_))) {
|
|
const t = fl(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || kn(),
|
|
iconName: qn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = kn();
|
|
return {
|
|
prefix: t,
|
|
iconName: qn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, Rt = {
|
|
noAuto: mO,
|
|
config: pe,
|
|
dom: gO,
|
|
parse: hO,
|
|
library: Wv,
|
|
findIconDefinition: hf,
|
|
toHtml: Vi
|
|
}, yO = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = lt
|
|
} = e;
|
|
(Object.keys(ir.styles).length > 0 || pe.autoFetchSvg) && Wr && pe.autoReplaceSvg && Rt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function dl(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Vi(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Wr) return;
|
|
const r = lt.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function bO(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: a,
|
|
styles: o,
|
|
transform: i
|
|
} = e;
|
|
if (tp(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
a.style = cl(te(te({}, o), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: a,
|
|
children: t
|
|
}];
|
|
}
|
|
function vO(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: a,
|
|
symbol: o
|
|
} = e;
|
|
const i = o === !0 ? "".concat(t, "-").concat(pe.cssPrefix, "-").concat(r) : o;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: te(te({}, a), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function ap(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: a,
|
|
transform: o,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: p = !1
|
|
} = e, {
|
|
width: m,
|
|
height: w
|
|
} = r.found ? r : t, _ = v_.includes(n), v = [pe.replacementClass, a ? "".concat(pe.cssPrefix, "-").concat(a) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let y = {
|
|
children: [],
|
|
attributes: te(te({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": a,
|
|
class: v,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(m, " ").concat(w)
|
|
})
|
|
};
|
|
const k = _ && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(m / w * 16 * 0.0625, "em")
|
|
} : {};
|
|
p && (y.attributes[ea] = ""), s && (y.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: y.attributes["aria-labelledby"] || "title-".concat(c || _i())
|
|
},
|
|
children: [s]
|
|
}), delete y.attributes.title);
|
|
const P = te(te({}, y), {}, {
|
|
prefix: n,
|
|
iconName: a,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: o,
|
|
symbol: i,
|
|
styles: te(te({}, k), d.styles)
|
|
}), {
|
|
children: E,
|
|
attributes: C
|
|
} = r.found && t.found ? _n("generateAbstractMask", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : _n("generateAbstractIcon", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return P.children = E, P.attributes = C, i ? vO(P) : bO(P);
|
|
}
|
|
function Ym(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: a,
|
|
title: o,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = te(te(te({}, i.attributes), o ? {
|
|
title: o
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[ea] = "");
|
|
const c = te({}, i.styles);
|
|
tp(a) && (c.transform = q_({
|
|
transform: a,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = cl(c);
|
|
d.length > 0 && (u.style = d);
|
|
const p = [];
|
|
return p.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), o && p.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [o]
|
|
}), p;
|
|
}
|
|
function xO(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, a = te(te(te({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), o = cl(n.styles);
|
|
o.length > 0 && (a.style = o);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: a,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Bc
|
|
} = ir;
|
|
function yf(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let a = null;
|
|
return Array.isArray(n) ? a = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(pe.cssPrefix, "-").concat(Hc.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(pe.cssPrefix, "-").concat(Hc.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(pe.cssPrefix, "-").concat(Hc.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : a = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: a
|
|
};
|
|
}
|
|
const wO = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function kO(e, t) {
|
|
!Sv && !pe.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function bf(e, t) {
|
|
let r = t;
|
|
return t === "fa" && pe.styleDefault !== null && (t = kn()), new Promise((n, a) => {
|
|
if (r === "fa") {
|
|
const o = Gv(e) || {};
|
|
e = o.iconName || e, t = o.prefix || t;
|
|
}
|
|
if (e && t && Bc[t] && Bc[t][e]) {
|
|
const o = Bc[t][e];
|
|
return n(yf(o));
|
|
}
|
|
kO(e, t), n(te(te({}, wO), {}, {
|
|
icon: pe.showMissingIcons && e ? _n("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const qm = () => {
|
|
}, vf = pe.measurePerformance && ns && ns.mark && ns.measure ? ns : {
|
|
mark: qm,
|
|
measure: qm
|
|
}, ri = 'FA "6.7.2"', _O = (e) => (vf.mark("".concat(ri, " ").concat(e, " begins")), () => Uv(e)), Uv = (e) => {
|
|
vf.mark("".concat(ri, " ").concat(e, " ends")), vf.measure("".concat(ri, " ").concat(e), "".concat(ri, " ").concat(e, " begins"), "".concat(ri, " ").concat(e, " ends"));
|
|
};
|
|
var op = {
|
|
begin: _O,
|
|
end: Uv
|
|
};
|
|
const Ss = () => {
|
|
};
|
|
function Bm(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(ea) : null) == "string";
|
|
}
|
|
function OO(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Jd) : null, r = e.getAttribute ? e.getAttribute(Qd) : null;
|
|
return t && r;
|
|
}
|
|
function SO(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(pe.replacementClass);
|
|
}
|
|
function EO() {
|
|
return pe.autoReplaceSvg === !0 ? Es.replace : Es[pe.autoReplaceSvg] || Es.replace;
|
|
}
|
|
function PO(e) {
|
|
return lt.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function CO(e) {
|
|
return lt.createElement(e);
|
|
}
|
|
function Hv(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? PO : CO
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return lt.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(Hv(a, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function AO(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Es = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(Hv(r), t);
|
|
}), t.getAttribute(ea) === null && pe.keepOriginalSource) {
|
|
let r = lt.createComment(AO(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~ep(t).indexOf(pe.replacementClass))
|
|
return Es.replace(e);
|
|
const n = new RegExp("".concat(pe.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const o = r[0].attributes.class.split(" ").reduce((i, s) => (s === pe.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = o.toSvg.join(" "), o.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", o.toNode.join(" "));
|
|
}
|
|
const a = r.map((o) => Vi(o)).join(`
|
|
`);
|
|
t.setAttribute(ea, ""), t.innerHTML = a;
|
|
}
|
|
};
|
|
function Km(e) {
|
|
e();
|
|
}
|
|
function Yv(e, t) {
|
|
const r = typeof t == "function" ? t : Ss;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Km;
|
|
pe.mutateApproach === j_ && (n = wn.requestAnimationFrame || Km), n(() => {
|
|
const a = EO(), o = op.begin("mutate");
|
|
e.map(a), o(), r();
|
|
});
|
|
}
|
|
}
|
|
let ip = !1;
|
|
function qv() {
|
|
ip = !0;
|
|
}
|
|
function xf() {
|
|
ip = !1;
|
|
}
|
|
let Vs = null;
|
|
function Xm(e) {
|
|
if (!Mm || !pe.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Ss,
|
|
nodeCallback: r = Ss,
|
|
pseudoElementsCallback: n = Ss,
|
|
observeMutationsRoot: a = lt
|
|
} = e;
|
|
Vs = new Mm((o) => {
|
|
if (ip) return;
|
|
const i = kn();
|
|
Ba(o).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !Bm(s.addedNodes[0]) && (pe.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && pe.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && Bm(s.target) && ~F_.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && OO(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = fl(ep(s.target));
|
|
s.target.setAttribute(Jd, u || i), c && s.target.setAttribute(Qd, c);
|
|
} else SO(s.target) && r(s.target);
|
|
});
|
|
}), Wr && Vs.observe(a, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function $O() {
|
|
Vs && Vs.disconnect();
|
|
}
|
|
function NO(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, a) => {
|
|
const o = a.split(":"), i = o[0], s = o.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function jO(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let a = fl(ep(e));
|
|
return a.prefix || (a.prefix = kn()), t && r && (a.prefix = t, a.iconName = r), a.iconName && a.prefix || (a.prefix && n.length > 0 && (a.iconName = nO(a.prefix, e.innerText) || np(a.prefix, Iv(e.innerText))), !a.iconName && pe.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (a.iconName = e.firstChild.data)), a;
|
|
}
|
|
function IO(e) {
|
|
const t = Ba(e.attributes).reduce((a, o) => (a.name !== "class" && a.name !== "style" && (a[o.name] = o.value), a), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return pe.autoA11y && (r ? t["aria-labelledby"] = "".concat(pe.replacementClass, "-title-").concat(n || _i()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function TO() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: or,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function Jm(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: a
|
|
} = jO(e), o = IO(e), i = gf("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? NO(e) : [];
|
|
return te({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: or,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: a,
|
|
styles: s,
|
|
attributes: o
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: RO
|
|
} = ir;
|
|
function Bv(e) {
|
|
const t = pe.autoReplaceSvg === "nest" ? Jm(e, {
|
|
styleParser: !1
|
|
}) : Jm(e);
|
|
return ~t.extra.classes.indexOf(Pv) ? _n("generateLayersText", e, t) : _n("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function MO() {
|
|
return [...h_, ...lf];
|
|
}
|
|
function Qm(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Wr) return Promise.resolve();
|
|
const r = lt.documentElement.classList, n = (d) => r.add("".concat(Dm, "-").concat(d)), a = (d) => r.remove("".concat(Dm, "-").concat(d)), o = pe.autoFetchSvg ? MO() : xv.concat(Object.keys(RO));
|
|
o.includes("fa") || o.push("fa");
|
|
const i = [".".concat(Pv, ":not([").concat(ea, "])")].concat(o.map((d) => ".".concat(d, ":not([").concat(ea, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Ba(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), a("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = op.begin("onTree"), c = s.reduce((d, p) => {
|
|
try {
|
|
const m = Bv(p);
|
|
m && d.push(m);
|
|
} catch (m) {
|
|
Sv || m.name === "MissingIcon" && console.error(m);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, p) => {
|
|
Promise.all(c).then((m) => {
|
|
Yv(m, () => {
|
|
n("active"), n("complete"), a("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((m) => {
|
|
u(), p(m);
|
|
});
|
|
});
|
|
}
|
|
function zO(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
Bv(e).then((r) => {
|
|
r && Yv([r], t);
|
|
});
|
|
}
|
|
function FO(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : hf(t || {});
|
|
let {
|
|
mask: a
|
|
} = r;
|
|
return a && (a = (a || {}).icon ? a : hf(a || {})), e(n, te(te({}, r), {}, {
|
|
mask: a
|
|
}));
|
|
};
|
|
}
|
|
const DO = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = or,
|
|
symbol: n = !1,
|
|
mask: a = null,
|
|
maskId: o = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: p,
|
|
iconName: m,
|
|
icon: w
|
|
} = e;
|
|
return dl(te({
|
|
type: "icon"
|
|
}, e), () => (ta("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), pe.autoA11y && (i ? c["aria-labelledby"] = "".concat(pe.replacementClass, "-title-").concat(s || _i()) : (c["aria-hidden"] = "true", c.focusable = "false")), ap({
|
|
icons: {
|
|
main: yf(w),
|
|
mask: a ? yf(a.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: p,
|
|
iconName: m,
|
|
transform: te(te({}, or), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: o,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var LO = {
|
|
mixout() {
|
|
return {
|
|
icon: FO(DO)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Qm, e.nodeCallback = zO, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = lt,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Qm(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: a,
|
|
titleId: o,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: p
|
|
} = r;
|
|
return new Promise((m, w) => {
|
|
Promise.all([bf(n, i), c.iconName ? bf(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((_) => {
|
|
let [v, y] = _;
|
|
m([t, ap({
|
|
icons: {
|
|
main: v,
|
|
mask: y
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: a,
|
|
titleId: o,
|
|
extra: p,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(w);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
transform: o,
|
|
styles: i
|
|
} = t;
|
|
const s = cl(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return tp(o) && (u = _n("generateAbstractTransformGrouping", {
|
|
main: a,
|
|
transform: o,
|
|
containerWidth: a.width,
|
|
iconWidth: a.width
|
|
})), r.push(u || a.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, GO = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return dl({
|
|
type: "layer"
|
|
}, () => {
|
|
ta("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((a) => {
|
|
Array.isArray(a) ? a.map((o) => {
|
|
n = n.concat(o.abstract);
|
|
}) : n = n.concat(a.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(pe.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, VO = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: a = {},
|
|
styles: o = {}
|
|
} = t;
|
|
return dl({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ta("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), xO({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: a,
|
|
styles: o,
|
|
classes: ["".concat(pe.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, WO = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = or,
|
|
title: n = null,
|
|
classes: a = [],
|
|
attributes: o = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return dl({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ta("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Ym({
|
|
content: e,
|
|
transform: te(te({}, or), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: o,
|
|
styles: i,
|
|
classes: ["".concat(pe.cssPrefix, "-layers-text"), ...a]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: a,
|
|
extra: o
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (bv) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return pe.autoA11y && !n && (o.attributes["aria-hidden"] = "true"), Promise.resolve([t, Ym({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: a,
|
|
title: n,
|
|
extra: o,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const UO = new RegExp('"', "ug"), Zm = [1105920, 1112319], eg = te(te(te(te({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), p_), $_), __), wf = Object.keys(eg).reduce((e, t) => (e[t.toLowerCase()] = eg[t], e), {}), HO = Object.keys(wf).reduce((e, t) => {
|
|
const r = wf[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function YO(e) {
|
|
const t = e.replace(UO, ""), r = Q_(t, 0), n = r >= Zm[0] && r <= Zm[1], a = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: Iv(a ? t[0] : t),
|
|
isSecondary: n || a
|
|
};
|
|
}
|
|
function qO(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), a = isNaN(n) ? "normal" : n;
|
|
return (wf[r] || {})[a] || HO[r];
|
|
}
|
|
function tg(e, t) {
|
|
const r = "".concat(N_).concat(t.replace(":", "-"));
|
|
return new Promise((n, a) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const o = Ba(e.children).filter((p) => p.getAttribute(uf) === t)[0], i = wn.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(M_), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (o && !u)
|
|
return e.removeChild(o), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const p = i.getPropertyValue("content");
|
|
let m = qO(s, c);
|
|
const {
|
|
value: w,
|
|
isSecondary: _
|
|
} = YO(p), v = u[0].startsWith("FontAwesome");
|
|
let y = np(m, w), k = y;
|
|
if (v) {
|
|
const P = aO(w);
|
|
P.iconName && P.prefix && (y = P.iconName, m = P.prefix);
|
|
}
|
|
if (y && !_ && (!o || o.getAttribute(Jd) !== m || o.getAttribute(Qd) !== k)) {
|
|
e.setAttribute(r, k), o && e.removeChild(o);
|
|
const P = TO(), {
|
|
extra: E
|
|
} = P;
|
|
E.attributes[uf] = t, bf(y, m).then((C) => {
|
|
const b = ap(te(te({}, P), {}, {
|
|
icons: {
|
|
main: C,
|
|
mask: Vv()
|
|
},
|
|
prefix: m,
|
|
iconName: k,
|
|
extra: E,
|
|
watchable: !0
|
|
})), Y = lt.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(Y, e.firstChild) : e.appendChild(Y), Y.outerHTML = b.map((q) => Vi(q)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(a);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function BO(e) {
|
|
return Promise.all([tg(e, "::before"), tg(e, "::after")]);
|
|
}
|
|
function KO(e) {
|
|
return e.parentNode !== document.head && !~I_.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(uf) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function rg(e) {
|
|
if (Wr)
|
|
return new Promise((t, r) => {
|
|
const n = Ba(e.querySelectorAll("*")).filter(KO).map(BO), a = op.begin("searchPseudoElements");
|
|
qv(), Promise.all(n).then(() => {
|
|
a(), xf(), t();
|
|
}).catch(() => {
|
|
a(), xf(), r();
|
|
});
|
|
});
|
|
}
|
|
var XO = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = rg, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = lt
|
|
} = t;
|
|
pe.searchPseudoElements && rg(r);
|
|
};
|
|
}
|
|
};
|
|
let ng = !1;
|
|
var JO = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
qv(), ng = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Xm(gf("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
$O();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
ng ? xf() : Xm(gf("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const ag = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const a = n.toLowerCase().split("-"), o = a[0];
|
|
let i = a.slice(1).join("-");
|
|
if (o && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (o && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (o) {
|
|
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 QO = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => ag(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = ag(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: a,
|
|
iconWidth: o
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(a / 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)
|
|
}, p = {
|
|
transform: "translate(".concat(o / 2 * -1, " -256)")
|
|
}, m = {
|
|
outer: i,
|
|
inner: d,
|
|
path: p
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: te({}, m.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: te({}, m.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: te(te({}, r.icon.attributes), m.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Kc = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function og(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 ZO(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var eS = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? fl(r.split(" ").map((a) => a.trim())) : Vv();
|
|
return n.prefix || (n.prefix = kn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
mask: o,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = a, {
|
|
width: d,
|
|
icon: p
|
|
} = o, m = Y_({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), w = {
|
|
tag: "rect",
|
|
attributes: te(te({}, Kc), {}, {
|
|
fill: "white"
|
|
})
|
|
}, _ = c.children ? {
|
|
children: c.children.map(og)
|
|
} : {}, v = {
|
|
tag: "g",
|
|
attributes: te({}, m.inner),
|
|
children: [og(te({
|
|
tag: c.tag,
|
|
attributes: te(te({}, c.attributes), m.path)
|
|
}, _))]
|
|
}, y = {
|
|
tag: "g",
|
|
attributes: te({}, m.outer),
|
|
children: [v]
|
|
}, k = "mask-".concat(i || _i()), P = "clip-".concat(i || _i()), E = {
|
|
tag: "mask",
|
|
attributes: te(te({}, Kc), {}, {
|
|
id: k,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [w, y]
|
|
}, C = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: P
|
|
},
|
|
children: ZO(p)
|
|
}, E]
|
|
};
|
|
return r.push(C, {
|
|
tag: "rect",
|
|
attributes: te({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(P, ")"),
|
|
mask: "url(#".concat(k, ")")
|
|
}, Kc)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, tS = {
|
|
provides(e) {
|
|
let t = !1;
|
|
wn.matchMedia && (t = wn.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, a = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: te(te({}, 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 o = te(te({}, a), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: te(te({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: te(te({}, a), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: te(te({}, o), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: te(te({}, 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: te(te({}, o), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: te(te({}, 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: te(te({}, o), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, rS = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, nS = [K_, LO, GO, VO, WO, XO, JO, QO, eS, tS, rS];
|
|
pO(nS, {
|
|
mixoutsTo: Rt
|
|
});
|
|
Rt.noAuto;
|
|
Rt.config;
|
|
Rt.library;
|
|
Rt.dom;
|
|
const kf = Rt.parse;
|
|
Rt.findIconDefinition;
|
|
Rt.toHtml;
|
|
const aS = Rt.icon;
|
|
Rt.layer;
|
|
Rt.text;
|
|
Rt.counter;
|
|
function oS(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var os = { exports: {} }, Xc = { exports: {} }, Ye = {};
|
|
/** @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 ig;
|
|
function iS() {
|
|
if (ig) return Ye;
|
|
ig = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var Y = b.$$typeof;
|
|
switch (Y) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return Y;
|
|
}
|
|
}
|
|
case r:
|
|
return Y;
|
|
}
|
|
}
|
|
}
|
|
function C(b) {
|
|
return E(b) === c;
|
|
}
|
|
return Ye.AsyncMode = u, Ye.ConcurrentMode = c, Ye.ContextConsumer = s, Ye.ContextProvider = i, Ye.Element = t, Ye.ForwardRef = d, Ye.Fragment = n, Ye.Lazy = _, Ye.Memo = w, Ye.Portal = r, Ye.Profiler = o, Ye.StrictMode = a, Ye.Suspense = p, Ye.isAsyncMode = function(b) {
|
|
return C(b) || E(b) === u;
|
|
}, Ye.isConcurrentMode = C, Ye.isContextConsumer = function(b) {
|
|
return E(b) === s;
|
|
}, Ye.isContextProvider = function(b) {
|
|
return E(b) === i;
|
|
}, Ye.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Ye.isForwardRef = function(b) {
|
|
return E(b) === d;
|
|
}, Ye.isFragment = function(b) {
|
|
return E(b) === n;
|
|
}, Ye.isLazy = function(b) {
|
|
return E(b) === _;
|
|
}, Ye.isMemo = function(b) {
|
|
return E(b) === w;
|
|
}, Ye.isPortal = function(b) {
|
|
return E(b) === r;
|
|
}, Ye.isProfiler = function(b) {
|
|
return E(b) === o;
|
|
}, Ye.isStrictMode = function(b) {
|
|
return E(b) === a;
|
|
}, Ye.isSuspense = function(b) {
|
|
return E(b) === p;
|
|
}, Ye.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === o || b === a || b === p || b === m || typeof b == "object" && b !== null && (b.$$typeof === _ || b.$$typeof === w || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === y || b.$$typeof === k || b.$$typeof === P || b.$$typeof === v);
|
|
}, Ye.typeOf = E, Ye;
|
|
}
|
|
var Je = {};
|
|
/** @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 sg;
|
|
function sS() {
|
|
return sg || (sg = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(S) {
|
|
return typeof S == "string" || typeof S == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
S === n || S === c || S === o || S === a || S === p || S === m || typeof S == "object" && S !== null && (S.$$typeof === _ || S.$$typeof === w || S.$$typeof === i || S.$$typeof === s || S.$$typeof === d || S.$$typeof === y || S.$$typeof === k || S.$$typeof === P || S.$$typeof === v);
|
|
}
|
|
function C(S) {
|
|
if (typeof S == "object" && S !== null) {
|
|
var ye = S.$$typeof;
|
|
switch (ye) {
|
|
case t:
|
|
var We = S.type;
|
|
switch (We) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return We;
|
|
default:
|
|
var gt = We && We.$$typeof;
|
|
switch (gt) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return gt;
|
|
default:
|
|
return ye;
|
|
}
|
|
}
|
|
case r:
|
|
return ye;
|
|
}
|
|
}
|
|
}
|
|
var b = u, Y = c, q = s, Z = i, ie = t, Q = d, J = n, D = _, ce = w, V = r, I = o, R = a, j = p, U = !1;
|
|
function B(S) {
|
|
return U || (U = !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.")), h(S) || C(S) === u;
|
|
}
|
|
function h(S) {
|
|
return C(S) === c;
|
|
}
|
|
function f(S) {
|
|
return C(S) === s;
|
|
}
|
|
function x(S) {
|
|
return C(S) === i;
|
|
}
|
|
function N(S) {
|
|
return typeof S == "object" && S !== null && S.$$typeof === t;
|
|
}
|
|
function $(S) {
|
|
return C(S) === d;
|
|
}
|
|
function T(S) {
|
|
return C(S) === n;
|
|
}
|
|
function z(S) {
|
|
return C(S) === _;
|
|
}
|
|
function M(S) {
|
|
return C(S) === w;
|
|
}
|
|
function L(S) {
|
|
return C(S) === r;
|
|
}
|
|
function F(S) {
|
|
return C(S) === o;
|
|
}
|
|
function G(S) {
|
|
return C(S) === a;
|
|
}
|
|
function le(S) {
|
|
return C(S) === p;
|
|
}
|
|
Je.AsyncMode = b, Je.ConcurrentMode = Y, Je.ContextConsumer = q, Je.ContextProvider = Z, Je.Element = ie, Je.ForwardRef = Q, Je.Fragment = J, Je.Lazy = D, Je.Memo = ce, Je.Portal = V, Je.Profiler = I, Je.StrictMode = R, Je.Suspense = j, Je.isAsyncMode = B, Je.isConcurrentMode = h, Je.isContextConsumer = f, Je.isContextProvider = x, Je.isElement = N, Je.isForwardRef = $, Je.isFragment = T, Je.isLazy = z, Je.isMemo = M, Je.isPortal = L, Je.isProfiler = F, Je.isStrictMode = G, Je.isSuspense = le, Je.isValidElementType = E, Je.typeOf = C;
|
|
}()), Je;
|
|
}
|
|
var lg;
|
|
function Kv() {
|
|
return lg || (lg = 1, process.env.NODE_ENV === "production" ? Xc.exports = iS() : Xc.exports = sS()), Xc.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Jc, cg;
|
|
function lS() {
|
|
if (cg) return Jc;
|
|
cg = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(o) {
|
|
if (o == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(o);
|
|
}
|
|
function a() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var o = new String("abc");
|
|
if (o[5] = "de", Object.getOwnPropertyNames(o)[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 Jc = a() ? Object.assign : function(o, i) {
|
|
for (var s, u = n(o), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var p in s)
|
|
t.call(s, p) && (u[p] = s[p]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var m = 0; m < c.length; m++)
|
|
r.call(s, c[m]) && (u[c[m]] = s[c[m]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, Jc;
|
|
}
|
|
var Qc, ug;
|
|
function sp() {
|
|
if (ug) return Qc;
|
|
ug = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Qc = e, Qc;
|
|
}
|
|
var fg, dg;
|
|
function Xv() {
|
|
return dg || (dg = 1, fg = Function.call.bind(Object.prototype.hasOwnProperty)), fg;
|
|
}
|
|
var Zc, pg;
|
|
function cS() {
|
|
if (pg) return Zc;
|
|
pg = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ sp(), r = {}, n = /* @__PURE__ */ Xv();
|
|
e = function(o) {
|
|
var i = "Warning: " + o;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function a(o, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in o)
|
|
if (n(o, d)) {
|
|
var p;
|
|
try {
|
|
if (typeof o[d] != "function") {
|
|
var m = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw m.name = "Invariant Violation", m;
|
|
}
|
|
p = o[d](i, d, u, s, null, t);
|
|
} catch (_) {
|
|
p = _;
|
|
}
|
|
if (p && !(p 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 p + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), p instanceof Error && !(p.message in r)) {
|
|
r[p.message] = !0;
|
|
var w = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + p.message + (w ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return a.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Zc = a, Zc;
|
|
}
|
|
var eu, mg;
|
|
function uS() {
|
|
if (mg) return eu;
|
|
mg = 1;
|
|
var e = Kv(), t = lS(), r = /* @__PURE__ */ sp(), n = /* @__PURE__ */ Xv(), a = /* @__PURE__ */ cS(), o = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (o = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return eu = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function p(h) {
|
|
var f = h && (c && h[c] || h[d]);
|
|
if (typeof f == "function")
|
|
return f;
|
|
}
|
|
var m = "<<anonymous>>", w = {
|
|
array: k("array"),
|
|
bigint: k("bigint"),
|
|
bool: k("boolean"),
|
|
func: k("function"),
|
|
number: k("number"),
|
|
object: k("object"),
|
|
string: k("string"),
|
|
symbol: k("symbol"),
|
|
any: P(),
|
|
arrayOf: E,
|
|
element: C(),
|
|
elementType: b(),
|
|
instanceOf: Y,
|
|
node: Q(),
|
|
objectOf: Z,
|
|
oneOf: q,
|
|
oneOfType: ie,
|
|
shape: D,
|
|
exact: ce
|
|
};
|
|
function _(h, f) {
|
|
return h === f ? h !== 0 || 1 / h === 1 / f : h !== h && f !== f;
|
|
}
|
|
function v(h, f) {
|
|
this.message = h, this.data = f && typeof f == "object" ? f : {}, this.stack = "";
|
|
}
|
|
v.prototype = Error.prototype;
|
|
function y(h) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var f = {}, x = 0;
|
|
function N(T, z, M, L, F, G, le) {
|
|
if (L = L || m, G = G || M, le !== r) {
|
|
if (u) {
|
|
var S = 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 S.name = "Invariant Violation", S;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var ye = L + ":" + M;
|
|
!f[ye] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
x < 3 && (o(
|
|
"You are manually calling a React.PropTypes validation function for the `" + G + "` prop on `" + L + "`. 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."
|
|
), f[ye] = !0, x++);
|
|
}
|
|
}
|
|
return z[M] == null ? T ? z[M] === null ? new v("The " + F + " `" + G + "` is marked as required " + ("in `" + L + "`, but its value is `null`.")) : new v("The " + F + " `" + G + "` is marked as required in " + ("`" + L + "`, but its value is `undefined`.")) : null : h(z, M, L, F, G);
|
|
}
|
|
var $ = N.bind(null, !1);
|
|
return $.isRequired = N.bind(null, !0), $;
|
|
}
|
|
function k(h) {
|
|
function f(x, N, $, T, z, M) {
|
|
var L = x[N], F = R(L);
|
|
if (F !== h) {
|
|
var G = j(L);
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` of type " + ("`" + G + "` supplied to `" + $ + "`, expected ") + ("`" + h + "`."),
|
|
{ expectedType: h }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function P() {
|
|
return y(i);
|
|
}
|
|
function E(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside arrayOf.");
|
|
var M = x[N];
|
|
if (!Array.isArray(M)) {
|
|
var L = R(M);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an array."));
|
|
}
|
|
for (var F = 0; F < M.length; F++) {
|
|
var G = h(M, F, $, T, z + "[" + F + "]", r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function C() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!s(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function b() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!e.isValidElementType(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function Y(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (!(x[N] instanceof h)) {
|
|
var M = h.name || m, L = B(x[N]);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected ") + ("instance of `" + M + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function q(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
|
|
"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])."
|
|
) : o("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function f(x, N, $, T, z) {
|
|
for (var M = x[N], L = 0; L < h.length; L++)
|
|
if (_(M, h[L]))
|
|
return null;
|
|
var F = JSON.stringify(h, function(G, le) {
|
|
var S = j(le);
|
|
return S === "symbol" ? String(le) : le;
|
|
});
|
|
return new v("Invalid " + T + " `" + z + "` of value `" + String(M) + "` " + ("supplied to `" + $ + "`, expected one of " + F + "."));
|
|
}
|
|
return y(f);
|
|
}
|
|
function Z(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside objectOf.");
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an object."));
|
|
for (var F in M)
|
|
if (n(M, F)) {
|
|
var G = h(M, F, $, T, z + "." + F, r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ie(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var f = 0; f < h.length; f++) {
|
|
var x = h[f];
|
|
if (typeof x != "function")
|
|
return o(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + U(x) + " at index " + f + "."
|
|
), i;
|
|
}
|
|
function N($, T, z, M, L) {
|
|
for (var F = [], G = 0; G < h.length; G++) {
|
|
var le = h[G], S = le($, T, z, M, L, r);
|
|
if (S == null)
|
|
return null;
|
|
S.data && n(S.data, "expectedType") && F.push(S.data.expectedType);
|
|
}
|
|
var ye = F.length > 0 ? ", expected one of type [" + F.join(", ") + "]" : "";
|
|
return new v("Invalid " + M + " `" + L + "` supplied to " + ("`" + z + "`" + ye + "."));
|
|
}
|
|
return y(N);
|
|
}
|
|
function Q() {
|
|
function h(f, x, N, $, T) {
|
|
return V(f[x]) ? null : new v("Invalid " + $ + " `" + T + "` supplied to " + ("`" + N + "`, expected a ReactNode."));
|
|
}
|
|
return y(h);
|
|
}
|
|
function J(h, f, x, N, $) {
|
|
return new v(
|
|
(h || "React class") + ": " + f + " type `" + x + "." + N + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + $ + "`."
|
|
);
|
|
}
|
|
function D(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
for (var F in h) {
|
|
var G = h[F];
|
|
if (typeof G != "function")
|
|
return J($, T, z, F, j(G));
|
|
var le = G(M, F, $, T, z + "." + F, r);
|
|
if (le)
|
|
return le;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ce(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
var F = t({}, x[N], h);
|
|
for (var G in F) {
|
|
var le = h[G];
|
|
if (n(h, G) && typeof le != "function")
|
|
return J($, T, z, G, j(le));
|
|
if (!le)
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` key `" + G + "` supplied to `" + $ + "`.\nBad object: " + JSON.stringify(x[N], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(h), null, " ")
|
|
);
|
|
var S = le(M, G, $, T, z + "." + G, r);
|
|
if (S)
|
|
return S;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function V(h) {
|
|
switch (typeof h) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !h;
|
|
case "object":
|
|
if (Array.isArray(h))
|
|
return h.every(V);
|
|
if (h === null || s(h))
|
|
return !0;
|
|
var f = p(h);
|
|
if (f) {
|
|
var x = f.call(h), N;
|
|
if (f !== h.entries) {
|
|
for (; !(N = x.next()).done; )
|
|
if (!V(N.value))
|
|
return !1;
|
|
} else
|
|
for (; !(N = x.next()).done; ) {
|
|
var $ = N.value;
|
|
if ($ && !V($[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function I(h, f) {
|
|
return h === "symbol" ? !0 : f ? f["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && f instanceof Symbol : !1;
|
|
}
|
|
function R(h) {
|
|
var f = typeof h;
|
|
return Array.isArray(h) ? "array" : h instanceof RegExp ? "object" : I(f, h) ? "symbol" : f;
|
|
}
|
|
function j(h) {
|
|
if (typeof h > "u" || h === null)
|
|
return "" + h;
|
|
var f = R(h);
|
|
if (f === "object") {
|
|
if (h instanceof Date)
|
|
return "date";
|
|
if (h instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return f;
|
|
}
|
|
function U(h) {
|
|
var f = j(h);
|
|
switch (f) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + f;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + f;
|
|
default:
|
|
return f;
|
|
}
|
|
}
|
|
function B(h) {
|
|
return !h.constructor || !h.constructor.name ? m : h.constructor.name;
|
|
}
|
|
return w.checkPropTypes = a, w.resetWarningCache = a.resetWarningCache, w.PropTypes = w, w;
|
|
}, eu;
|
|
}
|
|
var tu, gg;
|
|
function fS() {
|
|
if (gg) return tu;
|
|
gg = 1;
|
|
var e = /* @__PURE__ */ sp();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, tu = function() {
|
|
function n(i, s, u, c, d, p) {
|
|
if (p !== e) {
|
|
var m = 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 m.name = "Invariant Violation", m;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function a() {
|
|
return n;
|
|
}
|
|
var o = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: a,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: a,
|
|
node: n,
|
|
objectOf: a,
|
|
oneOf: a,
|
|
oneOfType: a,
|
|
shape: a,
|
|
exact: a,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return o.PropTypes = o, o;
|
|
}, tu;
|
|
}
|
|
var hg;
|
|
function dS() {
|
|
if (hg) return os.exports;
|
|
if (hg = 1, process.env.NODE_ENV !== "production") {
|
|
var e = Kv(), t = !0;
|
|
os.exports = /* @__PURE__ */ uS()(e.isElement, t);
|
|
} else
|
|
os.exports = /* @__PURE__ */ fS()();
|
|
return os.exports;
|
|
}
|
|
var pS = /* @__PURE__ */ dS();
|
|
const Re = /* @__PURE__ */ oS(pS);
|
|
function yg(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function er(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? yg(Object(r), !0).forEach(function(n) {
|
|
va(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : yg(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Ws(e) {
|
|
"@babel/helpers - typeof";
|
|
return Ws = 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;
|
|
}, Ws(e);
|
|
}
|
|
function va(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function mS(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), a, o;
|
|
for (o = 0; o < n.length; o++)
|
|
a = n[o], !(t.indexOf(a) >= 0) && (r[a] = e[a]);
|
|
return r;
|
|
}
|
|
function gS(e, t) {
|
|
if (e == null) return {};
|
|
var r = mS(e, t), n, a;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
for (a = 0; a < o.length; a++)
|
|
n = o[a], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function _f(e) {
|
|
return hS(e) || yS(e) || bS(e) || vS();
|
|
}
|
|
function hS(e) {
|
|
if (Array.isArray(e)) return Of(e);
|
|
}
|
|
function yS(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function bS(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Of(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 Of(e, t);
|
|
}
|
|
}
|
|
function Of(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 vS() {
|
|
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 xS(e) {
|
|
var t, r = e.beat, n = e.fade, a = e.beatFade, o = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, p = e.pulse, m = e.fixedWidth, w = e.inverse, _ = e.border, v = e.listItem, y = e.flip, k = e.size, P = e.rotation, E = e.pull, C = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": a,
|
|
"fa-bounce": o,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": p,
|
|
"fa-fw": m,
|
|
"fa-inverse": w,
|
|
"fa-border": _,
|
|
"fa-li": v,
|
|
"fa-flip": y === !0,
|
|
"fa-flip-horizontal": y === "horizontal" || y === "both",
|
|
"fa-flip-vertical": y === "vertical" || y === "both"
|
|
}, va(t, "fa-".concat(k), typeof k < "u" && k !== null), va(t, "fa-rotate-".concat(P), typeof P < "u" && P !== null && P !== 0), va(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), va(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(C).map(function(b) {
|
|
return C[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function wS(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function Jv(e) {
|
|
return wS(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var kS = ["style"];
|
|
function _S(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function OS(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), a = Jv(r.slice(0, n)), o = r.slice(n + 1).trim();
|
|
return a.startsWith("webkit") ? t[_S(a)] = o : t[a] = o, t;
|
|
}, {});
|
|
}
|
|
function Qv(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 Qv(e, u);
|
|
}), a = 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 = OS(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[Jv(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), o = r.style, i = o === void 0 ? {} : o, s = gS(r, kS);
|
|
return a.attrs.style = er(er({}, a.attrs.style), i), e.apply(void 0, [t.tag, er(er({}, a.attrs), s)].concat(_f(n)));
|
|
}
|
|
var Zv = !1;
|
|
try {
|
|
Zv = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function SS() {
|
|
if (!Zv && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function bg(e) {
|
|
if (e && Ws(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (kf.icon)
|
|
return kf.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && Ws(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 ru(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? va({}, e, t) : {};
|
|
}
|
|
var vg = {
|
|
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
|
|
}, Si = /* @__PURE__ */ He.forwardRef(function(e, t) {
|
|
var r = er(er({}, vg), e), n = r.icon, a = r.mask, o = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = bg(n), p = ru("classes", [].concat(_f(xS(r)), _f((i || "").split(" ")))), m = ru("transform", typeof r.transform == "string" ? kf.transform(r.transform) : r.transform), w = ru("mask", bg(a)), _ = aS(d, er(er(er(er({}, p), m), w), {}, {
|
|
symbol: o,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!_)
|
|
return SS("Could not find icon", d), null;
|
|
var v = _.abstract, y = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(k) {
|
|
vg.hasOwnProperty(k) || (y[k] = r[k]);
|
|
}), ES(v[0], y);
|
|
});
|
|
Si.displayName = "FontAwesomeIcon";
|
|
Si.propTypes = {
|
|
beat: Re.bool,
|
|
border: Re.bool,
|
|
beatFade: Re.bool,
|
|
bounce: Re.bool,
|
|
className: Re.string,
|
|
fade: Re.bool,
|
|
flash: Re.bool,
|
|
mask: Re.oneOfType([Re.object, Re.array, Re.string]),
|
|
maskId: Re.string,
|
|
fixedWidth: Re.bool,
|
|
inverse: Re.bool,
|
|
flip: Re.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Re.oneOfType([Re.object, Re.array, Re.string]),
|
|
listItem: Re.bool,
|
|
pull: Re.oneOf(["right", "left"]),
|
|
pulse: Re.bool,
|
|
rotation: Re.oneOf([0, 90, 180, 270]),
|
|
shake: Re.bool,
|
|
size: Re.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Re.bool,
|
|
spinPulse: Re.bool,
|
|
spinReverse: Re.bool,
|
|
symbol: Re.oneOfType([Re.bool, Re.string]),
|
|
title: Re.string,
|
|
titleId: Re.string,
|
|
transform: Re.oneOfType([Re.string, Re.object]),
|
|
swapOpacity: Re.bool
|
|
};
|
|
var ES = Qv.bind(null, He.createElement);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const PS = {
|
|
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 CS(e, t, r) {
|
|
return (t = $S(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function xg(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function re(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? xg(Object(r), !0).forEach(function(n) {
|
|
CS(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : xg(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function AS(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 $S(e) {
|
|
var t = AS(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const wg = () => {
|
|
};
|
|
let lp = {}, e1 = {}, t1 = null, r1 = {
|
|
mark: wg,
|
|
measure: wg
|
|
};
|
|
try {
|
|
typeof window < "u" && (lp = window), typeof document < "u" && (e1 = document), typeof MutationObserver < "u" && (t1 = MutationObserver), typeof performance < "u" && (r1 = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: kg = ""
|
|
} = lp.navigator || {}, On = lp, ct = e1, _g = t1, is = r1;
|
|
On.document;
|
|
const Ur = !!ct.documentElement && !!ct.head && typeof ct.addEventListener == "function" && typeof ct.createElement == "function", n1 = ~kg.indexOf("MSIE") || ~kg.indexOf("Trident/");
|
|
var NS = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, jS = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, a1 = {
|
|
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"
|
|
}
|
|
}, IS = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, o1 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], kt = "classic", pl = "duotone", TS = "sharp", RS = "sharp-duotone", i1 = [kt, pl, TS, RS], MS = {
|
|
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"
|
|
}
|
|
}, zS = {
|
|
"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"
|
|
}
|
|
}, FS = /* @__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
|
|
}]]), DS = {
|
|
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"
|
|
}
|
|
}, LS = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Og = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, GS = ["kit"], VS = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, WS = ["fak", "fakd"], US = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, Sg = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, ss = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, HS = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], YS = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], qS = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, BS = {
|
|
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"
|
|
}
|
|
}, KS = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Sf = {
|
|
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"
|
|
}
|
|
}, XS = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Ef = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...HS, ...XS], JS = ["solid", "regular", "light", "thin", "duotone", "brands"], s1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], QS = s1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), ZS = [...Object.keys(KS), ...JS, "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", ss.GROUP, ss.SWAP_OPACITY, ss.PRIMARY, ss.SECONDARY].concat(s1.map((e) => "".concat(e, "x"))).concat(QS.map((e) => "w-".concat(e))), eE = {
|
|
"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 Mr = "___FONT_AWESOME___", Pf = 16, l1 = "fa", c1 = "svg-inline--fa", ra = "data-fa-i2svg", Cf = "data-fa-pseudo-element", tE = "data-fa-pseudo-element-pending", cp = "data-prefix", up = "data-icon", Eg = "fontawesome-i2svg", rE = "async", nE = ["HTML", "HEAD", "STYLE", "SCRIPT"], u1 = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Wi(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[kt];
|
|
}
|
|
});
|
|
}
|
|
const f1 = re({}, a1);
|
|
f1[kt] = re(re(re(re({}, {
|
|
"fa-duotone": "duotone"
|
|
}), a1[kt]), Og.kit), Og["kit-duotone"]);
|
|
const aE = Wi(f1), Af = re({}, DS);
|
|
Af[kt] = re(re(re(re({}, {
|
|
duotone: "fad"
|
|
}), Af[kt]), Sg.kit), Sg["kit-duotone"]);
|
|
const Pg = Wi(Af), $f = re({}, Sf);
|
|
$f[kt] = re(re({}, $f[kt]), US.kit);
|
|
const fp = Wi($f), Nf = re({}, BS);
|
|
Nf[kt] = re(re({}, Nf[kt]), VS.kit);
|
|
Wi(Nf);
|
|
const oE = NS, d1 = "fa-layers-text", iE = jS, sE = re({}, MS);
|
|
Wi(sE);
|
|
const lE = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], nu = IS, cE = [...GS, ...ZS], fi = On.FontAwesomeConfig || {};
|
|
function uE(e) {
|
|
var t = ct.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function fE(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
ct && typeof ct.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 = fE(uE(t));
|
|
n != null && (fi[r] = n);
|
|
});
|
|
const p1 = {
|
|
styleDefault: "solid",
|
|
familyDefault: kt,
|
|
cssPrefix: l1,
|
|
replacementClass: c1,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
fi.familyPrefix && (fi.cssPrefix = fi.familyPrefix);
|
|
const Ga = re(re({}, p1), fi);
|
|
Ga.autoReplaceSvg || (Ga.observeMutations = !1);
|
|
const me = {};
|
|
Object.keys(p1).forEach((e) => {
|
|
Object.defineProperty(me, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Ga[e] = t, di.forEach((r) => r(me));
|
|
},
|
|
get: function() {
|
|
return Ga[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(me, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Ga.cssPrefix = e, di.forEach((t) => t(me));
|
|
},
|
|
get: function() {
|
|
return Ga.cssPrefix;
|
|
}
|
|
});
|
|
On.FontAwesomeConfig = me;
|
|
const di = [];
|
|
function dE(e) {
|
|
return di.push(e), () => {
|
|
di.splice(di.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Xr = Pf, sr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function pE(e) {
|
|
if (!e || !Ur)
|
|
return;
|
|
const t = ct.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = ct.head.childNodes;
|
|
let n = null;
|
|
for (let a = r.length - 1; a > -1; a--) {
|
|
const o = r[a], i = (o.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = o);
|
|
}
|
|
return ct.head.insertBefore(t, n), e;
|
|
}
|
|
const mE = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Ei() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += mE[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Ka(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function dp(e) {
|
|
return e.classList ? Ka(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function m1(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function gE(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(m1(e[r]), '" '), "").trim();
|
|
}
|
|
function ml(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function pp(e) {
|
|
return e.size !== sr.size || e.x !== sr.x || e.y !== sr.y || e.rotate !== sr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function hE(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const a = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, o = "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(o, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: a,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function yE(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Pf,
|
|
height: n = Pf,
|
|
startCentered: a = !1
|
|
} = e, o = "";
|
|
return a && n1 ? o += "translate(".concat(t.x / Xr - r / 2, "em, ").concat(t.y / Xr - n / 2, "em) ") : a ? o += "translate(calc(-50% + ".concat(t.x / Xr, "em), calc(-50% + ").concat(t.y / Xr, "em)) ") : o += "translate(".concat(t.x / Xr, "em, ").concat(t.y / Xr, "em) "), o += "scale(".concat(t.size / Xr * (t.flipX ? -1 : 1), ", ").concat(t.size / Xr * (t.flipY ? -1 : 1), ") "), o += "rotate(".concat(t.rotate, "deg) "), o;
|
|
}
|
|
var bE = `: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 g1() {
|
|
const e = l1, t = c1, r = me.cssPrefix, n = me.replacementClass;
|
|
let a = bE;
|
|
if (r !== e || n !== t) {
|
|
const o = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
a = a.replace(o, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return a;
|
|
}
|
|
let Cg = !1;
|
|
function au() {
|
|
me.autoAddCss && !Cg && (pE(g1()), Cg = !0);
|
|
}
|
|
var vE = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: g1,
|
|
insertCss: au
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
au();
|
|
},
|
|
beforeI2svg() {
|
|
au();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const zr = On || {};
|
|
zr[Mr] || (zr[Mr] = {});
|
|
zr[Mr].styles || (zr[Mr].styles = {});
|
|
zr[Mr].hooks || (zr[Mr].hooks = {});
|
|
zr[Mr].shims || (zr[Mr].shims = []);
|
|
var lr = zr[Mr];
|
|
const h1 = [], y1 = function() {
|
|
ct.removeEventListener("DOMContentLoaded", y1), Us = 1, h1.map((e) => e());
|
|
};
|
|
let Us = !1;
|
|
Ur && (Us = (ct.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ct.readyState), Us || ct.addEventListener("DOMContentLoaded", y1));
|
|
function xE(e) {
|
|
Ur && (Us ? setTimeout(e, 0) : h1.push(e));
|
|
}
|
|
function Ui(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? m1(e) : "<".concat(t, " ").concat(gE(r), ">").concat(n.map(Ui).join(""), "</").concat(t, ">");
|
|
}
|
|
function Ag(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var ou = function(e, t, r, n) {
|
|
var a = Object.keys(e), o = a.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[a[0]]) : (s = 0, c = r); s < o; s++)
|
|
u = a[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function wE(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const a = e.charCodeAt(r++);
|
|
if (a >= 55296 && a <= 56319 && r < n) {
|
|
const o = e.charCodeAt(r++);
|
|
(o & 64512) == 56320 ? t.push(((a & 1023) << 10) + (o & 1023) + 65536) : (t.push(a), r--);
|
|
} else
|
|
t.push(a);
|
|
}
|
|
return t;
|
|
}
|
|
function b1(e) {
|
|
const t = wE(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function kE(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), a;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (a = e.charCodeAt(t + 1), a >= 56320 && a <= 57343) ? (n - 55296) * 1024 + a - 56320 + 65536 : n;
|
|
}
|
|
function $g(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 jf(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, a = $g(t);
|
|
typeof lr.hooks.addPack == "function" && !n ? lr.hooks.addPack(e, $g(t)) : lr.styles[e] = re(re({}, lr.styles[e] || {}), a), e === "fas" && jf("fa", t);
|
|
}
|
|
const {
|
|
styles: Pi,
|
|
shims: _E
|
|
} = lr, v1 = Object.keys(fp), OE = v1.reduce((e, t) => (e[t] = Object.keys(fp[t]), e), {});
|
|
let mp = null, x1 = {}, w1 = {}, k1 = {}, _1 = {}, O1 = {};
|
|
function SE(e) {
|
|
return ~cE.indexOf(e);
|
|
}
|
|
function EE(e, t) {
|
|
const r = t.split("-"), n = r[0], a = r.slice(1).join("-");
|
|
return n === e && a !== "" && !SE(a) ? a : null;
|
|
}
|
|
const S1 = () => {
|
|
const e = (n) => ou(Pi, (a, o, i) => (a[i] = ou(o, n, {}), a), {});
|
|
x1 = e((n, a, o) => (a[3] && (n[a[3]] = o), a[2] && a[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = o;
|
|
}), n)), w1 = e((n, a, o) => (n[o] = o, a[2] && a[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = o;
|
|
}), n)), O1 = e((n, a, o) => {
|
|
const i = a[2];
|
|
return n[o] = o, i.forEach((s) => {
|
|
n[s] = o;
|
|
}), n;
|
|
});
|
|
const t = "far" in Pi || me.autoFetchSvg, r = ou(_E, (n, a) => {
|
|
const o = a[0];
|
|
let i = a[1];
|
|
const s = a[2];
|
|
return i === "far" && !t && (i = "fas"), typeof o == "string" && (n.names[o] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof o == "number" && (n.unicodes[o.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
k1 = r.names, _1 = r.unicodes, mp = gl(me.styleDefault, {
|
|
family: me.familyDefault
|
|
});
|
|
};
|
|
dE((e) => {
|
|
mp = gl(e.styleDefault, {
|
|
family: me.familyDefault
|
|
});
|
|
});
|
|
S1();
|
|
function gp(e, t) {
|
|
return (x1[e] || {})[t];
|
|
}
|
|
function PE(e, t) {
|
|
return (w1[e] || {})[t];
|
|
}
|
|
function Bn(e, t) {
|
|
return (O1[e] || {})[t];
|
|
}
|
|
function E1(e) {
|
|
return k1[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function CE(e) {
|
|
const t = _1[e], r = gp("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Sn() {
|
|
return mp;
|
|
}
|
|
const P1 = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function AE(e) {
|
|
let t = kt;
|
|
const r = v1.reduce((n, a) => (n[a] = "".concat(me.cssPrefix, "-").concat(a), n), {});
|
|
return i1.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((a) => OE[n].includes(a))) && (t = n);
|
|
}), t;
|
|
}
|
|
function gl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = kt
|
|
} = t, n = aE[r][e];
|
|
if (r === pl && !e)
|
|
return "fad";
|
|
const a = Pg[r][e] || Pg[r][n], o = e in lr.styles ? e : null;
|
|
return a || o || null;
|
|
}
|
|
function $E(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const a = EE(me.cssPrefix, n);
|
|
a ? r = a : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Ng(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function hl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const a = Ef.concat(YS), o = Ng(e.filter((p) => a.includes(p))), i = Ng(e.filter((p) => !Ef.includes(p))), s = o.filter((p) => (n = p, !o1.includes(p))), [u = null] = s, c = AE(o), d = re(re({}, $E(i)), {}, {
|
|
prefix: gl(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return re(re(re({}, d), TE({
|
|
values: e,
|
|
family: c,
|
|
styles: Pi,
|
|
config: me,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), NE(r, n, d));
|
|
}
|
|
function NE(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: a
|
|
} = r;
|
|
if (e || !n || !a)
|
|
return {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
const o = t === "fa" ? E1(a) : {}, i = Bn(n, a);
|
|
return a = o.iconName || i || a, n = o.prefix || n, n === "far" && !Pi.far && Pi.fas && !me.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
}
|
|
const jE = i1.filter((e) => e !== kt || e !== pl), IE = Object.keys(Sf).filter((e) => e !== kt).map((e) => Object.keys(Sf[e])).flat();
|
|
function TE(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: a = "",
|
|
styles: o = {},
|
|
config: i = {}
|
|
} = e, s = r === pl, 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 && jE.includes(r) && (Object.keys(o).find((p) => IE.includes(p)) || i.autoFetchSvg)) {
|
|
const p = FS.get(r).defaultShortPrefixId;
|
|
n.prefix = p, n.iconName = Bn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || a === "fa") && (n.prefix = Sn() || "fas"), n;
|
|
}
|
|
class RE {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const a = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(a).forEach((o) => {
|
|
this.definitions[o] = re(re({}, this.definitions[o] || {}), a[o]), jf(o, a[o]);
|
|
const i = fp[kt][o];
|
|
i && jf(i, a[o]), S1();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((a) => {
|
|
const {
|
|
prefix: o,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[a], u = s[2];
|
|
t[o] || (t[o] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[o][c] = s);
|
|
}), t[o][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let jg = [], xa = {};
|
|
const $a = {}, ME = Object.keys($a);
|
|
function zE(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return jg = e, xa = {}, Object.keys($a).forEach((n) => {
|
|
ME.indexOf(n) === -1 && delete $a[n];
|
|
}), jg.forEach((n) => {
|
|
const a = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(a).forEach((o) => {
|
|
typeof a[o] == "function" && (r[o] = a[o]), typeof a[o] == "object" && Object.keys(a[o]).forEach((i) => {
|
|
r[o] || (r[o] = {}), r[o][i] = a[o][i];
|
|
});
|
|
}), n.hooks) {
|
|
const o = n.hooks();
|
|
Object.keys(o).forEach((i) => {
|
|
xa[i] || (xa[i] = []), xa[i].push(o[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides($a);
|
|
}), r;
|
|
}
|
|
function If(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), a = 2; a < r; a++)
|
|
n[a - 2] = arguments[a];
|
|
return (xa[e] || []).forEach((o) => {
|
|
t = o.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function na(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(xa[e] || []).forEach((a) => {
|
|
a.apply(null, r);
|
|
});
|
|
}
|
|
function En() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return $a[e] ? $a[e].apply(null, t) : void 0;
|
|
}
|
|
function Tf(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Sn();
|
|
if (t)
|
|
return t = Bn(r, t) || t, Ag(C1.definitions, r, t) || Ag(lr.styles, r, t);
|
|
}
|
|
const C1 = new RE(), FE = () => {
|
|
me.autoReplaceSvg = !1, me.observeMutations = !1, na("noAuto");
|
|
}, DE = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Ur ? (na("beforeI2svg", e), En("pseudoElements2svg", e), En("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;
|
|
me.autoReplaceSvg === !1 && (me.autoReplaceSvg = !0), me.observeMutations = !0, xE(() => {
|
|
GE({
|
|
autoReplaceSvgRoot: t
|
|
}), na("watch", e);
|
|
});
|
|
}
|
|
}, LE = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Bn(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 = gl(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Bn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(me.cssPrefix, "-")) > -1 || e.match(oE))) {
|
|
const t = hl(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Sn(),
|
|
iconName: Bn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Sn();
|
|
return {
|
|
prefix: t,
|
|
iconName: Bn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, Mt = {
|
|
noAuto: FE,
|
|
config: me,
|
|
dom: DE,
|
|
parse: LE,
|
|
library: C1,
|
|
findIconDefinition: Tf,
|
|
toHtml: Ui
|
|
}, GE = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = ct
|
|
} = e;
|
|
(Object.keys(lr.styles).length > 0 || me.autoFetchSvg) && Ur && me.autoReplaceSvg && Mt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function yl(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Ui(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Ur) return;
|
|
const r = ct.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function VE(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: a,
|
|
styles: o,
|
|
transform: i
|
|
} = e;
|
|
if (pp(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
a.style = ml(re(re({}, o), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: a,
|
|
children: t
|
|
}];
|
|
}
|
|
function WE(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: a,
|
|
symbol: o
|
|
} = e;
|
|
const i = o === !0 ? "".concat(t, "-").concat(me.cssPrefix, "-").concat(r) : o;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: re(re({}, a), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function hp(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: a,
|
|
transform: o,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: p = !1
|
|
} = e, {
|
|
width: m,
|
|
height: w
|
|
} = r.found ? r : t, _ = WS.includes(n), v = [me.replacementClass, a ? "".concat(me.cssPrefix, "-").concat(a) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let y = {
|
|
children: [],
|
|
attributes: re(re({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": a,
|
|
class: v,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(m, " ").concat(w)
|
|
})
|
|
};
|
|
const k = _ && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(m / w * 16 * 0.0625, "em")
|
|
} : {};
|
|
p && (y.attributes[ra] = ""), s && (y.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: y.attributes["aria-labelledby"] || "title-".concat(c || Ei())
|
|
},
|
|
children: [s]
|
|
}), delete y.attributes.title);
|
|
const P = re(re({}, y), {}, {
|
|
prefix: n,
|
|
iconName: a,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: o,
|
|
symbol: i,
|
|
styles: re(re({}, k), d.styles)
|
|
}), {
|
|
children: E,
|
|
attributes: C
|
|
} = r.found && t.found ? En("generateAbstractMask", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : En("generateAbstractIcon", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return P.children = E, P.attributes = C, i ? WE(P) : VE(P);
|
|
}
|
|
function Ig(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: a,
|
|
title: o,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = re(re(re({}, i.attributes), o ? {
|
|
title: o
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[ra] = "");
|
|
const c = re({}, i.styles);
|
|
pp(a) && (c.transform = yE({
|
|
transform: a,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = ml(c);
|
|
d.length > 0 && (u.style = d);
|
|
const p = [];
|
|
return p.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), o && p.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [o]
|
|
}), p;
|
|
}
|
|
function UE(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, a = re(re(re({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), o = ml(n.styles);
|
|
o.length > 0 && (a.style = o);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: a,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: iu
|
|
} = lr;
|
|
function Rf(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let a = null;
|
|
return Array.isArray(n) ? a = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(me.cssPrefix, "-").concat(nu.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(me.cssPrefix, "-").concat(nu.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(me.cssPrefix, "-").concat(nu.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : a = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: a
|
|
};
|
|
}
|
|
const HE = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function YE(e, t) {
|
|
!u1 && !me.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Mf(e, t) {
|
|
let r = t;
|
|
return t === "fa" && me.styleDefault !== null && (t = Sn()), new Promise((n, a) => {
|
|
if (r === "fa") {
|
|
const o = E1(e) || {};
|
|
e = o.iconName || e, t = o.prefix || t;
|
|
}
|
|
if (e && t && iu[t] && iu[t][e]) {
|
|
const o = iu[t][e];
|
|
return n(Rf(o));
|
|
}
|
|
YE(e, t), n(re(re({}, HE), {}, {
|
|
icon: me.showMissingIcons && e ? En("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Tg = () => {
|
|
}, zf = me.measurePerformance && is && is.mark && is.measure ? is : {
|
|
mark: Tg,
|
|
measure: Tg
|
|
}, ni = 'FA "6.7.2"', qE = (e) => (zf.mark("".concat(ni, " ").concat(e, " begins")), () => A1(e)), A1 = (e) => {
|
|
zf.mark("".concat(ni, " ").concat(e, " ends")), zf.measure("".concat(ni, " ").concat(e), "".concat(ni, " ").concat(e, " begins"), "".concat(ni, " ").concat(e, " ends"));
|
|
};
|
|
var yp = {
|
|
begin: qE,
|
|
end: A1
|
|
};
|
|
const Ps = () => {
|
|
};
|
|
function Rg(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(ra) : null) == "string";
|
|
}
|
|
function BE(e) {
|
|
const t = e.getAttribute ? e.getAttribute(cp) : null, r = e.getAttribute ? e.getAttribute(up) : null;
|
|
return t && r;
|
|
}
|
|
function KE(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(me.replacementClass);
|
|
}
|
|
function XE() {
|
|
return me.autoReplaceSvg === !0 ? Cs.replace : Cs[me.autoReplaceSvg] || Cs.replace;
|
|
}
|
|
function JE(e) {
|
|
return ct.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function QE(e) {
|
|
return ct.createElement(e);
|
|
}
|
|
function $1(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? JE : QE
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return ct.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($1(a, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function ZE(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Cs = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore($1(r), t);
|
|
}), t.getAttribute(ra) === null && me.keepOriginalSource) {
|
|
let r = ct.createComment(ZE(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~dp(t).indexOf(me.replacementClass))
|
|
return Cs.replace(e);
|
|
const n = new RegExp("".concat(me.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const o = r[0].attributes.class.split(" ").reduce((i, s) => (s === me.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = o.toSvg.join(" "), o.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", o.toNode.join(" "));
|
|
}
|
|
const a = r.map((o) => Ui(o)).join(`
|
|
`);
|
|
t.setAttribute(ra, ""), t.innerHTML = a;
|
|
}
|
|
};
|
|
function Mg(e) {
|
|
e();
|
|
}
|
|
function N1(e, t) {
|
|
const r = typeof t == "function" ? t : Ps;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Mg;
|
|
me.mutateApproach === rE && (n = On.requestAnimationFrame || Mg), n(() => {
|
|
const a = XE(), o = yp.begin("mutate");
|
|
e.map(a), o(), r();
|
|
});
|
|
}
|
|
}
|
|
let bp = !1;
|
|
function j1() {
|
|
bp = !0;
|
|
}
|
|
function Ff() {
|
|
bp = !1;
|
|
}
|
|
let Hs = null;
|
|
function zg(e) {
|
|
if (!_g || !me.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Ps,
|
|
nodeCallback: r = Ps,
|
|
pseudoElementsCallback: n = Ps,
|
|
observeMutationsRoot: a = ct
|
|
} = e;
|
|
Hs = new _g((o) => {
|
|
if (bp) return;
|
|
const i = Sn();
|
|
Ka(o).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !Rg(s.addedNodes[0]) && (me.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && me.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && Rg(s.target) && ~lE.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && BE(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = hl(dp(s.target));
|
|
s.target.setAttribute(cp, u || i), c && s.target.setAttribute(up, c);
|
|
} else KE(s.target) && r(s.target);
|
|
});
|
|
}), Ur && Hs.observe(a, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function eP() {
|
|
Hs && Hs.disconnect();
|
|
}
|
|
function tP(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, a) => {
|
|
const o = a.split(":"), i = o[0], s = o.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function rP(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let a = hl(dp(e));
|
|
return a.prefix || (a.prefix = Sn()), t && r && (a.prefix = t, a.iconName = r), a.iconName && a.prefix || (a.prefix && n.length > 0 && (a.iconName = PE(a.prefix, e.innerText) || gp(a.prefix, b1(e.innerText))), !a.iconName && me.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (a.iconName = e.firstChild.data)), a;
|
|
}
|
|
function nP(e) {
|
|
const t = Ka(e.attributes).reduce((a, o) => (a.name !== "class" && a.name !== "style" && (a[o.name] = o.value), a), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return me.autoA11y && (r ? t["aria-labelledby"] = "".concat(me.replacementClass, "-title-").concat(n || Ei()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function aP() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: sr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function Fg(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: a
|
|
} = rP(e), o = nP(e), i = If("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? tP(e) : [];
|
|
return re({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: sr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: a,
|
|
styles: s,
|
|
attributes: o
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: oP
|
|
} = lr;
|
|
function I1(e) {
|
|
const t = me.autoReplaceSvg === "nest" ? Fg(e, {
|
|
styleParser: !1
|
|
}) : Fg(e);
|
|
return ~t.extra.classes.indexOf(d1) ? En("generateLayersText", e, t) : En("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function iP() {
|
|
return [...LS, ...Ef];
|
|
}
|
|
function Dg(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Ur) return Promise.resolve();
|
|
const r = ct.documentElement.classList, n = (d) => r.add("".concat(Eg, "-").concat(d)), a = (d) => r.remove("".concat(Eg, "-").concat(d)), o = me.autoFetchSvg ? iP() : o1.concat(Object.keys(oP));
|
|
o.includes("fa") || o.push("fa");
|
|
const i = [".".concat(d1, ":not([").concat(ra, "])")].concat(o.map((d) => ".".concat(d, ":not([").concat(ra, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Ka(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), a("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = yp.begin("onTree"), c = s.reduce((d, p) => {
|
|
try {
|
|
const m = I1(p);
|
|
m && d.push(m);
|
|
} catch (m) {
|
|
u1 || m.name === "MissingIcon" && console.error(m);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, p) => {
|
|
Promise.all(c).then((m) => {
|
|
N1(m, () => {
|
|
n("active"), n("complete"), a("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((m) => {
|
|
u(), p(m);
|
|
});
|
|
});
|
|
}
|
|
function sP(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
I1(e).then((r) => {
|
|
r && N1([r], t);
|
|
});
|
|
}
|
|
function lP(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Tf(t || {});
|
|
let {
|
|
mask: a
|
|
} = r;
|
|
return a && (a = (a || {}).icon ? a : Tf(a || {})), e(n, re(re({}, r), {}, {
|
|
mask: a
|
|
}));
|
|
};
|
|
}
|
|
const cP = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = sr,
|
|
symbol: n = !1,
|
|
mask: a = null,
|
|
maskId: o = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: p,
|
|
iconName: m,
|
|
icon: w
|
|
} = e;
|
|
return yl(re({
|
|
type: "icon"
|
|
}, e), () => (na("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), me.autoA11y && (i ? c["aria-labelledby"] = "".concat(me.replacementClass, "-title-").concat(s || Ei()) : (c["aria-hidden"] = "true", c.focusable = "false")), hp({
|
|
icons: {
|
|
main: Rf(w),
|
|
mask: a ? Rf(a.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: p,
|
|
iconName: m,
|
|
transform: re(re({}, sr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: o,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var uP = {
|
|
mixout() {
|
|
return {
|
|
icon: lP(cP)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Dg, e.nodeCallback = sP, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = ct,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Dg(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: a,
|
|
titleId: o,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: p
|
|
} = r;
|
|
return new Promise((m, w) => {
|
|
Promise.all([Mf(n, i), c.iconName ? Mf(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((_) => {
|
|
let [v, y] = _;
|
|
m([t, hp({
|
|
icons: {
|
|
main: v,
|
|
mask: y
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: a,
|
|
titleId: o,
|
|
extra: p,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(w);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
transform: o,
|
|
styles: i
|
|
} = t;
|
|
const s = ml(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return pp(o) && (u = En("generateAbstractTransformGrouping", {
|
|
main: a,
|
|
transform: o,
|
|
containerWidth: a.width,
|
|
iconWidth: a.width
|
|
})), r.push(u || a.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, fP = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return yl({
|
|
type: "layer"
|
|
}, () => {
|
|
na("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((a) => {
|
|
Array.isArray(a) ? a.map((o) => {
|
|
n = n.concat(o.abstract);
|
|
}) : n = n.concat(a.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(me.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, dP = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: a = {},
|
|
styles: o = {}
|
|
} = t;
|
|
return yl({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (na("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), UE({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: a,
|
|
styles: o,
|
|
classes: ["".concat(me.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, pP = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = sr,
|
|
title: n = null,
|
|
classes: a = [],
|
|
attributes: o = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return yl({
|
|
type: "text",
|
|
content: e
|
|
}, () => (na("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Ig({
|
|
content: e,
|
|
transform: re(re({}, sr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: o,
|
|
styles: i,
|
|
classes: ["".concat(me.cssPrefix, "-layers-text"), ...a]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: a,
|
|
extra: o
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (n1) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return me.autoA11y && !n && (o.attributes["aria-hidden"] = "true"), Promise.resolve([t, Ig({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: a,
|
|
title: n,
|
|
extra: o,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const mP = new RegExp('"', "ug"), Lg = [1105920, 1112319], Gg = re(re(re(re({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), zS), eE), qS), Df = Object.keys(Gg).reduce((e, t) => (e[t.toLowerCase()] = Gg[t], e), {}), gP = Object.keys(Df).reduce((e, t) => {
|
|
const r = Df[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function hP(e) {
|
|
const t = e.replace(mP, ""), r = kE(t, 0), n = r >= Lg[0] && r <= Lg[1], a = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: b1(a ? t[0] : t),
|
|
isSecondary: n || a
|
|
};
|
|
}
|
|
function yP(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), a = isNaN(n) ? "normal" : n;
|
|
return (Df[r] || {})[a] || gP[r];
|
|
}
|
|
function Vg(e, t) {
|
|
const r = "".concat(tE).concat(t.replace(":", "-"));
|
|
return new Promise((n, a) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const o = Ka(e.children).filter((p) => p.getAttribute(Cf) === t)[0], i = On.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(iE), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (o && !u)
|
|
return e.removeChild(o), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const p = i.getPropertyValue("content");
|
|
let m = yP(s, c);
|
|
const {
|
|
value: w,
|
|
isSecondary: _
|
|
} = hP(p), v = u[0].startsWith("FontAwesome");
|
|
let y = gp(m, w), k = y;
|
|
if (v) {
|
|
const P = CE(w);
|
|
P.iconName && P.prefix && (y = P.iconName, m = P.prefix);
|
|
}
|
|
if (y && !_ && (!o || o.getAttribute(cp) !== m || o.getAttribute(up) !== k)) {
|
|
e.setAttribute(r, k), o && e.removeChild(o);
|
|
const P = aP(), {
|
|
extra: E
|
|
} = P;
|
|
E.attributes[Cf] = t, Mf(y, m).then((C) => {
|
|
const b = hp(re(re({}, P), {}, {
|
|
icons: {
|
|
main: C,
|
|
mask: P1()
|
|
},
|
|
prefix: m,
|
|
iconName: k,
|
|
extra: E,
|
|
watchable: !0
|
|
})), Y = ct.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(Y, e.firstChild) : e.appendChild(Y), Y.outerHTML = b.map((q) => Ui(q)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(a);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function bP(e) {
|
|
return Promise.all([Vg(e, "::before"), Vg(e, "::after")]);
|
|
}
|
|
function vP(e) {
|
|
return e.parentNode !== document.head && !~nE.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Cf) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function Wg(e) {
|
|
if (Ur)
|
|
return new Promise((t, r) => {
|
|
const n = Ka(e.querySelectorAll("*")).filter(vP).map(bP), a = yp.begin("searchPseudoElements");
|
|
j1(), Promise.all(n).then(() => {
|
|
a(), Ff(), t();
|
|
}).catch(() => {
|
|
a(), Ff(), r();
|
|
});
|
|
});
|
|
}
|
|
var xP = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = Wg, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = ct
|
|
} = t;
|
|
me.searchPseudoElements && Wg(r);
|
|
};
|
|
}
|
|
};
|
|
let Ug = !1;
|
|
var wP = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
j1(), Ug = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
zg(If("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
eP();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
Ug ? Ff() : zg(If("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Hg = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const a = n.toLowerCase().split("-"), o = a[0];
|
|
let i = a.slice(1).join("-");
|
|
if (o && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (o && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (o) {
|
|
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 kP = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => Hg(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = Hg(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: a,
|
|
iconWidth: o
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(a / 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)
|
|
}, p = {
|
|
transform: "translate(".concat(o / 2 * -1, " -256)")
|
|
}, m = {
|
|
outer: i,
|
|
inner: d,
|
|
path: p
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: re({}, m.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: re({}, m.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: re(re({}, r.icon.attributes), m.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const su = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function Yg(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 _P(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var OP = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? hl(r.split(" ").map((a) => a.trim())) : P1();
|
|
return n.prefix || (n.prefix = Sn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
mask: o,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = a, {
|
|
width: d,
|
|
icon: p
|
|
} = o, m = hE({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), w = {
|
|
tag: "rect",
|
|
attributes: re(re({}, su), {}, {
|
|
fill: "white"
|
|
})
|
|
}, _ = c.children ? {
|
|
children: c.children.map(Yg)
|
|
} : {}, v = {
|
|
tag: "g",
|
|
attributes: re({}, m.inner),
|
|
children: [Yg(re({
|
|
tag: c.tag,
|
|
attributes: re(re({}, c.attributes), m.path)
|
|
}, _))]
|
|
}, y = {
|
|
tag: "g",
|
|
attributes: re({}, m.outer),
|
|
children: [v]
|
|
}, k = "mask-".concat(i || Ei()), P = "clip-".concat(i || Ei()), E = {
|
|
tag: "mask",
|
|
attributes: re(re({}, su), {}, {
|
|
id: k,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [w, y]
|
|
}, C = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: P
|
|
},
|
|
children: _P(p)
|
|
}, E]
|
|
};
|
|
return r.push(C, {
|
|
tag: "rect",
|
|
attributes: re({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(P, ")"),
|
|
mask: "url(#".concat(k, ")")
|
|
}, su)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, SP = {
|
|
provides(e) {
|
|
let t = !1;
|
|
On.matchMedia && (t = On.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, a = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: re(re({}, 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 o = re(re({}, a), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: re(re({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: re(re({}, a), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: re(re({}, o), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: re(re({}, 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: re(re({}, o), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: re(re({}, 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: re(re({}, o), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, EP = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, PP = [vE, uP, fP, dP, pP, xP, wP, kP, OP, SP, EP];
|
|
zE(PP, {
|
|
mixoutsTo: Mt
|
|
});
|
|
Mt.noAuto;
|
|
Mt.config;
|
|
Mt.library;
|
|
Mt.dom;
|
|
const Lf = Mt.parse;
|
|
Mt.findIconDefinition;
|
|
Mt.toHtml;
|
|
const CP = Mt.icon;
|
|
Mt.layer;
|
|
Mt.text;
|
|
Mt.counter;
|
|
function AP(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var ls = { exports: {} }, lu = { exports: {} }, qe = {};
|
|
/** @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 qg;
|
|
function $P() {
|
|
if (qg) return qe;
|
|
qg = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var Y = b.$$typeof;
|
|
switch (Y) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return Y;
|
|
}
|
|
}
|
|
case r:
|
|
return Y;
|
|
}
|
|
}
|
|
}
|
|
function C(b) {
|
|
return E(b) === c;
|
|
}
|
|
return qe.AsyncMode = u, qe.ConcurrentMode = c, qe.ContextConsumer = s, qe.ContextProvider = i, qe.Element = t, qe.ForwardRef = d, qe.Fragment = n, qe.Lazy = _, qe.Memo = w, qe.Portal = r, qe.Profiler = o, qe.StrictMode = a, qe.Suspense = p, qe.isAsyncMode = function(b) {
|
|
return C(b) || E(b) === u;
|
|
}, qe.isConcurrentMode = C, qe.isContextConsumer = function(b) {
|
|
return E(b) === s;
|
|
}, qe.isContextProvider = function(b) {
|
|
return E(b) === i;
|
|
}, qe.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, qe.isForwardRef = function(b) {
|
|
return E(b) === d;
|
|
}, qe.isFragment = function(b) {
|
|
return E(b) === n;
|
|
}, qe.isLazy = function(b) {
|
|
return E(b) === _;
|
|
}, qe.isMemo = function(b) {
|
|
return E(b) === w;
|
|
}, qe.isPortal = function(b) {
|
|
return E(b) === r;
|
|
}, qe.isProfiler = function(b) {
|
|
return E(b) === o;
|
|
}, qe.isStrictMode = function(b) {
|
|
return E(b) === a;
|
|
}, qe.isSuspense = function(b) {
|
|
return E(b) === p;
|
|
}, qe.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === o || b === a || b === p || b === m || typeof b == "object" && b !== null && (b.$$typeof === _ || b.$$typeof === w || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === y || b.$$typeof === k || b.$$typeof === P || b.$$typeof === v);
|
|
}, qe.typeOf = E, qe;
|
|
}
|
|
var Qe = {};
|
|
/** @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 Bg;
|
|
function NP() {
|
|
return Bg || (Bg = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(S) {
|
|
return typeof S == "string" || typeof S == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
S === n || S === c || S === o || S === a || S === p || S === m || typeof S == "object" && S !== null && (S.$$typeof === _ || S.$$typeof === w || S.$$typeof === i || S.$$typeof === s || S.$$typeof === d || S.$$typeof === y || S.$$typeof === k || S.$$typeof === P || S.$$typeof === v);
|
|
}
|
|
function C(S) {
|
|
if (typeof S == "object" && S !== null) {
|
|
var ye = S.$$typeof;
|
|
switch (ye) {
|
|
case t:
|
|
var We = S.type;
|
|
switch (We) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return We;
|
|
default:
|
|
var gt = We && We.$$typeof;
|
|
switch (gt) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return gt;
|
|
default:
|
|
return ye;
|
|
}
|
|
}
|
|
case r:
|
|
return ye;
|
|
}
|
|
}
|
|
}
|
|
var b = u, Y = c, q = s, Z = i, ie = t, Q = d, J = n, D = _, ce = w, V = r, I = o, R = a, j = p, U = !1;
|
|
function B(S) {
|
|
return U || (U = !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.")), h(S) || C(S) === u;
|
|
}
|
|
function h(S) {
|
|
return C(S) === c;
|
|
}
|
|
function f(S) {
|
|
return C(S) === s;
|
|
}
|
|
function x(S) {
|
|
return C(S) === i;
|
|
}
|
|
function N(S) {
|
|
return typeof S == "object" && S !== null && S.$$typeof === t;
|
|
}
|
|
function $(S) {
|
|
return C(S) === d;
|
|
}
|
|
function T(S) {
|
|
return C(S) === n;
|
|
}
|
|
function z(S) {
|
|
return C(S) === _;
|
|
}
|
|
function M(S) {
|
|
return C(S) === w;
|
|
}
|
|
function L(S) {
|
|
return C(S) === r;
|
|
}
|
|
function F(S) {
|
|
return C(S) === o;
|
|
}
|
|
function G(S) {
|
|
return C(S) === a;
|
|
}
|
|
function le(S) {
|
|
return C(S) === p;
|
|
}
|
|
Qe.AsyncMode = b, Qe.ConcurrentMode = Y, Qe.ContextConsumer = q, Qe.ContextProvider = Z, Qe.Element = ie, Qe.ForwardRef = Q, Qe.Fragment = J, Qe.Lazy = D, Qe.Memo = ce, Qe.Portal = V, Qe.Profiler = I, Qe.StrictMode = R, Qe.Suspense = j, Qe.isAsyncMode = B, Qe.isConcurrentMode = h, Qe.isContextConsumer = f, Qe.isContextProvider = x, Qe.isElement = N, Qe.isForwardRef = $, Qe.isFragment = T, Qe.isLazy = z, Qe.isMemo = M, Qe.isPortal = L, Qe.isProfiler = F, Qe.isStrictMode = G, Qe.isSuspense = le, Qe.isValidElementType = E, Qe.typeOf = C;
|
|
}()), Qe;
|
|
}
|
|
var Kg;
|
|
function T1() {
|
|
return Kg || (Kg = 1, process.env.NODE_ENV === "production" ? lu.exports = $P() : lu.exports = NP()), lu.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var cu, Xg;
|
|
function jP() {
|
|
if (Xg) return cu;
|
|
Xg = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(o) {
|
|
if (o == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(o);
|
|
}
|
|
function a() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var o = new String("abc");
|
|
if (o[5] = "de", Object.getOwnPropertyNames(o)[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 cu = a() ? Object.assign : function(o, i) {
|
|
for (var s, u = n(o), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var p in s)
|
|
t.call(s, p) && (u[p] = s[p]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var m = 0; m < c.length; m++)
|
|
r.call(s, c[m]) && (u[c[m]] = s[c[m]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, cu;
|
|
}
|
|
var uu, Jg;
|
|
function vp() {
|
|
if (Jg) return uu;
|
|
Jg = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return uu = e, uu;
|
|
}
|
|
var Qg, Zg;
|
|
function R1() {
|
|
return Zg || (Zg = 1, Qg = Function.call.bind(Object.prototype.hasOwnProperty)), Qg;
|
|
}
|
|
var fu, eh;
|
|
function IP() {
|
|
if (eh) return fu;
|
|
eh = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ vp(), r = {}, n = /* @__PURE__ */ R1();
|
|
e = function(o) {
|
|
var i = "Warning: " + o;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function a(o, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in o)
|
|
if (n(o, d)) {
|
|
var p;
|
|
try {
|
|
if (typeof o[d] != "function") {
|
|
var m = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw m.name = "Invariant Violation", m;
|
|
}
|
|
p = o[d](i, d, u, s, null, t);
|
|
} catch (_) {
|
|
p = _;
|
|
}
|
|
if (p && !(p 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 p + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), p instanceof Error && !(p.message in r)) {
|
|
r[p.message] = !0;
|
|
var w = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + p.message + (w ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return a.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, fu = a, fu;
|
|
}
|
|
var du, th;
|
|
function TP() {
|
|
if (th) return du;
|
|
th = 1;
|
|
var e = T1(), t = jP(), r = /* @__PURE__ */ vp(), n = /* @__PURE__ */ R1(), a = /* @__PURE__ */ IP(), o = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (o = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return du = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function p(h) {
|
|
var f = h && (c && h[c] || h[d]);
|
|
if (typeof f == "function")
|
|
return f;
|
|
}
|
|
var m = "<<anonymous>>", w = {
|
|
array: k("array"),
|
|
bigint: k("bigint"),
|
|
bool: k("boolean"),
|
|
func: k("function"),
|
|
number: k("number"),
|
|
object: k("object"),
|
|
string: k("string"),
|
|
symbol: k("symbol"),
|
|
any: P(),
|
|
arrayOf: E,
|
|
element: C(),
|
|
elementType: b(),
|
|
instanceOf: Y,
|
|
node: Q(),
|
|
objectOf: Z,
|
|
oneOf: q,
|
|
oneOfType: ie,
|
|
shape: D,
|
|
exact: ce
|
|
};
|
|
function _(h, f) {
|
|
return h === f ? h !== 0 || 1 / h === 1 / f : h !== h && f !== f;
|
|
}
|
|
function v(h, f) {
|
|
this.message = h, this.data = f && typeof f == "object" ? f : {}, this.stack = "";
|
|
}
|
|
v.prototype = Error.prototype;
|
|
function y(h) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var f = {}, x = 0;
|
|
function N(T, z, M, L, F, G, le) {
|
|
if (L = L || m, G = G || M, le !== r) {
|
|
if (u) {
|
|
var S = 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 S.name = "Invariant Violation", S;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var ye = L + ":" + M;
|
|
!f[ye] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
x < 3 && (o(
|
|
"You are manually calling a React.PropTypes validation function for the `" + G + "` prop on `" + L + "`. 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."
|
|
), f[ye] = !0, x++);
|
|
}
|
|
}
|
|
return z[M] == null ? T ? z[M] === null ? new v("The " + F + " `" + G + "` is marked as required " + ("in `" + L + "`, but its value is `null`.")) : new v("The " + F + " `" + G + "` is marked as required in " + ("`" + L + "`, but its value is `undefined`.")) : null : h(z, M, L, F, G);
|
|
}
|
|
var $ = N.bind(null, !1);
|
|
return $.isRequired = N.bind(null, !0), $;
|
|
}
|
|
function k(h) {
|
|
function f(x, N, $, T, z, M) {
|
|
var L = x[N], F = R(L);
|
|
if (F !== h) {
|
|
var G = j(L);
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` of type " + ("`" + G + "` supplied to `" + $ + "`, expected ") + ("`" + h + "`."),
|
|
{ expectedType: h }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function P() {
|
|
return y(i);
|
|
}
|
|
function E(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside arrayOf.");
|
|
var M = x[N];
|
|
if (!Array.isArray(M)) {
|
|
var L = R(M);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an array."));
|
|
}
|
|
for (var F = 0; F < M.length; F++) {
|
|
var G = h(M, F, $, T, z + "[" + F + "]", r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function C() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!s(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function b() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!e.isValidElementType(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function Y(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (!(x[N] instanceof h)) {
|
|
var M = h.name || m, L = B(x[N]);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected ") + ("instance of `" + M + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function q(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
|
|
"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])."
|
|
) : o("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function f(x, N, $, T, z) {
|
|
for (var M = x[N], L = 0; L < h.length; L++)
|
|
if (_(M, h[L]))
|
|
return null;
|
|
var F = JSON.stringify(h, function(G, le) {
|
|
var S = j(le);
|
|
return S === "symbol" ? String(le) : le;
|
|
});
|
|
return new v("Invalid " + T + " `" + z + "` of value `" + String(M) + "` " + ("supplied to `" + $ + "`, expected one of " + F + "."));
|
|
}
|
|
return y(f);
|
|
}
|
|
function Z(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside objectOf.");
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an object."));
|
|
for (var F in M)
|
|
if (n(M, F)) {
|
|
var G = h(M, F, $, T, z + "." + F, r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ie(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var f = 0; f < h.length; f++) {
|
|
var x = h[f];
|
|
if (typeof x != "function")
|
|
return o(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + U(x) + " at index " + f + "."
|
|
), i;
|
|
}
|
|
function N($, T, z, M, L) {
|
|
for (var F = [], G = 0; G < h.length; G++) {
|
|
var le = h[G], S = le($, T, z, M, L, r);
|
|
if (S == null)
|
|
return null;
|
|
S.data && n(S.data, "expectedType") && F.push(S.data.expectedType);
|
|
}
|
|
var ye = F.length > 0 ? ", expected one of type [" + F.join(", ") + "]" : "";
|
|
return new v("Invalid " + M + " `" + L + "` supplied to " + ("`" + z + "`" + ye + "."));
|
|
}
|
|
return y(N);
|
|
}
|
|
function Q() {
|
|
function h(f, x, N, $, T) {
|
|
return V(f[x]) ? null : new v("Invalid " + $ + " `" + T + "` supplied to " + ("`" + N + "`, expected a ReactNode."));
|
|
}
|
|
return y(h);
|
|
}
|
|
function J(h, f, x, N, $) {
|
|
return new v(
|
|
(h || "React class") + ": " + f + " type `" + x + "." + N + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + $ + "`."
|
|
);
|
|
}
|
|
function D(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
for (var F in h) {
|
|
var G = h[F];
|
|
if (typeof G != "function")
|
|
return J($, T, z, F, j(G));
|
|
var le = G(M, F, $, T, z + "." + F, r);
|
|
if (le)
|
|
return le;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ce(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
var F = t({}, x[N], h);
|
|
for (var G in F) {
|
|
var le = h[G];
|
|
if (n(h, G) && typeof le != "function")
|
|
return J($, T, z, G, j(le));
|
|
if (!le)
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` key `" + G + "` supplied to `" + $ + "`.\nBad object: " + JSON.stringify(x[N], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(h), null, " ")
|
|
);
|
|
var S = le(M, G, $, T, z + "." + G, r);
|
|
if (S)
|
|
return S;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function V(h) {
|
|
switch (typeof h) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !h;
|
|
case "object":
|
|
if (Array.isArray(h))
|
|
return h.every(V);
|
|
if (h === null || s(h))
|
|
return !0;
|
|
var f = p(h);
|
|
if (f) {
|
|
var x = f.call(h), N;
|
|
if (f !== h.entries) {
|
|
for (; !(N = x.next()).done; )
|
|
if (!V(N.value))
|
|
return !1;
|
|
} else
|
|
for (; !(N = x.next()).done; ) {
|
|
var $ = N.value;
|
|
if ($ && !V($[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function I(h, f) {
|
|
return h === "symbol" ? !0 : f ? f["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && f instanceof Symbol : !1;
|
|
}
|
|
function R(h) {
|
|
var f = typeof h;
|
|
return Array.isArray(h) ? "array" : h instanceof RegExp ? "object" : I(f, h) ? "symbol" : f;
|
|
}
|
|
function j(h) {
|
|
if (typeof h > "u" || h === null)
|
|
return "" + h;
|
|
var f = R(h);
|
|
if (f === "object") {
|
|
if (h instanceof Date)
|
|
return "date";
|
|
if (h instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return f;
|
|
}
|
|
function U(h) {
|
|
var f = j(h);
|
|
switch (f) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + f;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + f;
|
|
default:
|
|
return f;
|
|
}
|
|
}
|
|
function B(h) {
|
|
return !h.constructor || !h.constructor.name ? m : h.constructor.name;
|
|
}
|
|
return w.checkPropTypes = a, w.resetWarningCache = a.resetWarningCache, w.PropTypes = w, w;
|
|
}, du;
|
|
}
|
|
var pu, rh;
|
|
function RP() {
|
|
if (rh) return pu;
|
|
rh = 1;
|
|
var e = /* @__PURE__ */ vp();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, pu = function() {
|
|
function n(i, s, u, c, d, p) {
|
|
if (p !== e) {
|
|
var m = 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 m.name = "Invariant Violation", m;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function a() {
|
|
return n;
|
|
}
|
|
var o = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: a,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: a,
|
|
node: n,
|
|
objectOf: a,
|
|
oneOf: a,
|
|
oneOfType: a,
|
|
shape: a,
|
|
exact: a,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return o.PropTypes = o, o;
|
|
}, pu;
|
|
}
|
|
var nh;
|
|
function MP() {
|
|
if (nh) return ls.exports;
|
|
if (nh = 1, process.env.NODE_ENV !== "production") {
|
|
var e = T1(), t = !0;
|
|
ls.exports = /* @__PURE__ */ TP()(e.isElement, t);
|
|
} else
|
|
ls.exports = /* @__PURE__ */ RP()();
|
|
return ls.exports;
|
|
}
|
|
var zP = /* @__PURE__ */ MP();
|
|
const Me = /* @__PURE__ */ AP(zP);
|
|
function ah(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function tr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? ah(Object(r), !0).forEach(function(n) {
|
|
wa(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ah(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Ys(e) {
|
|
"@babel/helpers - typeof";
|
|
return Ys = 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;
|
|
}, Ys(e);
|
|
}
|
|
function wa(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function FP(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), a, o;
|
|
for (o = 0; o < n.length; o++)
|
|
a = n[o], !(t.indexOf(a) >= 0) && (r[a] = e[a]);
|
|
return r;
|
|
}
|
|
function DP(e, t) {
|
|
if (e == null) return {};
|
|
var r = FP(e, t), n, a;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
for (a = 0; a < o.length; a++)
|
|
n = o[a], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function Gf(e) {
|
|
return LP(e) || GP(e) || VP(e) || WP();
|
|
}
|
|
function LP(e) {
|
|
if (Array.isArray(e)) return Vf(e);
|
|
}
|
|
function GP(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function VP(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Vf(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 Vf(e, t);
|
|
}
|
|
}
|
|
function Vf(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 WP() {
|
|
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 UP(e) {
|
|
var t, r = e.beat, n = e.fade, a = e.beatFade, o = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, p = e.pulse, m = e.fixedWidth, w = e.inverse, _ = e.border, v = e.listItem, y = e.flip, k = e.size, P = e.rotation, E = e.pull, C = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": a,
|
|
"fa-bounce": o,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": p,
|
|
"fa-fw": m,
|
|
"fa-inverse": w,
|
|
"fa-border": _,
|
|
"fa-li": v,
|
|
"fa-flip": y === !0,
|
|
"fa-flip-horizontal": y === "horizontal" || y === "both",
|
|
"fa-flip-vertical": y === "vertical" || y === "both"
|
|
}, wa(t, "fa-".concat(k), typeof k < "u" && k !== null), wa(t, "fa-rotate-".concat(P), typeof P < "u" && P !== null && P !== 0), wa(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), wa(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(C).map(function(b) {
|
|
return C[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function HP(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function M1(e) {
|
|
return HP(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var YP = ["style"];
|
|
function qP(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function BP(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), a = M1(r.slice(0, n)), o = r.slice(n + 1).trim();
|
|
return a.startsWith("webkit") ? t[qP(a)] = o : t[a] = o, t;
|
|
}, {});
|
|
}
|
|
function z1(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 z1(e, u);
|
|
}), a = 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 = BP(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[M1(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), o = r.style, i = o === void 0 ? {} : o, s = DP(r, YP);
|
|
return a.attrs.style = tr(tr({}, a.attrs.style), i), e.apply(void 0, [t.tag, tr(tr({}, a.attrs), s)].concat(Gf(n)));
|
|
}
|
|
var F1 = !1;
|
|
try {
|
|
F1 = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function KP() {
|
|
if (!F1 && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function oh(e) {
|
|
if (e && Ys(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Lf.icon)
|
|
return Lf.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && Ys(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 mu(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? wa({}, e, t) : {};
|
|
}
|
|
var ih = {
|
|
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
|
|
}, xp = /* @__PURE__ */ He.forwardRef(function(e, t) {
|
|
var r = tr(tr({}, ih), e), n = r.icon, a = r.mask, o = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = oh(n), p = mu("classes", [].concat(Gf(UP(r)), Gf((i || "").split(" ")))), m = mu("transform", typeof r.transform == "string" ? Lf.transform(r.transform) : r.transform), w = mu("mask", oh(a)), _ = CP(d, tr(tr(tr(tr({}, p), m), w), {}, {
|
|
symbol: o,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!_)
|
|
return KP("Could not find icon", d), null;
|
|
var v = _.abstract, y = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(k) {
|
|
ih.hasOwnProperty(k) || (y[k] = r[k]);
|
|
}), XP(v[0], y);
|
|
});
|
|
xp.displayName = "FontAwesomeIcon";
|
|
xp.propTypes = {
|
|
beat: Me.bool,
|
|
border: Me.bool,
|
|
beatFade: Me.bool,
|
|
bounce: Me.bool,
|
|
className: Me.string,
|
|
fade: Me.bool,
|
|
flash: Me.bool,
|
|
mask: Me.oneOfType([Me.object, Me.array, Me.string]),
|
|
maskId: Me.string,
|
|
fixedWidth: Me.bool,
|
|
inverse: Me.bool,
|
|
flip: Me.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Me.oneOfType([Me.object, Me.array, Me.string]),
|
|
listItem: Me.bool,
|
|
pull: Me.oneOf(["right", "left"]),
|
|
pulse: Me.bool,
|
|
rotation: Me.oneOf([0, 90, 180, 270]),
|
|
shake: Me.bool,
|
|
size: Me.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Me.bool,
|
|
spinPulse: Me.bool,
|
|
spinReverse: Me.bool,
|
|
symbol: Me.oneOfType([Me.bool, Me.string]),
|
|
title: Me.string,
|
|
titleId: Me.string,
|
|
transform: Me.oneOfType([Me.string, Me.object]),
|
|
swapOpacity: Me.bool
|
|
};
|
|
var XP = z1.bind(null, He.createElement);
|
|
const wp = "-", JP = (e) => {
|
|
const t = ZP(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (a) => {
|
|
const o = a.split(wp);
|
|
return o[0] === "" && o.length !== 1 && o.shift(), D1(o, t) || QP(a);
|
|
},
|
|
getConflictingClassGroupIds: (a, o) => {
|
|
const i = r[a] || [];
|
|
return o && n[a] ? [...i, ...n[a]] : i;
|
|
}
|
|
};
|
|
}, D1 = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], a = t.nextPart.get(n), o = a ? D1(e.slice(1), a) : void 0;
|
|
if (o)
|
|
return o;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(wp);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, sh = /^\[(.+)\]$/, QP = (e) => {
|
|
if (sh.test(e)) {
|
|
const t = sh.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, ZP = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return tC(Object.entries(e.classGroups), r).forEach(([a, o]) => {
|
|
Wf(o, n, a, t);
|
|
}), n;
|
|
}, Wf = (e, t, r, n) => {
|
|
e.forEach((a) => {
|
|
if (typeof a == "string") {
|
|
const o = a === "" ? t : lh(t, a);
|
|
o.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof a == "function") {
|
|
if (eC(a)) {
|
|
Wf(a(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: a,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(a).forEach(([o, i]) => {
|
|
Wf(i, lh(t, o), r, n);
|
|
});
|
|
});
|
|
}, lh = (e, t) => {
|
|
let r = e;
|
|
return t.split(wp).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, eC = (e) => e.isThemeGetter, tC = (e, t) => t ? e.map(([r, n]) => {
|
|
const a = n.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
|
|
return [r, a];
|
|
}) : e, rC = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const a = (o, i) => {
|
|
r.set(o, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(o) {
|
|
let i = r.get(o);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(o)) !== void 0)
|
|
return a(o, i), i;
|
|
},
|
|
set(o, i) {
|
|
r.has(o) ? r.set(o, i) : a(o, i);
|
|
}
|
|
};
|
|
}, L1 = "!", nC = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, a = t[0], o = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, p;
|
|
for (let y = 0; y < s.length; y++) {
|
|
let k = s[y];
|
|
if (c === 0) {
|
|
if (k === a && (n || s.slice(y, y + o) === t)) {
|
|
u.push(s.slice(d, y)), d = y + o;
|
|
continue;
|
|
}
|
|
if (k === "/") {
|
|
p = y;
|
|
continue;
|
|
}
|
|
}
|
|
k === "[" ? c++ : k === "]" && c--;
|
|
}
|
|
const m = u.length === 0 ? s : s.substring(d), w = m.startsWith(L1), _ = w ? m.substring(1) : m, v = p && p > d ? p - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: w,
|
|
baseClassName: _,
|
|
maybePostfixModifierPosition: v
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, aC = (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;
|
|
}, oC = (e) => ({
|
|
cache: rC(e.cacheSize),
|
|
parseClassName: nC(e),
|
|
...JP(e)
|
|
}), iC = /\s+/, sC = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: a
|
|
} = t, o = [], i = e.trim().split(iC);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: p,
|
|
baseClassName: m,
|
|
maybePostfixModifierPosition: w
|
|
} = r(c);
|
|
let _ = !!w, v = n(_ ? m.substring(0, w) : m);
|
|
if (!v) {
|
|
if (!_) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (v = n(m), !v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
_ = !1;
|
|
}
|
|
const y = aC(d).join(":"), k = p ? y + L1 : y, P = k + v;
|
|
if (o.includes(P))
|
|
continue;
|
|
o.push(P);
|
|
const E = a(v, _);
|
|
for (let C = 0; C < E.length; ++C) {
|
|
const b = E[C];
|
|
o.push(k + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function lC() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = G1(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const G1 = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = G1(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function cC(e, ...t) {
|
|
let r, n, a, o = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, p) => p(d), e());
|
|
return r = oC(c), n = r.cache.get, a = r.cache.set, o = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = sC(u, r);
|
|
return a(u, d), d;
|
|
}
|
|
return function() {
|
|
return o(lC.apply(null, arguments));
|
|
};
|
|
}
|
|
const nt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, V1 = /^\[(?:([a-z-]+):)?(.+)\]$/i, uC = /^\d+\/\d+$/, fC = /* @__PURE__ */ new Set(["px", "full", "screen"]), dC = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, pC = /\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$/, mC = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, gC = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, hC = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Er = (e) => Na(e) || fC.has(e) || uC.test(e), Jr = (e) => Xa(e, "length", OC), Na = (e) => !!e && !Number.isNaN(Number(e)), gu = (e) => Xa(e, "number", Na), Lo = (e) => !!e && Number.isInteger(Number(e)), yC = (e) => e.endsWith("%") && Na(e.slice(0, -1)), Pe = (e) => V1.test(e), Qr = (e) => dC.test(e), bC = /* @__PURE__ */ new Set(["length", "size", "percentage"]), vC = (e) => Xa(e, bC, W1), xC = (e) => Xa(e, "position", W1), wC = /* @__PURE__ */ new Set(["image", "url"]), kC = (e) => Xa(e, wC, EC), _C = (e) => Xa(e, "", SC), Go = () => !0, Xa = (e, t, r) => {
|
|
const n = V1.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, OC = (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.
|
|
pC.test(e) && !mC.test(e)
|
|
), W1 = () => !1, SC = (e) => gC.test(e), EC = (e) => hC.test(e), PC = () => {
|
|
const e = nt("colors"), t = nt("spacing"), r = nt("blur"), n = nt("brightness"), a = nt("borderColor"), o = nt("borderRadius"), i = nt("borderSpacing"), s = nt("borderWidth"), u = nt("contrast"), c = nt("grayscale"), d = nt("hueRotate"), p = nt("invert"), m = nt("gap"), w = nt("gradientColorStops"), _ = nt("gradientColorStopPositions"), v = nt("inset"), y = nt("margin"), k = nt("opacity"), P = nt("padding"), E = nt("saturate"), C = nt("scale"), b = nt("sepia"), Y = nt("skew"), q = nt("space"), Z = nt("translate"), ie = () => ["auto", "contain", "none"], Q = () => ["auto", "hidden", "clip", "visible", "scroll"], J = () => ["auto", Pe, t], D = () => [Pe, t], ce = () => ["", Er, Jr], V = () => ["auto", Na, Pe], I = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], R = () => ["solid", "dashed", "dotted", "double", "none"], j = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], U = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], B = () => ["", "0", Pe], h = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], f = () => [Na, Pe];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Go],
|
|
spacing: [Er, Jr],
|
|
blur: ["none", "", Qr, Pe],
|
|
brightness: f(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Qr, Pe],
|
|
borderSpacing: D(),
|
|
borderWidth: ce(),
|
|
contrast: f(),
|
|
grayscale: B(),
|
|
hueRotate: f(),
|
|
invert: B(),
|
|
gap: D(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [yC, Jr],
|
|
inset: J(),
|
|
margin: J(),
|
|
opacity: f(),
|
|
padding: D(),
|
|
saturate: f(),
|
|
scale: f(),
|
|
sepia: B(),
|
|
skew: f(),
|
|
space: D(),
|
|
translate: D()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Pe]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Qr]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": h()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": h()
|
|
}],
|
|
/**
|
|
* 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: [...I(), Pe]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: Q()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": Q()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": Q()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": ie()
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [v]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [v]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [v]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [v]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [v]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [v]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [v]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [v]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Lo, Pe]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: J()
|
|
}],
|
|
/**
|
|
* 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", Pe]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: B()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: B()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Lo, Pe]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Go]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Lo, Pe]
|
|
}, Pe]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": V()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": V()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Go]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Lo, Pe]
|
|
}, Pe]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": V()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": V()
|
|
}],
|
|
/**
|
|
* 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", Pe]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Pe]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [m]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [m]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [m]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...U()]
|
|
}],
|
|
/**
|
|
* 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", ...U(), "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": [...U(), "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: [P]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [P]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [P]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [P]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [P]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [P]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [P]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [P]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [P]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [y]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [y]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [y]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [y]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [y]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [y]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [y]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [y]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [y]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [q]
|
|
}],
|
|
/**
|
|
* 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": [q]
|
|
}],
|
|
/**
|
|
* 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", Pe, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Pe, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Pe, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Qr]
|
|
}, Qr]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Pe, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Pe, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Pe, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Pe, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Qr, Jr]
|
|
}],
|
|
/**
|
|
* 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", gu]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Go]
|
|
}],
|
|
/**
|
|
* 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", Pe]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Na, gu]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Er, Pe]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Pe]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Pe]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...R(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Er, Jr]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Er, Pe]
|
|
}],
|
|
/**
|
|
* 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: D()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Pe]
|
|
}],
|
|
/**
|
|
* 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", Pe]
|
|
}],
|
|
// 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...I(), xC]
|
|
}],
|
|
/**
|
|
* 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", vC]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, kC]
|
|
}],
|
|
/**
|
|
* 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: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [w]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [o]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...R(), "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": [k]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: R()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [a]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [a]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [a]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [a]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [a]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [a]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [a]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [a]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [a]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [a]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...R()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Er, Pe]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Er, Jr]
|
|
}],
|
|
/**
|
|
* 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: ce()
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Er, Jr]
|
|
}],
|
|
/**
|
|
* 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", Qr, _C]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Go]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [k]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...j(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": j()
|
|
}],
|
|
// 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", Qr, Pe]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [E]
|
|
}],
|
|
/**
|
|
* 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": [p]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [k]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [E]
|
|
}],
|
|
/**
|
|
* 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", Pe]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: f()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Pe]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: f()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Pe]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [C]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [C]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [C]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Lo, Pe]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [Z]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [Z]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [Y]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [Y]
|
|
}],
|
|
/**
|
|
* 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", Pe]
|
|
}],
|
|
// 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", Pe]
|
|
}],
|
|
/**
|
|
* 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": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": D()
|
|
}],
|
|
/**
|
|
* 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", Pe]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Er, Jr, gu]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, CC = /* @__PURE__ */ cC(PC), AC = ({
|
|
onClick: e,
|
|
className: t,
|
|
size: r = "md"
|
|
}) => /* @__PURE__ */ X(
|
|
"button",
|
|
{
|
|
onClick: e,
|
|
className: CC(
|
|
"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__ */ X(xp, { icon: PS })
|
|
}
|
|
);
|
|
var kp = Yi(), Oe = (e) => Hi(e, kp), _p = Yi();
|
|
Oe.write = (e) => Hi(e, _p);
|
|
var bl = Yi();
|
|
Oe.onStart = (e) => Hi(e, bl);
|
|
var Op = Yi();
|
|
Oe.onFrame = (e) => Hi(e, Op);
|
|
var Sp = Yi();
|
|
Oe.onFinish = (e) => Hi(e, Sp);
|
|
var ja = [];
|
|
Oe.setTimeout = (e, t) => {
|
|
const r = Oe.now() + t, n = () => {
|
|
const o = ja.findIndex((i) => i.cancel == n);
|
|
~o && ja.splice(o, 1), gn -= ~o ? 1 : 0;
|
|
}, a = { time: r, handler: e, cancel: n };
|
|
return ja.splice(U1(r), 0, a), gn += 1, H1(), a;
|
|
};
|
|
var U1 = (e) => ~(~ja.findIndex((t) => t.time > e) || ~ja.length);
|
|
Oe.cancel = (e) => {
|
|
bl.delete(e), Op.delete(e), Sp.delete(e), kp.delete(e), _p.delete(e);
|
|
};
|
|
Oe.sync = (e) => {
|
|
Uf = !0, Oe.batchedUpdates(e), Uf = !1;
|
|
};
|
|
Oe.throttle = (e) => {
|
|
let t;
|
|
function r() {
|
|
try {
|
|
e(...t);
|
|
} finally {
|
|
t = null;
|
|
}
|
|
}
|
|
function n(...a) {
|
|
t = a, Oe.onStart(r);
|
|
}
|
|
return n.handler = e, n.cancel = () => {
|
|
bl.delete(r), t = null;
|
|
}, n;
|
|
};
|
|
var Ep = typeof window < "u" ? window.requestAnimationFrame : (
|
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
() => {
|
|
}
|
|
);
|
|
Oe.use = (e) => Ep = e;
|
|
Oe.now = typeof performance < "u" ? () => performance.now() : Date.now;
|
|
Oe.batchedUpdates = (e) => e();
|
|
Oe.catch = console.error;
|
|
Oe.frameLoop = "always";
|
|
Oe.advance = () => {
|
|
Oe.frameLoop !== "demand" ? console.warn(
|
|
"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"
|
|
) : q1();
|
|
};
|
|
var mn = -1, gn = 0, Uf = !1;
|
|
function Hi(e, t) {
|
|
Uf ? (t.delete(e), e(0)) : (t.add(e), H1());
|
|
}
|
|
function H1() {
|
|
mn < 0 && (mn = 0, Oe.frameLoop !== "demand" && Ep(Y1));
|
|
}
|
|
function $C() {
|
|
mn = -1;
|
|
}
|
|
function Y1() {
|
|
~mn && (Ep(Y1), Oe.batchedUpdates(q1));
|
|
}
|
|
function q1() {
|
|
const e = mn;
|
|
mn = Oe.now();
|
|
const t = U1(mn);
|
|
if (t && (B1(ja.splice(0, t), (r) => r.handler()), gn -= t), !gn) {
|
|
$C();
|
|
return;
|
|
}
|
|
bl.flush(), kp.flush(e ? Math.min(64, mn - e) : 16.667), Op.flush(), _p.flush(), Sp.flush();
|
|
}
|
|
function Yi() {
|
|
let e = /* @__PURE__ */ new Set(), t = e;
|
|
return {
|
|
add(r) {
|
|
gn += t == e && !e.has(r) ? 1 : 0, e.add(r);
|
|
},
|
|
delete(r) {
|
|
return gn -= t == e && e.has(r) ? 1 : 0, e.delete(r);
|
|
},
|
|
flush(r) {
|
|
t.size && (e = /* @__PURE__ */ new Set(), gn -= t.size, B1(t, (n) => n(r) && e.add(n)), gn += e.size, t = e);
|
|
}
|
|
};
|
|
}
|
|
function B1(e, t) {
|
|
e.forEach((r) => {
|
|
try {
|
|
t(r);
|
|
} catch (n) {
|
|
Oe.catch(n);
|
|
}
|
|
});
|
|
}
|
|
var NC = Object.defineProperty, jC = (e, t) => {
|
|
for (var r in t)
|
|
NC(e, r, { get: t[r], enumerable: !0 });
|
|
}, Bt = {};
|
|
jC(Bt, {
|
|
assign: () => TC,
|
|
colors: () => vn,
|
|
createStringInterpolator: () => Cp,
|
|
skipAnimation: () => X1,
|
|
to: () => K1,
|
|
willAdvance: () => Ap
|
|
});
|
|
function Hf() {
|
|
}
|
|
var IC = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), oe = {
|
|
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 jr(e, t) {
|
|
if (oe.arr(e)) {
|
|
if (!oe.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 je = (e, t) => e.forEach(t);
|
|
function pr(e, t, r) {
|
|
if (oe.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 Et = (e) => oe.und(e) ? [] : oe.arr(e) ? e : [e];
|
|
function pi(e, t) {
|
|
if (e.size) {
|
|
const r = Array.from(e);
|
|
e.clear(), je(r, t);
|
|
}
|
|
}
|
|
var ai = (e, ...t) => pi(e, (r) => r(...t)), Pp = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), Cp, K1, vn = null, X1 = !1, Ap = Hf, TC = (e) => {
|
|
e.to && (K1 = e.to), e.now && (Oe.now = e.now), e.colors !== void 0 && (vn = e.colors), e.skipAnimation != null && (X1 = e.skipAnimation), e.createStringInterpolator && (Cp = e.createStringInterpolator), e.requestAnimationFrame && Oe.use(e.requestAnimationFrame), e.batchedUpdates && (Oe.batchedUpdates = e.batchedUpdates), e.willAdvance && (Ap = e.willAdvance), e.frameLoop && (Oe.frameLoop = e.frameLoop);
|
|
}, mi = /* @__PURE__ */ new Set(), Gt = [], hu = [], qs = 0, vl = {
|
|
get idle() {
|
|
return !mi.size && !Gt.length;
|
|
},
|
|
/** Advance the given animation on every frame until idle. */
|
|
start(e) {
|
|
qs > e.priority ? (mi.add(e), Oe.onStart(RC)) : (J1(e), Oe(Yf));
|
|
},
|
|
/** Advance all animations by the given time. */
|
|
advance: Yf,
|
|
/** Call this when an animation's priority changes. */
|
|
sort(e) {
|
|
if (qs)
|
|
Oe.onFrame(() => vl.sort(e));
|
|
else {
|
|
const t = Gt.indexOf(e);
|
|
~t && (Gt.splice(t, 1), Q1(e));
|
|
}
|
|
},
|
|
/**
|
|
* Clear all animations. For testing purposes.
|
|
*
|
|
* ☠️ Never call this from within the frameloop.
|
|
*/
|
|
clear() {
|
|
Gt = [], mi.clear();
|
|
}
|
|
};
|
|
function RC() {
|
|
mi.forEach(J1), mi.clear(), Oe(Yf);
|
|
}
|
|
function J1(e) {
|
|
Gt.includes(e) || Q1(e);
|
|
}
|
|
function Q1(e) {
|
|
Gt.splice(
|
|
MC(Gt, (t) => t.priority > e.priority),
|
|
0,
|
|
e
|
|
);
|
|
}
|
|
function Yf(e) {
|
|
const t = hu;
|
|
for (let r = 0; r < Gt.length; r++) {
|
|
const n = Gt[r];
|
|
qs = n.priority, n.idle || (Ap(n), n.advance(e), n.idle || t.push(n));
|
|
}
|
|
return qs = 0, hu = Gt, hu.length = 0, Gt = t, Gt.length > 0;
|
|
}
|
|
function MC(e, t) {
|
|
const r = e.findIndex(t);
|
|
return r < 0 ? e.length : r;
|
|
}
|
|
var zC = {
|
|
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
|
|
}, qt = "[-+]?\\d*\\.?\\d+", Bs = qt + "%";
|
|
function xl(...e) {
|
|
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)";
|
|
}
|
|
var FC = new RegExp("rgb" + xl(qt, qt, qt)), DC = new RegExp("rgba" + xl(qt, qt, qt, qt)), LC = new RegExp("hsl" + xl(qt, Bs, Bs)), GC = new RegExp(
|
|
"hsla" + xl(qt, Bs, Bs, qt)
|
|
), VC = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, WC = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, UC = /^#([0-9a-fA-F]{6})$/, HC = /^#([0-9a-fA-F]{8})$/;
|
|
function YC(e) {
|
|
let t;
|
|
return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = UC.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : vn && vn[e] !== void 0 ? vn[e] : (t = FC.exec(e)) ? (ga(t[1]) << 24 | // r
|
|
ga(t[2]) << 16 | // g
|
|
ga(t[3]) << 8 | // b
|
|
255) >>> // a
|
|
0 : (t = DC.exec(e)) ? (ga(t[1]) << 24 | // r
|
|
ga(t[2]) << 16 | // g
|
|
ga(t[3]) << 8 | // b
|
|
fh(t[4])) >>> // a
|
|
0 : (t = VC.exec(e)) ? parseInt(
|
|
t[1] + t[1] + // r
|
|
t[2] + t[2] + // g
|
|
t[3] + t[3] + // b
|
|
"ff",
|
|
// a
|
|
16
|
|
) >>> 0 : (t = HC.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = WC.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 = LC.exec(e)) ? (ch(
|
|
uh(t[1]),
|
|
// h
|
|
cs(t[2]),
|
|
// s
|
|
cs(t[3])
|
|
// l
|
|
) | 255) >>> // a
|
|
0 : (t = GC.exec(e)) ? (ch(
|
|
uh(t[1]),
|
|
// h
|
|
cs(t[2]),
|
|
// s
|
|
cs(t[3])
|
|
// l
|
|
) | fh(t[4])) >>> // a
|
|
0 : null;
|
|
}
|
|
function yu(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 ch(e, t, r) {
|
|
const n = r < 0.5 ? r * (1 + t) : r + t - r * t, a = 2 * r - n, o = yu(a, n, e + 1 / 3), i = yu(a, n, e), s = yu(a, n, e - 1 / 3);
|
|
return Math.round(o * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8;
|
|
}
|
|
function ga(e) {
|
|
const t = parseInt(e, 10);
|
|
return t < 0 ? 0 : t > 255 ? 255 : t;
|
|
}
|
|
function uh(e) {
|
|
return (parseFloat(e) % 360 + 360) % 360 / 360;
|
|
}
|
|
function fh(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255);
|
|
}
|
|
function cs(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 100 ? 1 : t / 100;
|
|
}
|
|
function dh(e) {
|
|
let t = YC(e);
|
|
if (t === null) return e;
|
|
t = t || 0;
|
|
const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, a = (t & 65280) >>> 8, o = (t & 255) / 255;
|
|
return `rgba(${r}, ${n}, ${a}, ${o})`;
|
|
}
|
|
var Ci = (e, t, r) => {
|
|
if (oe.fun(e))
|
|
return e;
|
|
if (oe.arr(e))
|
|
return Ci({
|
|
range: e,
|
|
output: t,
|
|
extrapolate: r
|
|
});
|
|
if (oe.str(e.output[0]))
|
|
return Cp(e);
|
|
const n = e, a = n.output, o = 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 = BC(c, o);
|
|
return qC(
|
|
c,
|
|
o[d],
|
|
o[d + 1],
|
|
a[d],
|
|
a[d + 1],
|
|
u,
|
|
i,
|
|
s,
|
|
n.map
|
|
);
|
|
};
|
|
};
|
|
function qC(e, t, r, n, a, o, 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 === a ? n : t === r ? e <= t ? n : a : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = o(c), n === -1 / 0 ? c = -c : a === 1 / 0 ? c = c + n : c = c * (a - n) + n, c);
|
|
}
|
|
function BC(e, t) {
|
|
for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r)
|
|
;
|
|
return r - 1;
|
|
}
|
|
var KC = {
|
|
linear: (e) => e
|
|
}, Ai = Symbol.for("FluidValue.get"), Va = Symbol.for("FluidValue.observers"), Lt = (e) => !!(e && e[Ai]), $t = (e) => e && e[Ai] ? e[Ai]() : e, ph = (e) => e[Va] || null;
|
|
function XC(e, t) {
|
|
e.eventObserved ? e.eventObserved(t) : e(t);
|
|
}
|
|
function $i(e, t) {
|
|
const r = e[Va];
|
|
r && r.forEach((n) => {
|
|
XC(n, t);
|
|
});
|
|
}
|
|
var Z1 = class {
|
|
constructor(e) {
|
|
if (!e && !(e = this.get))
|
|
throw Error("Unknown getter");
|
|
JC(this, e);
|
|
}
|
|
}, JC = (e, t) => e0(e, Ai, t);
|
|
function Ja(e, t) {
|
|
if (e[Ai]) {
|
|
let r = e[Va];
|
|
r || e0(e, Va, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t));
|
|
}
|
|
return t;
|
|
}
|
|
function Ni(e, t) {
|
|
const r = e[Va];
|
|
if (r && r.has(t)) {
|
|
const n = r.size - 1;
|
|
n ? r.delete(t) : e[Va] = null, e.observerRemoved && e.observerRemoved(n, t);
|
|
}
|
|
}
|
|
var e0 = (e, t, r) => Object.defineProperty(e, t, {
|
|
value: r,
|
|
writable: !0,
|
|
configurable: !0
|
|
}), As = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, QC = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, mh = new RegExp(`(${As.source})(%|[a-z]+)`, "i"), ZC = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, wl = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, t0 = (e) => {
|
|
const [t, r] = eA(e);
|
|
if (!t || Pp())
|
|
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 && wl.test(r) ? t0(r) : r || e;
|
|
}, eA = (e) => {
|
|
const t = wl.exec(e);
|
|
if (!t) return [,];
|
|
const [, r, n] = t;
|
|
return [r, n];
|
|
}, bu, tA = (e, t, r, n, a) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${a})`, r0 = (e) => {
|
|
bu || (bu = vn ? (
|
|
// match color names, ignore partial matches
|
|
new RegExp(`(${Object.keys(vn).join("|")})(?!\\w)`, "g")
|
|
) : (
|
|
// never match
|
|
/^\b$/
|
|
));
|
|
const t = e.output.map((a) => $t(a).replace(wl, t0).replace(QC, dh).replace(bu, dh)), r = t.map((a) => a.match(As).map(Number)), n = r[0].map(
|
|
(a, o) => r.map((i) => {
|
|
if (!(o in i))
|
|
throw Error('The arity of each "output" value must be equal');
|
|
return i[o];
|
|
})
|
|
).map(
|
|
(a) => Ci({ ...e, output: a })
|
|
);
|
|
return (a) => {
|
|
var o;
|
|
const i = !mh.test(t[0]) && ((o = t.find((u) => mh.test(u))) == null ? void 0 : o.replace(As, ""));
|
|
let s = 0;
|
|
return t[0].replace(
|
|
As,
|
|
() => `${n[s++](a)}${i || ""}`
|
|
).replace(ZC, tA);
|
|
};
|
|
}, $p = "react-spring: ", n0 = (e) => {
|
|
const t = e;
|
|
let r = !1;
|
|
if (typeof t != "function")
|
|
throw new TypeError(`${$p}once requires a function parameter`);
|
|
return (...n) => {
|
|
r || (t(...n), r = !0);
|
|
};
|
|
}, rA = n0(console.warn);
|
|
function nA() {
|
|
rA(
|
|
`${$p}The "interpolate" function is deprecated in v9 (use "to" instead)`
|
|
);
|
|
}
|
|
var aA = n0(console.warn);
|
|
function oA() {
|
|
aA(
|
|
`${$p}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 kl(e) {
|
|
return oe.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR
|
|
!Pp() && wl.test(e) || e in (vn || {}));
|
|
}
|
|
var ka = Pp() ? pt : Nb, iA = () => {
|
|
const e = Ge(!1);
|
|
return ka(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
};
|
|
function a0() {
|
|
const e = vt()[1], t = iA();
|
|
return () => {
|
|
t.current && e(Math.random());
|
|
};
|
|
}
|
|
var o0 = (e) => pt(e, sA), sA = [];
|
|
function lA(e) {
|
|
const t = Ge(void 0);
|
|
return pt(() => {
|
|
t.current = e;
|
|
}), t.current;
|
|
}
|
|
var ji = Symbol.for("Animated:node"), cA = (e) => !!e && e[ji] === e, Zt = (e) => e && e[ji], Np = (e, t) => IC(e, ji, t), _l = (e) => e && e[ji] && e[ji].getPayload(), i0 = class {
|
|
constructor() {
|
|
Np(this, this);
|
|
}
|
|
/** Get every `AnimatedValue` used by this node. */
|
|
getPayload() {
|
|
return this.payload || [];
|
|
}
|
|
}, Ol = class s0 extends i0 {
|
|
constructor(t) {
|
|
super(), this._value = t, this.done = !0, this.durationProgress = 0, oe.num(this._value) && (this.lastPosition = this._value);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new s0(t);
|
|
}
|
|
getPayload() {
|
|
return [this];
|
|
}
|
|
getValue() {
|
|
return this._value;
|
|
}
|
|
setValue(t, r) {
|
|
return oe.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, oe.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null);
|
|
}
|
|
}, Ks = class l0 extends Ol {
|
|
constructor(t) {
|
|
super(0), this._string = null, this._toString = Ci({
|
|
output: [t, t]
|
|
});
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new l0(t);
|
|
}
|
|
getValue() {
|
|
return this._string ?? (this._string = this._toString(this._value));
|
|
}
|
|
setValue(t) {
|
|
if (oe.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 = Ci({
|
|
output: [this.getValue(), t]
|
|
})), this._value = 0, super.reset();
|
|
}
|
|
}, Xs = { dependencies: null }, Sl = class extends i0 {
|
|
constructor(t) {
|
|
super(), this.source = t, this.setValue(t);
|
|
}
|
|
getValue(t) {
|
|
const r = {};
|
|
return pr(this.source, (n, a) => {
|
|
cA(n) ? r[a] = n.getValue(t) : Lt(n) ? r[a] = $t(n) : t || (r[a] = n);
|
|
}), r;
|
|
}
|
|
/** Replace the raw object data */
|
|
setValue(t) {
|
|
this.source = t, this.payload = this._makePayload(t);
|
|
}
|
|
reset() {
|
|
this.payload && je(this.payload, (t) => t.reset());
|
|
}
|
|
/** Create a payload set. */
|
|
_makePayload(t) {
|
|
if (t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return pr(t, this._addToPayload, r), Array.from(r);
|
|
}
|
|
}
|
|
/** Add to a payload set. */
|
|
_addToPayload(t) {
|
|
Xs.dependencies && Lt(t) && Xs.dependencies.add(t);
|
|
const r = _l(t);
|
|
r && je(r, (n) => this.add(n));
|
|
}
|
|
}, uA = class c0 extends Sl {
|
|
constructor(t) {
|
|
super(t);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new c0(t);
|
|
}
|
|
getValue() {
|
|
return this.source.map((t) => t.getValue());
|
|
}
|
|
setValue(t) {
|
|
const r = this.getPayload();
|
|
return t.length == r.length ? r.map((n, a) => n.setValue(t[a])).some(Boolean) : (super.setValue(t.map(fA)), !0);
|
|
}
|
|
};
|
|
function fA(e) {
|
|
return (kl(e) ? Ks : Ol).create(e);
|
|
}
|
|
function qf(e) {
|
|
const t = Zt(e);
|
|
return t ? t.constructor : oe.arr(e) ? uA : kl(e) ? Ks : Ol;
|
|
}
|
|
var gh = (e, t) => {
|
|
const r = (
|
|
// Function components must use "forwardRef" to avoid being
|
|
// re-rendered on every animation frame.
|
|
!oe.fun(e) || e.prototype && e.prototype.isReactComponent
|
|
);
|
|
return jb((n, a) => {
|
|
const o = Ge(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
dn(
|
|
(_) => {
|
|
o.current = mA(a, _);
|
|
},
|
|
[a]
|
|
), [s, u] = pA(n, t), c = a0(), d = () => {
|
|
const _ = o.current;
|
|
r && !_ || (_ ? t.applyAnimatedValues(_, s.getValue(!0)) : !1) === !1 && c();
|
|
}, p = new dA(d, u), m = Ge(void 0);
|
|
ka(() => (m.current = p, je(u, (_) => Ja(_, p)), () => {
|
|
m.current && (je(
|
|
m.current.deps,
|
|
(_) => Ni(_, m.current)
|
|
), Oe.cancel(m.current.update));
|
|
})), pt(d, []), o0(() => () => {
|
|
const _ = m.current;
|
|
je(_.deps, (v) => Ni(v, _));
|
|
});
|
|
const w = t.getComponentProps(s.getValue());
|
|
return /* @__PURE__ */ H.createElement(e, { ...w, ref: i });
|
|
});
|
|
}, dA = class {
|
|
constructor(e, t) {
|
|
this.update = e, this.deps = t;
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && Oe.write(this.update);
|
|
}
|
|
};
|
|
function pA(e, t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return Xs.dependencies = r, e.style && (e = {
|
|
...e,
|
|
style: t.createAnimatedStyle(e.style)
|
|
}), e = new Sl(e), Xs.dependencies = null, [e, r];
|
|
}
|
|
function mA(e, t) {
|
|
return e && (oe.fun(e) ? e(t) : e.current = t), t;
|
|
}
|
|
var hh = Symbol.for("AnimatedComponent"), gA = (e, {
|
|
applyAnimatedValues: t = () => !1,
|
|
createAnimatedStyle: r = (a) => new Sl(a),
|
|
getComponentProps: n = (a) => a
|
|
} = {}) => {
|
|
const a = {
|
|
applyAnimatedValues: t,
|
|
createAnimatedStyle: r,
|
|
getComponentProps: n
|
|
}, o = (i) => {
|
|
const s = yh(i) || "Anonymous";
|
|
return oe.str(i) ? i = o[i] || (o[i] = gh(i, a)) : i = i[hh] || (i[hh] = gh(i, a)), i.displayName = `Animated(${s})`, i;
|
|
};
|
|
return pr(e, (i, s) => {
|
|
oe.arr(e) && (s = yh(i)), o[s] = o(i);
|
|
}), {
|
|
animated: o
|
|
};
|
|
}, yh = (e) => oe.str(e) ? e : e && oe.str(e.displayName) ? e.displayName : oe.fun(e) && e.name || null;
|
|
function Nt(e, ...t) {
|
|
return oe.fun(e) ? e(...t) : e;
|
|
}
|
|
var gi = (e, t) => e === !0 || !!(t && e && (oe.fun(e) ? e(t) : Et(e).includes(t))), u0 = (e, t) => oe.obj(e) ? t && e[t] : e, f0 = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, hA = (e) => e, jp = (e, t = hA) => {
|
|
let r = yA;
|
|
e.default && e.default !== !0 && (e = e.default, r = Object.keys(e));
|
|
const n = {};
|
|
for (const a of r) {
|
|
const o = t(e[a], a);
|
|
oe.und(o) || (n[a] = o);
|
|
}
|
|
return n;
|
|
}, yA = [
|
|
"config",
|
|
"onProps",
|
|
"onStart",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume",
|
|
"onRest"
|
|
], bA = {
|
|
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 vA(e) {
|
|
const t = {};
|
|
let r = 0;
|
|
if (pr(e, (n, a) => {
|
|
bA[a] || (t[a] = n, r++);
|
|
}), r)
|
|
return t;
|
|
}
|
|
function Ip(e) {
|
|
const t = vA(e);
|
|
if (t) {
|
|
const r = { to: t };
|
|
return pr(e, (n, a) => a in t || (r[a] = n)), r;
|
|
}
|
|
return { ...e };
|
|
}
|
|
function Ii(e) {
|
|
return e = $t(e), oe.arr(e) ? e.map(Ii) : kl(e) ? Bt.createStringInterpolator({
|
|
range: [0, 1],
|
|
output: [e, e]
|
|
})(1) : e;
|
|
}
|
|
function xA(e) {
|
|
for (const t in e) return !0;
|
|
return !1;
|
|
}
|
|
function Bf(e) {
|
|
return oe.fun(e) || oe.arr(e) && oe.obj(e[0]);
|
|
}
|
|
function bh(e, t) {
|
|
var r;
|
|
(r = e.ref) == null || r.delete(e), t == null || t.delete(e);
|
|
}
|
|
function wA(e, t) {
|
|
var r;
|
|
t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t);
|
|
}
|
|
var kA = {
|
|
default: { tension: 170, friction: 26 }
|
|
}, Kf = {
|
|
...kA.default,
|
|
mass: 1,
|
|
damping: 1,
|
|
easing: KC.linear,
|
|
clamp: !1
|
|
}, _A = class {
|
|
constructor() {
|
|
this.velocity = 0, Object.assign(this, Kf);
|
|
}
|
|
};
|
|
function OA(e, t, r) {
|
|
r && (r = { ...r }, vh(r, t), t = { ...r, ...t }), vh(e, t), Object.assign(e, t);
|
|
for (const i in Kf)
|
|
e[i] == null && (e[i] = Kf[i]);
|
|
let { frequency: n, damping: a } = e;
|
|
const { mass: o } = e;
|
|
return oe.und(n) || (n < 0.01 && (n = 0.01), a < 0 && (a = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * o, e.friction = 4 * Math.PI * a * o / n), e;
|
|
}
|
|
function vh(e, t) {
|
|
if (!oe.und(t.decay))
|
|
e.duration = void 0;
|
|
else {
|
|
const r = !oe.und(t.tension) || !oe.und(t.friction);
|
|
(r || !oe.und(t.frequency) || !oe.und(t.damping) || !oe.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0);
|
|
}
|
|
}
|
|
var xh = [], SA = class {
|
|
constructor() {
|
|
this.changed = !1, this.values = xh, this.toValues = null, this.fromValues = xh, this.config = new _A(), this.immediate = !1;
|
|
}
|
|
};
|
|
function d0(e, { key: t, props: r, defaultProps: n, state: a, actions: o }) {
|
|
return new Promise((i, s) => {
|
|
let u, c, d = gi(r.cancel ?? (n == null ? void 0 : n.cancel), t);
|
|
if (d)
|
|
w();
|
|
else {
|
|
oe.und(r.pause) || (a.paused = gi(r.pause, t));
|
|
let _ = n == null ? void 0 : n.pause;
|
|
_ !== !0 && (_ = a.paused || gi(_, t)), u = Nt(r.delay || 0, t), _ ? (a.resumeQueue.add(m), o.pause()) : (o.resume(), m());
|
|
}
|
|
function p() {
|
|
a.resumeQueue.add(m), a.timeouts.delete(c), c.cancel(), u = c.time - Oe.now();
|
|
}
|
|
function m() {
|
|
u > 0 && !Bt.skipAnimation ? (a.delayed = !0, c = Oe.setTimeout(w, u), a.pauseQueue.add(p), a.timeouts.add(c)) : w();
|
|
}
|
|
function w() {
|
|
a.delayed && (a.delayed = !1), a.pauseQueue.delete(p), a.timeouts.delete(c), e <= (a.cancelId || 0) && (d = !0);
|
|
try {
|
|
o.start({ ...r, callId: e, cancel: d }, i);
|
|
} catch (_) {
|
|
s(_);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var Tp = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? Ia(e.get()) : t.every((r) => r.noop) ? p0(e.get()) : Yt(
|
|
e.get(),
|
|
t.every((r) => r.finished)
|
|
), p0 = (e) => ({
|
|
value: e,
|
|
noop: !0,
|
|
finished: !0,
|
|
cancelled: !1
|
|
}), Yt = (e, t, r = !1) => ({
|
|
value: e,
|
|
finished: t,
|
|
cancelled: r
|
|
}), Ia = (e) => ({
|
|
value: e,
|
|
cancelled: !0,
|
|
finished: !1
|
|
});
|
|
function m0(e, t, r, n) {
|
|
const { callId: a, parentId: o, onRest: i } = t, { asyncTo: s, promise: u } = r;
|
|
return !o && e === s && !t.reset ? u : r.promise = (async () => {
|
|
r.asyncId = a, r.asyncTo = e;
|
|
const c = jp(
|
|
t,
|
|
(y, k) => (
|
|
// The `onRest` prop is only called when the `runAsync` promise is resolved.
|
|
k === "onRest" ? void 0 : y
|
|
)
|
|
);
|
|
let d, p;
|
|
const m = new Promise(
|
|
(y, k) => (d = y, p = k)
|
|
), w = (y) => {
|
|
const k = (
|
|
// The `cancel` prop or `stop` method was used.
|
|
a <= (r.cancelId || 0) && Ia(n) || // The async `to` prop was replaced.
|
|
a !== r.asyncId && Yt(n, !1)
|
|
);
|
|
if (k)
|
|
throw y.result = k, p(y), y;
|
|
}, _ = (y, k) => {
|
|
const P = new wh(), E = new kh();
|
|
return (async () => {
|
|
if (Bt.skipAnimation)
|
|
throw Ti(r), E.result = Yt(n, !1), p(E), E;
|
|
w(P);
|
|
const C = oe.obj(y) ? { ...y } : { ...k, to: y };
|
|
C.parentId = a, pr(c, (Y, q) => {
|
|
oe.und(C[q]) && (C[q] = Y);
|
|
});
|
|
const b = await n.start(C);
|
|
return w(P), r.paused && await new Promise((Y) => {
|
|
r.resumeQueue.add(Y);
|
|
}), b;
|
|
})();
|
|
};
|
|
let v;
|
|
if (Bt.skipAnimation)
|
|
return Ti(r), Yt(n, !1);
|
|
try {
|
|
let y;
|
|
oe.arr(e) ? y = (async (k) => {
|
|
for (const P of k)
|
|
await _(P);
|
|
})(e) : y = Promise.resolve(e(_, n.stop.bind(n))), await Promise.all([y.then(d), m]), v = Yt(n.get(), !0, !1);
|
|
} catch (y) {
|
|
if (y instanceof wh)
|
|
v = y.result;
|
|
else if (y instanceof kh)
|
|
v = y.result;
|
|
else
|
|
throw y;
|
|
} finally {
|
|
a == r.asyncId && (r.asyncId = o, r.asyncTo = o ? s : void 0, r.promise = o ? u : void 0);
|
|
}
|
|
return oe.fun(i) && Oe.batchedUpdates(() => {
|
|
i(v, n, n.item);
|
|
}), v;
|
|
})();
|
|
}
|
|
function Ti(e, t) {
|
|
pi(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t);
|
|
}
|
|
var wh = 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."
|
|
);
|
|
}
|
|
}, kh = class extends Error {
|
|
constructor() {
|
|
super("SkipAnimationSignal");
|
|
}
|
|
}, Xf = (e) => e instanceof Rp, EA = 1, Rp = class extends Z1 {
|
|
constructor() {
|
|
super(...arguments), this.id = EA++, 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 = Zt(this);
|
|
return t && t.getValue();
|
|
}
|
|
/** Create a spring that maps our value to another value */
|
|
to(...t) {
|
|
return Bt.to(this, t);
|
|
}
|
|
/** @deprecated Use the `to` method instead. */
|
|
interpolate(...t) {
|
|
return nA(), Bt.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) {
|
|
$i(this, {
|
|
type: "change",
|
|
parent: this,
|
|
value: t,
|
|
idle: r
|
|
});
|
|
}
|
|
/** Tell our children about our new priority */
|
|
_onPriorityChange(t) {
|
|
this.idle || vl.sort(this), $i(this, {
|
|
type: "priority",
|
|
parent: this,
|
|
priority: t
|
|
});
|
|
}
|
|
}, aa = Symbol.for("SpringPhase"), g0 = 1, h0 = 2, y0 = 4, vu = (e) => (e[aa] & g0) > 0, Zr = (e) => (e[aa] & h0) > 0, Vo = (e) => (e[aa] & y0) > 0, _h = (e, t) => t ? e[aa] |= h0 | g0 : e[aa] &= -3, Oh = (e, t) => t ? e[aa] |= y0 : e[aa] &= -5, PA = class extends Rp {
|
|
constructor(e, t) {
|
|
if (super(), this.animation = new SA(), 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, !oe.und(e) || !oe.und(t)) {
|
|
const r = oe.obj(e) ? { ...e } : { ...t, from: e };
|
|
oe.und(r.default) && (r.default = !0), this.start(r);
|
|
}
|
|
}
|
|
/** Equals true when not advancing on each frame. */
|
|
get idle() {
|
|
return !(Zr(this) || this._state.asyncTo) || Vo(this);
|
|
}
|
|
get goal() {
|
|
return $t(this.animation.to);
|
|
}
|
|
get velocity() {
|
|
const e = Zt(this);
|
|
return e instanceof Ol ? e.lastVelocity || 0 : e.getPayload().map((t) => t.lastVelocity || 0);
|
|
}
|
|
/**
|
|
* When true, this value has been animated at least once.
|
|
*/
|
|
get hasAnimated() {
|
|
return vu(this);
|
|
}
|
|
/**
|
|
* When true, this value has an unfinished animation,
|
|
* which is either active or paused.
|
|
*/
|
|
get isAnimating() {
|
|
return Zr(this);
|
|
}
|
|
/**
|
|
* When true, all current and future animations are paused.
|
|
*/
|
|
get isPaused() {
|
|
return Vo(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: a } = n;
|
|
const { config: o } = n, i = _l(n.to);
|
|
!i && Lt(n.to) && (a = Et($t(n.to))), n.values.forEach((c, d) => {
|
|
if (c.done) return;
|
|
const p = (
|
|
// Animated strings always go from 0 to 1.
|
|
c.constructor == Ks ? 1 : i ? i[d].lastPosition : a[d]
|
|
);
|
|
let m = n.immediate, w = p;
|
|
if (!m) {
|
|
if (w = c.lastPosition, o.tension <= 0) {
|
|
c.done = !0;
|
|
return;
|
|
}
|
|
let _ = c.elapsedTime += e;
|
|
const v = n.fromValues[d], y = c.v0 != null ? c.v0 : c.v0 = oe.arr(o.velocity) ? o.velocity[d] : o.velocity;
|
|
let k;
|
|
const P = o.precision || (v == p ? 5e-3 : Math.min(1, Math.abs(p - v) * 1e-3));
|
|
if (oe.und(o.duration))
|
|
if (o.decay) {
|
|
const E = o.decay === !0 ? 0.998 : o.decay, C = Math.exp(-(1 - E) * _);
|
|
w = v + y / (1 - E) * (1 - C), m = Math.abs(c.lastPosition - w) <= P, k = y * C;
|
|
} else {
|
|
k = c.lastVelocity == null ? y : c.lastVelocity;
|
|
const E = o.restVelocity || P / 10, C = o.clamp ? 0 : o.bounce, b = !oe.und(C), Y = v == p ? c.v0 > 0 : v < p;
|
|
let q, Z = !1;
|
|
const ie = 1, Q = Math.ceil(e / ie);
|
|
for (let J = 0; J < Q && (q = Math.abs(k) > E, !(!q && (m = Math.abs(p - w) <= P, m))); ++J) {
|
|
b && (Z = w == p || w > p == Y, Z && (k = -k * C, w = p));
|
|
const D = -o.tension * 1e-6 * (w - p), ce = -o.friction * 1e-3 * k, V = (D + ce) / o.mass;
|
|
k = k + V * ie, w = w + k * ie;
|
|
}
|
|
}
|
|
else {
|
|
let E = 1;
|
|
o.duration > 0 && (this._memoizedDuration !== o.duration && (this._memoizedDuration = o.duration, c.durationProgress > 0 && (c.elapsedTime = o.duration * c.durationProgress, _ = c.elapsedTime += e)), E = (o.progress || 0) + _ / this._memoizedDuration, E = E > 1 ? 1 : E < 0 ? 0 : E, c.durationProgress = E), w = v + o.easing(E) * (p - v), k = (w - c.lastPosition) / e, m = E == 1;
|
|
}
|
|
c.lastVelocity = k, Number.isNaN(w) && (console.warn("Got NaN while animating:", this), m = !0);
|
|
}
|
|
i && !i[d].done && (m = !1), m ? c.done = !0 : t = !1, c.setValue(w, o.round) && (r = !0);
|
|
});
|
|
const s = Zt(this), u = s.getValue();
|
|
if (t) {
|
|
const c = $t(n.to);
|
|
(u !== c || r) && !o.decay ? (s.setValue(c), this._onChange(c)) : r && o.decay && this._onChange(u), this._stop();
|
|
} else r && this._onChange(u);
|
|
}
|
|
/** Set the current value, while stopping the current animation */
|
|
set(e) {
|
|
return Oe.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 (Zr(this)) {
|
|
const { to: e, config: t } = this.animation;
|
|
Oe.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 oe.und(e) ? (r = this.queue || [], this.queue = []) : r = [oe.obj(e) ? e : { ...t, to: e }], Promise.all(
|
|
r.map((n) => this._update(n))
|
|
).then((n) => Tp(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()), Ti(this._state, e && this._lastCallId), Oe.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 = oe.obj(r) ? r[t] : r, (r == null || Bf(r)) && (r = void 0), n = oe.obj(n) ? n[t] : n, n == null && (n = void 0);
|
|
const a = { to: r, from: n };
|
|
return vu(this) || (e.reverse && ([r, n] = [n, r]), n = $t(n), oe.und(n) ? Zt(this) || this._set(r) : this._set(n)), a;
|
|
}
|
|
/** Every update is processed by this method before merging. */
|
|
_update({ ...e }, t) {
|
|
const { key: r, defaultProps: n } = this;
|
|
e.default && Object.assign(
|
|
n,
|
|
jp(
|
|
e,
|
|
(i, s) => /^on/.test(s) ? u0(i, r) : i
|
|
)
|
|
), Eh(this, e, "onProps"), Uo(this, "onProps", e, this);
|
|
const a = 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 o = this._state;
|
|
return d0(++this._lastCallId, {
|
|
key: r,
|
|
props: e,
|
|
defaultProps: n,
|
|
state: o,
|
|
actions: {
|
|
pause: () => {
|
|
Vo(this) || (Oh(this, !0), ai(o.pauseQueue), Uo(
|
|
this,
|
|
"onPause",
|
|
Yt(this, Wo(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
resume: () => {
|
|
Vo(this) && (Oh(this, !1), Zr(this) && this._resume(), ai(o.resumeQueue), Uo(
|
|
this,
|
|
"onResume",
|
|
Yt(this, Wo(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
start: this._merge.bind(this, a)
|
|
}
|
|
}).then((i) => {
|
|
if (e.loop && i.finished && !(t && i.noop)) {
|
|
const s = b0(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(Ia(this));
|
|
const n = !oe.und(e.to), a = !oe.und(e.from);
|
|
if (n || a)
|
|
if (t.callId > this._lastToId)
|
|
this._lastToId = t.callId;
|
|
else
|
|
return r(Ia(this));
|
|
const { key: o, defaultProps: i, animation: s } = this, { to: u, from: c } = s;
|
|
let { to: d = u, from: p = c } = e;
|
|
a && !n && (!t.default || oe.und(d)) && (d = p), t.reverse && ([d, p] = [p, d]);
|
|
const m = !jr(p, c);
|
|
m && (s.from = p), p = $t(p);
|
|
const w = !jr(d, u);
|
|
w && this._focus(d);
|
|
const _ = Bf(t.to), { config: v } = s, { decay: y, velocity: k } = v;
|
|
(n || a) && (v.velocity = 0), t.config && !_ && OA(
|
|
v,
|
|
Nt(t.config, o),
|
|
// Avoid calling the same "config" prop twice.
|
|
t.config !== i.config ? Nt(i.config, o) : void 0
|
|
);
|
|
let P = Zt(this);
|
|
if (!P || oe.und(d))
|
|
return r(Yt(this, !0));
|
|
const E = (
|
|
// 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.
|
|
oe.und(t.reset) ? a && !t.default : !oe.und(p) && gi(t.reset, o)
|
|
), C = E ? p : this.get(), b = Ii(d), Y = oe.num(b) || oe.arr(b) || kl(b), q = !_ && (!Y || gi(i.immediate || t.immediate, o));
|
|
if (w) {
|
|
const J = qf(d);
|
|
if (J !== P.constructor)
|
|
if (q)
|
|
P = this._set(b);
|
|
else
|
|
throw Error(
|
|
`Cannot animate between ${P.constructor.name} and ${J.name}, as the "to" prop suggests`
|
|
);
|
|
}
|
|
const Z = P.constructor;
|
|
let ie = Lt(d), Q = !1;
|
|
if (!ie) {
|
|
const J = E || !vu(this) && m;
|
|
(w || J) && (Q = jr(Ii(C), b), ie = !Q), (!jr(s.immediate, q) && !q || !jr(v.decay, y) || !jr(v.velocity, k)) && (ie = !0);
|
|
}
|
|
if (Q && Zr(this) && (s.changed && !E ? ie = !0 : ie || this._stop(u)), !_ && ((ie || Lt(u)) && (s.values = P.getPayload(), s.toValues = Lt(d) ? null : Z == Ks ? [1] : Et(b)), s.immediate != q && (s.immediate = q, !q && !E && this._set(u)), ie)) {
|
|
const { onRest: J } = s;
|
|
je(CA, (ce) => Eh(this, t, ce));
|
|
const D = Yt(this, Wo(this, u));
|
|
ai(this._pendingCalls, D), this._pendingCalls.add(r), s.changed && Oe.batchedUpdates(() => {
|
|
var ce;
|
|
s.changed = !E, J == null || J(D, this), E ? Nt(i.onRest, D) : (ce = s.onStart) == null || ce.call(s, D, this);
|
|
});
|
|
}
|
|
E && this._set(C), _ ? r(m0(t.to, t, this._state, this)) : ie ? this._start() : Zr(this) && !w ? this._pendingCalls.add(r) : r(p0(C));
|
|
}
|
|
/** Update the `animation.to` value, which might be a `FluidValue` */
|
|
_focus(e) {
|
|
const t = this.animation;
|
|
e !== t.to && (ph(this) && this._detach(), t.to = e, ph(this) && this._attach());
|
|
}
|
|
_attach() {
|
|
let e = 0;
|
|
const { to: t } = this.animation;
|
|
Lt(t) && (Ja(t, this), Xf(t) && (e = t.priority + 1)), this.priority = e;
|
|
}
|
|
_detach() {
|
|
const { to: e } = this.animation;
|
|
Lt(e) && Ni(e, this);
|
|
}
|
|
/**
|
|
* Update the current value from outside the frameloop,
|
|
* and return the `Animated` node.
|
|
*/
|
|
_set(e, t = !0) {
|
|
const r = $t(e);
|
|
if (!oe.und(r)) {
|
|
const n = Zt(this);
|
|
if (!n || !jr(r, n.getValue())) {
|
|
const a = qf(r);
|
|
!n || n.constructor != a ? Np(this, a.create(r)) : n.setValue(r), n && Oe.batchedUpdates(() => {
|
|
this._onChange(r, t);
|
|
});
|
|
}
|
|
}
|
|
return Zt(this);
|
|
}
|
|
_onStart() {
|
|
const e = this.animation;
|
|
e.changed || (e.changed = !0, Uo(
|
|
this,
|
|
"onStart",
|
|
Yt(this, Wo(this, e.to)),
|
|
this
|
|
));
|
|
}
|
|
_onChange(e, t) {
|
|
t || (this._onStart(), Nt(this.animation.onChange, e, this)), Nt(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;
|
|
Zt(this).reset($t(e.to)), e.immediate || (e.fromValues = e.values.map((t) => t.lastPosition)), Zr(this) || (_h(this, !0), Vo(this) || this._resume());
|
|
}
|
|
_resume() {
|
|
Bt.skipAnimation ? this.finish() : vl.start(this);
|
|
}
|
|
/**
|
|
* Exit the frameloop and notify `onRest` listeners.
|
|
*
|
|
* Always wrap `_stop` calls with `batchedUpdates`.
|
|
*/
|
|
_stop(e, t) {
|
|
if (Zr(this)) {
|
|
_h(this, !1);
|
|
const r = this.animation;
|
|
je(r.values, (a) => {
|
|
a.done = !0;
|
|
}), r.toValues && (r.onChange = r.onPause = r.onResume = void 0), $i(this, {
|
|
type: "idle",
|
|
parent: this
|
|
});
|
|
const n = t ? Ia(this.get()) : Yt(this.get(), Wo(this, e ?? r.to));
|
|
ai(this._pendingCalls, n), r.changed && (r.changed = !1, Uo(this, "onRest", n, this));
|
|
}
|
|
}
|
|
};
|
|
function Wo(e, t) {
|
|
const r = Ii(t), n = Ii(e.get());
|
|
return jr(n, r);
|
|
}
|
|
function b0(e, t = e.loop, r = e.to) {
|
|
const n = Nt(t);
|
|
if (n) {
|
|
const a = n !== !0 && Ip(n), o = (a || e).reverse, i = !a || a.reset;
|
|
return Js({
|
|
...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: !o || Bf(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.
|
|
...a
|
|
});
|
|
}
|
|
}
|
|
function Js(e) {
|
|
const { to: t, from: r } = e = Ip(e), n = /* @__PURE__ */ new Set();
|
|
return oe.obj(t) && Sh(t, n), oe.obj(r) && Sh(r, n), e.keys = n.size ? Array.from(n) : null, e;
|
|
}
|
|
function Sh(e, t) {
|
|
pr(e, (r, n) => r != null && t.add(n));
|
|
}
|
|
var CA = [
|
|
"onStart",
|
|
"onRest",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume"
|
|
];
|
|
function Eh(e, t, r) {
|
|
e.animation[r] = t[r] !== f0(t, r) ? u0(t[r], e.key) : void 0;
|
|
}
|
|
function Uo(e, t, ...r) {
|
|
var n, a, o, i;
|
|
(a = (n = e.animation)[t]) == null || a.call(n, ...r), (i = (o = e.defaultProps)[t]) == null || i.call(o, ...r);
|
|
}
|
|
var AA = ["onStart", "onChange", "onRest"], $A = 1, NA = class {
|
|
constructor(e, t) {
|
|
this.id = $A++, 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];
|
|
oe.und(r) || this.springs[t].set(r);
|
|
}
|
|
}
|
|
/** Push an update onto the queue of each value. */
|
|
update(e) {
|
|
return e && this.queue.push(Js(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 = Et(e).map(Js) : this.queue = [], this._flush ? this._flush(this, t) : (k0(this, t), jA(this, t));
|
|
}
|
|
/** @internal */
|
|
stop(e, t) {
|
|
if (e !== !!e && (t = e), t) {
|
|
const r = this.springs;
|
|
je(Et(t), (n) => r[n].stop(!!e));
|
|
} else
|
|
Ti(this._state, this._lastAsyncId), this.each((r) => r.stop(!!e));
|
|
return this;
|
|
}
|
|
/** Freeze the active animation in time */
|
|
pause(e) {
|
|
if (oe.und(e))
|
|
this.start({ pause: !0 });
|
|
else {
|
|
const t = this.springs;
|
|
je(Et(e), (r) => t[r].pause());
|
|
}
|
|
return this;
|
|
}
|
|
/** Resume the animation if paused. */
|
|
resume(e) {
|
|
if (oe.und(e))
|
|
this.start({ pause: !1 });
|
|
else {
|
|
const t = this.springs;
|
|
je(Et(e), (r) => t[r].resume());
|
|
}
|
|
return this;
|
|
}
|
|
/** Call a function once per spring value */
|
|
each(e) {
|
|
pr(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, a = this._changed.size > 0;
|
|
(n && !this._started || a && !this._started) && (this._started = !0, pi(e, ([s, u]) => {
|
|
u.value = this.get(), s(u, this, this._item);
|
|
}));
|
|
const o = !n && this._started, i = a || o && r.size ? this.get() : null;
|
|
a && t.size && pi(t, ([s, u]) => {
|
|
u.value = i, s(u, this, this._item);
|
|
}), o && (this._started = !1, pi(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;
|
|
Oe.onFrame(this._onFrame);
|
|
}
|
|
};
|
|
function jA(e, t) {
|
|
return Promise.all(t.map((r) => v0(e, r))).then(
|
|
(r) => Tp(e, r)
|
|
);
|
|
}
|
|
async function v0(e, t, r) {
|
|
const { keys: n, to: a, from: o, loop: i, onRest: s, onResolve: u } = t, c = oe.obj(t.default) && t.default;
|
|
i && (t.loop = !1), a === !1 && (t.to = null), o === !1 && (t.from = null);
|
|
const d = oe.arr(a) || oe.fun(a) ? a : void 0;
|
|
d ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : je(AA, (v) => {
|
|
const y = t[v];
|
|
if (oe.fun(y)) {
|
|
const k = e._events[v];
|
|
t[v] = ({ finished: P, cancelled: E }) => {
|
|
const C = k.get(y);
|
|
C ? (P || (C.finished = !1), E && (C.cancelled = !0)) : k.set(y, {
|
|
value: null,
|
|
finished: P || !1,
|
|
cancelled: E || !1
|
|
});
|
|
}, c && (c[v] = t[v]);
|
|
}
|
|
});
|
|
const p = e._state;
|
|
t.pause === !p.paused ? (p.paused = t.pause, ai(t.pause ? p.pauseQueue : p.resumeQueue)) : p.paused && (t.pause = !0);
|
|
const m = (n || Object.keys(e.springs)).map(
|
|
(v) => e.springs[v].start(t)
|
|
), w = t.cancel === !0 || f0(t, "cancel") === !0;
|
|
(d || w && p.asyncId) && m.push(
|
|
d0(++e._lastAsyncId, {
|
|
props: t,
|
|
state: p,
|
|
actions: {
|
|
pause: Hf,
|
|
resume: Hf,
|
|
start(v, y) {
|
|
w ? (Ti(p, e._lastAsyncId), y(Ia(e))) : (v.onRest = s, y(
|
|
m0(
|
|
d,
|
|
v,
|
|
p,
|
|
e
|
|
)
|
|
));
|
|
}
|
|
}
|
|
})
|
|
), p.paused && await new Promise((v) => {
|
|
p.resumeQueue.add(v);
|
|
});
|
|
const _ = Tp(e, await Promise.all(m));
|
|
if (i && _.finished && !(r && _.noop)) {
|
|
const v = b0(t, i, a);
|
|
if (v)
|
|
return k0(e, [v]), v0(e, v, !0);
|
|
}
|
|
return u && Oe.batchedUpdates(() => u(_, e, e.item)), _;
|
|
}
|
|
function IA(e, t) {
|
|
const r = { ...e.springs };
|
|
return t && je(Et(t), (n) => {
|
|
oe.und(n.keys) && (n = Js(n)), oe.obj(n.to) || (n = { ...n, to: void 0 }), w0(r, n, (a) => x0(a));
|
|
}), TA(e, r), r;
|
|
}
|
|
function TA(e, t) {
|
|
pr(t, (r, n) => {
|
|
e.springs[n] || (e.springs[n] = r, Ja(r, e));
|
|
});
|
|
}
|
|
function x0(e, t) {
|
|
const r = new PA();
|
|
return r.key = e, t && Ja(r, t), r;
|
|
}
|
|
function w0(e, t, r) {
|
|
t.keys && je(t.keys, (n) => {
|
|
(e[n] || (e[n] = r(n)))._prepareNode(t);
|
|
});
|
|
}
|
|
function k0(e, t) {
|
|
je(t, (r) => {
|
|
w0(e.springs, r, (n) => x0(n, e));
|
|
});
|
|
}
|
|
var RA = H.createContext({
|
|
pause: !1,
|
|
immediate: !1
|
|
}), MA = () => {
|
|
const e = [], t = function(n) {
|
|
oA();
|
|
const a = [];
|
|
return je(e, (o, i) => {
|
|
if (oe.und(n))
|
|
a.push(o.start());
|
|
else {
|
|
const s = r(n, o, i);
|
|
s && a.push(o.start(s));
|
|
}
|
|
}), a;
|
|
};
|
|
t.current = e, t.add = function(n) {
|
|
e.includes(n) || e.push(n);
|
|
}, t.delete = function(n) {
|
|
const a = e.indexOf(n);
|
|
~a && e.splice(a, 1);
|
|
}, t.pause = function() {
|
|
return je(e, (n) => n.pause(...arguments)), this;
|
|
}, t.resume = function() {
|
|
return je(e, (n) => n.resume(...arguments)), this;
|
|
}, t.set = function(n) {
|
|
je(e, (a, o) => {
|
|
const i = oe.fun(n) ? n(o, a) : n;
|
|
i && a.set(i);
|
|
});
|
|
}, t.start = function(n) {
|
|
const a = [];
|
|
return je(e, (o, i) => {
|
|
if (oe.und(n))
|
|
a.push(o.start());
|
|
else {
|
|
const s = this._getProps(n, o, i);
|
|
s && a.push(o.start(s));
|
|
}
|
|
}), a;
|
|
}, t.stop = function() {
|
|
return je(e, (n) => n.stop(...arguments)), this;
|
|
}, t.update = function(n) {
|
|
return je(e, (a, o) => a.update(this._getProps(n, a, o))), this;
|
|
};
|
|
const r = function(n, a, o) {
|
|
return oe.fun(n) ? n(o, a) : n;
|
|
};
|
|
return t._getProps = r, t;
|
|
};
|
|
function Ph(e, t, r) {
|
|
const n = oe.fun(t) && t, {
|
|
reset: a,
|
|
sort: o,
|
|
trail: i = 0,
|
|
expires: s = !0,
|
|
exitBeforeEnter: u = !1,
|
|
onDestroyed: c,
|
|
ref: d,
|
|
config: p
|
|
} = n ? n() : t, m = Hd(
|
|
() => n || arguments.length == 3 ? MA() : void 0,
|
|
[]
|
|
), w = Et(e), _ = [], v = Ge(null), y = a ? null : v.current;
|
|
ka(() => {
|
|
v.current = _;
|
|
}), o0(() => (je(_, (V) => {
|
|
m == null || m.add(V.ctrl), V.ctrl.ref = m;
|
|
}), () => {
|
|
je(v.current, (V) => {
|
|
V.expired && clearTimeout(V.expirationId), bh(V.ctrl, m), V.ctrl.stop(!0);
|
|
});
|
|
}));
|
|
const k = FA(w, n ? n() : t, y), P = a && v.current || [];
|
|
ka(
|
|
() => je(P, ({ ctrl: V, item: I, key: R }) => {
|
|
bh(V, m), Nt(c, I, R);
|
|
})
|
|
);
|
|
const E = [];
|
|
if (y && je(y, (V, I) => {
|
|
V.expired ? (clearTimeout(V.expirationId), P.push(V)) : (I = E[I] = k.indexOf(V.key), ~I && (_[I] = V));
|
|
}), je(w, (V, I) => {
|
|
_[I] || (_[I] = {
|
|
key: k[I],
|
|
item: V,
|
|
phase: "mount",
|
|
ctrl: new NA()
|
|
}, _[I].ctrl.item = V);
|
|
}), E.length) {
|
|
let V = -1;
|
|
const { leave: I } = n ? n() : t;
|
|
je(E, (R, j) => {
|
|
const U = y[j];
|
|
~R ? (V = _.indexOf(U), _[V] = { ...U, item: w[R] }) : I && _.splice(++V, 0, U);
|
|
});
|
|
}
|
|
oe.fun(o) && _.sort((V, I) => o(V.item, I.item));
|
|
let C = -i;
|
|
const b = a0(), Y = jp(t), q = /* @__PURE__ */ new Map(), Z = Ge(/* @__PURE__ */ new Map()), ie = Ge(!1);
|
|
je(_, (V, I) => {
|
|
const R = V.key, j = V.phase, U = n ? n() : t;
|
|
let B, h;
|
|
const f = Nt(U.delay || 0, R);
|
|
if (j == "mount")
|
|
B = U.enter, h = "enter";
|
|
else {
|
|
const T = k.indexOf(R) < 0;
|
|
if (j != "leave")
|
|
if (T)
|
|
B = U.leave, h = "leave";
|
|
else if (B = U.update)
|
|
h = "update";
|
|
else return;
|
|
else if (!T)
|
|
B = U.enter, h = "enter";
|
|
else return;
|
|
}
|
|
if (B = Nt(B, V.item, I), B = oe.obj(B) ? Ip(B) : { to: B }, !B.config) {
|
|
const T = p || Y.config;
|
|
B.config = Nt(T, V.item, I, h);
|
|
}
|
|
C += i;
|
|
const x = {
|
|
...Y,
|
|
// we need to add our props.delay value you here.
|
|
delay: f + C,
|
|
ref: d,
|
|
immediate: U.immediate,
|
|
// This prevents implied resets.
|
|
reset: !1,
|
|
// Merge any phase-specific props.
|
|
...B
|
|
};
|
|
if (h == "enter" && oe.und(x.from)) {
|
|
const T = n ? n() : t, z = oe.und(T.initial) || y ? T.from : T.initial;
|
|
x.from = Nt(z, V.item, I);
|
|
}
|
|
const { onResolve: N } = x;
|
|
x.onResolve = (T) => {
|
|
Nt(N, T);
|
|
const z = v.current, M = z.find((L) => L.key === R);
|
|
if (M && !(T.cancelled && M.phase != "update") && M.ctrl.idle) {
|
|
const L = z.every((F) => F.ctrl.idle);
|
|
if (M.phase == "leave") {
|
|
const F = Nt(s, M.item);
|
|
if (F !== !1) {
|
|
const G = F === !0 ? 0 : F;
|
|
if (M.expired = !0, !L && G > 0) {
|
|
G <= 2147483647 && (M.expirationId = setTimeout(b, G));
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
L && z.some((F) => F.expired) && (Z.current.delete(M), u && (ie.current = !0), b());
|
|
}
|
|
};
|
|
const $ = IA(V.ctrl, x);
|
|
h === "leave" && u ? Z.current.set(V, { phase: h, springs: $, payload: x }) : q.set(V, { phase: h, springs: $, payload: x });
|
|
});
|
|
const Q = Ya(RA), J = lA(Q), D = Q !== J && xA(Q);
|
|
ka(() => {
|
|
D && je(_, (V) => {
|
|
V.ctrl.start({ default: Q });
|
|
});
|
|
}, [Q]), je(q, (V, I) => {
|
|
if (Z.current.size) {
|
|
const R = _.findIndex((j) => j.key === I.key);
|
|
_.splice(R, 1);
|
|
}
|
|
}), ka(
|
|
() => {
|
|
je(
|
|
Z.current.size ? Z.current : q,
|
|
({ phase: V, payload: I }, R) => {
|
|
const { ctrl: j } = R;
|
|
R.phase = V, m == null || m.add(j), D && V == "enter" && j.start({ default: Q }), I && (wA(j, I.ref), (j.ref || m) && !ie.current ? j.update(I) : (j.start(I), ie.current && (ie.current = !1)));
|
|
}
|
|
);
|
|
},
|
|
a ? void 0 : r
|
|
);
|
|
const ce = (V) => /* @__PURE__ */ H.createElement(H.Fragment, null, _.map((I, R) => {
|
|
const { springs: j } = q.get(I) || I.ctrl, U = V({ ...j }, I.item, I, R);
|
|
return U && U.type ? /* @__PURE__ */ H.createElement(
|
|
U.type,
|
|
{
|
|
...U.props,
|
|
key: oe.str(I.key) || oe.num(I.key) ? I.key : I.ctrl.id,
|
|
ref: U.ref
|
|
}
|
|
) : U;
|
|
}));
|
|
return m ? [ce, m] : ce;
|
|
}
|
|
var zA = 1;
|
|
function FA(e, { key: t, keys: r = t }, n) {
|
|
if (r === null) {
|
|
const a = /* @__PURE__ */ new Set();
|
|
return e.map((o) => {
|
|
const i = n && n.find(
|
|
(s) => s.item === o && s.phase !== "leave" && !a.has(s)
|
|
);
|
|
return i ? (a.add(i), i.key) : zA++;
|
|
});
|
|
}
|
|
return oe.und(r) ? e : oe.fun(r) ? e.map(r) : Et(r);
|
|
}
|
|
var DA = class extends Rp {
|
|
constructor(e, t) {
|
|
super(), this.source = e, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = Ci(...t);
|
|
const r = this._get(), n = qf(r);
|
|
Np(this, n.create(r));
|
|
}
|
|
advance(e) {
|
|
const t = this._get(), r = this.get();
|
|
jr(t, r) || (Zt(this).setValue(t), this._onChange(t, this.idle)), !this.idle && Ch(this._active) && xu(this);
|
|
}
|
|
_get() {
|
|
const e = oe.arr(this.source) ? this.source.map($t) : Et($t(this.source));
|
|
return this.calc(...e);
|
|
}
|
|
_start() {
|
|
this.idle && !Ch(this._active) && (this.idle = !1, je(_l(this), (e) => {
|
|
e.done = !1;
|
|
}), Bt.skipAnimation ? (Oe.batchedUpdates(() => this.advance()), xu(this)) : vl.start(this));
|
|
}
|
|
// Observe our sources only when we're observed.
|
|
_attach() {
|
|
let e = 1;
|
|
je(Et(this.source), (t) => {
|
|
Lt(t) && Ja(t, this), Xf(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() {
|
|
je(Et(this.source), (e) => {
|
|
Lt(e) && Ni(e, this);
|
|
}), this._active.clear(), xu(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 = Et(this.source).reduce(
|
|
(t, r) => Math.max(t, (Xf(r) ? r.priority : 0) + 1),
|
|
0
|
|
));
|
|
}
|
|
};
|
|
function LA(e) {
|
|
return e.idle !== !1;
|
|
}
|
|
function Ch(e) {
|
|
return !e.size || Array.from(e).every(LA);
|
|
}
|
|
function xu(e) {
|
|
e.idle || (e.idle = !0, je(_l(e), (t) => {
|
|
t.done = !0;
|
|
}), $i(e, {
|
|
type: "idle",
|
|
parent: e
|
|
}));
|
|
}
|
|
Bt.assign({
|
|
createStringInterpolator: r0,
|
|
to: (e, t) => new DA(e, t)
|
|
});
|
|
var _0 = /^--/;
|
|
function GA(e, t) {
|
|
return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !_0.test(e) && !(hi.hasOwnProperty(e) && hi[e]) ? t + "px" : ("" + t).trim();
|
|
}
|
|
var Ah = {};
|
|
function VA(e, t) {
|
|
if (!e.nodeType || !e.setAttribute)
|
|
return !1;
|
|
const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", {
|
|
className: n,
|
|
style: a,
|
|
children: o,
|
|
scrollTop: i,
|
|
scrollLeft: s,
|
|
viewBox: u,
|
|
...c
|
|
} = t, d = Object.values(c), p = Object.keys(c).map(
|
|
(m) => r || e.hasAttribute(m) ? m : Ah[m] || (Ah[m] = m.replace(
|
|
/([A-Z])/g,
|
|
// Attributes are written in dash case
|
|
(w) => "-" + w.toLowerCase()
|
|
))
|
|
);
|
|
o !== void 0 && (e.textContent = o);
|
|
for (const m in a)
|
|
if (a.hasOwnProperty(m)) {
|
|
const w = GA(m, a[m]);
|
|
_0.test(m) ? e.style.setProperty(m, w) : e.style[m] = w;
|
|
}
|
|
p.forEach((m, w) => {
|
|
e.setAttribute(m, d[w]);
|
|
}), 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 hi = {
|
|
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
|
|
}, WA = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), UA = ["Webkit", "Ms", "Moz", "O"];
|
|
hi = Object.keys(hi).reduce((e, t) => (UA.forEach((r) => e[WA(r, t)] = e[t]), e), hi);
|
|
var HA = /^(matrix|translate|scale|rotate|skew)/, YA = /^(translate)/, qA = /^(rotate|skew)/, wu = (e, t) => oe.num(e) && e !== 0 ? e + t : e, $s = (e, t) => oe.arr(e) ? e.every((r) => $s(r, t)) : oe.num(e) ? e === t : parseFloat(e) === t, BA = class extends Sl {
|
|
constructor({ x: e, y: t, z: r, ...n }) {
|
|
const a = [], o = [];
|
|
(e || t || r) && (a.push([e || 0, t || 0, r || 0]), o.push((i) => [
|
|
`translate3d(${i.map((s) => wu(s, "px")).join(",")})`,
|
|
// prettier-ignore
|
|
$s(i, 0)
|
|
])), pr(n, (i, s) => {
|
|
if (s === "transform")
|
|
a.push([i || ""]), o.push((u) => [u, u === ""]);
|
|
else if (HA.test(s)) {
|
|
if (delete n[s], oe.und(i)) return;
|
|
const u = YA.test(s) ? "px" : qA.test(s) ? "deg" : "";
|
|
a.push(Et(i)), o.push(
|
|
s === "rotate3d" ? ([c, d, p, m]) => [
|
|
`rotate3d(${c},${d},${p},${wu(m, u)})`,
|
|
$s(m, 0)
|
|
] : (c) => [
|
|
`${s}(${c.map((d) => wu(d, u)).join(",")})`,
|
|
$s(c, s.startsWith("scale") ? 1 : 0)
|
|
]
|
|
);
|
|
}
|
|
}), a.length && (n.transform = new KA(a, o)), super(n);
|
|
}
|
|
}, KA = class extends Z1 {
|
|
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 je(this.inputs, (r, n) => {
|
|
const a = $t(r[0]), [o, i] = this.transforms[n](
|
|
oe.arr(a) ? a : r.map($t)
|
|
);
|
|
e += " " + o, t = t && i;
|
|
}), t ? "none" : e;
|
|
}
|
|
// Start observing our inputs once we have an observer.
|
|
observerAdded(e) {
|
|
e == 1 && je(
|
|
this.inputs,
|
|
(t) => je(
|
|
t,
|
|
(r) => Lt(r) && Ja(r, this)
|
|
)
|
|
);
|
|
}
|
|
// Stop observing our inputs once we have no observers.
|
|
observerRemoved(e) {
|
|
e == 0 && je(
|
|
this.inputs,
|
|
(t) => je(
|
|
t,
|
|
(r) => Lt(r) && Ni(r, this)
|
|
)
|
|
);
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && (this._value = null), $i(this, e);
|
|
}
|
|
}, XA = [
|
|
"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"
|
|
];
|
|
Bt.assign({
|
|
batchedUpdates: Vw,
|
|
createStringInterpolator: r0,
|
|
colors: zC
|
|
});
|
|
var JA = gA(XA, {
|
|
applyAnimatedValues: VA,
|
|
createAnimatedStyle: (e) => new BA(e),
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r
|
|
}), O0 = JA.animated;
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const QA = {
|
|
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"]
|
|
}, ZA = {
|
|
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 Jf = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(Jf || {}), e5 = 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"
|
|
}), t5 = "VisuallyHidden", S0 = H.forwardRef(
|
|
(e, t) => /* @__PURE__ */ X(
|
|
mr.span,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
style: { ...e5, ...e.style }
|
|
}
|
|
)
|
|
);
|
|
S0.displayName = t5;
|
|
var $h = S0;
|
|
const Ri = [], r5 = (e) => {
|
|
Ri.push(e);
|
|
}, n5 = (e) => {
|
|
const t = Ri.findIndex((r) => r.id === e);
|
|
t !== -1 && Ri.splice(t, 1);
|
|
}, a5 = (e, t) => {
|
|
const r = Ri.find((n) => n.id === e);
|
|
r && Object.assign(r, t);
|
|
}, o5 = () => Ri.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 = o5();
|
|
t && (e.preventDefault(), t.onClose());
|
|
}));
|
|
let Ho = 70;
|
|
const i5 = ({
|
|
styles: e,
|
|
backdropClassName: t,
|
|
disableHotkeyInput: r,
|
|
enableHotkeyInput: n
|
|
}) => (pt(() => (r(Jf.DIALOGUE), () => {
|
|
n(Jf.DIALOGUE);
|
|
}), [r, n]), /* @__PURE__ */ X(Ok, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ X(
|
|
O0.div,
|
|
{
|
|
className: li("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)"
|
|
}
|
|
}
|
|
) })), Qf = ({ children: e }) => /* @__PURE__ */ X(Ht, { children: e }), E0 = al(
|
|
void 0
|
|
), Mp = ({ className: e, size: t = "md" }) => {
|
|
const r = Ya(E0);
|
|
if (!r) return null;
|
|
const { expanded: n, toggleExpanded: a } = r;
|
|
return /* @__PURE__ */ X(
|
|
"button",
|
|
{
|
|
type: "button",
|
|
"aria-label": n ? "Restore modal size" : "Expand modal",
|
|
onClick: a,
|
|
className: li(
|
|
"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__ */ X(
|
|
Si,
|
|
{
|
|
icon: n ? QA : ZA
|
|
}
|
|
)
|
|
}
|
|
);
|
|
};
|
|
Mp.displayName = "ModalExpandButton";
|
|
const Wa = ({
|
|
isOpen: e,
|
|
title: t,
|
|
titleIcon: r,
|
|
onTitleIconClick: n,
|
|
onClose: a,
|
|
enableHotkeyInput: o = () => {
|
|
},
|
|
disableHotkeyInput: i = () => {
|
|
},
|
|
className: s,
|
|
backdropClassName: u,
|
|
width: c,
|
|
children: d,
|
|
childPadding: p = !0,
|
|
titleIconClassName: m,
|
|
showClose: w = !0,
|
|
draggable: _ = !1,
|
|
resizable: v = !1,
|
|
initialPosition: y,
|
|
closeOnOutsideClick: k = !0,
|
|
closeOnEsc: P = !0,
|
|
allowBackgroundInteraction: E = !1,
|
|
expandable: C = !1,
|
|
accessibleTitle: b,
|
|
accessibleDescription: Y
|
|
}) => {
|
|
const [q, Z] = vt(
|
|
null
|
|
), [ie, Q] = vt(!1), [J, D] = vt(!1), ce = Ge({ x: 0, y: 0 }), V = Ge({ x: 0, y: 0 }), I = Ge(null), R = Ge(null), j = Ge(null), [U, B] = vt(() => ++Ho), [h, f] = vt(!1), x = Ge(null), N = Ph(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
|
|
}
|
|
}), $ = Ph(e, {
|
|
from: { opacity: 0 },
|
|
enter: { opacity: 1 },
|
|
leave: { opacity: 0 },
|
|
config: {
|
|
tension: 280,
|
|
friction: 25
|
|
}
|
|
});
|
|
pt(() => {
|
|
h ? (R.current && (x.current = { ...R.current }), Z({ x: 0, y: 0 }), R.current = { x: 0, y: 0 }, I.current && (I.current.style.left = "0px", I.current.style.top = "0px", I.current.style.margin = "0", I.current.style.position = "fixed", I.current.style.zIndex = String(U))) : x.current && (Z({ ...x.current }), R.current = { ...x.current }, I.current && (I.current.style.left = x.current.x + "px", I.current.style.top = x.current.y + "px", I.current.style.margin = "0", I.current.style.position = "fixed", I.current.style.zIndex = String(U)));
|
|
}, [h, U]);
|
|
const T = () => f((de) => !de);
|
|
pt(() => {
|
|
e ? j.current ? (Z({ ...j.current }), R.current = { ...j.current }, I.current && (I.current.style.left = j.current.x + "px", I.current.style.top = j.current.y + "px", I.current.style.margin = "0", I.current.style.position = "fixed", I.current.style.zIndex = String(U))) : y && (Z({ ...y }), R.current = { ...y }, I.current && (I.current.style.left = y.x + "px", I.current.style.top = y.y + "px", I.current.style.margin = "0", I.current.style.position = "fixed", I.current.style.zIndex = String(U))) : R.current && (j.current = { ...R.current });
|
|
}, [e, U]), pt(() => {
|
|
if (!ie) return;
|
|
let de = null;
|
|
const fe = (dt) => {
|
|
if (!I.current) return;
|
|
const ht = dt.clientX - V.current.x, Ve = dt.clientY - V.current.y, et = ce.current.x + ht, tt = ce.current.y + Ve, yt = I.current, { width: bt, height: Xt } = yt.getBoundingClientRect(), ua = window.innerWidth, fa = window.innerHeight, Jt = 450, ao = -450, oo = 0, io = ua - bt + Jt, St = fa - Xt + Jt, Tn = Math.max(ao, Math.min(et, io)), so = Math.max(oo, Math.min(tt, St));
|
|
R.current = { x: Tn, y: so }, I.current && (de && cancelAnimationFrame(de), de = requestAnimationFrame(() => {
|
|
I.current && R.current && (I.current.style.left = R.current.x + "px", I.current.style.top = R.current.y + "px", I.current.style.margin = "0", I.current.style.position = "fixed", I.current.style.zIndex = String(U));
|
|
}));
|
|
}, ve = () => {
|
|
Q(!1), R.current && Z({ ...R.current });
|
|
};
|
|
return window.addEventListener("mousemove", fe), window.addEventListener("mouseup", ve), () => {
|
|
window.removeEventListener("mousemove", fe), window.removeEventListener("mouseup", ve), de && cancelAnimationFrame(de);
|
|
};
|
|
}, [ie, U]);
|
|
const z = (de) => {
|
|
var fe, ve;
|
|
if (!I.current) return;
|
|
h && f(!1), de.preventDefault(), de.stopPropagation();
|
|
const dt = I.current, { width: ht, height: Ve } = dt.getBoundingClientRect(), et = window.innerWidth, tt = window.innerHeight;
|
|
let yt = ((fe = R.current) == null ? void 0 : fe.x) ?? (q == null ? void 0 : q.x), bt = ((ve = R.current) == null ? void 0 : ve.y) ?? (q == null ? void 0 : q.y);
|
|
(yt === void 0 || bt === void 0) && (y ? (yt = y.x, bt = y.y) : (yt = (et - ht) / 2, bt = (tt - Ve) / 2)), ce.current = { x: yt, y: bt }, V.current = { x: de.clientX, y: de.clientY }, Q(!0), !q && !R.current && (Z({ x: yt, y: bt }), R.current = { x: yt, y: bt }, I.current && (I.current.style.left = yt + "px", I.current.style.top = bt + "px", I.current.style.margin = "0", I.current.style.position = "fixed", I.current.style.zIndex = String(U)));
|
|
};
|
|
let M = d;
|
|
if (_) {
|
|
let de = !1;
|
|
M = Array.isArray(d) ? d.map((fe) => {
|
|
if (!de && tf(fe) && (fe.type === Qf || fe.type.displayName === "ModalDragHandle")) {
|
|
de = !0;
|
|
const ve = fe;
|
|
return rf(ve, {
|
|
children: /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: z,
|
|
children: ve.props.children
|
|
}
|
|
)
|
|
});
|
|
}
|
|
return fe;
|
|
}) : tf(d) && (d.type === Qf || d.type.displayName === "ModalDragHandle") ? (() => {
|
|
const fe = d;
|
|
return rf(fe, {
|
|
children: /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: z,
|
|
children: fe.props.children
|
|
}
|
|
)
|
|
});
|
|
})() : d;
|
|
}
|
|
const L = Ge(null), F = Ge(null), G = (de, fe) => {
|
|
if (!I.current || (de.preventDefault(), de.stopPropagation(), h)) return;
|
|
const ve = I.current.getBoundingClientRect();
|
|
L.current = fe, F.current = {
|
|
mouseX: de.clientX,
|
|
mouseY: de.clientY,
|
|
width: ve.width,
|
|
height: ve.height,
|
|
x: ve.left,
|
|
y: ve.top
|
|
}, D(!0);
|
|
};
|
|
pt(() => {
|
|
if (!J) return;
|
|
let de = null;
|
|
const fe = (dt) => {
|
|
if (!I.current || !F.current || !L.current)
|
|
return;
|
|
const ht = dt.clientX - F.current.mouseX, Ve = dt.clientY - F.current.mouseY;
|
|
let et = F.current.width, tt = F.current.height, yt = F.current.x, bt = F.current.y;
|
|
const Xt = L.current;
|
|
Xt.includes("right") && (et = F.current.width + ht), Xt.includes("left") && (et = F.current.width - ht, yt = F.current.x + ht), Xt.includes("bottom") && (tt = F.current.height + Ve), Xt.includes("top") && (tt = F.current.height - Ve, bt = F.current.y + Ve), et = Math.max(320, et), tt = Math.max(240, tt), R.current = { x: yt, y: bt }, We.current = { width: et, height: tt }, de && cancelAnimationFrame(de), de = requestAnimationFrame(() => {
|
|
I.current && R.current && (I.current.style.width = et + "px", I.current.style.height = tt + "px", I.current.style.left = R.current.x + "px", I.current.style.top = R.current.y + "px", I.current.style.margin = "0", I.current.style.position = "fixed", I.current.style.zIndex = String(U));
|
|
});
|
|
}, ve = () => {
|
|
D(!1), R.current && Z({ ...R.current }), We.current && ye({ ...We.current });
|
|
};
|
|
return window.addEventListener("mousemove", fe), window.addEventListener("mouseup", ve), () => {
|
|
window.removeEventListener("mousemove", fe), window.removeEventListener("mouseup", ve), de && cancelAnimationFrame(de);
|
|
};
|
|
}, [J, U]);
|
|
const le = () => {
|
|
if (!v || h) return null;
|
|
const de = "absolute z-[75] bg-transparent select-none", fe = 5, ve = 2, dt = [
|
|
{ dir: "top", className: `top-0 left-0 w-full h-${ve}` },
|
|
{ dir: "bottom", className: `bottom-0 left-0 w-full h-${ve}` },
|
|
{ dir: "left", className: `left-0 top-0 h-full w-${ve}` },
|
|
{ dir: "right", className: `right-0 top-0 h-full w-${ve}` },
|
|
{
|
|
dir: "top-left",
|
|
className: `top-0 left-0 w-${fe} h-${fe}`
|
|
},
|
|
{
|
|
dir: "top-right",
|
|
className: `top-0 right-0 w-${fe} h-${fe}`
|
|
},
|
|
{
|
|
dir: "bottom-left",
|
|
className: `bottom-0 left-0 w-${fe} h-${fe}`
|
|
},
|
|
{
|
|
dir: "bottom-right",
|
|
className: `bottom-0 right-0 w-${fe} h-${fe}`
|
|
}
|
|
], ht = {
|
|
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 dt.map((Ve) => /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
className: `${de} ${Ve.className}`,
|
|
style: { cursor: ht[Ve.dir] },
|
|
onMouseDown: (et) => G(et, Ve.dir)
|
|
},
|
|
Ve.dir
|
|
));
|
|
}, [S, ye] = vt(
|
|
null
|
|
), We = Ge(null), gt = Ge(null);
|
|
pt(() => {
|
|
if (e && !S && I.current && v) {
|
|
const { width: de, height: fe } = I.current.getBoundingClientRect();
|
|
ye({ width: de, height: fe }), We.current = { width: de, height: fe };
|
|
}
|
|
}, [e, S, v]), pt(() => {
|
|
if (v) {
|
|
if (!e)
|
|
We.current && (gt.current = { ...We.current });
|
|
else if (gt.current && I.current) {
|
|
const { width: de, height: fe } = gt.current;
|
|
I.current.style.width = de + "px", I.current.style.height = fe + "px", ye({ width: de, height: fe }), We.current = { width: de, height: fe };
|
|
}
|
|
}
|
|
}, [e, v]), pt(() => {
|
|
const de = () => {
|
|
I.current && U < Ho && (Ho += 1, B(Ho), I.current.style.zIndex = String(Ho));
|
|
}, fe = I.current;
|
|
return fe && fe.addEventListener("mousedown", de), () => {
|
|
fe && fe.removeEventListener("mousedown", de);
|
|
};
|
|
}, [U]), pt(() => {
|
|
if (!e || E) return;
|
|
const de = (fe) => {
|
|
if (fe.key === "Escape" || fe.key === "Esc") return;
|
|
const ve = fe.target;
|
|
ve && (ve.closest(
|
|
'[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]'
|
|
) || ve.matches("input, textarea, select, button, [contenteditable]")) || fe.stopPropagation();
|
|
};
|
|
return window.addEventListener("keydown", de, !0), () => {
|
|
window.removeEventListener("keydown", de, !0);
|
|
};
|
|
}, [e, E]), pt(() => {
|
|
if (!E) return;
|
|
const de = I.current;
|
|
if (!de) return;
|
|
const fe = (Ve) => {
|
|
Ve && (Ve.hasAttribute("inert") && Ve.removeAttribute("inert"), Ve.inert && (Ve.inert = !1), Ve.getAttribute("aria-hidden") === "true" && Ve.removeAttribute("aria-hidden"));
|
|
};
|
|
let ve = de;
|
|
for (; ve; )
|
|
fe(ve), ve = ve.parentElement;
|
|
const dt = new MutationObserver((Ve) => {
|
|
Ve.forEach((et) => {
|
|
if (et.type === "attributes" && et.attributeName === "inert" && et.target instanceof HTMLElement) {
|
|
const tt = et.target;
|
|
(tt === de || de.contains(tt)) && fe(tt);
|
|
}
|
|
});
|
|
});
|
|
dt.observe(de, {
|
|
attributes: !0,
|
|
subtree: !1,
|
|
attributeFilter: ["inert"]
|
|
}), document.querySelectorAll(
|
|
"[data-radix-portal][inert], [data-headlessui-portal][inert]"
|
|
).forEach((Ve) => Ve.removeAttribute("inert"));
|
|
const ht = new MutationObserver((Ve) => {
|
|
Ve.forEach((et) => {
|
|
if (et.type === "attributes" && et.attributeName === "inert" && et.target.hasAttribute("inert")) {
|
|
const tt = et.target;
|
|
(tt.hasAttribute("data-radix-portal") || tt.hasAttribute("data-headlessui-portal")) && fe(tt);
|
|
}
|
|
});
|
|
});
|
|
return ht.observe(document.body, {
|
|
attributes: !0,
|
|
subtree: !0,
|
|
attributeFilter: ["inert"]
|
|
}), () => {
|
|
dt.disconnect(), ht.disconnect();
|
|
};
|
|
}, [E]);
|
|
const gr = Ge(Math.floor(Math.random() * 1e9));
|
|
pt(() => {
|
|
if (e)
|
|
return r5({
|
|
id: gr.current,
|
|
zIndex: U,
|
|
onClose: a,
|
|
closeOnEsc: P
|
|
}), () => {
|
|
n5(gr.current);
|
|
};
|
|
}, [e]), pt(() => {
|
|
e && a5(gr.current, { zIndex: U, onClose: a, closeOnEsc: P });
|
|
}, [e, U, a, P]);
|
|
const Vt = () => h ? {
|
|
position: "fixed",
|
|
left: 0,
|
|
top: 0,
|
|
margin: 0,
|
|
zIndex: U,
|
|
width: "100vw",
|
|
height: "100vh",
|
|
...E ? { pointerEvents: "auto" } : {}
|
|
} : !_ || !q ? {
|
|
...v && S ? { width: S.width, height: S.height } : {},
|
|
...E ? { pointerEvents: "auto" } : {}
|
|
} : {
|
|
position: "fixed",
|
|
left: q.x,
|
|
top: q.y,
|
|
margin: 0,
|
|
zIndex: U,
|
|
...v && S ? { width: S.width, height: S.height } : {},
|
|
...E ? { pointerEvents: "auto" } : {}
|
|
};
|
|
return /* @__PURE__ */ X(
|
|
kk,
|
|
{
|
|
open: e,
|
|
onOpenChange: (de) => !de && k && a(),
|
|
modal: !E,
|
|
children: /* @__PURE__ */ X(_k, { children: /* @__PURE__ */ Le(
|
|
"div",
|
|
{
|
|
className: "fixed inset-0 z-[70]",
|
|
style: E ? { pointerEvents: "none" } : void 0,
|
|
children: [
|
|
!E && $(
|
|
(de, fe) => fe ? /* @__PURE__ */ X(
|
|
i5,
|
|
{
|
|
styles: de,
|
|
backdropClassName: u,
|
|
disableHotkeyInput: i,
|
|
enableHotkeyInput: o
|
|
},
|
|
"backdrop"
|
|
) : null
|
|
),
|
|
E && /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
className: li("fixed inset-0 z-[69]", u),
|
|
style: { pointerEvents: "none" }
|
|
}
|
|
),
|
|
/* @__PURE__ */ X(E0.Provider, { value: { expanded: h, toggleExpanded: T }, children: /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
className: "flex min-h-full items-center justify-center p-4 text-center",
|
|
style: E ? { pointerEvents: "none" } : void 0,
|
|
children: N((de, fe) => fe ? /* @__PURE__ */ X(
|
|
Sk,
|
|
{
|
|
forceMount: !0,
|
|
asChild: !0,
|
|
...Y ? {} : { "aria-describedby": void 0 },
|
|
onPointerDownOutside: (ve) => {
|
|
(!k || E) && ve.preventDefault();
|
|
},
|
|
onEscapeKeyDown: (ve) => {
|
|
P || ve.preventDefault();
|
|
},
|
|
onInteractOutside: (ve) => {
|
|
E && ve.preventDefault();
|
|
},
|
|
children: /* @__PURE__ */ Le(
|
|
O0.div,
|
|
{
|
|
className: li(
|
|
"w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]",
|
|
p && !h ? "p-4" : "",
|
|
s,
|
|
"!transition-none",
|
|
// Always disable CSS transitions for spring animations
|
|
h && "w-screen h-screen max-w-screen max-h-screen rounded-none"
|
|
),
|
|
ref: I,
|
|
style: {
|
|
...Vt(),
|
|
opacity: de.opacity,
|
|
transform: de.transform,
|
|
transformOrigin: "center center",
|
|
willChange: "transform, opacity"
|
|
// Optimize for animations
|
|
},
|
|
children: [
|
|
/* @__PURE__ */ Le("div", { className: "w-full h-full", children: [
|
|
Y && /* @__PURE__ */ X($h, { asChild: !0, children: /* @__PURE__ */ X(Ek, { children: Y }) }),
|
|
t ? /* @__PURE__ */ X(
|
|
$m,
|
|
{
|
|
className: li(
|
|
"mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg"
|
|
),
|
|
children: /* @__PURE__ */ X(Ht, { children: n ? /* @__PURE__ */ Le(
|
|
"button",
|
|
{
|
|
className: "flex items-center gap-3",
|
|
onClick: n,
|
|
children: [
|
|
r && /* @__PURE__ */ X(
|
|
Si,
|
|
{
|
|
icon: r,
|
|
className: m
|
|
}
|
|
),
|
|
t
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Le("div", { className: "flex items-center gap-3", children: [
|
|
r && /* @__PURE__ */ X(
|
|
Si,
|
|
{
|
|
icon: r,
|
|
className: m
|
|
}
|
|
),
|
|
t
|
|
] }) })
|
|
}
|
|
) : /* @__PURE__ */ X($h, { asChild: !0, children: /* @__PURE__ */ X($m, { children: b ?? "Dialog" }) }),
|
|
/* @__PURE__ */ X("div", { className: "h-full".trim(), children: M }),
|
|
le()
|
|
] }),
|
|
(w || C) && /* @__PURE__ */ Le("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [
|
|
C && /* @__PURE__ */ X(Wa.ExpandButton, {}),
|
|
w && /* @__PURE__ */ X(AC, { onClick: a })
|
|
] })
|
|
]
|
|
}
|
|
)
|
|
}
|
|
) : null)
|
|
}
|
|
) })
|
|
]
|
|
}
|
|
) })
|
|
}
|
|
);
|
|
};
|
|
Wa.DragHandle = Qf;
|
|
Wa.DragHandle.displayName = "ModalDragHandle";
|
|
Wa.ExpandButton = Mp;
|
|
Mp.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 s5(e, t, r) {
|
|
return (t = c5(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Nh(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ne(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Nh(Object(r), !0).forEach(function(n) {
|
|
s5(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Nh(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function l5(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 c5(e) {
|
|
var t = l5(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const jh = () => {
|
|
};
|
|
let zp = {}, P0 = {}, C0 = null, A0 = {
|
|
mark: jh,
|
|
measure: jh
|
|
};
|
|
try {
|
|
typeof window < "u" && (zp = window), typeof document < "u" && (P0 = document), typeof MutationObserver < "u" && (C0 = MutationObserver), typeof performance < "u" && (A0 = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: Ih = ""
|
|
} = zp.navigator || {}, Pn = zp, ut = P0, Th = C0, us = A0;
|
|
Pn.document;
|
|
const Hr = !!ut.documentElement && !!ut.head && typeof ut.addEventListener == "function" && typeof ut.createElement == "function", $0 = ~Ih.indexOf("MSIE") || ~Ih.indexOf("Trident/");
|
|
var u5 = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, f5 = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, N0 = {
|
|
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"
|
|
}
|
|
}, d5 = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, j0 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], _t = "classic", El = "duotone", p5 = "sharp", m5 = "sharp-duotone", I0 = [_t, El, p5, m5], g5 = {
|
|
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"
|
|
}
|
|
}, h5 = {
|
|
"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"
|
|
}
|
|
}, y5 = /* @__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
|
|
}]]), b5 = {
|
|
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"
|
|
}
|
|
}, v5 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Rh = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, x5 = ["kit"], w5 = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, k5 = ["fak", "fakd"], _5 = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, Mh = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, fs = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, O5 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], S5 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], E5 = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, P5 = {
|
|
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"
|
|
}
|
|
}, C5 = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Zf = {
|
|
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"
|
|
}
|
|
}, A5 = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], ed = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...O5, ...A5], $5 = ["solid", "regular", "light", "thin", "duotone", "brands"], T0 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], N5 = T0.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), j5 = [...Object.keys(C5), ...$5, "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", fs.GROUP, fs.SWAP_OPACITY, fs.PRIMARY, fs.SECONDARY].concat(T0.map((e) => "".concat(e, "x"))).concat(N5.map((e) => "w-".concat(e))), I5 = {
|
|
"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 Fr = "___FONT_AWESOME___", td = 16, R0 = "fa", M0 = "svg-inline--fa", oa = "data-fa-i2svg", rd = "data-fa-pseudo-element", T5 = "data-fa-pseudo-element-pending", Fp = "data-prefix", Dp = "data-icon", zh = "fontawesome-i2svg", R5 = "async", M5 = ["HTML", "HEAD", "STYLE", "SCRIPT"], z0 = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function qi(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[_t];
|
|
}
|
|
});
|
|
}
|
|
const F0 = ne({}, N0);
|
|
F0[_t] = ne(ne(ne(ne({}, {
|
|
"fa-duotone": "duotone"
|
|
}), N0[_t]), Rh.kit), Rh["kit-duotone"]);
|
|
const z5 = qi(F0), nd = ne({}, b5);
|
|
nd[_t] = ne(ne(ne(ne({}, {
|
|
duotone: "fad"
|
|
}), nd[_t]), Mh.kit), Mh["kit-duotone"]);
|
|
const Fh = qi(nd), ad = ne({}, Zf);
|
|
ad[_t] = ne(ne({}, ad[_t]), _5.kit);
|
|
const Lp = qi(ad), od = ne({}, P5);
|
|
od[_t] = ne(ne({}, od[_t]), w5.kit);
|
|
qi(od);
|
|
const F5 = u5, D0 = "fa-layers-text", D5 = f5, L5 = ne({}, g5);
|
|
qi(L5);
|
|
const G5 = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], ku = d5, V5 = [...x5, ...j5], yi = Pn.FontAwesomeConfig || {};
|
|
function W5(e) {
|
|
var t = ut.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function U5(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
ut && typeof ut.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 = U5(W5(t));
|
|
n != null && (yi[r] = n);
|
|
});
|
|
const L0 = {
|
|
styleDefault: "solid",
|
|
familyDefault: _t,
|
|
cssPrefix: R0,
|
|
replacementClass: M0,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
yi.familyPrefix && (yi.cssPrefix = yi.familyPrefix);
|
|
const Ua = ne(ne({}, L0), yi);
|
|
Ua.autoReplaceSvg || (Ua.observeMutations = !1);
|
|
const ge = {};
|
|
Object.keys(L0).forEach((e) => {
|
|
Object.defineProperty(ge, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Ua[e] = t, bi.forEach((r) => r(ge));
|
|
},
|
|
get: function() {
|
|
return Ua[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ge, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Ua.cssPrefix = e, bi.forEach((t) => t(ge));
|
|
},
|
|
get: function() {
|
|
return Ua.cssPrefix;
|
|
}
|
|
});
|
|
Pn.FontAwesomeConfig = ge;
|
|
const bi = [];
|
|
function H5(e) {
|
|
return bi.push(e), () => {
|
|
bi.splice(bi.indexOf(e), 1);
|
|
};
|
|
}
|
|
const en = td, cr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function Y5(e) {
|
|
if (!e || !Hr)
|
|
return;
|
|
const t = ut.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = ut.head.childNodes;
|
|
let n = null;
|
|
for (let a = r.length - 1; a > -1; a--) {
|
|
const o = r[a], i = (o.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = o);
|
|
}
|
|
return ut.head.insertBefore(t, n), e;
|
|
}
|
|
const q5 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Mi() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += q5[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Qa(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function Gp(e) {
|
|
return e.classList ? Qa(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function G0(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function B5(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(G0(e[r]), '" '), "").trim();
|
|
}
|
|
function Pl(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function Vp(e) {
|
|
return e.size !== cr.size || e.x !== cr.x || e.y !== cr.y || e.rotate !== cr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function K5(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const a = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, o = "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(o, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: a,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function X5(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = td,
|
|
height: n = td,
|
|
startCentered: a = !1
|
|
} = e, o = "";
|
|
return a && $0 ? o += "translate(".concat(t.x / en - r / 2, "em, ").concat(t.y / en - n / 2, "em) ") : a ? o += "translate(calc(-50% + ".concat(t.x / en, "em), calc(-50% + ").concat(t.y / en, "em)) ") : o += "translate(".concat(t.x / en, "em, ").concat(t.y / en, "em) "), o += "scale(".concat(t.size / en * (t.flipX ? -1 : 1), ", ").concat(t.size / en * (t.flipY ? -1 : 1), ") "), o += "rotate(".concat(t.rotate, "deg) "), o;
|
|
}
|
|
var J5 = `: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 V0() {
|
|
const e = R0, t = M0, r = ge.cssPrefix, n = ge.replacementClass;
|
|
let a = J5;
|
|
if (r !== e || n !== t) {
|
|
const o = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
a = a.replace(o, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return a;
|
|
}
|
|
let Dh = !1;
|
|
function _u() {
|
|
ge.autoAddCss && !Dh && (Y5(V0()), Dh = !0);
|
|
}
|
|
var Q5 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: V0,
|
|
insertCss: _u
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
_u();
|
|
},
|
|
beforeI2svg() {
|
|
_u();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Dr = Pn || {};
|
|
Dr[Fr] || (Dr[Fr] = {});
|
|
Dr[Fr].styles || (Dr[Fr].styles = {});
|
|
Dr[Fr].hooks || (Dr[Fr].hooks = {});
|
|
Dr[Fr].shims || (Dr[Fr].shims = []);
|
|
var ur = Dr[Fr];
|
|
const W0 = [], U0 = function() {
|
|
ut.removeEventListener("DOMContentLoaded", U0), Qs = 1, W0.map((e) => e());
|
|
};
|
|
let Qs = !1;
|
|
Hr && (Qs = (ut.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ut.readyState), Qs || ut.addEventListener("DOMContentLoaded", U0));
|
|
function Z5(e) {
|
|
Hr && (Qs ? setTimeout(e, 0) : W0.push(e));
|
|
}
|
|
function Bi(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? G0(e) : "<".concat(t, " ").concat(B5(r), ">").concat(n.map(Bi).join(""), "</").concat(t, ">");
|
|
}
|
|
function Lh(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Ou = function(e, t, r, n) {
|
|
var a = Object.keys(e), o = a.length, i = t, s, u, c;
|
|
for (r === void 0 ? (s = 1, c = e[a[0]]) : (s = 0, c = r); s < o; s++)
|
|
u = a[s], c = i(c, e[u], u, e);
|
|
return c;
|
|
};
|
|
function e$(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const a = e.charCodeAt(r++);
|
|
if (a >= 55296 && a <= 56319 && r < n) {
|
|
const o = e.charCodeAt(r++);
|
|
(o & 64512) == 56320 ? t.push(((a & 1023) << 10) + (o & 1023) + 65536) : (t.push(a), r--);
|
|
} else
|
|
t.push(a);
|
|
}
|
|
return t;
|
|
}
|
|
function H0(e) {
|
|
const t = e$(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function t$(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), a;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (a = e.charCodeAt(t + 1), a >= 56320 && a <= 57343) ? (n - 55296) * 1024 + a - 56320 + 65536 : n;
|
|
}
|
|
function Gh(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 id(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, a = Gh(t);
|
|
typeof ur.hooks.addPack == "function" && !n ? ur.hooks.addPack(e, Gh(t)) : ur.styles[e] = ne(ne({}, ur.styles[e] || {}), a), e === "fas" && id("fa", t);
|
|
}
|
|
const {
|
|
styles: zi,
|
|
shims: r$
|
|
} = ur, Y0 = Object.keys(Lp), n$ = Y0.reduce((e, t) => (e[t] = Object.keys(Lp[t]), e), {});
|
|
let Wp = null, q0 = {}, B0 = {}, K0 = {}, X0 = {}, J0 = {};
|
|
function a$(e) {
|
|
return ~V5.indexOf(e);
|
|
}
|
|
function o$(e, t) {
|
|
const r = t.split("-"), n = r[0], a = r.slice(1).join("-");
|
|
return n === e && a !== "" && !a$(a) ? a : null;
|
|
}
|
|
const Q0 = () => {
|
|
const e = (n) => Ou(zi, (a, o, i) => (a[i] = Ou(o, n, {}), a), {});
|
|
q0 = e((n, a, o) => (a[3] && (n[a[3]] = o), a[2] && a[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = o;
|
|
}), n)), B0 = e((n, a, o) => (n[o] = o, a[2] && a[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = o;
|
|
}), n)), J0 = e((n, a, o) => {
|
|
const i = a[2];
|
|
return n[o] = o, i.forEach((s) => {
|
|
n[s] = o;
|
|
}), n;
|
|
});
|
|
const t = "far" in zi || ge.autoFetchSvg, r = Ou(r$, (n, a) => {
|
|
const o = a[0];
|
|
let i = a[1];
|
|
const s = a[2];
|
|
return i === "far" && !t && (i = "fas"), typeof o == "string" && (n.names[o] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof o == "number" && (n.unicodes[o.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
K0 = r.names, X0 = r.unicodes, Wp = Cl(ge.styleDefault, {
|
|
family: ge.familyDefault
|
|
});
|
|
};
|
|
H5((e) => {
|
|
Wp = Cl(e.styleDefault, {
|
|
family: ge.familyDefault
|
|
});
|
|
});
|
|
Q0();
|
|
function Up(e, t) {
|
|
return (q0[e] || {})[t];
|
|
}
|
|
function i$(e, t) {
|
|
return (B0[e] || {})[t];
|
|
}
|
|
function Kn(e, t) {
|
|
return (J0[e] || {})[t];
|
|
}
|
|
function Z0(e) {
|
|
return K0[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function s$(e) {
|
|
const t = X0[e], r = Up("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Cn() {
|
|
return Wp;
|
|
}
|
|
const ex = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function l$(e) {
|
|
let t = _t;
|
|
const r = Y0.reduce((n, a) => (n[a] = "".concat(ge.cssPrefix, "-").concat(a), n), {});
|
|
return I0.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((a) => n$[n].includes(a))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Cl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = _t
|
|
} = t, n = z5[r][e];
|
|
if (r === El && !e)
|
|
return "fad";
|
|
const a = Fh[r][e] || Fh[r][n], o = e in ur.styles ? e : null;
|
|
return a || o || null;
|
|
}
|
|
function c$(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const a = o$(ge.cssPrefix, n);
|
|
a ? r = a : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Vh(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Al(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const a = ed.concat(S5), o = Vh(e.filter((p) => a.includes(p))), i = Vh(e.filter((p) => !ed.includes(p))), s = o.filter((p) => (n = p, !j0.includes(p))), [u = null] = s, c = l$(o), d = ne(ne({}, c$(i)), {}, {
|
|
prefix: Cl(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return ne(ne(ne({}, d), p$({
|
|
values: e,
|
|
family: c,
|
|
styles: zi,
|
|
config: ge,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), u$(r, n, d));
|
|
}
|
|
function u$(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: a
|
|
} = r;
|
|
if (e || !n || !a)
|
|
return {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
const o = t === "fa" ? Z0(a) : {}, i = Kn(n, a);
|
|
return a = o.iconName || i || a, n = o.prefix || n, n === "far" && !zi.far && zi.fas && !ge.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
}
|
|
const f$ = I0.filter((e) => e !== _t || e !== El), d$ = Object.keys(Zf).filter((e) => e !== _t).map((e) => Object.keys(Zf[e])).flat();
|
|
function p$(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: a = "",
|
|
styles: o = {},
|
|
config: i = {}
|
|
} = e, s = r === El, 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 && f$.includes(r) && (Object.keys(o).find((p) => d$.includes(p)) || i.autoFetchSvg)) {
|
|
const p = y5.get(r).defaultShortPrefixId;
|
|
n.prefix = p, n.iconName = Kn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || a === "fa") && (n.prefix = Cn() || "fas"), n;
|
|
}
|
|
class m$ {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const a = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(a).forEach((o) => {
|
|
this.definitions[o] = ne(ne({}, this.definitions[o] || {}), a[o]), id(o, a[o]);
|
|
const i = Lp[_t][o];
|
|
i && id(i, a[o]), Q0();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((a) => {
|
|
const {
|
|
prefix: o,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[a], u = s[2];
|
|
t[o] || (t[o] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[o][c] = s);
|
|
}), t[o][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let Wh = [], _a = {};
|
|
const Ta = {}, g$ = Object.keys(Ta);
|
|
function h$(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return Wh = e, _a = {}, Object.keys(Ta).forEach((n) => {
|
|
g$.indexOf(n) === -1 && delete Ta[n];
|
|
}), Wh.forEach((n) => {
|
|
const a = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(a).forEach((o) => {
|
|
typeof a[o] == "function" && (r[o] = a[o]), typeof a[o] == "object" && Object.keys(a[o]).forEach((i) => {
|
|
r[o] || (r[o] = {}), r[o][i] = a[o][i];
|
|
});
|
|
}), n.hooks) {
|
|
const o = n.hooks();
|
|
Object.keys(o).forEach((i) => {
|
|
_a[i] || (_a[i] = []), _a[i].push(o[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Ta);
|
|
}), r;
|
|
}
|
|
function sd(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), a = 2; a < r; a++)
|
|
n[a - 2] = arguments[a];
|
|
return (_a[e] || []).forEach((o) => {
|
|
t = o.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ia(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(_a[e] || []).forEach((a) => {
|
|
a.apply(null, r);
|
|
});
|
|
}
|
|
function An() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Ta[e] ? Ta[e].apply(null, t) : void 0;
|
|
}
|
|
function ld(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Cn();
|
|
if (t)
|
|
return t = Kn(r, t) || t, Lh(tx.definitions, r, t) || Lh(ur.styles, r, t);
|
|
}
|
|
const tx = new m$(), y$ = () => {
|
|
ge.autoReplaceSvg = !1, ge.observeMutations = !1, ia("noAuto");
|
|
}, b$ = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Hr ? (ia("beforeI2svg", e), An("pseudoElements2svg", e), An("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, Z5(() => {
|
|
x$({
|
|
autoReplaceSvgRoot: t
|
|
}), ia("watch", e);
|
|
});
|
|
}
|
|
}, v$ = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Kn(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 = Cl(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Kn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ge.cssPrefix, "-")) > -1 || e.match(F5))) {
|
|
const t = Al(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Cn(),
|
|
iconName: Kn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Cn();
|
|
return {
|
|
prefix: t,
|
|
iconName: Kn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, zt = {
|
|
noAuto: y$,
|
|
config: ge,
|
|
dom: b$,
|
|
parse: v$,
|
|
library: tx,
|
|
findIconDefinition: ld,
|
|
toHtml: Bi
|
|
}, x$ = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = ut
|
|
} = e;
|
|
(Object.keys(ur.styles).length > 0 || ge.autoFetchSvg) && Hr && ge.autoReplaceSvg && zt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function $l(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Bi(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Hr) return;
|
|
const r = ut.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function w$(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: a,
|
|
styles: o,
|
|
transform: i
|
|
} = e;
|
|
if (Vp(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
a.style = Pl(ne(ne({}, o), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: a,
|
|
children: t
|
|
}];
|
|
}
|
|
function k$(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: a,
|
|
symbol: o
|
|
} = e;
|
|
const i = o === !0 ? "".concat(t, "-").concat(ge.cssPrefix, "-").concat(r) : o;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ne(ne({}, a), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function Hp(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: a,
|
|
transform: o,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: p = !1
|
|
} = e, {
|
|
width: m,
|
|
height: w
|
|
} = r.found ? r : t, _ = k5.includes(n), v = [ge.replacementClass, a ? "".concat(ge.cssPrefix, "-").concat(a) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let y = {
|
|
children: [],
|
|
attributes: ne(ne({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": a,
|
|
class: v,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(m, " ").concat(w)
|
|
})
|
|
};
|
|
const k = _ && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(m / w * 16 * 0.0625, "em")
|
|
} : {};
|
|
p && (y.attributes[oa] = ""), s && (y.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: y.attributes["aria-labelledby"] || "title-".concat(c || Mi())
|
|
},
|
|
children: [s]
|
|
}), delete y.attributes.title);
|
|
const P = ne(ne({}, y), {}, {
|
|
prefix: n,
|
|
iconName: a,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: o,
|
|
symbol: i,
|
|
styles: ne(ne({}, k), d.styles)
|
|
}), {
|
|
children: E,
|
|
attributes: C
|
|
} = r.found && t.found ? An("generateAbstractMask", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : An("generateAbstractIcon", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return P.children = E, P.attributes = C, i ? k$(P) : w$(P);
|
|
}
|
|
function Uh(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: a,
|
|
title: o,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = ne(ne(ne({}, i.attributes), o ? {
|
|
title: o
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[oa] = "");
|
|
const c = ne({}, i.styles);
|
|
Vp(a) && (c.transform = X5({
|
|
transform: a,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Pl(c);
|
|
d.length > 0 && (u.style = d);
|
|
const p = [];
|
|
return p.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), o && p.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [o]
|
|
}), p;
|
|
}
|
|
function _$(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, a = ne(ne(ne({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), o = Pl(n.styles);
|
|
o.length > 0 && (a.style = o);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: a,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Su
|
|
} = ur;
|
|
function cd(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let a = null;
|
|
return Array.isArray(n) ? a = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ge.cssPrefix, "-").concat(ku.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ge.cssPrefix, "-").concat(ku.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ge.cssPrefix, "-").concat(ku.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : a = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: a
|
|
};
|
|
}
|
|
const O$ = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function S$(e, t) {
|
|
!z0 && !ge.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function ud(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ge.styleDefault !== null && (t = Cn()), new Promise((n, a) => {
|
|
if (r === "fa") {
|
|
const o = Z0(e) || {};
|
|
e = o.iconName || e, t = o.prefix || t;
|
|
}
|
|
if (e && t && Su[t] && Su[t][e]) {
|
|
const o = Su[t][e];
|
|
return n(cd(o));
|
|
}
|
|
S$(e, t), n(ne(ne({}, O$), {}, {
|
|
icon: ge.showMissingIcons && e ? An("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Hh = () => {
|
|
}, fd = ge.measurePerformance && us && us.mark && us.measure ? us : {
|
|
mark: Hh,
|
|
measure: Hh
|
|
}, oi = 'FA "6.7.2"', E$ = (e) => (fd.mark("".concat(oi, " ").concat(e, " begins")), () => rx(e)), rx = (e) => {
|
|
fd.mark("".concat(oi, " ").concat(e, " ends")), fd.measure("".concat(oi, " ").concat(e), "".concat(oi, " ").concat(e, " begins"), "".concat(oi, " ").concat(e, " ends"));
|
|
};
|
|
var Yp = {
|
|
begin: E$,
|
|
end: rx
|
|
};
|
|
const Ns = () => {
|
|
};
|
|
function Yh(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(oa) : null) == "string";
|
|
}
|
|
function P$(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Fp) : null, r = e.getAttribute ? e.getAttribute(Dp) : null;
|
|
return t && r;
|
|
}
|
|
function C$(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ge.replacementClass);
|
|
}
|
|
function A$() {
|
|
return ge.autoReplaceSvg === !0 ? js.replace : js[ge.autoReplaceSvg] || js.replace;
|
|
}
|
|
function $$(e) {
|
|
return ut.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function N$(e) {
|
|
return ut.createElement(e);
|
|
}
|
|
function nx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? $$ : N$
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return ut.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(nx(a, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function j$(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const js = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(nx(r), t);
|
|
}), t.getAttribute(oa) === null && ge.keepOriginalSource) {
|
|
let r = ut.createComment(j$(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~Gp(t).indexOf(ge.replacementClass))
|
|
return js.replace(e);
|
|
const n = new RegExp("".concat(ge.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const o = 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 = o.toSvg.join(" "), o.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", o.toNode.join(" "));
|
|
}
|
|
const a = r.map((o) => Bi(o)).join(`
|
|
`);
|
|
t.setAttribute(oa, ""), t.innerHTML = a;
|
|
}
|
|
};
|
|
function qh(e) {
|
|
e();
|
|
}
|
|
function ax(e, t) {
|
|
const r = typeof t == "function" ? t : Ns;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = qh;
|
|
ge.mutateApproach === R5 && (n = Pn.requestAnimationFrame || qh), n(() => {
|
|
const a = A$(), o = Yp.begin("mutate");
|
|
e.map(a), o(), r();
|
|
});
|
|
}
|
|
}
|
|
let qp = !1;
|
|
function ox() {
|
|
qp = !0;
|
|
}
|
|
function dd() {
|
|
qp = !1;
|
|
}
|
|
let Zs = null;
|
|
function Bh(e) {
|
|
if (!Th || !ge.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Ns,
|
|
nodeCallback: r = Ns,
|
|
pseudoElementsCallback: n = Ns,
|
|
observeMutationsRoot: a = ut
|
|
} = e;
|
|
Zs = new Th((o) => {
|
|
if (qp) return;
|
|
const i = Cn();
|
|
Qa(o).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !Yh(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" && Yh(s.target) && ~G5.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && P$(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Al(Gp(s.target));
|
|
s.target.setAttribute(Fp, u || i), c && s.target.setAttribute(Dp, c);
|
|
} else C$(s.target) && r(s.target);
|
|
});
|
|
}), Hr && Zs.observe(a, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function I$() {
|
|
Zs && Zs.disconnect();
|
|
}
|
|
function T$(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, a) => {
|
|
const o = a.split(":"), i = o[0], s = o.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function R$(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let a = Al(Gp(e));
|
|
return a.prefix || (a.prefix = Cn()), t && r && (a.prefix = t, a.iconName = r), a.iconName && a.prefix || (a.prefix && n.length > 0 && (a.iconName = i$(a.prefix, e.innerText) || Up(a.prefix, H0(e.innerText))), !a.iconName && ge.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (a.iconName = e.firstChild.data)), a;
|
|
}
|
|
function M$(e) {
|
|
const t = Qa(e.attributes).reduce((a, o) => (a.name !== "class" && a.name !== "style" && (a[o.name] = o.value), a), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ge.autoA11y && (r ? t["aria-labelledby"] = "".concat(ge.replacementClass, "-title-").concat(n || Mi()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function z$() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: cr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function Kh(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: a
|
|
} = R$(e), o = M$(e), i = sd("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? T$(e) : [];
|
|
return ne({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: cr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: a,
|
|
styles: s,
|
|
attributes: o
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: F$
|
|
} = ur;
|
|
function ix(e) {
|
|
const t = ge.autoReplaceSvg === "nest" ? Kh(e, {
|
|
styleParser: !1
|
|
}) : Kh(e);
|
|
return ~t.extra.classes.indexOf(D0) ? An("generateLayersText", e, t) : An("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function D$() {
|
|
return [...v5, ...ed];
|
|
}
|
|
function Xh(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Hr) return Promise.resolve();
|
|
const r = ut.documentElement.classList, n = (d) => r.add("".concat(zh, "-").concat(d)), a = (d) => r.remove("".concat(zh, "-").concat(d)), o = ge.autoFetchSvg ? D$() : j0.concat(Object.keys(F$));
|
|
o.includes("fa") || o.push("fa");
|
|
const i = [".".concat(D0, ":not([").concat(oa, "])")].concat(o.map((d) => ".".concat(d, ":not([").concat(oa, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Qa(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), a("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = Yp.begin("onTree"), c = s.reduce((d, p) => {
|
|
try {
|
|
const m = ix(p);
|
|
m && d.push(m);
|
|
} catch (m) {
|
|
z0 || m.name === "MissingIcon" && console.error(m);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, p) => {
|
|
Promise.all(c).then((m) => {
|
|
ax(m, () => {
|
|
n("active"), n("complete"), a("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((m) => {
|
|
u(), p(m);
|
|
});
|
|
});
|
|
}
|
|
function L$(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
ix(e).then((r) => {
|
|
r && ax([r], t);
|
|
});
|
|
}
|
|
function G$(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : ld(t || {});
|
|
let {
|
|
mask: a
|
|
} = r;
|
|
return a && (a = (a || {}).icon ? a : ld(a || {})), e(n, ne(ne({}, r), {}, {
|
|
mask: a
|
|
}));
|
|
};
|
|
}
|
|
const V$ = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = cr,
|
|
symbol: n = !1,
|
|
mask: a = null,
|
|
maskId: o = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: p,
|
|
iconName: m,
|
|
icon: w
|
|
} = e;
|
|
return $l(ne({
|
|
type: "icon"
|
|
}, e), () => (ia("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ge.autoA11y && (i ? c["aria-labelledby"] = "".concat(ge.replacementClass, "-title-").concat(s || Mi()) : (c["aria-hidden"] = "true", c.focusable = "false")), Hp({
|
|
icons: {
|
|
main: cd(w),
|
|
mask: a ? cd(a.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: p,
|
|
iconName: m,
|
|
transform: ne(ne({}, cr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: o,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var W$ = {
|
|
mixout() {
|
|
return {
|
|
icon: G$(V$)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Xh, e.nodeCallback = L$, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = ut,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Xh(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: a,
|
|
titleId: o,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: p
|
|
} = r;
|
|
return new Promise((m, w) => {
|
|
Promise.all([ud(n, i), c.iconName ? ud(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((_) => {
|
|
let [v, y] = _;
|
|
m([t, Hp({
|
|
icons: {
|
|
main: v,
|
|
mask: y
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: a,
|
|
titleId: o,
|
|
extra: p,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(w);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
transform: o,
|
|
styles: i
|
|
} = t;
|
|
const s = Pl(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return Vp(o) && (u = An("generateAbstractTransformGrouping", {
|
|
main: a,
|
|
transform: o,
|
|
containerWidth: a.width,
|
|
iconWidth: a.width
|
|
})), r.push(u || a.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, U$ = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return $l({
|
|
type: "layer"
|
|
}, () => {
|
|
ia("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((a) => {
|
|
Array.isArray(a) ? a.map((o) => {
|
|
n = n.concat(o.abstract);
|
|
}) : n = n.concat(a.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ge.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, H$ = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: a = {},
|
|
styles: o = {}
|
|
} = t;
|
|
return $l({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ia("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), _$({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: a,
|
|
styles: o,
|
|
classes: ["".concat(ge.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, Y$ = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = cr,
|
|
title: n = null,
|
|
classes: a = [],
|
|
attributes: o = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return $l({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ia("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Uh({
|
|
content: e,
|
|
transform: ne(ne({}, cr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: o,
|
|
styles: i,
|
|
classes: ["".concat(ge.cssPrefix, "-layers-text"), ...a]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: a,
|
|
extra: o
|
|
} = r;
|
|
let i = null, s = null;
|
|
if ($0) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return ge.autoA11y && !n && (o.attributes["aria-hidden"] = "true"), Promise.resolve([t, Uh({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: a,
|
|
title: n,
|
|
extra: o,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const q$ = new RegExp('"', "ug"), Jh = [1105920, 1112319], Qh = ne(ne(ne(ne({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), h5), I5), E5), pd = Object.keys(Qh).reduce((e, t) => (e[t.toLowerCase()] = Qh[t], e), {}), B$ = Object.keys(pd).reduce((e, t) => {
|
|
const r = pd[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function K$(e) {
|
|
const t = e.replace(q$, ""), r = t$(t, 0), n = r >= Jh[0] && r <= Jh[1], a = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: H0(a ? t[0] : t),
|
|
isSecondary: n || a
|
|
};
|
|
}
|
|
function X$(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), a = isNaN(n) ? "normal" : n;
|
|
return (pd[r] || {})[a] || B$[r];
|
|
}
|
|
function Zh(e, t) {
|
|
const r = "".concat(T5).concat(t.replace(":", "-"));
|
|
return new Promise((n, a) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const o = Qa(e.children).filter((p) => p.getAttribute(rd) === t)[0], i = Pn.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), u = s.match(D5), c = i.getPropertyValue("font-weight"), d = i.getPropertyValue("content");
|
|
if (o && !u)
|
|
return e.removeChild(o), n();
|
|
if (u && d !== "none" && d !== "") {
|
|
const p = i.getPropertyValue("content");
|
|
let m = X$(s, c);
|
|
const {
|
|
value: w,
|
|
isSecondary: _
|
|
} = K$(p), v = u[0].startsWith("FontAwesome");
|
|
let y = Up(m, w), k = y;
|
|
if (v) {
|
|
const P = s$(w);
|
|
P.iconName && P.prefix && (y = P.iconName, m = P.prefix);
|
|
}
|
|
if (y && !_ && (!o || o.getAttribute(Fp) !== m || o.getAttribute(Dp) !== k)) {
|
|
e.setAttribute(r, k), o && e.removeChild(o);
|
|
const P = z$(), {
|
|
extra: E
|
|
} = P;
|
|
E.attributes[rd] = t, ud(y, m).then((C) => {
|
|
const b = Hp(ne(ne({}, P), {}, {
|
|
icons: {
|
|
main: C,
|
|
mask: ex()
|
|
},
|
|
prefix: m,
|
|
iconName: k,
|
|
extra: E,
|
|
watchable: !0
|
|
})), Y = ut.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(Y, e.firstChild) : e.appendChild(Y), Y.outerHTML = b.map((q) => Bi(q)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(a);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function J$(e) {
|
|
return Promise.all([Zh(e, "::before"), Zh(e, "::after")]);
|
|
}
|
|
function Q$(e) {
|
|
return e.parentNode !== document.head && !~M5.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(rd) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function ey(e) {
|
|
if (Hr)
|
|
return new Promise((t, r) => {
|
|
const n = Qa(e.querySelectorAll("*")).filter(Q$).map(J$), a = Yp.begin("searchPseudoElements");
|
|
ox(), Promise.all(n).then(() => {
|
|
a(), dd(), t();
|
|
}).catch(() => {
|
|
a(), dd(), r();
|
|
});
|
|
});
|
|
}
|
|
var Z$ = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = ey, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = ut
|
|
} = t;
|
|
ge.searchPseudoElements && ey(r);
|
|
};
|
|
}
|
|
};
|
|
let ty = !1;
|
|
var e4 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
ox(), ty = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Bh(sd("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
I$();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
ty ? dd() : Bh(sd("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const ry = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const a = n.toLowerCase().split("-"), o = a[0];
|
|
let i = a.slice(1).join("-");
|
|
if (o && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (o && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (o) {
|
|
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 t4 = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => ry(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = ry(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: a,
|
|
iconWidth: o
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(a / 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)
|
|
}, p = {
|
|
transform: "translate(".concat(o / 2 * -1, " -256)")
|
|
}, m = {
|
|
outer: i,
|
|
inner: d,
|
|
path: p
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ne({}, m.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ne({}, m.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ne(ne({}, r.icon.attributes), m.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Eu = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function ny(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 r4(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var n4 = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Al(r.split(" ").map((a) => a.trim())) : ex();
|
|
return n.prefix || (n.prefix = Cn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
mask: o,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = a, {
|
|
width: d,
|
|
icon: p
|
|
} = o, m = K5({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), w = {
|
|
tag: "rect",
|
|
attributes: ne(ne({}, Eu), {}, {
|
|
fill: "white"
|
|
})
|
|
}, _ = c.children ? {
|
|
children: c.children.map(ny)
|
|
} : {}, v = {
|
|
tag: "g",
|
|
attributes: ne({}, m.inner),
|
|
children: [ny(ne({
|
|
tag: c.tag,
|
|
attributes: ne(ne({}, c.attributes), m.path)
|
|
}, _))]
|
|
}, y = {
|
|
tag: "g",
|
|
attributes: ne({}, m.outer),
|
|
children: [v]
|
|
}, k = "mask-".concat(i || Mi()), P = "clip-".concat(i || Mi()), E = {
|
|
tag: "mask",
|
|
attributes: ne(ne({}, Eu), {}, {
|
|
id: k,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [w, y]
|
|
}, C = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: P
|
|
},
|
|
children: r4(p)
|
|
}, E]
|
|
};
|
|
return r.push(C, {
|
|
tag: "rect",
|
|
attributes: ne({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(P, ")"),
|
|
mask: "url(#".concat(k, ")")
|
|
}, Eu)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, a4 = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Pn.matchMedia && (t = Pn.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, a = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: ne(ne({}, 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 o = ne(ne({}, a), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ne(ne({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ne(ne({}, a), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ne(ne({}, o), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ne(ne({}, 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: ne(ne({}, o), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ne(ne({}, 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: ne(ne({}, o), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, o4 = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, i4 = [Q5, W$, U$, H$, Y$, Z$, e4, t4, n4, a4, o4];
|
|
h$(i4, {
|
|
mixoutsTo: zt
|
|
});
|
|
zt.noAuto;
|
|
zt.config;
|
|
zt.library;
|
|
zt.dom;
|
|
const md = zt.parse;
|
|
zt.findIconDefinition;
|
|
zt.toHtml;
|
|
const s4 = zt.icon;
|
|
zt.layer;
|
|
zt.text;
|
|
zt.counter;
|
|
function l4(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var ds = { exports: {} }, Pu = { exports: {} }, Be = {};
|
|
/** @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 ay;
|
|
function c4() {
|
|
if (ay) return Be;
|
|
ay = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var Y = b.$$typeof;
|
|
switch (Y) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return Y;
|
|
}
|
|
}
|
|
case r:
|
|
return Y;
|
|
}
|
|
}
|
|
}
|
|
function C(b) {
|
|
return E(b) === c;
|
|
}
|
|
return Be.AsyncMode = u, Be.ConcurrentMode = c, Be.ContextConsumer = s, Be.ContextProvider = i, Be.Element = t, Be.ForwardRef = d, Be.Fragment = n, Be.Lazy = _, Be.Memo = w, Be.Portal = r, Be.Profiler = o, Be.StrictMode = a, Be.Suspense = p, Be.isAsyncMode = function(b) {
|
|
return C(b) || E(b) === u;
|
|
}, Be.isConcurrentMode = C, Be.isContextConsumer = function(b) {
|
|
return E(b) === s;
|
|
}, Be.isContextProvider = function(b) {
|
|
return E(b) === i;
|
|
}, Be.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Be.isForwardRef = function(b) {
|
|
return E(b) === d;
|
|
}, Be.isFragment = function(b) {
|
|
return E(b) === n;
|
|
}, Be.isLazy = function(b) {
|
|
return E(b) === _;
|
|
}, Be.isMemo = function(b) {
|
|
return E(b) === w;
|
|
}, Be.isPortal = function(b) {
|
|
return E(b) === r;
|
|
}, Be.isProfiler = function(b) {
|
|
return E(b) === o;
|
|
}, Be.isStrictMode = function(b) {
|
|
return E(b) === a;
|
|
}, Be.isSuspense = function(b) {
|
|
return E(b) === p;
|
|
}, Be.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === o || b === a || b === p || b === m || typeof b == "object" && b !== null && (b.$$typeof === _ || b.$$typeof === w || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === y || b.$$typeof === k || b.$$typeof === P || b.$$typeof === v);
|
|
}, Be.typeOf = E, Be;
|
|
}
|
|
var Ze = {};
|
|
/** @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 oy;
|
|
function u4() {
|
|
return oy || (oy = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(S) {
|
|
return typeof S == "string" || typeof S == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
S === n || S === c || S === o || S === a || S === p || S === m || typeof S == "object" && S !== null && (S.$$typeof === _ || S.$$typeof === w || S.$$typeof === i || S.$$typeof === s || S.$$typeof === d || S.$$typeof === y || S.$$typeof === k || S.$$typeof === P || S.$$typeof === v);
|
|
}
|
|
function C(S) {
|
|
if (typeof S == "object" && S !== null) {
|
|
var ye = S.$$typeof;
|
|
switch (ye) {
|
|
case t:
|
|
var We = S.type;
|
|
switch (We) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return We;
|
|
default:
|
|
var gt = We && We.$$typeof;
|
|
switch (gt) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return gt;
|
|
default:
|
|
return ye;
|
|
}
|
|
}
|
|
case r:
|
|
return ye;
|
|
}
|
|
}
|
|
}
|
|
var b = u, Y = c, q = s, Z = i, ie = t, Q = d, J = n, D = _, ce = w, V = r, I = o, R = a, j = p, U = !1;
|
|
function B(S) {
|
|
return U || (U = !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.")), h(S) || C(S) === u;
|
|
}
|
|
function h(S) {
|
|
return C(S) === c;
|
|
}
|
|
function f(S) {
|
|
return C(S) === s;
|
|
}
|
|
function x(S) {
|
|
return C(S) === i;
|
|
}
|
|
function N(S) {
|
|
return typeof S == "object" && S !== null && S.$$typeof === t;
|
|
}
|
|
function $(S) {
|
|
return C(S) === d;
|
|
}
|
|
function T(S) {
|
|
return C(S) === n;
|
|
}
|
|
function z(S) {
|
|
return C(S) === _;
|
|
}
|
|
function M(S) {
|
|
return C(S) === w;
|
|
}
|
|
function L(S) {
|
|
return C(S) === r;
|
|
}
|
|
function F(S) {
|
|
return C(S) === o;
|
|
}
|
|
function G(S) {
|
|
return C(S) === a;
|
|
}
|
|
function le(S) {
|
|
return C(S) === p;
|
|
}
|
|
Ze.AsyncMode = b, Ze.ConcurrentMode = Y, Ze.ContextConsumer = q, Ze.ContextProvider = Z, Ze.Element = ie, Ze.ForwardRef = Q, Ze.Fragment = J, Ze.Lazy = D, Ze.Memo = ce, Ze.Portal = V, Ze.Profiler = I, Ze.StrictMode = R, Ze.Suspense = j, Ze.isAsyncMode = B, Ze.isConcurrentMode = h, Ze.isContextConsumer = f, Ze.isContextProvider = x, Ze.isElement = N, Ze.isForwardRef = $, Ze.isFragment = T, Ze.isLazy = z, Ze.isMemo = M, Ze.isPortal = L, Ze.isProfiler = F, Ze.isStrictMode = G, Ze.isSuspense = le, Ze.isValidElementType = E, Ze.typeOf = C;
|
|
}()), Ze;
|
|
}
|
|
var iy;
|
|
function sx() {
|
|
return iy || (iy = 1, process.env.NODE_ENV === "production" ? Pu.exports = c4() : Pu.exports = u4()), Pu.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Cu, sy;
|
|
function f4() {
|
|
if (sy) return Cu;
|
|
sy = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(o) {
|
|
if (o == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(o);
|
|
}
|
|
function a() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var o = new String("abc");
|
|
if (o[5] = "de", Object.getOwnPropertyNames(o)[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 Cu = a() ? Object.assign : function(o, i) {
|
|
for (var s, u = n(o), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var p in s)
|
|
t.call(s, p) && (u[p] = s[p]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var m = 0; m < c.length; m++)
|
|
r.call(s, c[m]) && (u[c[m]] = s[c[m]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, Cu;
|
|
}
|
|
var Au, ly;
|
|
function Bp() {
|
|
if (ly) return Au;
|
|
ly = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Au = e, Au;
|
|
}
|
|
var cy, uy;
|
|
function lx() {
|
|
return uy || (uy = 1, cy = Function.call.bind(Object.prototype.hasOwnProperty)), cy;
|
|
}
|
|
var $u, fy;
|
|
function d4() {
|
|
if (fy) return $u;
|
|
fy = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Bp(), r = {}, n = /* @__PURE__ */ lx();
|
|
e = function(o) {
|
|
var i = "Warning: " + o;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function a(o, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in o)
|
|
if (n(o, d)) {
|
|
var p;
|
|
try {
|
|
if (typeof o[d] != "function") {
|
|
var m = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw m.name = "Invariant Violation", m;
|
|
}
|
|
p = o[d](i, d, u, s, null, t);
|
|
} catch (_) {
|
|
p = _;
|
|
}
|
|
if (p && !(p 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 p + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), p instanceof Error && !(p.message in r)) {
|
|
r[p.message] = !0;
|
|
var w = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + p.message + (w ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return a.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, $u = a, $u;
|
|
}
|
|
var Nu, dy;
|
|
function p4() {
|
|
if (dy) return Nu;
|
|
dy = 1;
|
|
var e = sx(), t = f4(), r = /* @__PURE__ */ Bp(), n = /* @__PURE__ */ lx(), a = /* @__PURE__ */ d4(), o = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (o = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Nu = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function p(h) {
|
|
var f = h && (c && h[c] || h[d]);
|
|
if (typeof f == "function")
|
|
return f;
|
|
}
|
|
var m = "<<anonymous>>", w = {
|
|
array: k("array"),
|
|
bigint: k("bigint"),
|
|
bool: k("boolean"),
|
|
func: k("function"),
|
|
number: k("number"),
|
|
object: k("object"),
|
|
string: k("string"),
|
|
symbol: k("symbol"),
|
|
any: P(),
|
|
arrayOf: E,
|
|
element: C(),
|
|
elementType: b(),
|
|
instanceOf: Y,
|
|
node: Q(),
|
|
objectOf: Z,
|
|
oneOf: q,
|
|
oneOfType: ie,
|
|
shape: D,
|
|
exact: ce
|
|
};
|
|
function _(h, f) {
|
|
return h === f ? h !== 0 || 1 / h === 1 / f : h !== h && f !== f;
|
|
}
|
|
function v(h, f) {
|
|
this.message = h, this.data = f && typeof f == "object" ? f : {}, this.stack = "";
|
|
}
|
|
v.prototype = Error.prototype;
|
|
function y(h) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var f = {}, x = 0;
|
|
function N(T, z, M, L, F, G, le) {
|
|
if (L = L || m, G = G || M, le !== r) {
|
|
if (u) {
|
|
var S = 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 S.name = "Invariant Violation", S;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var ye = L + ":" + M;
|
|
!f[ye] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
x < 3 && (o(
|
|
"You are manually calling a React.PropTypes validation function for the `" + G + "` prop on `" + L + "`. 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."
|
|
), f[ye] = !0, x++);
|
|
}
|
|
}
|
|
return z[M] == null ? T ? z[M] === null ? new v("The " + F + " `" + G + "` is marked as required " + ("in `" + L + "`, but its value is `null`.")) : new v("The " + F + " `" + G + "` is marked as required in " + ("`" + L + "`, but its value is `undefined`.")) : null : h(z, M, L, F, G);
|
|
}
|
|
var $ = N.bind(null, !1);
|
|
return $.isRequired = N.bind(null, !0), $;
|
|
}
|
|
function k(h) {
|
|
function f(x, N, $, T, z, M) {
|
|
var L = x[N], F = R(L);
|
|
if (F !== h) {
|
|
var G = j(L);
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` of type " + ("`" + G + "` supplied to `" + $ + "`, expected ") + ("`" + h + "`."),
|
|
{ expectedType: h }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function P() {
|
|
return y(i);
|
|
}
|
|
function E(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside arrayOf.");
|
|
var M = x[N];
|
|
if (!Array.isArray(M)) {
|
|
var L = R(M);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an array."));
|
|
}
|
|
for (var F = 0; F < M.length; F++) {
|
|
var G = h(M, F, $, T, z + "[" + F + "]", r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function C() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!s(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function b() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!e.isValidElementType(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function Y(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (!(x[N] instanceof h)) {
|
|
var M = h.name || m, L = B(x[N]);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected ") + ("instance of `" + M + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function q(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
|
|
"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])."
|
|
) : o("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function f(x, N, $, T, z) {
|
|
for (var M = x[N], L = 0; L < h.length; L++)
|
|
if (_(M, h[L]))
|
|
return null;
|
|
var F = JSON.stringify(h, function(G, le) {
|
|
var S = j(le);
|
|
return S === "symbol" ? String(le) : le;
|
|
});
|
|
return new v("Invalid " + T + " `" + z + "` of value `" + String(M) + "` " + ("supplied to `" + $ + "`, expected one of " + F + "."));
|
|
}
|
|
return y(f);
|
|
}
|
|
function Z(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside objectOf.");
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an object."));
|
|
for (var F in M)
|
|
if (n(M, F)) {
|
|
var G = h(M, F, $, T, z + "." + F, r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ie(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var f = 0; f < h.length; f++) {
|
|
var x = h[f];
|
|
if (typeof x != "function")
|
|
return o(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + U(x) + " at index " + f + "."
|
|
), i;
|
|
}
|
|
function N($, T, z, M, L) {
|
|
for (var F = [], G = 0; G < h.length; G++) {
|
|
var le = h[G], S = le($, T, z, M, L, r);
|
|
if (S == null)
|
|
return null;
|
|
S.data && n(S.data, "expectedType") && F.push(S.data.expectedType);
|
|
}
|
|
var ye = F.length > 0 ? ", expected one of type [" + F.join(", ") + "]" : "";
|
|
return new v("Invalid " + M + " `" + L + "` supplied to " + ("`" + z + "`" + ye + "."));
|
|
}
|
|
return y(N);
|
|
}
|
|
function Q() {
|
|
function h(f, x, N, $, T) {
|
|
return V(f[x]) ? null : new v("Invalid " + $ + " `" + T + "` supplied to " + ("`" + N + "`, expected a ReactNode."));
|
|
}
|
|
return y(h);
|
|
}
|
|
function J(h, f, x, N, $) {
|
|
return new v(
|
|
(h || "React class") + ": " + f + " type `" + x + "." + N + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + $ + "`."
|
|
);
|
|
}
|
|
function D(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
for (var F in h) {
|
|
var G = h[F];
|
|
if (typeof G != "function")
|
|
return J($, T, z, F, j(G));
|
|
var le = G(M, F, $, T, z + "." + F, r);
|
|
if (le)
|
|
return le;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ce(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
var F = t({}, x[N], h);
|
|
for (var G in F) {
|
|
var le = h[G];
|
|
if (n(h, G) && typeof le != "function")
|
|
return J($, T, z, G, j(le));
|
|
if (!le)
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` key `" + G + "` supplied to `" + $ + "`.\nBad object: " + JSON.stringify(x[N], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(h), null, " ")
|
|
);
|
|
var S = le(M, G, $, T, z + "." + G, r);
|
|
if (S)
|
|
return S;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function V(h) {
|
|
switch (typeof h) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !h;
|
|
case "object":
|
|
if (Array.isArray(h))
|
|
return h.every(V);
|
|
if (h === null || s(h))
|
|
return !0;
|
|
var f = p(h);
|
|
if (f) {
|
|
var x = f.call(h), N;
|
|
if (f !== h.entries) {
|
|
for (; !(N = x.next()).done; )
|
|
if (!V(N.value))
|
|
return !1;
|
|
} else
|
|
for (; !(N = x.next()).done; ) {
|
|
var $ = N.value;
|
|
if ($ && !V($[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function I(h, f) {
|
|
return h === "symbol" ? !0 : f ? f["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && f instanceof Symbol : !1;
|
|
}
|
|
function R(h) {
|
|
var f = typeof h;
|
|
return Array.isArray(h) ? "array" : h instanceof RegExp ? "object" : I(f, h) ? "symbol" : f;
|
|
}
|
|
function j(h) {
|
|
if (typeof h > "u" || h === null)
|
|
return "" + h;
|
|
var f = R(h);
|
|
if (f === "object") {
|
|
if (h instanceof Date)
|
|
return "date";
|
|
if (h instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return f;
|
|
}
|
|
function U(h) {
|
|
var f = j(h);
|
|
switch (f) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + f;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + f;
|
|
default:
|
|
return f;
|
|
}
|
|
}
|
|
function B(h) {
|
|
return !h.constructor || !h.constructor.name ? m : h.constructor.name;
|
|
}
|
|
return w.checkPropTypes = a, w.resetWarningCache = a.resetWarningCache, w.PropTypes = w, w;
|
|
}, Nu;
|
|
}
|
|
var ju, py;
|
|
function m4() {
|
|
if (py) return ju;
|
|
py = 1;
|
|
var e = /* @__PURE__ */ Bp();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, ju = function() {
|
|
function n(i, s, u, c, d, p) {
|
|
if (p !== e) {
|
|
var m = 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 m.name = "Invariant Violation", m;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function a() {
|
|
return n;
|
|
}
|
|
var o = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: a,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: a,
|
|
node: n,
|
|
objectOf: a,
|
|
oneOf: a,
|
|
oneOfType: a,
|
|
shape: a,
|
|
exact: a,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return o.PropTypes = o, o;
|
|
}, ju;
|
|
}
|
|
var my;
|
|
function g4() {
|
|
if (my) return ds.exports;
|
|
if (my = 1, process.env.NODE_ENV !== "production") {
|
|
var e = sx(), t = !0;
|
|
ds.exports = /* @__PURE__ */ p4()(e.isElement, t);
|
|
} else
|
|
ds.exports = /* @__PURE__ */ m4()();
|
|
return ds.exports;
|
|
}
|
|
var h4 = /* @__PURE__ */ g4();
|
|
const ze = /* @__PURE__ */ l4(h4);
|
|
function gy(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function rr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? gy(Object(r), !0).forEach(function(n) {
|
|
Oa(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : gy(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function el(e) {
|
|
"@babel/helpers - typeof";
|
|
return el = 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;
|
|
}, el(e);
|
|
}
|
|
function Oa(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function y4(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), a, o;
|
|
for (o = 0; o < n.length; o++)
|
|
a = n[o], !(t.indexOf(a) >= 0) && (r[a] = e[a]);
|
|
return r;
|
|
}
|
|
function b4(e, t) {
|
|
if (e == null) return {};
|
|
var r = y4(e, t), n, a;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
for (a = 0; a < o.length; a++)
|
|
n = o[a], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function gd(e) {
|
|
return v4(e) || x4(e) || w4(e) || k4();
|
|
}
|
|
function v4(e) {
|
|
if (Array.isArray(e)) return hd(e);
|
|
}
|
|
function x4(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function w4(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return hd(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 hd(e, t);
|
|
}
|
|
}
|
|
function hd(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 k4() {
|
|
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 _4(e) {
|
|
var t, r = e.beat, n = e.fade, a = e.beatFade, o = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, p = e.pulse, m = e.fixedWidth, w = e.inverse, _ = e.border, v = e.listItem, y = e.flip, k = e.size, P = e.rotation, E = e.pull, C = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": a,
|
|
"fa-bounce": o,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": p,
|
|
"fa-fw": m,
|
|
"fa-inverse": w,
|
|
"fa-border": _,
|
|
"fa-li": v,
|
|
"fa-flip": y === !0,
|
|
"fa-flip-horizontal": y === "horizontal" || y === "both",
|
|
"fa-flip-vertical": y === "vertical" || y === "both"
|
|
}, Oa(t, "fa-".concat(k), typeof k < "u" && k !== null), Oa(t, "fa-rotate-".concat(P), typeof P < "u" && P !== null && P !== 0), Oa(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Oa(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(C).map(function(b) {
|
|
return C[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function O4(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function cx(e) {
|
|
return O4(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var S4 = ["style"];
|
|
function E4(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function P4(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), a = cx(r.slice(0, n)), o = r.slice(n + 1).trim();
|
|
return a.startsWith("webkit") ? t[E4(a)] = o : t[a] = o, t;
|
|
}, {});
|
|
}
|
|
function ux(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 ux(e, u);
|
|
}), a = 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 = P4(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[cx(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), o = r.style, i = o === void 0 ? {} : o, s = b4(r, S4);
|
|
return a.attrs.style = rr(rr({}, a.attrs.style), i), e.apply(void 0, [t.tag, rr(rr({}, a.attrs), s)].concat(gd(n)));
|
|
}
|
|
var fx = !1;
|
|
try {
|
|
fx = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function C4() {
|
|
if (!fx && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function hy(e) {
|
|
if (e && el(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (md.icon)
|
|
return md.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && el(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 Iu(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Oa({}, e, t) : {};
|
|
}
|
|
var yy = {
|
|
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
|
|
}, At = /* @__PURE__ */ He.forwardRef(function(e, t) {
|
|
var r = rr(rr({}, yy), e), n = r.icon, a = r.mask, o = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = hy(n), p = Iu("classes", [].concat(gd(_4(r)), gd((i || "").split(" ")))), m = Iu("transform", typeof r.transform == "string" ? md.transform(r.transform) : r.transform), w = Iu("mask", hy(a)), _ = s4(d, rr(rr(rr(rr({}, p), m), w), {}, {
|
|
symbol: o,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!_)
|
|
return C4("Could not find icon", d), null;
|
|
var v = _.abstract, y = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(k) {
|
|
yy.hasOwnProperty(k) || (y[k] = r[k]);
|
|
}), A4(v[0], y);
|
|
});
|
|
At.displayName = "FontAwesomeIcon";
|
|
At.propTypes = {
|
|
beat: ze.bool,
|
|
border: ze.bool,
|
|
beatFade: ze.bool,
|
|
bounce: ze.bool,
|
|
className: ze.string,
|
|
fade: ze.bool,
|
|
flash: ze.bool,
|
|
mask: ze.oneOfType([ze.object, ze.array, ze.string]),
|
|
maskId: ze.string,
|
|
fixedWidth: ze.bool,
|
|
inverse: ze.bool,
|
|
flip: ze.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: ze.oneOfType([ze.object, ze.array, ze.string]),
|
|
listItem: ze.bool,
|
|
pull: ze.oneOf(["right", "left"]),
|
|
pulse: ze.bool,
|
|
rotation: ze.oneOf([0, 90, 180, 270]),
|
|
shake: ze.bool,
|
|
size: ze.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: ze.bool,
|
|
spinPulse: ze.bool,
|
|
spinReverse: ze.bool,
|
|
symbol: ze.oneOfType([ze.bool, ze.string]),
|
|
title: ze.string,
|
|
titleId: ze.string,
|
|
transform: ze.oneOfType([ze.string, ze.object]),
|
|
swapOpacity: ze.bool
|
|
};
|
|
var A4 = ux.bind(null, He.createElement);
|
|
const Kp = "-", $4 = (e) => {
|
|
const t = j4(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (a) => {
|
|
const o = a.split(Kp);
|
|
return o[0] === "" && o.length !== 1 && o.shift(), dx(o, t) || N4(a);
|
|
},
|
|
getConflictingClassGroupIds: (a, o) => {
|
|
const i = r[a] || [];
|
|
return o && n[a] ? [...i, ...n[a]] : i;
|
|
}
|
|
};
|
|
}, dx = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], a = t.nextPart.get(n), o = a ? dx(e.slice(1), a) : void 0;
|
|
if (o)
|
|
return o;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Kp);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, by = /^\[(.+)\]$/, N4 = (e) => {
|
|
if (by.test(e)) {
|
|
const t = by.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, j4 = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return T4(Object.entries(e.classGroups), r).forEach(([a, o]) => {
|
|
yd(o, n, a, t);
|
|
}), n;
|
|
}, yd = (e, t, r, n) => {
|
|
e.forEach((a) => {
|
|
if (typeof a == "string") {
|
|
const o = a === "" ? t : vy(t, a);
|
|
o.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof a == "function") {
|
|
if (I4(a)) {
|
|
yd(a(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: a,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(a).forEach(([o, i]) => {
|
|
yd(i, vy(t, o), r, n);
|
|
});
|
|
});
|
|
}, vy = (e, t) => {
|
|
let r = e;
|
|
return t.split(Kp).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, I4 = (e) => e.isThemeGetter, T4 = (e, t) => t ? e.map(([r, n]) => {
|
|
const a = n.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
|
|
return [r, a];
|
|
}) : e, R4 = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const a = (o, i) => {
|
|
r.set(o, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(o) {
|
|
let i = r.get(o);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(o)) !== void 0)
|
|
return a(o, i), i;
|
|
},
|
|
set(o, i) {
|
|
r.has(o) ? r.set(o, i) : a(o, i);
|
|
}
|
|
};
|
|
}, px = "!", M4 = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, a = t[0], o = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, p;
|
|
for (let y = 0; y < s.length; y++) {
|
|
let k = s[y];
|
|
if (c === 0) {
|
|
if (k === a && (n || s.slice(y, y + o) === t)) {
|
|
u.push(s.slice(d, y)), d = y + o;
|
|
continue;
|
|
}
|
|
if (k === "/") {
|
|
p = y;
|
|
continue;
|
|
}
|
|
}
|
|
k === "[" ? c++ : k === "]" && c--;
|
|
}
|
|
const m = u.length === 0 ? s : s.substring(d), w = m.startsWith(px), _ = w ? m.substring(1) : m, v = p && p > d ? p - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: w,
|
|
baseClassName: _,
|
|
maybePostfixModifierPosition: v
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, z4 = (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;
|
|
}, F4 = (e) => ({
|
|
cache: R4(e.cacheSize),
|
|
parseClassName: M4(e),
|
|
...$4(e)
|
|
}), D4 = /\s+/, L4 = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: a
|
|
} = t, o = [], i = e.trim().split(D4);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: p,
|
|
baseClassName: m,
|
|
maybePostfixModifierPosition: w
|
|
} = r(c);
|
|
let _ = !!w, v = n(_ ? m.substring(0, w) : m);
|
|
if (!v) {
|
|
if (!_) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (v = n(m), !v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
_ = !1;
|
|
}
|
|
const y = z4(d).join(":"), k = p ? y + px : y, P = k + v;
|
|
if (o.includes(P))
|
|
continue;
|
|
o.push(P);
|
|
const E = a(v, _);
|
|
for (let C = 0; C < E.length; ++C) {
|
|
const b = E[C];
|
|
o.push(k + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function G4() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = mx(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const mx = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = mx(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function V4(e, ...t) {
|
|
let r, n, a, o = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, p) => p(d), e());
|
|
return r = F4(c), n = r.cache.get, a = r.cache.set, o = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = L4(u, r);
|
|
return a(u, d), d;
|
|
}
|
|
return function() {
|
|
return o(G4.apply(null, arguments));
|
|
};
|
|
}
|
|
const at = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, gx = /^\[(?:([a-z-]+):)?(.+)\]$/i, W4 = /^\d+\/\d+$/, U4 = /* @__PURE__ */ new Set(["px", "full", "screen"]), H4 = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Y4 = /\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$/, q4 = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, B4 = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, K4 = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Pr = (e) => Ra(e) || U4.has(e) || W4.test(e), tn = (e) => Za(e, "length", n3), Ra = (e) => !!e && !Number.isNaN(Number(e)), Tu = (e) => Za(e, "number", Ra), Yo = (e) => !!e && Number.isInteger(Number(e)), X4 = (e) => e.endsWith("%") && Ra(e.slice(0, -1)), Ce = (e) => gx.test(e), rn = (e) => H4.test(e), J4 = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Q4 = (e) => Za(e, J4, hx), Z4 = (e) => Za(e, "position", hx), e3 = /* @__PURE__ */ new Set(["image", "url"]), t3 = (e) => Za(e, e3, o3), r3 = (e) => Za(e, "", a3), qo = () => !0, Za = (e, t, r) => {
|
|
const n = gx.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, n3 = (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.
|
|
Y4.test(e) && !q4.test(e)
|
|
), hx = () => !1, a3 = (e) => B4.test(e), o3 = (e) => K4.test(e), i3 = () => {
|
|
const e = at("colors"), t = at("spacing"), r = at("blur"), n = at("brightness"), a = at("borderColor"), o = at("borderRadius"), i = at("borderSpacing"), s = at("borderWidth"), u = at("contrast"), c = at("grayscale"), d = at("hueRotate"), p = at("invert"), m = at("gap"), w = at("gradientColorStops"), _ = at("gradientColorStopPositions"), v = at("inset"), y = at("margin"), k = at("opacity"), P = at("padding"), E = at("saturate"), C = at("scale"), b = at("sepia"), Y = at("skew"), q = at("space"), Z = at("translate"), ie = () => ["auto", "contain", "none"], Q = () => ["auto", "hidden", "clip", "visible", "scroll"], J = () => ["auto", Ce, t], D = () => [Ce, t], ce = () => ["", Pr, tn], V = () => ["auto", Ra, Ce], I = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], R = () => ["solid", "dashed", "dotted", "double", "none"], j = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], U = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], B = () => ["", "0", Ce], h = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], f = () => [Ra, Ce];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [qo],
|
|
spacing: [Pr, tn],
|
|
blur: ["none", "", rn, Ce],
|
|
brightness: f(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", rn, Ce],
|
|
borderSpacing: D(),
|
|
borderWidth: ce(),
|
|
contrast: f(),
|
|
grayscale: B(),
|
|
hueRotate: f(),
|
|
invert: B(),
|
|
gap: D(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [X4, tn],
|
|
inset: J(),
|
|
margin: J(),
|
|
opacity: f(),
|
|
padding: D(),
|
|
saturate: f(),
|
|
scale: f(),
|
|
sepia: B(),
|
|
skew: f(),
|
|
space: D(),
|
|
translate: D()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Ce]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [rn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": h()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": h()
|
|
}],
|
|
/**
|
|
* 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: [...I(), Ce]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: Q()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": Q()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": Q()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": ie()
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [v]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [v]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [v]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [v]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [v]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [v]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [v]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [v]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Yo, Ce]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: J()
|
|
}],
|
|
/**
|
|
* 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", Ce]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: B()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: B()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Yo, Ce]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [qo]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Yo, Ce]
|
|
}, Ce]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": V()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": V()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [qo]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Yo, Ce]
|
|
}, Ce]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": V()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": V()
|
|
}],
|
|
/**
|
|
* 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", Ce]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Ce]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [m]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [m]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [m]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...U()]
|
|
}],
|
|
/**
|
|
* 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", ...U(), "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": [...U(), "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: [P]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [P]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [P]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [P]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [P]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [P]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [P]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [P]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [P]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [y]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [y]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [y]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [y]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [y]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [y]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [y]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [y]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [y]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [q]
|
|
}],
|
|
/**
|
|
* 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": [q]
|
|
}],
|
|
/**
|
|
* 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", Ce, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Ce, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Ce, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [rn]
|
|
}, rn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Ce, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Ce, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Ce, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Ce, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", rn, tn]
|
|
}],
|
|
/**
|
|
* 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", Tu]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [qo]
|
|
}],
|
|
/**
|
|
* 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", Ce]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Ra, Tu]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Pr, Ce]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Ce]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Ce]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...R(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Pr, tn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Pr, Ce]
|
|
}],
|
|
/**
|
|
* 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: D()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ce]
|
|
}],
|
|
/**
|
|
* 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", Ce]
|
|
}],
|
|
// 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...I(), Z4]
|
|
}],
|
|
/**
|
|
* 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", Q4]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, t3]
|
|
}],
|
|
/**
|
|
* 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: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [w]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [o]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...R(), "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": [k]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: R()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [a]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [a]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [a]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [a]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [a]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [a]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [a]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [a]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [a]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [a]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...R()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Pr, Ce]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Pr, tn]
|
|
}],
|
|
/**
|
|
* 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: ce()
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Pr, tn]
|
|
}],
|
|
/**
|
|
* 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", rn, r3]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [qo]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [k]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...j(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": j()
|
|
}],
|
|
// 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", rn, Ce]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [E]
|
|
}],
|
|
/**
|
|
* 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": [p]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [k]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [E]
|
|
}],
|
|
/**
|
|
* 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", Ce]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: f()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Ce]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: f()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Ce]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [C]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [C]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [C]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Yo, Ce]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [Z]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [Z]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [Y]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [Y]
|
|
}],
|
|
/**
|
|
* 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", Ce]
|
|
}],
|
|
// 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", Ce]
|
|
}],
|
|
/**
|
|
* 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": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": D()
|
|
}],
|
|
/**
|
|
* 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", Ce]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Pr, tn, Tu]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, xy = /* @__PURE__ */ V4(i3);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const ha = {
|
|
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"]
|
|
}, ps = ({
|
|
icon: e,
|
|
iconClassName: t,
|
|
children: r,
|
|
className: n,
|
|
htmlFor: a,
|
|
variant: o = "primary",
|
|
disabled: i,
|
|
iconFlip: s = !1,
|
|
loading: u,
|
|
as: c = "button",
|
|
href: d,
|
|
target: p,
|
|
...m
|
|
}) => {
|
|
function w(y) {
|
|
switch (y) {
|
|
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 _ = xy(
|
|
i || u ? "opacity-50 pointer-events-none" : ""
|
|
), v = xy(
|
|
"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",
|
|
w(o),
|
|
n,
|
|
_
|
|
);
|
|
return a ? /* @__PURE__ */ Le("label", { className: v, htmlFor: a, style: m.style, children: [
|
|
u && !s ? /* @__PURE__ */ X(At, { icon: ha, className: "animate-spin" }) : /* @__PURE__ */ X(Ht, { children: e && !s ? /* @__PURE__ */ X(At, { icon: e, className: t }) : null }),
|
|
r,
|
|
u && s ? /* @__PURE__ */ X(At, { icon: ha, className: "animate-spin" }) : /* @__PURE__ */ X(Ht, { children: e && s ? /* @__PURE__ */ X(At, { icon: e, className: t }) : null })
|
|
] }) : c === "link" && d ? /* @__PURE__ */ Le(
|
|
"a",
|
|
{
|
|
href: d,
|
|
className: v,
|
|
style: m.style,
|
|
...m,
|
|
target: p,
|
|
children: [
|
|
u && !s ? /* @__PURE__ */ X(At, { icon: ha, className: "animate-spin" }) : /* @__PURE__ */ X(Ht, { children: e && !s ? /* @__PURE__ */ X(At, { icon: e, className: t }) : null }),
|
|
r,
|
|
u && s ? /* @__PURE__ */ X(At, { icon: ha, className: "animate-spin" }) : /* @__PURE__ */ X(Ht, { children: e && s ? /* @__PURE__ */ X(At, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Le(
|
|
"button",
|
|
{
|
|
className: v,
|
|
disabled: i || u,
|
|
...m,
|
|
htmlFor: a,
|
|
children: [
|
|
u && !s ? /* @__PURE__ */ X(At, { icon: ha, className: "animate-spin" }) : /* @__PURE__ */ X(Ht, { children: e && !s ? /* @__PURE__ */ X(At, { icon: e, className: t }) : null }),
|
|
r,
|
|
u && s ? /* @__PURE__ */ X(At, { icon: ha, className: "animate-spin" }) : /* @__PURE__ */ X(Ht, { children: e && s ? /* @__PURE__ */ X(At, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
);
|
|
};
|
|
var Is = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Is || {});
|
|
Is.FEATURED, Is.MINE, Is.BOOKMARKED;
|
|
function yx(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Ts = { exports: {} }, s3 = Ts.exports, wy;
|
|
function l3() {
|
|
return wy || (wy = 1, function(e, t) {
|
|
(function(r, n) {
|
|
e.exports = n();
|
|
})(s3, function() {
|
|
var r = 1e3, n = 6e4, a = 36e5, o = "millisecond", i = "second", s = "minute", u = "hour", c = "day", d = "week", p = "month", m = "quarter", w = "year", _ = "date", v = "Invalid Date", y = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, k = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, P = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(V) {
|
|
var I = ["th", "st", "nd", "rd"], R = V % 100;
|
|
return "[" + V + (I[(R - 20) % 10] || I[R] || I[0]) + "]";
|
|
} }, E = function(V, I, R) {
|
|
var j = String(V);
|
|
return !j || j.length >= I ? V : "" + Array(I + 1 - j.length).join(R) + V;
|
|
}, C = { s: E, z: function(V) {
|
|
var I = -V.utcOffset(), R = Math.abs(I), j = Math.floor(R / 60), U = R % 60;
|
|
return (I <= 0 ? "+" : "-") + E(j, 2, "0") + ":" + E(U, 2, "0");
|
|
}, m: function V(I, R) {
|
|
if (I.date() < R.date()) return -V(R, I);
|
|
var j = 12 * (R.year() - I.year()) + (R.month() - I.month()), U = I.clone().add(j, p), B = R - U < 0, h = I.clone().add(j + (B ? -1 : 1), p);
|
|
return +(-(j + (R - U) / (B ? U - h : h - U)) || 0);
|
|
}, a: function(V) {
|
|
return V < 0 ? Math.ceil(V) || 0 : Math.floor(V);
|
|
}, p: function(V) {
|
|
return { M: p, y: w, w: d, d: c, D: _, h: u, m: s, s: i, ms: o, Q: m }[V] || String(V || "").toLowerCase().replace(/s$/, "");
|
|
}, u: function(V) {
|
|
return V === void 0;
|
|
} }, b = "en", Y = {};
|
|
Y[b] = P;
|
|
var q = "$isDayjsObject", Z = function(V) {
|
|
return V instanceof D || !(!V || !V[q]);
|
|
}, ie = function V(I, R, j) {
|
|
var U;
|
|
if (!I) return b;
|
|
if (typeof I == "string") {
|
|
var B = I.toLowerCase();
|
|
Y[B] && (U = B), R && (Y[B] = R, U = B);
|
|
var h = I.split("-");
|
|
if (!U && h.length > 1) return V(h[0]);
|
|
} else {
|
|
var f = I.name;
|
|
Y[f] = I, U = f;
|
|
}
|
|
return !j && U && (b = U), U || !j && b;
|
|
}, Q = function(V, I) {
|
|
if (Z(V)) return V.clone();
|
|
var R = typeof I == "object" ? I : {};
|
|
return R.date = V, R.args = arguments, new D(R);
|
|
}, J = C;
|
|
J.l = ie, J.i = Z, J.w = function(V, I) {
|
|
return Q(V, { locale: I.$L, utc: I.$u, x: I.$x, $offset: I.$offset });
|
|
};
|
|
var D = function() {
|
|
function V(R) {
|
|
this.$L = ie(R.locale, null, !0), this.parse(R), this.$x = this.$x || R.x || {}, this[q] = !0;
|
|
}
|
|
var I = V.prototype;
|
|
return I.parse = function(R) {
|
|
this.$d = function(j) {
|
|
var U = j.date, B = j.utc;
|
|
if (U === null) return /* @__PURE__ */ new Date(NaN);
|
|
if (J.u(U)) return /* @__PURE__ */ new Date();
|
|
if (U instanceof Date) return new Date(U);
|
|
if (typeof U == "string" && !/Z$/i.test(U)) {
|
|
var h = U.match(y);
|
|
if (h) {
|
|
var f = h[2] - 1 || 0, x = (h[7] || "0").substring(0, 3);
|
|
return B ? new Date(Date.UTC(h[1], f, h[3] || 1, h[4] || 0, h[5] || 0, h[6] || 0, x)) : new Date(h[1], f, h[3] || 1, h[4] || 0, h[5] || 0, h[6] || 0, x);
|
|
}
|
|
}
|
|
return new Date(U);
|
|
}(R), this.init();
|
|
}, I.init = function() {
|
|
var R = this.$d;
|
|
this.$y = R.getFullYear(), this.$M = R.getMonth(), this.$D = R.getDate(), this.$W = R.getDay(), this.$H = R.getHours(), this.$m = R.getMinutes(), this.$s = R.getSeconds(), this.$ms = R.getMilliseconds();
|
|
}, I.$utils = function() {
|
|
return J;
|
|
}, I.isValid = function() {
|
|
return this.$d.toString() !== v;
|
|
}, I.isSame = function(R, j) {
|
|
var U = Q(R);
|
|
return this.startOf(j) <= U && U <= this.endOf(j);
|
|
}, I.isAfter = function(R, j) {
|
|
return Q(R) < this.startOf(j);
|
|
}, I.isBefore = function(R, j) {
|
|
return this.endOf(j) < Q(R);
|
|
}, I.$g = function(R, j, U) {
|
|
return J.u(R) ? this[j] : this.set(U, R);
|
|
}, I.unix = function() {
|
|
return Math.floor(this.valueOf() / 1e3);
|
|
}, I.valueOf = function() {
|
|
return this.$d.getTime();
|
|
}, I.startOf = function(R, j) {
|
|
var U = this, B = !!J.u(j) || j, h = J.p(R), f = function(F, G) {
|
|
var le = J.w(U.$u ? Date.UTC(U.$y, G, F) : new Date(U.$y, G, F), U);
|
|
return B ? le : le.endOf(c);
|
|
}, x = function(F, G) {
|
|
return J.w(U.toDate()[F].apply(U.toDate("s"), (B ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(G)), U);
|
|
}, N = this.$W, $ = this.$M, T = this.$D, z = "set" + (this.$u ? "UTC" : "");
|
|
switch (h) {
|
|
case w:
|
|
return B ? f(1, 0) : f(31, 11);
|
|
case p:
|
|
return B ? f(1, $) : f(0, $ + 1);
|
|
case d:
|
|
var M = this.$locale().weekStart || 0, L = (N < M ? N + 7 : N) - M;
|
|
return f(B ? T - L : T + (6 - L), $);
|
|
case c:
|
|
case _:
|
|
return x(z + "Hours", 0);
|
|
case u:
|
|
return x(z + "Minutes", 1);
|
|
case s:
|
|
return x(z + "Seconds", 2);
|
|
case i:
|
|
return x(z + "Milliseconds", 3);
|
|
default:
|
|
return this.clone();
|
|
}
|
|
}, I.endOf = function(R) {
|
|
return this.startOf(R, !1);
|
|
}, I.$set = function(R, j) {
|
|
var U, B = J.p(R), h = "set" + (this.$u ? "UTC" : ""), f = (U = {}, U[c] = h + "Date", U[_] = h + "Date", U[p] = h + "Month", U[w] = h + "FullYear", U[u] = h + "Hours", U[s] = h + "Minutes", U[i] = h + "Seconds", U[o] = h + "Milliseconds", U)[B], x = B === c ? this.$D + (j - this.$W) : j;
|
|
if (B === p || B === w) {
|
|
var N = this.clone().set(_, 1);
|
|
N.$d[f](x), N.init(), this.$d = N.set(_, Math.min(this.$D, N.daysInMonth())).$d;
|
|
} else f && this.$d[f](x);
|
|
return this.init(), this;
|
|
}, I.set = function(R, j) {
|
|
return this.clone().$set(R, j);
|
|
}, I.get = function(R) {
|
|
return this[J.p(R)]();
|
|
}, I.add = function(R, j) {
|
|
var U, B = this;
|
|
R = Number(R);
|
|
var h = J.p(j), f = function($) {
|
|
var T = Q(B);
|
|
return J.w(T.date(T.date() + Math.round($ * R)), B);
|
|
};
|
|
if (h === p) return this.set(p, this.$M + R);
|
|
if (h === w) return this.set(w, this.$y + R);
|
|
if (h === c) return f(1);
|
|
if (h === d) return f(7);
|
|
var x = (U = {}, U[s] = n, U[u] = a, U[i] = r, U)[h] || 1, N = this.$d.getTime() + R * x;
|
|
return J.w(N, this);
|
|
}, I.subtract = function(R, j) {
|
|
return this.add(-1 * R, j);
|
|
}, I.format = function(R) {
|
|
var j = this, U = this.$locale();
|
|
if (!this.isValid()) return U.invalidDate || v;
|
|
var B = R || "YYYY-MM-DDTHH:mm:ssZ", h = J.z(this), f = this.$H, x = this.$m, N = this.$M, $ = U.weekdays, T = U.months, z = U.meridiem, M = function(G, le, S, ye) {
|
|
return G && (G[le] || G(j, B)) || S[le].slice(0, ye);
|
|
}, L = function(G) {
|
|
return J.s(f % 12 || 12, G, "0");
|
|
}, F = z || function(G, le, S) {
|
|
var ye = G < 12 ? "AM" : "PM";
|
|
return S ? ye.toLowerCase() : ye;
|
|
};
|
|
return B.replace(k, function(G, le) {
|
|
return le || function(S) {
|
|
switch (S) {
|
|
case "YY":
|
|
return String(j.$y).slice(-2);
|
|
case "YYYY":
|
|
return J.s(j.$y, 4, "0");
|
|
case "M":
|
|
return N + 1;
|
|
case "MM":
|
|
return J.s(N + 1, 2, "0");
|
|
case "MMM":
|
|
return M(U.monthsShort, N, T, 3);
|
|
case "MMMM":
|
|
return M(T, N);
|
|
case "D":
|
|
return j.$D;
|
|
case "DD":
|
|
return J.s(j.$D, 2, "0");
|
|
case "d":
|
|
return String(j.$W);
|
|
case "dd":
|
|
return M(U.weekdaysMin, j.$W, $, 2);
|
|
case "ddd":
|
|
return M(U.weekdaysShort, j.$W, $, 3);
|
|
case "dddd":
|
|
return $[j.$W];
|
|
case "H":
|
|
return String(f);
|
|
case "HH":
|
|
return J.s(f, 2, "0");
|
|
case "h":
|
|
return L(1);
|
|
case "hh":
|
|
return L(2);
|
|
case "a":
|
|
return F(f, x, !0);
|
|
case "A":
|
|
return F(f, x, !1);
|
|
case "m":
|
|
return String(x);
|
|
case "mm":
|
|
return J.s(x, 2, "0");
|
|
case "s":
|
|
return String(j.$s);
|
|
case "ss":
|
|
return J.s(j.$s, 2, "0");
|
|
case "SSS":
|
|
return J.s(j.$ms, 3, "0");
|
|
case "Z":
|
|
return h;
|
|
}
|
|
return null;
|
|
}(G) || h.replace(":", "");
|
|
});
|
|
}, I.utcOffset = function() {
|
|
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
|
|
}, I.diff = function(R, j, U) {
|
|
var B, h = this, f = J.p(j), x = Q(R), N = (x.utcOffset() - this.utcOffset()) * n, $ = this - x, T = function() {
|
|
return J.m(h, x);
|
|
};
|
|
switch (f) {
|
|
case w:
|
|
B = T() / 12;
|
|
break;
|
|
case p:
|
|
B = T();
|
|
break;
|
|
case m:
|
|
B = T() / 3;
|
|
break;
|
|
case d:
|
|
B = ($ - N) / 6048e5;
|
|
break;
|
|
case c:
|
|
B = ($ - N) / 864e5;
|
|
break;
|
|
case u:
|
|
B = $ / a;
|
|
break;
|
|
case s:
|
|
B = $ / n;
|
|
break;
|
|
case i:
|
|
B = $ / r;
|
|
break;
|
|
default:
|
|
B = $;
|
|
}
|
|
return U ? B : J.a(B);
|
|
}, I.daysInMonth = function() {
|
|
return this.endOf(p).$D;
|
|
}, I.$locale = function() {
|
|
return Y[this.$L];
|
|
}, I.locale = function(R, j) {
|
|
if (!R) return this.$L;
|
|
var U = this.clone(), B = ie(R, j, !0);
|
|
return B && (U.$L = B), U;
|
|
}, I.clone = function() {
|
|
return J.w(this.$d, this);
|
|
}, I.toDate = function() {
|
|
return new Date(this.valueOf());
|
|
}, I.toJSON = function() {
|
|
return this.isValid() ? this.toISOString() : null;
|
|
}, I.toISOString = function() {
|
|
return this.$d.toISOString();
|
|
}, I.toString = function() {
|
|
return this.$d.toUTCString();
|
|
}, V;
|
|
}(), ce = D.prototype;
|
|
return Q.prototype = ce, [["$ms", o], ["$s", i], ["$m", s], ["$H", u], ["$W", c], ["$M", p], ["$y", w], ["$D", _]].forEach(function(V) {
|
|
ce[V[1]] = function(I) {
|
|
return this.$g(I, V[0], V[1]);
|
|
};
|
|
}), Q.extend = function(V, I) {
|
|
return V.$i || (V(I, D, Q), V.$i = !0), Q;
|
|
}, Q.locale = ie, Q.isDayjs = Z, Q.unix = function(V) {
|
|
return Q(1e3 * V);
|
|
}, Q.en = Y[b], Q.Ls = Y, Q.p = {}, Q;
|
|
});
|
|
}(Ts)), Ts.exports;
|
|
}
|
|
var c3 = l3();
|
|
const ky = /* @__PURE__ */ yx(c3);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const u3 = {
|
|
prefix: "fas",
|
|
iconName: "pencil",
|
|
icon: [512, 512, [9999, 61504, "pencil-alt"], "f303", "M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1L291.7 89.8l-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2L387.7 253.7 410.3 231zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9L59.4 452l23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1 0 32c0 8.8 7.2 16 16 16l32 0zM362.7 18.7L348.3 33.2 325.7 55.8 314.3 67.1l33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5L453.3 18.7c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"]
|
|
}, f3 = {
|
|
prefix: "fas",
|
|
iconName: "down-to-line",
|
|
icon: [384, 512, ["arrow-alt-to-bottom"], "f34a", "M342.1 249.9L219.3 372.7c-7.2 7.2-17.1 11.3-27.3 11.3s-20.1-4.1-27.3-11.3L41.9 249.9c-6.4-6.4-9.9-15-9.9-24C32 207.2 47.2 192 65.9 192l62.1 0 0-128c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 128 62.1 0c18.7 0 33.9 15.2 33.9 33.9c0 9-3.6 17.6-9.9 24zM32 416l320 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32z"]
|
|
}, d3 = {
|
|
prefix: "fas",
|
|
iconName: "copy",
|
|
icon: [448, 512, [], "f0c5", "M208 0L332.1 0c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9L448 336c0 26.5-21.5 48-48 48l-192 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48zM48 128l80 0 0 64-64 0 0 256 192 0 0-32 64 0 0 48c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 176c0-26.5 21.5-48 48-48z"]
|
|
};
|
|
async function p3(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
var bx = /* @__PURE__ */ ((e) => (e.Hunyuan3d2 = "hunyuan_3d_2", e.Hunyuan3d2_0 = "hunyuan_3d_2_0", e.Hunyuan3d2_1 = "hunyuan_3d_2_1", e))(bx || {});
|
|
const m3 = async (e) => await p3("enqueue_image_to_3d_object_command", {
|
|
request: {
|
|
image_media_token: e.image_media_token,
|
|
model: e.model
|
|
}
|
|
});
|
|
var _y;
|
|
(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";
|
|
})(_y || (_y = {}));
|
|
const Xp = "-", g3 = (e) => {
|
|
const t = y3(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (a) => {
|
|
const o = a.split(Xp);
|
|
return o[0] === "" && o.length !== 1 && o.shift(), vx(o, t) || h3(a);
|
|
},
|
|
getConflictingClassGroupIds: (a, o) => {
|
|
const i = r[a] || [];
|
|
return o && n[a] ? [...i, ...n[a]] : i;
|
|
}
|
|
};
|
|
}, vx = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], a = t.nextPart.get(n), o = a ? vx(e.slice(1), a) : void 0;
|
|
if (o)
|
|
return o;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Xp);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, Oy = /^\[(.+)\]$/, h3 = (e) => {
|
|
if (Oy.test(e)) {
|
|
const t = Oy.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, y3 = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return v3(Object.entries(e.classGroups), r).forEach(([a, o]) => {
|
|
bd(o, n, a, t);
|
|
}), n;
|
|
}, bd = (e, t, r, n) => {
|
|
e.forEach((a) => {
|
|
if (typeof a == "string") {
|
|
const o = a === "" ? t : Sy(t, a);
|
|
o.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof a == "function") {
|
|
if (b3(a)) {
|
|
bd(a(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: a,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(a).forEach(([o, i]) => {
|
|
bd(i, Sy(t, o), r, n);
|
|
});
|
|
});
|
|
}, Sy = (e, t) => {
|
|
let r = e;
|
|
return t.split(Xp).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, b3 = (e) => e.isThemeGetter, v3 = (e, t) => t ? e.map(([r, n]) => {
|
|
const a = n.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
|
|
return [r, a];
|
|
}) : e, x3 = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const a = (o, i) => {
|
|
r.set(o, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(o) {
|
|
let i = r.get(o);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(o)) !== void 0)
|
|
return a(o, i), i;
|
|
},
|
|
set(o, i) {
|
|
r.has(o) ? r.set(o, i) : a(o, i);
|
|
}
|
|
};
|
|
}, xx = "!", w3 = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, a = t[0], o = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, p;
|
|
for (let y = 0; y < s.length; y++) {
|
|
let k = s[y];
|
|
if (c === 0) {
|
|
if (k === a && (n || s.slice(y, y + o) === t)) {
|
|
u.push(s.slice(d, y)), d = y + o;
|
|
continue;
|
|
}
|
|
if (k === "/") {
|
|
p = y;
|
|
continue;
|
|
}
|
|
}
|
|
k === "[" ? c++ : k === "]" && c--;
|
|
}
|
|
const m = u.length === 0 ? s : s.substring(d), w = m.startsWith(xx), _ = w ? m.substring(1) : m, v = p && p > d ? p - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: w,
|
|
baseClassName: _,
|
|
maybePostfixModifierPosition: v
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, k3 = (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;
|
|
}, _3 = (e) => ({
|
|
cache: x3(e.cacheSize),
|
|
parseClassName: w3(e),
|
|
...g3(e)
|
|
}), O3 = /\s+/, S3 = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: a
|
|
} = t, o = [], i = e.trim().split(O3);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: p,
|
|
baseClassName: m,
|
|
maybePostfixModifierPosition: w
|
|
} = r(c);
|
|
let _ = !!w, v = n(_ ? m.substring(0, w) : m);
|
|
if (!v) {
|
|
if (!_) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (v = n(m), !v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
_ = !1;
|
|
}
|
|
const y = k3(d).join(":"), k = p ? y + xx : y, P = k + v;
|
|
if (o.includes(P))
|
|
continue;
|
|
o.push(P);
|
|
const E = a(v, _);
|
|
for (let C = 0; C < E.length; ++C) {
|
|
const b = E[C];
|
|
o.push(k + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function E3() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = wx(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const wx = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = wx(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function P3(e, ...t) {
|
|
let r, n, a, o = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, p) => p(d), e());
|
|
return r = _3(c), n = r.cache.get, a = r.cache.set, o = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = S3(u, r);
|
|
return a(u, d), d;
|
|
}
|
|
return function() {
|
|
return o(E3.apply(null, arguments));
|
|
};
|
|
}
|
|
const ot = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, kx = /^\[(?:([a-z-]+):)?(.+)\]$/i, C3 = /^\d+\/\d+$/, A3 = /* @__PURE__ */ new Set(["px", "full", "screen"]), $3 = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, N3 = /\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$/, j3 = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, I3 = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, T3 = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Cr = (e) => Ma(e) || A3.has(e) || C3.test(e), nn = (e) => eo(e, "length", V3), Ma = (e) => !!e && !Number.isNaN(Number(e)), Ru = (e) => eo(e, "number", Ma), Bo = (e) => !!e && Number.isInteger(Number(e)), R3 = (e) => e.endsWith("%") && Ma(e.slice(0, -1)), Ae = (e) => kx.test(e), an = (e) => $3.test(e), M3 = /* @__PURE__ */ new Set(["length", "size", "percentage"]), z3 = (e) => eo(e, M3, _x), F3 = (e) => eo(e, "position", _x), D3 = /* @__PURE__ */ new Set(["image", "url"]), L3 = (e) => eo(e, D3, U3), G3 = (e) => eo(e, "", W3), Ko = () => !0, eo = (e, t, r) => {
|
|
const n = kx.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, V3 = (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.
|
|
N3.test(e) && !j3.test(e)
|
|
), _x = () => !1, W3 = (e) => I3.test(e), U3 = (e) => T3.test(e), H3 = () => {
|
|
const e = ot("colors"), t = ot("spacing"), r = ot("blur"), n = ot("brightness"), a = ot("borderColor"), o = ot("borderRadius"), i = ot("borderSpacing"), s = ot("borderWidth"), u = ot("contrast"), c = ot("grayscale"), d = ot("hueRotate"), p = ot("invert"), m = ot("gap"), w = ot("gradientColorStops"), _ = ot("gradientColorStopPositions"), v = ot("inset"), y = ot("margin"), k = ot("opacity"), P = ot("padding"), E = ot("saturate"), C = ot("scale"), b = ot("sepia"), Y = ot("skew"), q = ot("space"), Z = ot("translate"), ie = () => ["auto", "contain", "none"], Q = () => ["auto", "hidden", "clip", "visible", "scroll"], J = () => ["auto", Ae, t], D = () => [Ae, t], ce = () => ["", Cr, nn], V = () => ["auto", Ma, Ae], I = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], R = () => ["solid", "dashed", "dotted", "double", "none"], j = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], U = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], B = () => ["", "0", Ae], h = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], f = () => [Ma, Ae];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Ko],
|
|
spacing: [Cr, nn],
|
|
blur: ["none", "", an, Ae],
|
|
brightness: f(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", an, Ae],
|
|
borderSpacing: D(),
|
|
borderWidth: ce(),
|
|
contrast: f(),
|
|
grayscale: B(),
|
|
hueRotate: f(),
|
|
invert: B(),
|
|
gap: D(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [R3, nn],
|
|
inset: J(),
|
|
margin: J(),
|
|
opacity: f(),
|
|
padding: D(),
|
|
saturate: f(),
|
|
scale: f(),
|
|
sepia: B(),
|
|
skew: f(),
|
|
space: D(),
|
|
translate: D()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Ae]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [an]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": h()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": h()
|
|
}],
|
|
/**
|
|
* 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: [...I(), Ae]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: Q()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": Q()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": Q()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": ie()
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [v]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [v]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [v]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [v]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [v]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [v]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [v]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [v]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Bo, Ae]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: J()
|
|
}],
|
|
/**
|
|
* 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", Ae]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: B()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: B()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Bo, Ae]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Ko]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Bo, Ae]
|
|
}, Ae]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": V()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": V()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Ko]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Bo, Ae]
|
|
}, Ae]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": V()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": V()
|
|
}],
|
|
/**
|
|
* 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", Ae]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Ae]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [m]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [m]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [m]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...U()]
|
|
}],
|
|
/**
|
|
* 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", ...U(), "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": [...U(), "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: [P]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [P]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [P]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [P]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [P]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [P]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [P]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [P]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [P]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [y]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [y]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [y]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [y]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [y]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [y]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [y]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [y]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [y]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [q]
|
|
}],
|
|
/**
|
|
* 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": [q]
|
|
}],
|
|
/**
|
|
* 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", Ae, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Ae, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Ae, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [an]
|
|
}, an]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Ae, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Ae, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Ae, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Ae, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", an, nn]
|
|
}],
|
|
/**
|
|
* 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", Ru]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Ko]
|
|
}],
|
|
/**
|
|
* 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", Ae]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Ma, Ru]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Cr, Ae]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Ae]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Ae]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...R(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Cr, nn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Cr, Ae]
|
|
}],
|
|
/**
|
|
* 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: D()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ae]
|
|
}],
|
|
/**
|
|
* 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", Ae]
|
|
}],
|
|
// 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...I(), F3]
|
|
}],
|
|
/**
|
|
* 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", z3]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, L3]
|
|
}],
|
|
/**
|
|
* 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: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [w]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [o]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...R(), "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": [k]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: R()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [a]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [a]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [a]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [a]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [a]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [a]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [a]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [a]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [a]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [a]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...R()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Cr, Ae]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Cr, nn]
|
|
}],
|
|
/**
|
|
* 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: ce()
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Cr, nn]
|
|
}],
|
|
/**
|
|
* 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", an, G3]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Ko]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [k]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...j(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": j()
|
|
}],
|
|
// 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", an, Ae]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [E]
|
|
}],
|
|
/**
|
|
* 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": [p]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [k]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [E]
|
|
}],
|
|
/**
|
|
* 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", Ae]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: f()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Ae]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: f()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Ae]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [C]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [C]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [C]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Bo, Ae]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [Z]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [Z]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [Y]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [Y]
|
|
}],
|
|
/**
|
|
* 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", Ae]
|
|
}],
|
|
// 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", Ae]
|
|
}],
|
|
/**
|
|
* 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": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": D()
|
|
}],
|
|
/**
|
|
* 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", Ae]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Cr, nn, Ru]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, Y3 = /* @__PURE__ */ P3(H3), Ey = ({
|
|
className: e,
|
|
thickness: t = 4
|
|
}) => /* @__PURE__ */ Le(
|
|
"svg",
|
|
{
|
|
className: Y3("h-6 w-6 animate-spin", e),
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
fill: "none",
|
|
viewBox: "0 0 24 24",
|
|
children: [
|
|
/* @__PURE__ */ X(
|
|
"circle",
|
|
{
|
|
className: "opacity-25",
|
|
cx: "12",
|
|
cy: "12",
|
|
r: "10",
|
|
stroke: "currentColor",
|
|
strokeWidth: t
|
|
}
|
|
),
|
|
/* @__PURE__ */ X(
|
|
"path",
|
|
{
|
|
className: "opacity-75",
|
|
fill: "currentColor",
|
|
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
}
|
|
)
|
|
]
|
|
}
|
|
), ms = function(e, t) {
|
|
console.debug("gtagEvent", e, t), window.gtag("event", e);
|
|
};
|
|
var q3 = Object.defineProperty, B3 = (e, t, r) => t in e ? q3(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Ox = (e, t, r) => B3(e, typeof t != "symbol" ? t + "" : t, r);
|
|
const K3 = "https://api.storyteller.ai";
|
|
window.STORYTELLER_API_HOST_STORE = void 0;
|
|
let X3 = class Sx {
|
|
constructor(t) {
|
|
Ox(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 Sx(K3);
|
|
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 ii = /* @__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))(ii || {}), Mu = { exports: {} }, Ie = {};
|
|
/**
|
|
* @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 Py;
|
|
function J3() {
|
|
if (Py) return Ie;
|
|
Py = 1;
|
|
var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), a = Symbol.for("react.profiler"), o = 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"), p = Symbol.iterator;
|
|
function m(f) {
|
|
return f === null || typeof f != "object" ? null : (f = p && f[p] || f["@@iterator"], typeof f == "function" ? f : null);
|
|
}
|
|
var w = { isMounted: function() {
|
|
return !1;
|
|
}, enqueueForceUpdate: function() {
|
|
}, enqueueReplaceState: function() {
|
|
}, enqueueSetState: function() {
|
|
} }, _ = Object.assign, v = {};
|
|
function y(f, x, N) {
|
|
this.props = f, this.context = x, this.refs = v, this.updater = N || w;
|
|
}
|
|
y.prototype.isReactComponent = {}, y.prototype.setState = function(f, x) {
|
|
if (typeof f != "object" && typeof f != "function" && f != 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, f, x, "setState");
|
|
}, y.prototype.forceUpdate = function(f) {
|
|
this.updater.enqueueForceUpdate(this, f, "forceUpdate");
|
|
};
|
|
function k() {
|
|
}
|
|
k.prototype = y.prototype;
|
|
function P(f, x, N) {
|
|
this.props = f, this.context = x, this.refs = v, this.updater = N || w;
|
|
}
|
|
var E = P.prototype = new k();
|
|
E.constructor = P, _(E, y.prototype), E.isPureReactComponent = !0;
|
|
var C = Array.isArray, b = Object.prototype.hasOwnProperty, Y = { current: null }, q = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function Z(f, x, N) {
|
|
var $, T = {}, z = null, M = null;
|
|
if (x != null) for ($ in x.ref !== void 0 && (M = x.ref), x.key !== void 0 && (z = "" + x.key), x) b.call(x, $) && !q.hasOwnProperty($) && (T[$] = x[$]);
|
|
var L = arguments.length - 2;
|
|
if (L === 1) T.children = N;
|
|
else if (1 < L) {
|
|
for (var F = Array(L), G = 0; G < L; G++) F[G] = arguments[G + 2];
|
|
T.children = F;
|
|
}
|
|
if (f && f.defaultProps) for ($ in L = f.defaultProps, L) T[$] === void 0 && (T[$] = L[$]);
|
|
return { $$typeof: e, type: f, key: z, ref: M, props: T, _owner: Y.current };
|
|
}
|
|
function ie(f, x) {
|
|
return { $$typeof: e, type: f.type, key: x, ref: f.ref, props: f.props, _owner: f._owner };
|
|
}
|
|
function Q(f) {
|
|
return typeof f == "object" && f !== null && f.$$typeof === e;
|
|
}
|
|
function J(f) {
|
|
var x = { "=": "=0", ":": "=2" };
|
|
return "$" + f.replace(/[=:]/g, function(N) {
|
|
return x[N];
|
|
});
|
|
}
|
|
var D = /\/+/g;
|
|
function ce(f, x) {
|
|
return typeof f == "object" && f !== null && f.key != null ? J("" + f.key) : x.toString(36);
|
|
}
|
|
function V(f, x, N, $, T) {
|
|
var z = typeof f;
|
|
(z === "undefined" || z === "boolean") && (f = null);
|
|
var M = !1;
|
|
if (f === null) M = !0;
|
|
else switch (z) {
|
|
case "string":
|
|
case "number":
|
|
M = !0;
|
|
break;
|
|
case "object":
|
|
switch (f.$$typeof) {
|
|
case e:
|
|
case t:
|
|
M = !0;
|
|
}
|
|
}
|
|
if (M) return M = f, T = T(M), f = $ === "" ? "." + ce(M, 0) : $, C(T) ? (N = "", f != null && (N = f.replace(D, "$&/") + "/"), V(T, x, N, "", function(G) {
|
|
return G;
|
|
})) : T != null && (Q(T) && (T = ie(T, N + (!T.key || M && M.key === T.key ? "" : ("" + T.key).replace(D, "$&/") + "/") + f)), x.push(T)), 1;
|
|
if (M = 0, $ = $ === "" ? "." : $ + ":", C(f)) for (var L = 0; L < f.length; L++) {
|
|
z = f[L];
|
|
var F = $ + ce(z, L);
|
|
M += V(z, x, N, F, T);
|
|
}
|
|
else if (F = m(f), typeof F == "function") for (f = F.call(f), L = 0; !(z = f.next()).done; ) z = z.value, F = $ + ce(z, L++), M += V(z, x, N, F, T);
|
|
else if (z === "object") throw x = String(f), Error("Objects are not valid as a React child (found: " + (x === "[object Object]" ? "object with keys {" + Object.keys(f).join(", ") + "}" : x) + "). If you meant to render a collection of children, use an array instead.");
|
|
return M;
|
|
}
|
|
function I(f, x, N) {
|
|
if (f == null) return f;
|
|
var $ = [], T = 0;
|
|
return V(f, $, "", "", function(z) {
|
|
return x.call(N, z, T++);
|
|
}), $;
|
|
}
|
|
function R(f) {
|
|
if (f._status === -1) {
|
|
var x = f._result;
|
|
x = x(), x.then(function(N) {
|
|
(f._status === 0 || f._status === -1) && (f._status = 1, f._result = N);
|
|
}, function(N) {
|
|
(f._status === 0 || f._status === -1) && (f._status = 2, f._result = N);
|
|
}), f._status === -1 && (f._status = 0, f._result = x);
|
|
}
|
|
if (f._status === 1) return f._result.default;
|
|
throw f._result;
|
|
}
|
|
var j = { current: null }, U = { transition: null }, B = { ReactCurrentDispatcher: j, ReactCurrentBatchConfig: U, ReactCurrentOwner: Y };
|
|
function h() {
|
|
throw Error("act(...) is not supported in production builds of React.");
|
|
}
|
|
return Ie.Children = { map: I, forEach: function(f, x, N) {
|
|
I(f, function() {
|
|
x.apply(this, arguments);
|
|
}, N);
|
|
}, count: function(f) {
|
|
var x = 0;
|
|
return I(f, function() {
|
|
x++;
|
|
}), x;
|
|
}, toArray: function(f) {
|
|
return I(f, function(x) {
|
|
return x;
|
|
}) || [];
|
|
}, only: function(f) {
|
|
if (!Q(f)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return f;
|
|
} }, Ie.Component = y, Ie.Fragment = r, Ie.Profiler = a, Ie.PureComponent = P, Ie.StrictMode = n, Ie.Suspense = u, Ie.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = B, Ie.act = h, Ie.cloneElement = function(f, x, N) {
|
|
if (f == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + f + ".");
|
|
var $ = _({}, f.props), T = f.key, z = f.ref, M = f._owner;
|
|
if (x != null) {
|
|
if (x.ref !== void 0 && (z = x.ref, M = Y.current), x.key !== void 0 && (T = "" + x.key), f.type && f.type.defaultProps) var L = f.type.defaultProps;
|
|
for (F in x) b.call(x, F) && !q.hasOwnProperty(F) && ($[F] = x[F] === void 0 && L !== void 0 ? L[F] : x[F]);
|
|
}
|
|
var F = arguments.length - 2;
|
|
if (F === 1) $.children = N;
|
|
else if (1 < F) {
|
|
L = Array(F);
|
|
for (var G = 0; G < F; G++) L[G] = arguments[G + 2];
|
|
$.children = L;
|
|
}
|
|
return { $$typeof: e, type: f.type, key: T, ref: z, props: $, _owner: M };
|
|
}, Ie.createContext = function(f) {
|
|
return f = { $$typeof: i, _currentValue: f, _currentValue2: f, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, f.Provider = { $$typeof: o, _context: f }, f.Consumer = f;
|
|
}, Ie.createElement = Z, Ie.createFactory = function(f) {
|
|
var x = Z.bind(null, f);
|
|
return x.type = f, x;
|
|
}, Ie.createRef = function() {
|
|
return { current: null };
|
|
}, Ie.forwardRef = function(f) {
|
|
return { $$typeof: s, render: f };
|
|
}, Ie.isValidElement = Q, Ie.lazy = function(f) {
|
|
return { $$typeof: d, _payload: { _status: -1, _result: f }, _init: R };
|
|
}, Ie.memo = function(f, x) {
|
|
return { $$typeof: c, type: f, compare: x === void 0 ? null : x };
|
|
}, Ie.startTransition = function(f) {
|
|
var x = U.transition;
|
|
U.transition = {};
|
|
try {
|
|
f();
|
|
} finally {
|
|
U.transition = x;
|
|
}
|
|
}, Ie.unstable_act = h, Ie.useCallback = function(f, x) {
|
|
return j.current.useCallback(f, x);
|
|
}, Ie.useContext = function(f) {
|
|
return j.current.useContext(f);
|
|
}, Ie.useDebugValue = function() {
|
|
}, Ie.useDeferredValue = function(f) {
|
|
return j.current.useDeferredValue(f);
|
|
}, Ie.useEffect = function(f, x) {
|
|
return j.current.useEffect(f, x);
|
|
}, Ie.useId = function() {
|
|
return j.current.useId();
|
|
}, Ie.useImperativeHandle = function(f, x, N) {
|
|
return j.current.useImperativeHandle(f, x, N);
|
|
}, Ie.useInsertionEffect = function(f, x) {
|
|
return j.current.useInsertionEffect(f, x);
|
|
}, Ie.useLayoutEffect = function(f, x) {
|
|
return j.current.useLayoutEffect(f, x);
|
|
}, Ie.useMemo = function(f, x) {
|
|
return j.current.useMemo(f, x);
|
|
}, Ie.useReducer = function(f, x, N) {
|
|
return j.current.useReducer(f, x, N);
|
|
}, Ie.useRef = function(f) {
|
|
return j.current.useRef(f);
|
|
}, Ie.useState = function(f) {
|
|
return j.current.useState(f);
|
|
}, Ie.useSyncExternalStore = function(f, x, N) {
|
|
return j.current.useSyncExternalStore(f, x, N);
|
|
}, Ie.useTransition = function() {
|
|
return j.current.useTransition();
|
|
}, Ie.version = "18.3.1", Ie;
|
|
}
|
|
var Rs = { 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.
|
|
*/
|
|
Rs.exports;
|
|
var Cy;
|
|
function Q3() {
|
|
return Cy || (Cy = 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"), a = Symbol.for("react.portal"), o = 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"), p = Symbol.for("react.suspense"), m = Symbol.for("react.suspense_list"), w = Symbol.for("react.memo"), _ = Symbol.for("react.lazy"), v = Symbol.for("react.offscreen"), y = Symbol.iterator, k = "@@iterator";
|
|
function P(l) {
|
|
if (l === null || typeof l != "object")
|
|
return null;
|
|
var g = y && l[y] || l[k];
|
|
return typeof g == "function" ? g : null;
|
|
}
|
|
var E = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, C = {
|
|
transition: null
|
|
}, b = {
|
|
current: null,
|
|
// Used to reproduce behavior of `batchedUpdates` in legacy mode.
|
|
isBatchingLegacy: !1,
|
|
didScheduleLegacyUpdate: !1
|
|
}, Y = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, q = {}, Z = null;
|
|
function ie(l) {
|
|
Z = l;
|
|
}
|
|
q.setExtraStackFrame = function(l) {
|
|
Z = l;
|
|
}, q.getCurrentStack = null, q.getStackAddendum = function() {
|
|
var l = "";
|
|
Z && (l += Z);
|
|
var g = q.getCurrentStack;
|
|
return g && (l += g() || ""), l;
|
|
};
|
|
var Q = !1, J = !1, D = !1, ce = !1, V = !1, I = {
|
|
ReactCurrentDispatcher: E,
|
|
ReactCurrentBatchConfig: C,
|
|
ReactCurrentOwner: Y
|
|
};
|
|
I.ReactDebugCurrentFrame = q, I.ReactCurrentActQueue = b;
|
|
function R(l) {
|
|
{
|
|
for (var g = arguments.length, O = new Array(g > 1 ? g - 1 : 0), A = 1; A < g; A++)
|
|
O[A - 1] = arguments[A];
|
|
U("warn", l, O);
|
|
}
|
|
}
|
|
function j(l) {
|
|
{
|
|
for (var g = arguments.length, O = new Array(g > 1 ? g - 1 : 0), A = 1; A < g; A++)
|
|
O[A - 1] = arguments[A];
|
|
U("error", l, O);
|
|
}
|
|
}
|
|
function U(l, g, O) {
|
|
{
|
|
var A = I.ReactDebugCurrentFrame, W = A.getStackAddendum();
|
|
W !== "" && (g += "%s", O = O.concat([W]));
|
|
var ee = O.map(function(K) {
|
|
return String(K);
|
|
});
|
|
ee.unshift("Warning: " + g), Function.prototype.apply.call(console[l], console, ee);
|
|
}
|
|
}
|
|
var B = {};
|
|
function h(l, g) {
|
|
{
|
|
var O = l.constructor, A = O && (O.displayName || O.name) || "ReactClass", W = A + "." + g;
|
|
if (B[W])
|
|
return;
|
|
j("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.", g, A), B[W] = !0;
|
|
}
|
|
}
|
|
var f = {
|
|
/**
|
|
* 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(l) {
|
|
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(l, g, O) {
|
|
h(l, "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(l, g, O, A) {
|
|
h(l, "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(l, g, O, A) {
|
|
h(l, "setState");
|
|
}
|
|
}, x = Object.assign, N = {};
|
|
Object.freeze(N);
|
|
function $(l, g, O) {
|
|
this.props = l, this.context = g, this.refs = N, this.updater = O || f;
|
|
}
|
|
$.prototype.isReactComponent = {}, $.prototype.setState = function(l, g) {
|
|
if (typeof l != "object" && typeof l != "function" && l != 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, l, g, "setState");
|
|
}, $.prototype.forceUpdate = function(l) {
|
|
this.updater.enqueueForceUpdate(this, l, "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)."]
|
|
}, z = function(l, g) {
|
|
Object.defineProperty($.prototype, l, {
|
|
get: function() {
|
|
R("%s(...) is deprecated in plain JavaScript React classes. %s", g[0], g[1]);
|
|
}
|
|
});
|
|
};
|
|
for (var M in T)
|
|
T.hasOwnProperty(M) && z(M, T[M]);
|
|
}
|
|
function L() {
|
|
}
|
|
L.prototype = $.prototype;
|
|
function F(l, g, O) {
|
|
this.props = l, this.context = g, this.refs = N, this.updater = O || f;
|
|
}
|
|
var G = F.prototype = new L();
|
|
G.constructor = F, x(G, $.prototype), G.isPureReactComponent = !0;
|
|
function le() {
|
|
var l = {
|
|
current: null
|
|
};
|
|
return Object.seal(l), l;
|
|
}
|
|
var S = Array.isArray;
|
|
function ye(l) {
|
|
return S(l);
|
|
}
|
|
function We(l) {
|
|
{
|
|
var g = typeof Symbol == "function" && Symbol.toStringTag, O = g && l[Symbol.toStringTag] || l.constructor.name || "Object";
|
|
return O;
|
|
}
|
|
}
|
|
function gt(l) {
|
|
try {
|
|
return gr(l), !1;
|
|
} catch {
|
|
return !0;
|
|
}
|
|
}
|
|
function gr(l) {
|
|
return "" + l;
|
|
}
|
|
function Vt(l) {
|
|
if (gt(l))
|
|
return j("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", We(l)), gr(l);
|
|
}
|
|
function de(l, g, O) {
|
|
var A = l.displayName;
|
|
if (A)
|
|
return A;
|
|
var W = g.displayName || g.name || "";
|
|
return W !== "" ? O + "(" + W + ")" : O;
|
|
}
|
|
function fe(l) {
|
|
return l.displayName || "Context";
|
|
}
|
|
function ve(l) {
|
|
if (l == null)
|
|
return null;
|
|
if (typeof l.tag == "number" && j("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof l == "function")
|
|
return l.displayName || l.name || null;
|
|
if (typeof l == "string")
|
|
return l;
|
|
switch (l) {
|
|
case o:
|
|
return "Fragment";
|
|
case a:
|
|
return "Portal";
|
|
case s:
|
|
return "Profiler";
|
|
case i:
|
|
return "StrictMode";
|
|
case p:
|
|
return "Suspense";
|
|
case m:
|
|
return "SuspenseList";
|
|
}
|
|
if (typeof l == "object")
|
|
switch (l.$$typeof) {
|
|
case c:
|
|
var g = l;
|
|
return fe(g) + ".Consumer";
|
|
case u:
|
|
var O = l;
|
|
return fe(O._context) + ".Provider";
|
|
case d:
|
|
return de(l, l.render, "ForwardRef");
|
|
case w:
|
|
var A = l.displayName || null;
|
|
return A !== null ? A : ve(l.type) || "Memo";
|
|
case _: {
|
|
var W = l, ee = W._payload, K = W._init;
|
|
try {
|
|
return ve(K(ee));
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var dt = Object.prototype.hasOwnProperty, ht = {
|
|
key: !0,
|
|
ref: !0,
|
|
__self: !0,
|
|
__source: !0
|
|
}, Ve, et, tt;
|
|
tt = {};
|
|
function yt(l) {
|
|
if (dt.call(l, "ref")) {
|
|
var g = Object.getOwnPropertyDescriptor(l, "ref").get;
|
|
if (g && g.isReactWarning)
|
|
return !1;
|
|
}
|
|
return l.ref !== void 0;
|
|
}
|
|
function bt(l) {
|
|
if (dt.call(l, "key")) {
|
|
var g = Object.getOwnPropertyDescriptor(l, "key").get;
|
|
if (g && g.isReactWarning)
|
|
return !1;
|
|
}
|
|
return l.key !== void 0;
|
|
}
|
|
function Xt(l, g) {
|
|
var O = function() {
|
|
Ve || (Ve = !0, j("%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)", g));
|
|
};
|
|
O.isReactWarning = !0, Object.defineProperty(l, "key", {
|
|
get: O,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function ua(l, g) {
|
|
var O = function() {
|
|
et || (et = !0, j("%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)", g));
|
|
};
|
|
O.isReactWarning = !0, Object.defineProperty(l, "ref", {
|
|
get: O,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function fa(l) {
|
|
if (typeof l.ref == "string" && Y.current && l.__self && Y.current.stateNode !== l.__self) {
|
|
var g = ve(Y.current.type);
|
|
tt[g] || (j('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', g, l.ref), tt[g] = !0);
|
|
}
|
|
}
|
|
var Jt = function(l, g, O, A, W, ee, K) {
|
|
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: l,
|
|
key: g,
|
|
ref: O,
|
|
props: K,
|
|
// Record the component responsible for creating this element.
|
|
_owner: ee
|
|
};
|
|
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: A
|
|
}), Object.defineProperty(se, "_source", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: W
|
|
}), Object.freeze && (Object.freeze(se.props), Object.freeze(se)), se;
|
|
};
|
|
function ao(l, g, O) {
|
|
var A, W = {}, ee = null, K = null, se = null, ue = null;
|
|
if (g != null) {
|
|
yt(g) && (K = g.ref, fa(g)), bt(g) && (Vt(g.key), ee = "" + g.key), se = g.__self === void 0 ? null : g.__self, ue = g.__source === void 0 ? null : g.__source;
|
|
for (A in g)
|
|
dt.call(g, A) && !ht.hasOwnProperty(A) && (W[A] = g[A]);
|
|
}
|
|
var be = arguments.length - 2;
|
|
if (be === 1)
|
|
W.children = O;
|
|
else if (be > 1) {
|
|
for (var we = Array(be), ke = 0; ke < be; ke++)
|
|
we[ke] = arguments[ke + 2];
|
|
Object.freeze && Object.freeze(we), W.children = we;
|
|
}
|
|
if (l && l.defaultProps) {
|
|
var _e = l.defaultProps;
|
|
for (A in _e)
|
|
W[A] === void 0 && (W[A] = _e[A]);
|
|
}
|
|
if (ee || K) {
|
|
var Se = typeof l == "function" ? l.displayName || l.name || "Unknown" : l;
|
|
ee && Xt(W, Se), K && ua(W, Se);
|
|
}
|
|
return Jt(l, ee, K, se, ue, Y.current, W);
|
|
}
|
|
function oo(l, g) {
|
|
var O = Jt(l.type, g, l.ref, l._self, l._source, l._owner, l.props);
|
|
return O;
|
|
}
|
|
function io(l, g, O) {
|
|
if (l == null)
|
|
throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + l + ".");
|
|
var A, W = x({}, l.props), ee = l.key, K = l.ref, se = l._self, ue = l._source, be = l._owner;
|
|
if (g != null) {
|
|
yt(g) && (K = g.ref, be = Y.current), bt(g) && (Vt(g.key), ee = "" + g.key);
|
|
var we;
|
|
l.type && l.type.defaultProps && (we = l.type.defaultProps);
|
|
for (A in g)
|
|
dt.call(g, A) && !ht.hasOwnProperty(A) && (g[A] === void 0 && we !== void 0 ? W[A] = we[A] : W[A] = g[A]);
|
|
}
|
|
var ke = arguments.length - 2;
|
|
if (ke === 1)
|
|
W.children = O;
|
|
else if (ke > 1) {
|
|
for (var _e = Array(ke), Se = 0; Se < ke; Se++)
|
|
_e[Se] = arguments[Se + 2];
|
|
W.children = _e;
|
|
}
|
|
return Jt(l.type, ee, K, se, ue, be, W);
|
|
}
|
|
function St(l) {
|
|
return typeof l == "object" && l !== null && l.$$typeof === n;
|
|
}
|
|
var Tn = ".", so = ":";
|
|
function Vl(l) {
|
|
var g = /[=:]/g, O = {
|
|
"=": "=0",
|
|
":": "=2"
|
|
}, A = l.replace(g, function(W) {
|
|
return O[W];
|
|
});
|
|
return "$" + A;
|
|
}
|
|
var lo = !1, Wl = /\/+/g;
|
|
function co(l) {
|
|
return l.replace(Wl, "$&/");
|
|
}
|
|
function Rn(l, g) {
|
|
return typeof l == "object" && l !== null && l.key != null ? (Vt(l.key), Vl("" + l.key)) : g.toString(36);
|
|
}
|
|
function hr(l, g, O, A, W) {
|
|
var ee = typeof l;
|
|
(ee === "undefined" || ee === "boolean") && (l = null);
|
|
var K = !1;
|
|
if (l === null)
|
|
K = !0;
|
|
else
|
|
switch (ee) {
|
|
case "string":
|
|
case "number":
|
|
K = !0;
|
|
break;
|
|
case "object":
|
|
switch (l.$$typeof) {
|
|
case n:
|
|
case a:
|
|
K = !0;
|
|
}
|
|
}
|
|
if (K) {
|
|
var se = l, ue = W(se), be = A === "" ? Tn + Rn(se, 0) : A;
|
|
if (ye(ue)) {
|
|
var we = "";
|
|
be != null && (we = co(be) + "/"), hr(ue, g, we, "", function(Rc) {
|
|
return Rc;
|
|
});
|
|
} else ue != null && (St(ue) && (ue.key && (!se || se.key !== ue.key) && Vt(ue.key), ue = oo(
|
|
ue,
|
|
// Keep both the (mapped) and old keys if they differ, just as
|
|
// traverseAllChildren used to do for objects as children
|
|
O + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key
|
|
(ue.key && (!se || se.key !== ue.key) ? (
|
|
// $FlowFixMe Flow incorrectly thinks existing element's key can be a number
|
|
// eslint-disable-next-line react-internal/safe-string-coercion
|
|
co("" + ue.key) + "/"
|
|
) : "") + be
|
|
)), g.push(ue));
|
|
return 1;
|
|
}
|
|
var ke, _e, Se = 0, De = A === "" ? Tn : A + so;
|
|
if (ye(l))
|
|
for (var Or = 0; Or < l.length; Or++)
|
|
ke = l[Or], _e = De + Rn(ke, Or), Se += hr(ke, g, O, _e, W);
|
|
else {
|
|
var Un = P(l);
|
|
if (typeof Un == "function") {
|
|
var Ro = l;
|
|
Un === Ro.entries && (lo || R("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), lo = !0);
|
|
for (var Ic = Un.call(Ro), Mo, Tc = 0; !(Mo = Ic.next()).done; )
|
|
ke = Mo.value, _e = De + Rn(ke, Tc++), Se += hr(ke, g, O, _e, W);
|
|
} else if (ee === "object") {
|
|
var zo = String(l);
|
|
throw new Error("Objects are not valid as a React child (found: " + (zo === "[object Object]" ? "object with keys {" + Object.keys(l).join(", ") + "}" : zo) + "). If you meant to render a collection of children, use an array instead.");
|
|
}
|
|
}
|
|
return Se;
|
|
}
|
|
function yr(l, g, O) {
|
|
if (l == null)
|
|
return l;
|
|
var A = [], W = 0;
|
|
return hr(l, A, "", "", function(ee) {
|
|
return g.call(O, ee, W++);
|
|
}), A;
|
|
}
|
|
function Ul(l) {
|
|
var g = 0;
|
|
return yr(l, function() {
|
|
g++;
|
|
}), g;
|
|
}
|
|
function Hl(l, g, O) {
|
|
yr(l, function() {
|
|
g.apply(this, arguments);
|
|
}, O);
|
|
}
|
|
function Yl(l) {
|
|
return yr(l, function(g) {
|
|
return g;
|
|
}) || [];
|
|
}
|
|
function ql(l) {
|
|
if (!St(l))
|
|
throw new Error("React.Children.only expected to receive a single React element child.");
|
|
return l;
|
|
}
|
|
function Bl(l) {
|
|
var g = {
|
|
$$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: l,
|
|
_currentValue2: l,
|
|
// 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
|
|
};
|
|
g.Provider = {
|
|
$$typeof: u,
|
|
_context: g
|
|
};
|
|
var O = !1, A = !1, W = !1;
|
|
{
|
|
var ee = {
|
|
$$typeof: c,
|
|
_context: g
|
|
};
|
|
Object.defineProperties(ee, {
|
|
Provider: {
|
|
get: function() {
|
|
return A || (A = !0, j("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), g.Provider;
|
|
},
|
|
set: function(K) {
|
|
g.Provider = K;
|
|
}
|
|
},
|
|
_currentValue: {
|
|
get: function() {
|
|
return g._currentValue;
|
|
},
|
|
set: function(K) {
|
|
g._currentValue = K;
|
|
}
|
|
},
|
|
_currentValue2: {
|
|
get: function() {
|
|
return g._currentValue2;
|
|
},
|
|
set: function(K) {
|
|
g._currentValue2 = K;
|
|
}
|
|
},
|
|
_threadCount: {
|
|
get: function() {
|
|
return g._threadCount;
|
|
},
|
|
set: function(K) {
|
|
g._threadCount = K;
|
|
}
|
|
},
|
|
Consumer: {
|
|
get: function() {
|
|
return O || (O = !0, j("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), g.Consumer;
|
|
}
|
|
},
|
|
displayName: {
|
|
get: function() {
|
|
return g.displayName;
|
|
},
|
|
set: function(K) {
|
|
W || (R("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", K), W = !0);
|
|
}
|
|
}
|
|
}), g.Consumer = ee;
|
|
}
|
|
return g._currentRenderer = null, g._currentRenderer2 = null, g;
|
|
}
|
|
var Wt = -1, Mn = 0, uo = 1, Kl = 2;
|
|
function Xl(l) {
|
|
if (l._status === Wt) {
|
|
var g = l._result, O = g();
|
|
if (O.then(function(ee) {
|
|
if (l._status === Mn || l._status === Wt) {
|
|
var K = l;
|
|
K._status = uo, K._result = ee;
|
|
}
|
|
}, function(ee) {
|
|
if (l._status === Mn || l._status === Wt) {
|
|
var K = l;
|
|
K._status = Kl, K._result = ee;
|
|
}
|
|
}), l._status === Wt) {
|
|
var A = l;
|
|
A._status = Mn, A._result = O;
|
|
}
|
|
}
|
|
if (l._status === uo) {
|
|
var W = l._result;
|
|
return W === void 0 && j(`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?`, W), "default" in W || j(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))`, W), W.default;
|
|
} else
|
|
throw l._result;
|
|
}
|
|
function Jl(l) {
|
|
var g = {
|
|
// We use these fields to store the result.
|
|
_status: Wt,
|
|
_result: l
|
|
}, O = {
|
|
$$typeof: _,
|
|
_payload: g,
|
|
_init: Xl
|
|
};
|
|
{
|
|
var A, W;
|
|
Object.defineProperties(O, {
|
|
defaultProps: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return A;
|
|
},
|
|
set: function(ee) {
|
|
j("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."), A = ee, Object.defineProperty(O, "defaultProps", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
},
|
|
propTypes: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return W;
|
|
},
|
|
set: function(ee) {
|
|
j("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."), W = ee, Object.defineProperty(O, "propTypes", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return O;
|
|
}
|
|
function Ql(l) {
|
|
l != null && l.$$typeof === w ? j("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof l != "function" ? j("forwardRef requires a render function but was given %s.", l === null ? "null" : typeof l) : l.length !== 0 && l.length !== 2 && j("forwardRef render functions accept exactly two parameters: props and ref. %s", l.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), l != null && (l.defaultProps != null || l.propTypes != null) && j("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");
|
|
var g = {
|
|
$$typeof: d,
|
|
render: l
|
|
};
|
|
{
|
|
var O;
|
|
Object.defineProperty(g, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return O;
|
|
},
|
|
set: function(A) {
|
|
O = A, !l.name && !l.displayName && (l.displayName = A);
|
|
}
|
|
});
|
|
}
|
|
return g;
|
|
}
|
|
var fo;
|
|
fo = Symbol.for("react.module.reference");
|
|
function po(l) {
|
|
return !!(typeof l == "string" || typeof l == "function" || l === o || l === s || V || l === i || l === p || l === m || ce || l === v || Q || J || D || typeof l == "object" && l !== null && (l.$$typeof === _ || l.$$typeof === w || l.$$typeof === u || l.$$typeof === c || l.$$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.
|
|
l.$$typeof === fo || l.getModuleId !== void 0));
|
|
}
|
|
function Zl(l, g) {
|
|
po(l) || j("memo: The first argument must be a component. Instead received: %s", l === null ? "null" : typeof l);
|
|
var O = {
|
|
$$typeof: w,
|
|
type: l,
|
|
compare: g === void 0 ? null : g
|
|
};
|
|
{
|
|
var A;
|
|
Object.defineProperty(O, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return A;
|
|
},
|
|
set: function(W) {
|
|
A = W, !l.name && !l.displayName && (l.displayName = W);
|
|
}
|
|
});
|
|
}
|
|
return O;
|
|
}
|
|
function Ue() {
|
|
var l = E.current;
|
|
return l === null && j(`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.`), l;
|
|
}
|
|
function ec(l) {
|
|
var g = Ue();
|
|
if (l._context !== void 0) {
|
|
var O = l._context;
|
|
O.Consumer === l ? j("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?") : O.Provider === l && j("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
|
|
}
|
|
return g.useContext(l);
|
|
}
|
|
function tc(l) {
|
|
var g = Ue();
|
|
return g.useState(l);
|
|
}
|
|
function rc(l, g, O) {
|
|
var A = Ue();
|
|
return A.useReducer(l, g, O);
|
|
}
|
|
function nc(l) {
|
|
var g = Ue();
|
|
return g.useRef(l);
|
|
}
|
|
function ac(l, g) {
|
|
var O = Ue();
|
|
return O.useEffect(l, g);
|
|
}
|
|
function oc(l, g) {
|
|
var O = Ue();
|
|
return O.useInsertionEffect(l, g);
|
|
}
|
|
function ic(l, g) {
|
|
var O = Ue();
|
|
return O.useLayoutEffect(l, g);
|
|
}
|
|
function sc(l, g) {
|
|
var O = Ue();
|
|
return O.useCallback(l, g);
|
|
}
|
|
function lc(l, g) {
|
|
var O = Ue();
|
|
return O.useMemo(l, g);
|
|
}
|
|
function cc(l, g, O) {
|
|
var A = Ue();
|
|
return A.useImperativeHandle(l, g, O);
|
|
}
|
|
function uc(l, g) {
|
|
{
|
|
var O = Ue();
|
|
return O.useDebugValue(l, g);
|
|
}
|
|
}
|
|
function fc() {
|
|
var l = Ue();
|
|
return l.useTransition();
|
|
}
|
|
function dc(l) {
|
|
var g = Ue();
|
|
return g.useDeferredValue(l);
|
|
}
|
|
function pc() {
|
|
var l = Ue();
|
|
return l.useId();
|
|
}
|
|
function mc(l, g, O) {
|
|
var A = Ue();
|
|
return A.useSyncExternalStore(l, g, O);
|
|
}
|
|
var Ut = 0, mo, go, ho, yo, bo, vo, xo;
|
|
function wo() {
|
|
}
|
|
wo.__reactDisabledLog = !0;
|
|
function gc() {
|
|
{
|
|
if (Ut === 0) {
|
|
mo = console.log, go = console.info, ho = console.warn, yo = console.error, bo = console.group, vo = console.groupCollapsed, xo = console.groupEnd;
|
|
var l = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
value: wo,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
info: l,
|
|
log: l,
|
|
warn: l,
|
|
error: l,
|
|
group: l,
|
|
groupCollapsed: l,
|
|
groupEnd: l
|
|
});
|
|
}
|
|
Ut++;
|
|
}
|
|
}
|
|
function hc() {
|
|
{
|
|
if (Ut--, Ut === 0) {
|
|
var l = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
log: x({}, l, {
|
|
value: mo
|
|
}),
|
|
info: x({}, l, {
|
|
value: go
|
|
}),
|
|
warn: x({}, l, {
|
|
value: ho
|
|
}),
|
|
error: x({}, l, {
|
|
value: yo
|
|
}),
|
|
group: x({}, l, {
|
|
value: bo
|
|
}),
|
|
groupCollapsed: x({}, l, {
|
|
value: vo
|
|
}),
|
|
groupEnd: x({}, l, {
|
|
value: xo
|
|
})
|
|
});
|
|
}
|
|
Ut < 0 && j("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
}
|
|
}
|
|
var zn = I.ReactCurrentDispatcher, Fn;
|
|
function br(l, g, O) {
|
|
{
|
|
if (Fn === void 0)
|
|
try {
|
|
throw Error();
|
|
} catch (W) {
|
|
var A = W.stack.trim().match(/\n( *(at )?)/);
|
|
Fn = A && A[1] || "";
|
|
}
|
|
return `
|
|
` + Fn + l;
|
|
}
|
|
}
|
|
var Dn = !1, vr;
|
|
{
|
|
var yc = typeof WeakMap == "function" ? WeakMap : Map;
|
|
vr = new yc();
|
|
}
|
|
function ko(l, g) {
|
|
if (!l || Dn)
|
|
return "";
|
|
{
|
|
var O = vr.get(l);
|
|
if (O !== void 0)
|
|
return O;
|
|
}
|
|
var A;
|
|
Dn = !0;
|
|
var W = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
var ee;
|
|
ee = zn.current, zn.current = null, gc();
|
|
try {
|
|
if (g) {
|
|
var K = function() {
|
|
throw Error();
|
|
};
|
|
if (Object.defineProperty(K.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(K, []);
|
|
} catch (De) {
|
|
A = De;
|
|
}
|
|
Reflect.construct(l, [], K);
|
|
} else {
|
|
try {
|
|
K.call();
|
|
} catch (De) {
|
|
A = De;
|
|
}
|
|
l.call(K.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (De) {
|
|
A = De;
|
|
}
|
|
l();
|
|
}
|
|
} catch (De) {
|
|
if (De && A && typeof De.stack == "string") {
|
|
for (var se = De.stack.split(`
|
|
`), ue = A.stack.split(`
|
|
`), be = se.length - 1, we = ue.length - 1; be >= 1 && we >= 0 && se[be] !== ue[we]; )
|
|
we--;
|
|
for (; be >= 1 && we >= 0; be--, we--)
|
|
if (se[be] !== ue[we]) {
|
|
if (be !== 1 || we !== 1)
|
|
do
|
|
if (be--, we--, we < 0 || se[be] !== ue[we]) {
|
|
var ke = `
|
|
` + se[be].replace(" at new ", " at ");
|
|
return l.displayName && ke.includes("<anonymous>") && (ke = ke.replace("<anonymous>", l.displayName)), typeof l == "function" && vr.set(l, ke), ke;
|
|
}
|
|
while (be >= 1 && we >= 0);
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
Dn = !1, zn.current = ee, hc(), Error.prepareStackTrace = W;
|
|
}
|
|
var _e = l ? l.displayName || l.name : "", Se = _e ? br(_e) : "";
|
|
return typeof l == "function" && vr.set(l, Se), Se;
|
|
}
|
|
function bc(l, g, O) {
|
|
return ko(l, !1);
|
|
}
|
|
function vc(l) {
|
|
var g = l.prototype;
|
|
return !!(g && g.isReactComponent);
|
|
}
|
|
function xr(l, g, O) {
|
|
if (l == null)
|
|
return "";
|
|
if (typeof l == "function")
|
|
return ko(l, vc(l));
|
|
if (typeof l == "string")
|
|
return br(l);
|
|
switch (l) {
|
|
case p:
|
|
return br("Suspense");
|
|
case m:
|
|
return br("SuspenseList");
|
|
}
|
|
if (typeof l == "object")
|
|
switch (l.$$typeof) {
|
|
case d:
|
|
return bc(l.render);
|
|
case w:
|
|
return xr(l.type, g, O);
|
|
case _: {
|
|
var A = l, W = A._payload, ee = A._init;
|
|
try {
|
|
return xr(ee(W), g, O);
|
|
} catch {
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
var _o = {}, Oo = I.ReactDebugCurrentFrame;
|
|
function wr(l) {
|
|
if (l) {
|
|
var g = l._owner, O = xr(l.type, l._source, g ? g.type : null);
|
|
Oo.setExtraStackFrame(O);
|
|
} else
|
|
Oo.setExtraStackFrame(null);
|
|
}
|
|
function xc(l, g, O, A, W) {
|
|
{
|
|
var ee = Function.call.bind(dt);
|
|
for (var K in l)
|
|
if (ee(l, K)) {
|
|
var se = void 0;
|
|
try {
|
|
if (typeof l[K] != "function") {
|
|
var ue = Error((A || "React class") + ": " + O + " type `" + K + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof l[K] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
throw ue.name = "Invariant Violation", ue;
|
|
}
|
|
se = l[K](g, K, A, O, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
} catch (be) {
|
|
se = be;
|
|
}
|
|
se && !(se instanceof Error) && (wr(W), j("%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).", A || "React class", O, K, typeof se), wr(null)), se instanceof Error && !(se.message in _o) && (_o[se.message] = !0, wr(W), j("Failed %s type: %s", O, se.message), wr(null));
|
|
}
|
|
}
|
|
}
|
|
function jt(l) {
|
|
if (l) {
|
|
var g = l._owner, O = xr(l.type, l._source, g ? g.type : null);
|
|
ie(O);
|
|
} else
|
|
ie(null);
|
|
}
|
|
var Ln;
|
|
Ln = !1;
|
|
function So() {
|
|
if (Y.current) {
|
|
var l = ve(Y.current.type);
|
|
if (l)
|
|
return `
|
|
|
|
Check the render method of \`` + l + "`.";
|
|
}
|
|
return "";
|
|
}
|
|
function wc(l) {
|
|
if (l !== void 0) {
|
|
var g = l.fileName.replace(/^.*[\\\/]/, ""), O = l.lineNumber;
|
|
return `
|
|
|
|
Check your code at ` + g + ":" + O + ".";
|
|
}
|
|
return "";
|
|
}
|
|
function kc(l) {
|
|
return l != null ? wc(l.__source) : "";
|
|
}
|
|
var Eo = {};
|
|
function _c(l) {
|
|
var g = So();
|
|
if (!g) {
|
|
var O = typeof l == "string" ? l : l.displayName || l.name;
|
|
O && (g = `
|
|
|
|
Check the top-level render call using <` + O + ">.");
|
|
}
|
|
return g;
|
|
}
|
|
function Po(l, g) {
|
|
if (!(!l._store || l._store.validated || l.key != null)) {
|
|
l._store.validated = !0;
|
|
var O = _c(g);
|
|
if (!Eo[O]) {
|
|
Eo[O] = !0;
|
|
var A = "";
|
|
l && l._owner && l._owner !== Y.current && (A = " It was passed a child from " + ve(l._owner.type) + "."), jt(l), j('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', O, A), jt(null);
|
|
}
|
|
}
|
|
}
|
|
function Co(l, g) {
|
|
if (typeof l == "object") {
|
|
if (ye(l))
|
|
for (var O = 0; O < l.length; O++) {
|
|
var A = l[O];
|
|
St(A) && Po(A, g);
|
|
}
|
|
else if (St(l))
|
|
l._store && (l._store.validated = !0);
|
|
else if (l) {
|
|
var W = P(l);
|
|
if (typeof W == "function" && W !== l.entries)
|
|
for (var ee = W.call(l), K; !(K = ee.next()).done; )
|
|
St(K.value) && Po(K.value, g);
|
|
}
|
|
}
|
|
}
|
|
function Ao(l) {
|
|
{
|
|
var g = l.type;
|
|
if (g == null || typeof g == "string")
|
|
return;
|
|
var O;
|
|
if (typeof g == "function")
|
|
O = g.propTypes;
|
|
else if (typeof g == "object" && (g.$$typeof === d || // Note: Memo only checks outer props here.
|
|
// Inner props are checked in the reconciler.
|
|
g.$$typeof === w))
|
|
O = g.propTypes;
|
|
else
|
|
return;
|
|
if (O) {
|
|
var A = ve(g);
|
|
xc(O, l.props, "prop", A, l);
|
|
} else if (g.PropTypes !== void 0 && !Ln) {
|
|
Ln = !0;
|
|
var W = ve(g);
|
|
j("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", W || "Unknown");
|
|
}
|
|
typeof g.getDefaultProps == "function" && !g.getDefaultProps.isReactClassApproved && j("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
}
|
|
}
|
|
function Oc(l) {
|
|
{
|
|
for (var g = Object.keys(l.props), O = 0; O < g.length; O++) {
|
|
var A = g[O];
|
|
if (A !== "children" && A !== "key") {
|
|
jt(l), j("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", A), jt(null);
|
|
break;
|
|
}
|
|
}
|
|
l.ref !== null && (jt(l), j("Invalid attribute `ref` supplied to `React.Fragment`."), jt(null));
|
|
}
|
|
}
|
|
function $o(l, g, O) {
|
|
var A = po(l);
|
|
if (!A) {
|
|
var W = "";
|
|
(l === void 0 || typeof l == "object" && l !== null && Object.keys(l).length === 0) && (W += " 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 ee = kc(g);
|
|
ee ? W += ee : W += So();
|
|
var K;
|
|
l === null ? K = "null" : ye(l) ? K = "array" : l !== void 0 && l.$$typeof === n ? (K = "<" + (ve(l.type) || "Unknown") + " />", W = " Did you accidentally export a JSX literal instead of a component?") : K = typeof l, j("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", K, W);
|
|
}
|
|
var se = ao.apply(this, arguments);
|
|
if (se == null)
|
|
return se;
|
|
if (A)
|
|
for (var ue = 2; ue < arguments.length; ue++)
|
|
Co(arguments[ue], l);
|
|
return l === o ? Oc(se) : Ao(se), se;
|
|
}
|
|
var No = !1;
|
|
function Sc(l) {
|
|
var g = $o.bind(null, l);
|
|
return g.type = l, No || (No = !0, R("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(g, "type", {
|
|
enumerable: !1,
|
|
get: function() {
|
|
return R("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
|
|
value: l
|
|
}), l;
|
|
}
|
|
}), g;
|
|
}
|
|
function Ec(l, g, O) {
|
|
for (var A = io.apply(this, arguments), W = 2; W < arguments.length; W++)
|
|
Co(arguments[W], A.type);
|
|
return Ao(A), A;
|
|
}
|
|
function Pc(l, g) {
|
|
var O = C.transition;
|
|
C.transition = {};
|
|
var A = C.transition;
|
|
C.transition._updatedFibers = /* @__PURE__ */ new Set();
|
|
try {
|
|
l();
|
|
} finally {
|
|
if (C.transition = O, O === null && A._updatedFibers) {
|
|
var W = A._updatedFibers.size;
|
|
W > 10 && R("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."), A._updatedFibers.clear();
|
|
}
|
|
}
|
|
}
|
|
var jo = !1, kr = null;
|
|
function Cc(l) {
|
|
if (kr === null)
|
|
try {
|
|
var g = ("require" + Math.random()).slice(0, 7), O = e && e[g];
|
|
kr = O.call(e, "timers").setImmediate;
|
|
} catch {
|
|
kr = function(A) {
|
|
jo === !1 && (jo = !0, typeof MessageChannel > "u" && j("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 W = new MessageChannel();
|
|
W.port1.onmessage = A, W.port2.postMessage(void 0);
|
|
};
|
|
}
|
|
return kr(l);
|
|
}
|
|
var It = 0, Io = !1;
|
|
function To(l) {
|
|
{
|
|
var g = It;
|
|
It++, b.current === null && (b.current = []);
|
|
var O = b.isBatchingLegacy, A;
|
|
try {
|
|
if (b.isBatchingLegacy = !0, A = l(), !O && b.didScheduleLegacyUpdate) {
|
|
var W = b.current;
|
|
W !== null && (b.didScheduleLegacyUpdate = !1, Wn(W));
|
|
}
|
|
} catch (_e) {
|
|
throw _r(g), _e;
|
|
} finally {
|
|
b.isBatchingLegacy = O;
|
|
}
|
|
if (A !== null && typeof A == "object" && typeof A.then == "function") {
|
|
var ee = A, K = !1, se = {
|
|
then: function(_e, Se) {
|
|
K = !0, ee.then(function(De) {
|
|
_r(g), It === 0 ? Gn(De, _e, Se) : _e(De);
|
|
}, function(De) {
|
|
_r(g), Se(De);
|
|
});
|
|
}
|
|
};
|
|
return !Io && typeof Promise < "u" && Promise.resolve().then(function() {
|
|
}).then(function() {
|
|
K || (Io = !0, j("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 ue = A;
|
|
if (_r(g), It === 0) {
|
|
var be = b.current;
|
|
be !== null && (Wn(be), b.current = null);
|
|
var we = {
|
|
then: function(_e, Se) {
|
|
b.current === null ? (b.current = [], Gn(ue, _e, Se)) : _e(ue);
|
|
}
|
|
};
|
|
return we;
|
|
} else {
|
|
var ke = {
|
|
then: function(_e, Se) {
|
|
_e(ue);
|
|
}
|
|
};
|
|
return ke;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function _r(l) {
|
|
l !== It - 1 && j("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), It = l;
|
|
}
|
|
function Gn(l, g, O) {
|
|
{
|
|
var A = b.current;
|
|
if (A !== null)
|
|
try {
|
|
Wn(A), Cc(function() {
|
|
A.length === 0 ? (b.current = null, g(l)) : Gn(l, g, O);
|
|
});
|
|
} catch (W) {
|
|
O(W);
|
|
}
|
|
else
|
|
g(l);
|
|
}
|
|
}
|
|
var Vn = !1;
|
|
function Wn(l) {
|
|
if (!Vn) {
|
|
Vn = !0;
|
|
var g = 0;
|
|
try {
|
|
for (; g < l.length; g++) {
|
|
var O = l[g];
|
|
do
|
|
O = O(!0);
|
|
while (O !== null);
|
|
}
|
|
l.length = 0;
|
|
} catch (A) {
|
|
throw l = l.slice(g + 1), A;
|
|
} finally {
|
|
Vn = !1;
|
|
}
|
|
}
|
|
}
|
|
var Ac = $o, $c = Ec, Nc = Sc, jc = {
|
|
map: yr,
|
|
forEach: Hl,
|
|
count: Ul,
|
|
toArray: Yl,
|
|
only: ql
|
|
};
|
|
t.Children = jc, t.Component = $, t.Fragment = o, t.Profiler = s, t.PureComponent = F, t.StrictMode = i, t.Suspense = p, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = I, t.act = To, t.cloneElement = $c, t.createContext = Bl, t.createElement = Ac, t.createFactory = Nc, t.createRef = le, t.forwardRef = Ql, t.isValidElement = St, t.lazy = Jl, t.memo = Zl, t.startTransition = Pc, t.unstable_act = To, t.useCallback = sc, t.useContext = ec, t.useDebugValue = uc, t.useDeferredValue = dc, t.useEffect = ac, t.useId = pc, t.useImperativeHandle = cc, t.useInsertionEffect = oc, t.useLayoutEffect = ic, t.useMemo = lc, t.useReducer = rc, t.useRef = nc, t.useState = tc, t.useSyncExternalStore = mc, t.useTransition = fc, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
|
|
}();
|
|
}(Rs, Rs.exports)), Rs.exports;
|
|
}
|
|
var Ay;
|
|
function Z3() {
|
|
return Ay || (Ay = 1, process.env.NODE_ENV === "production" ? Mu.exports = J3() : Mu.exports = Q3()), Mu.exports;
|
|
}
|
|
Z3();
|
|
function Ex() {
|
|
return typeof window < "u" && ("__TAURI_INTERNALS__" in window || "__TAURI__" in window);
|
|
}
|
|
window.IsDesktopApp = Ex;
|
|
function xt(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 Xo(e, t, r, n, a) {
|
|
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 Hn, Dt, ya, gs;
|
|
const $y = "__TAURI_TO_IPC_KEY__";
|
|
function eN(e, t = !1) {
|
|
return window.__TAURI_INTERNALS__.transformCallback(e, t);
|
|
}
|
|
class tN {
|
|
constructor(t) {
|
|
Hn.set(this, void 0), Dt.set(this, 0), ya.set(this, []), gs.set(this, void 0), Xo(this, Hn, t || (() => {
|
|
})), this.id = eN((r) => {
|
|
const n = r.index;
|
|
if ("end" in r) {
|
|
n == xt(this, Dt, "f") ? this.cleanupCallback() : Xo(this, gs, n);
|
|
return;
|
|
}
|
|
const a = r.message;
|
|
if (n == xt(this, Dt, "f")) {
|
|
for (xt(this, Hn, "f").call(this, a), Xo(this, Dt, xt(this, Dt, "f") + 1); xt(this, Dt, "f") in xt(this, ya, "f"); ) {
|
|
const o = xt(this, ya, "f")[xt(this, Dt, "f")];
|
|
xt(this, Hn, "f").call(this, o), delete xt(this, ya, "f")[xt(this, Dt, "f")], Xo(this, Dt, xt(this, Dt, "f") + 1);
|
|
}
|
|
xt(this, Dt, "f") === xt(this, gs, "f") && this.cleanupCallback();
|
|
} else
|
|
xt(this, ya, "f")[n] = a;
|
|
});
|
|
}
|
|
cleanupCallback() {
|
|
window.__TAURI_INTERNALS__.unregisterCallback(this.id);
|
|
}
|
|
set onmessage(t) {
|
|
Xo(this, Hn, t);
|
|
}
|
|
get onmessage() {
|
|
return xt(this, Hn, "f");
|
|
}
|
|
[(Hn = /* @__PURE__ */ new WeakMap(), Dt = /* @__PURE__ */ new WeakMap(), ya = /* @__PURE__ */ new WeakMap(), gs = /* @__PURE__ */ new WeakMap(), $y)]() {
|
|
return `__CHANNEL__:${this.id}`;
|
|
}
|
|
toJSON() {
|
|
return this[$y]();
|
|
}
|
|
}
|
|
async function hs(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
const ys = "Request cancelled";
|
|
async function Ny(e, t) {
|
|
const r = t == null ? void 0 : t.signal;
|
|
if (r != null && r.aborted)
|
|
throw new Error(ys);
|
|
const n = t == null ? void 0 : t.maxRedirections, a = t == null ? void 0 : t.connectTimeout, o = 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, Y] of u.headers)
|
|
s.get(b) || s.set(b, Y);
|
|
const p = (s instanceof Headers ? Array.from(s.entries()) : Array.isArray(s) ? s : Object.entries(s)).map(([b, Y]) => [
|
|
b,
|
|
// we need to ensure we have all header values as strings
|
|
// eslint-disable-next-line
|
|
typeof Y == "string" ? Y : Y.toString()
|
|
]);
|
|
if (r != null && r.aborted)
|
|
throw new Error(ys);
|
|
const m = await hs("plugin:http|fetch", {
|
|
clientConfig: {
|
|
method: u.method,
|
|
url: u.url,
|
|
headers: p,
|
|
data: d,
|
|
maxRedirections: n,
|
|
connectTimeout: a,
|
|
proxy: o,
|
|
danger: i
|
|
}
|
|
}), w = () => hs("plugin:http|fetch_cancel", { rid: m });
|
|
if (r != null && r.aborted)
|
|
throw w(), new Error(ys);
|
|
r == null || r.addEventListener("abort", () => void w());
|
|
const { status: _, statusText: v, url: y, headers: k, rid: P } = await hs("plugin:http|fetch_send", {
|
|
rid: m
|
|
}), E = [101, 103, 204, 205, 304].includes(_) ? null : new ReadableStream({
|
|
start: (b) => {
|
|
const Y = new tN();
|
|
Y.onmessage = (q) => {
|
|
if (r != null && r.aborted) {
|
|
b.error(ys);
|
|
return;
|
|
}
|
|
const Z = new Uint8Array(q), ie = Z[Z.byteLength - 1], Q = Z.slice(0, Z.byteLength - 1);
|
|
if (ie == 1) {
|
|
b.close();
|
|
return;
|
|
}
|
|
b.enqueue(Q);
|
|
}, hs("plugin:http|fetch_read_body", {
|
|
rid: P,
|
|
streamChannel: Y
|
|
}).catch((q) => {
|
|
b.error(q);
|
|
});
|
|
}
|
|
}), C = new Response(E, {
|
|
status: _,
|
|
statusText: v
|
|
});
|
|
return Object.defineProperty(C, "url", { value: y }), Object.defineProperty(C, "headers", {
|
|
value: new Headers(k)
|
|
}), C;
|
|
}
|
|
function Fi(e, t) {
|
|
return Ex() ? t !== void 0 ? Ny(e, t) : Ny(e) : t !== void 0 ? fetch(e, t) : fetch(e);
|
|
}
|
|
window.FetchProxy = Fi;
|
|
let Jp = class {
|
|
constructor() {
|
|
Ox(this, "ApiTargets", {}), this.ApiTargets = {
|
|
GoggleApi: ii.GOOGLE_API,
|
|
FunnelApi: ii.FUNNEL_API,
|
|
CdnApi: ii.CDN_API,
|
|
GravatarApi: ii.GRAVATAR_API
|
|
};
|
|
}
|
|
getApiSchemeAndHost() {
|
|
return X3.getInstance().getApiSchemeAndHost();
|
|
}
|
|
async fetch(t, {
|
|
method: r,
|
|
query: n,
|
|
body: a
|
|
}) {
|
|
const o = n && Object.entries(n).reduce(
|
|
(c, [d, p]) => (p && (c[d] = p.toString()), c),
|
|
{}
|
|
), i = o ? t + "?" + new URLSearchParams(o) : t, s = JSON.stringify(a), u = await Fi(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 Fi(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: a,
|
|
blobFileName: o
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, u]) => {
|
|
i.append(s, u);
|
|
}), a && o ? i.append("video", a, o) : a && i.append("video", a), this.fetchMultipartFormData(t, {
|
|
method: "POST",
|
|
body: i
|
|
});
|
|
}
|
|
async postForm({
|
|
endpoint: t,
|
|
formRecord: r,
|
|
uuid: n,
|
|
blob: a,
|
|
blobFileName: o
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, u]) => {
|
|
i.append(s, u);
|
|
}), a && o ? i.append("file", a, o) : a && i.append("file", a), 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, a]) => {
|
|
if (!a)
|
|
return r;
|
|
const o = this.camelToSnakeCase(n);
|
|
return Array.isArray(a) ? { ...r, [o]: a.join(",") } : { ...r, [o]: a.toString() };
|
|
},
|
|
{}
|
|
);
|
|
}
|
|
parseBodyValues(t) {
|
|
return Object.entries(t).reduce((r, [n, a]) => {
|
|
if (!a)
|
|
return r;
|
|
const o = this.camelToSnakeCase(n);
|
|
return Array.isArray(a) ? { ...r, [o]: a } : { ...r, [o]: a };
|
|
}, {});
|
|
}
|
|
};
|
|
class rN extends Jp {
|
|
async DeleteMediaFileByToken({
|
|
mediaFileToken: t,
|
|
asMod: r = !0,
|
|
setDelete: n = !0
|
|
}) {
|
|
const a = `${this.getApiSchemeAndHost()}/v1/media_files/file/${t}`, o = { as_mod: r, set_delete: n };
|
|
return await this.delete({ endpoint: a, body: o }).then((i) => ({
|
|
success: i.success ?? !1,
|
|
errorMessage: i.BadInput
|
|
})).catch((i) => ({
|
|
success: !1,
|
|
errorMessage: i.message
|
|
}));
|
|
}
|
|
async ListMediaFilesByTokens({
|
|
mediaTokens: t
|
|
}) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/batch`;
|
|
return await this.get({ endpoint: r, query: { tokens: t.join(",") } }).then((n) => ({
|
|
success: n.success,
|
|
data: n.media_files
|
|
})).catch((n) => ({ success: !1, errorMessage: n.message }));
|
|
}
|
|
async GetMediaFileByToken({
|
|
mediaFileToken: t
|
|
}) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/file/${t}`;
|
|
return await this.get({ endpoint: r }).then((n) => ({
|
|
success: n.success,
|
|
data: n.media_file
|
|
})).catch((n) => ({
|
|
success: !1,
|
|
errorMessage: n.message
|
|
}));
|
|
}
|
|
async ListMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/list`, n = {
|
|
...t,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((a) => ({
|
|
success: a.success,
|
|
data: a.results ?? [],
|
|
pagination: a.pagination
|
|
})).catch((a) => ({
|
|
success: !1,
|
|
errorMessage: a.message
|
|
}));
|
|
}
|
|
async ListFeaturedMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/list_featured`, n = {
|
|
...t,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((a) => ({
|
|
success: !0,
|
|
data: a.results,
|
|
pagination: a.pagination
|
|
})).catch((a) => ({
|
|
success: !1,
|
|
errorMessage: a.message
|
|
}));
|
|
}
|
|
async ListUserMediaFiles(t) {
|
|
const r = t.username, n = `${this.getApiSchemeAndHost()}/v1/media_files/list/user/${r}`, a = {
|
|
...t,
|
|
include_user_uploads: t.include_user_uploads,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: n, query: a }).then((o) => {
|
|
let i = o.results ?? [];
|
|
return t.user_uploads_only && (i = i.filter((s) => s.origin_category === "upload")), {
|
|
success: o.success,
|
|
data: i,
|
|
pagination: o.pagination
|
|
};
|
|
}).catch((o) => ({
|
|
success: !1,
|
|
errorMessage: o.message
|
|
}));
|
|
}
|
|
async SearchFeaturedMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/search_featured`, n = {
|
|
search_term: t.search_term,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((a) => ({
|
|
success: !0,
|
|
data: a.results,
|
|
pagination: a.pagination
|
|
})).catch((a) => ({
|
|
success: !1,
|
|
errorMessage: a.message
|
|
}));
|
|
}
|
|
async SearchUserMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/search_session`, n = {
|
|
search_term: t.search_term,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((a) => ({
|
|
success: !0,
|
|
data: a.results,
|
|
pagination: a.pagination
|
|
})).catch((a) => ({
|
|
success: !1,
|
|
errorMessage: a.message
|
|
}));
|
|
}
|
|
async RenameMediaFileByToken({
|
|
mediaToken: t,
|
|
name: r
|
|
}) {
|
|
const n = `${this.getApiSchemeAndHost()}/v1/media_files/rename/${t}`, a = { name: r };
|
|
return await this.post({ endpoint: n, body: a }).then((o) => ({
|
|
success: o.success ?? !1,
|
|
errorMessage: o.BadInput
|
|
})).catch((o) => ({ success: !1, errorMessage: o.message }));
|
|
}
|
|
async UpdateCoverImage({
|
|
mediaFileToken: t,
|
|
imageToken: r
|
|
}) {
|
|
const n = `${this.getApiSchemeAndHost()}/v1/media_files/cover_image/${t}`;
|
|
return await this.post({ endpoint: n, body: { cover_image_media_file_token: r } }).then((a) => ({
|
|
success: a.success ?? !1,
|
|
errorMessage: a.BadInput
|
|
})).catch((a) => ({
|
|
success: !1,
|
|
errorMessage: a.message
|
|
}));
|
|
}
|
|
async UpdateVisibility({
|
|
mediaFileToken: t,
|
|
visibility: r
|
|
}) {
|
|
const n = `${this.getApiSchemeAndHost()}/v1/media_files/visibility/${t}`;
|
|
return await this.post({ endpoint: n, body: { creator_set_visibility: r } }).then((a) => ({
|
|
success: a.success ?? !1,
|
|
errorMessage: a.BadInput
|
|
})).catch((a) => ({
|
|
success: !1,
|
|
errorMessage: a.message
|
|
}));
|
|
}
|
|
}
|
|
var jy;
|
|
(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";
|
|
})(jy || (jy = {}));
|
|
class nN extends Jp {
|
|
async enqueueImageGeneration({
|
|
disableSystemPrompt: t,
|
|
prompt: r,
|
|
snapshotMediaToken: n,
|
|
additionalImages: a
|
|
}) {
|
|
const o = `${this.getApiSchemeAndHost()}/v1/image_studio/prompt`, i = {
|
|
uuid_idempotency_token: crypto.randomUUID(),
|
|
disable_system_prompt: t,
|
|
prompt: r,
|
|
snapshot_media_token: n,
|
|
// Changed from scene_media_token to snapshot_media_token
|
|
additional_images: a
|
|
}, s = await this.post({
|
|
endpoint: o,
|
|
body: i
|
|
}), u = s.success ?? !1;
|
|
return console.log("postResponse FOR ENQUEUE IMAGE GENERATION"), console.log(s), {
|
|
success: u,
|
|
data: u ? s.job_token : void 0,
|
|
errorMessage: u ? void 0 : s.BadInput
|
|
};
|
|
}
|
|
async pollJobSession(t, r = 256) {
|
|
var n, a, o, i, s, u;
|
|
const c = `${this.getApiSchemeAndHost()}/v1/jobs/job/${t}`, d = await this.get({
|
|
endpoint: c
|
|
});
|
|
console.log("Job Polling Response:"), console.log(d);
|
|
const p = (a = (n = d.state.maybe_result) == null ? void 0 : n.media_links) == null ? void 0 : a.cdn_url, m = (o = d.state.maybe_result) == null ? void 0 : o.maybe_public_bucket_media_path, w = (u = (s = (i = d.state.maybe_result) == null ? void 0 : i.media_links) == null ? void 0 : s.maybe_thumbnail_template) == null ? void 0 : u.replace(
|
|
"{WIDTH}",
|
|
r.toString()
|
|
), _ = d.state.status.progress_percentage, v = d.state.status.status;
|
|
console.log("Image URL:", p), console.log("Thumbnail URL:", w), console.log("Progress Percentage:", _), console.log("Status", v), console.log("response FROM JOBS"), console.log(d);
|
|
const y = d.success ?? !1;
|
|
d.status;
|
|
const k = d.BadInput;
|
|
return {
|
|
success: y,
|
|
data: {
|
|
result: {
|
|
image_url: p || "",
|
|
thumbnail_url: w || "",
|
|
public_bucket_path: m || "",
|
|
error: void 0
|
|
},
|
|
job_token: t,
|
|
request: {
|
|
maybe_model_title: "Image Generation"
|
|
},
|
|
status: {
|
|
status: v.toLowerCase(),
|
|
progress_percentage: _
|
|
}
|
|
},
|
|
errorMessage: k
|
|
};
|
|
}
|
|
async pollStudioSessionJobs(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/image_studio/session_jobs/${t}`, n = await this.get({
|
|
endpoint: r
|
|
}), a = n.success ?? !1, o = n.status ?? "", i = n.result ?? {
|
|
generated_images: [],
|
|
error: void 0
|
|
}, s = n.BadInput;
|
|
return {
|
|
success: a,
|
|
data: { status: o, result: i },
|
|
errorMessage: s
|
|
};
|
|
}
|
|
GetPromptsByToken({
|
|
token: t
|
|
}) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/prompts/${t}`;
|
|
return this.get({ endpoint: r }).then((n) => ({
|
|
success: n.success,
|
|
data: n.prompt
|
|
})).catch((n) => ({ success: !1, errorMessage: n.message }));
|
|
}
|
|
async uploadSceneSnapshot({
|
|
screenshot: t,
|
|
sceneMediaToken: r
|
|
}) {
|
|
const n = `${this.getApiSchemeAndHost()}/v1/image_studio/scene_snapshot`, a = new FormData();
|
|
a.append("snapshot", t), r && a.append("scene_media_token", r);
|
|
const o = crypto.randomUUID();
|
|
a.append("uuid_idempotency_token", o);
|
|
const i = await (await Fi(n, {
|
|
method: "POST",
|
|
headers: {
|
|
Accept: "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: a
|
|
})).json();
|
|
console.log(i);
|
|
let s;
|
|
return i.success ? s = {
|
|
success: !0,
|
|
data: i.snapshot_media_token,
|
|
errorMessage: void 0
|
|
} : s = {
|
|
success: !1,
|
|
errorMessage: "Failed to generate snapshot."
|
|
}, s;
|
|
}
|
|
}
|
|
class aN extends Jp {
|
|
async authFetch(t, {
|
|
method: r,
|
|
body: n
|
|
}) {
|
|
const a = JSON.stringify(n);
|
|
return await (await Fi(t, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: a
|
|
})).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 a = {
|
|
username_or_email: t,
|
|
password: r
|
|
};
|
|
try {
|
|
const o = await this.authFetch(n, {
|
|
method: "POST",
|
|
body: a
|
|
});
|
|
return {
|
|
success: o.success,
|
|
data: o.success ? { signedSession: o.signed_session } : void 0,
|
|
errorMessage: o.error_message
|
|
};
|
|
} catch (o) {
|
|
return {
|
|
success: !1,
|
|
errorMessage: o.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: a,
|
|
signupSource: o
|
|
}) {
|
|
const i = `${this.getApiSchemeAndHost()}/v1/create_account`, s = {
|
|
email_address: r,
|
|
password: n,
|
|
password_confirmation: a,
|
|
username: t
|
|
};
|
|
o && (s.signup_source = o);
|
|
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 aN();
|
|
let oN = { data: "" }, iN = (e) => typeof window == "object" ? ((e ? e.querySelector("#_goober") : window._goober) || Object.assign((e || document.head).appendChild(document.createElement("style")), { innerHTML: " ", id: "_goober" })).firstChild : e || oN, sN = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, lN = /\/\*[^]*?\*\/| +/g, Iy = /\n+/g, pn = (e, t) => {
|
|
let r = "", n = "", a = "";
|
|
for (let o in e) {
|
|
let i = e[o];
|
|
o[0] == "@" ? o[1] == "i" ? r = o + " " + i + ";" : n += o[1] == "f" ? pn(i, o) : o + "{" + pn(i, o[1] == "k" ? "" : t) + "}" : typeof i == "object" ? n += pn(i, t ? t.replace(/([^,])+/g, (s) => o.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g, (u) => /&/.test(u) ? u.replace(/&/g, s) : s ? s + " " + u : u)) : o) : i != null && (o = /^--/.test(o) ? o : o.replace(/[A-Z]/g, "-$&").toLowerCase(), a += pn.p ? pn.p(o, i) : o + ":" + i + ";");
|
|
}
|
|
return r + (t && a ? t + "{" + a + "}" : a) + n;
|
|
}, Ar = {}, Px = (e) => {
|
|
if (typeof e == "object") {
|
|
let t = "";
|
|
for (let r in e) t += r + Px(e[r]);
|
|
return t;
|
|
}
|
|
return e;
|
|
}, cN = (e, t, r, n, a) => {
|
|
let o = Px(e), i = Ar[o] || (Ar[o] = ((u) => {
|
|
let c = 0, d = 11;
|
|
for (; c < u.length; ) d = 101 * d + u.charCodeAt(c++) >>> 0;
|
|
return "go" + d;
|
|
})(o));
|
|
if (!Ar[i]) {
|
|
let u = o !== e ? e : ((c) => {
|
|
let d, p, m = [{}];
|
|
for (; d = sN.exec(c.replace(lN, "")); ) d[4] ? m.shift() : d[3] ? (p = d[3].replace(Iy, " ").trim(), m.unshift(m[0][p] = m[0][p] || {})) : m[0][d[1]] = d[2].replace(Iy, " ").trim();
|
|
return m[0];
|
|
})(e);
|
|
Ar[i] = pn(a ? { ["@keyframes " + i]: u } : u, r ? "" : "." + i);
|
|
}
|
|
let s = r && Ar.g ? Ar.g : null;
|
|
return r && (Ar.g = Ar[i]), ((u, c, d, p) => {
|
|
p ? c.data = c.data.replace(p, u) : c.data.indexOf(u) === -1 && (c.data = d ? u + c.data : c.data + u);
|
|
})(Ar[i], t, n, s), i;
|
|
}, uN = (e, t, r) => e.reduce((n, a, o) => {
|
|
let i = t[o];
|
|
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 ? "" : pn(s, "") : s === !1 ? "" : s;
|
|
}
|
|
return n + a + (i ?? "");
|
|
}, "");
|
|
function Nl(e) {
|
|
let t = this || {}, r = e.call ? e(t.p) : e;
|
|
return cN(r.unshift ? r.raw ? uN(r, [].slice.call(arguments, 1), t.p) : r.reduce((n, a) => Object.assign(n, a && a.call ? a(t.p) : a), {}) : r, iN(t.target), t.g, t.o, t.k);
|
|
}
|
|
let Cx, vd, xd;
|
|
Nl.bind({ g: 1 });
|
|
let Lr = Nl.bind({ k: 1 });
|
|
function fN(e, t, r, n) {
|
|
pn.p = t, Cx = e, vd = r, xd = n;
|
|
}
|
|
function In(e, t) {
|
|
let r = this || {};
|
|
return function() {
|
|
let n = arguments;
|
|
function a(o, i) {
|
|
let s = Object.assign({}, o), u = s.className || a.className;
|
|
r.p = Object.assign({ theme: vd && vd() }, s), r.o = / *go\d+/.test(u), s.className = Nl.apply(r, n) + (u ? " " + u : "");
|
|
let c = e;
|
|
return e[0] && (c = s.as || e, delete s.as), xd && c[0] && xd(s), Cx(c, s);
|
|
}
|
|
return a;
|
|
};
|
|
}
|
|
var dN = (e) => typeof e == "function", wd = (e, t) => dN(e) ? e(t) : e, pN = /* @__PURE__ */ (() => {
|
|
let e = 0;
|
|
return () => (++e).toString();
|
|
})(), mN = /* @__PURE__ */ (() => {
|
|
let e;
|
|
return () => {
|
|
if (e === void 0 && typeof window < "u") {
|
|
let t = matchMedia("(prefers-reduced-motion: reduce)");
|
|
e = !t || t.matches;
|
|
}
|
|
return e;
|
|
};
|
|
})(), gN = 20, Ax = (e, t) => {
|
|
switch (t.type) {
|
|
case 0:
|
|
return { ...e, toasts: [t.toast, ...e.toasts].slice(0, gN) };
|
|
case 1:
|
|
return { ...e, toasts: e.toasts.map((o) => o.id === t.toast.id ? { ...o, ...t.toast } : o) };
|
|
case 2:
|
|
let { toast: r } = t;
|
|
return Ax(e, { type: e.toasts.find((o) => o.id === r.id) ? 1 : 0, toast: r });
|
|
case 3:
|
|
let { toastId: n } = t;
|
|
return { ...e, toasts: e.toasts.map((o) => o.id === n || n === void 0 ? { ...o, dismissed: !0, visible: !1 } : o) };
|
|
case 4:
|
|
return t.toastId === void 0 ? { ...e, toasts: [] } : { ...e, toasts: e.toasts.filter((o) => o.id !== t.toastId) };
|
|
case 5:
|
|
return { ...e, pausedAt: t.time };
|
|
case 6:
|
|
let a = t.time - (e.pausedAt || 0);
|
|
return { ...e, pausedAt: void 0, toasts: e.toasts.map((o) => ({ ...o, pauseDuration: o.pauseDuration + a })) };
|
|
}
|
|
}, hN = [], zu = { toasts: [], pausedAt: void 0 }, Qp = (e) => {
|
|
zu = Ax(zu, e), hN.forEach((t) => {
|
|
t(zu);
|
|
});
|
|
}, yN = (e, t = "blank", r) => ({ createdAt: Date.now(), visible: !0, dismissed: !1, type: t, ariaProps: { role: "status", "aria-live": "polite" }, message: e, pauseDuration: 0, ...r, id: (r == null ? void 0 : r.id) || pN() }), Ki = (e) => (t, r) => {
|
|
let n = yN(t, e, r);
|
|
return Qp({ type: 2, toast: n }), n.id;
|
|
}, Tt = (e, t) => Ki("blank")(e, t);
|
|
Tt.error = Ki("error");
|
|
Tt.success = Ki("success");
|
|
Tt.loading = Ki("loading");
|
|
Tt.custom = Ki("custom");
|
|
Tt.dismiss = (e) => {
|
|
Qp({ type: 3, toastId: e });
|
|
};
|
|
Tt.remove = (e) => Qp({ type: 4, toastId: e });
|
|
Tt.promise = (e, t, r) => {
|
|
let n = Tt.loading(t.loading, { ...r, ...r == null ? void 0 : r.loading });
|
|
return typeof e == "function" && (e = e()), e.then((a) => {
|
|
let o = t.success ? wd(t.success, a) : void 0;
|
|
return o ? Tt.success(o, { id: n, ...r, ...r == null ? void 0 : r.success }) : Tt.dismiss(n), a;
|
|
}).catch((a) => {
|
|
let o = t.error ? wd(t.error, a) : void 0;
|
|
o ? Tt.error(o, { id: n, ...r, ...r == null ? void 0 : r.error }) : Tt.dismiss(n);
|
|
}), e;
|
|
};
|
|
var bN = Lr`
|
|
from {
|
|
transform: scale(0) rotate(45deg);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1) rotate(45deg);
|
|
opacity: 1;
|
|
}`, vN = Lr`
|
|
from {
|
|
transform: scale(0);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}`, xN = Lr`
|
|
from {
|
|
transform: scale(0) rotate(90deg);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1) rotate(90deg);
|
|
opacity: 1;
|
|
}`, wN = In("div")`
|
|
width: 20px;
|
|
opacity: 0;
|
|
height: 20px;
|
|
border-radius: 10px;
|
|
background: ${(e) => e.primary || "#ff4b4b"};
|
|
position: relative;
|
|
transform: rotate(45deg);
|
|
|
|
animation: ${bN} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
|
forwards;
|
|
animation-delay: 100ms;
|
|
|
|
&:after,
|
|
&:before {
|
|
content: '';
|
|
animation: ${vN} 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: ${xN} 0.15s ease-out forwards;
|
|
animation-delay: 180ms;
|
|
transform: rotate(90deg);
|
|
}
|
|
`, kN = Lr`
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
`, _N = In("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: ${kN} 1s linear infinite;
|
|
`, ON = Lr`
|
|
from {
|
|
transform: scale(0) rotate(45deg);
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
transform: scale(1) rotate(45deg);
|
|
opacity: 1;
|
|
}`, SN = Lr`
|
|
0% {
|
|
height: 0;
|
|
width: 0;
|
|
opacity: 0;
|
|
}
|
|
40% {
|
|
height: 0;
|
|
width: 6px;
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 1;
|
|
height: 10px;
|
|
}`, EN = In("div")`
|
|
width: 20px;
|
|
opacity: 0;
|
|
height: 20px;
|
|
border-radius: 10px;
|
|
background: ${(e) => e.primary || "#61d345"};
|
|
position: relative;
|
|
transform: rotate(45deg);
|
|
|
|
animation: ${ON} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
|
forwards;
|
|
animation-delay: 100ms;
|
|
&:after {
|
|
content: '';
|
|
box-sizing: border-box;
|
|
animation: ${SN} 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;
|
|
}
|
|
`, PN = In("div")`
|
|
position: absolute;
|
|
`, CN = In("div")`
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
min-width: 20px;
|
|
min-height: 20px;
|
|
`, AN = Lr`
|
|
from {
|
|
transform: scale(0.6);
|
|
opacity: 0.4;
|
|
}
|
|
to {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}`, $N = In("div")`
|
|
position: relative;
|
|
transform: scale(0.6);
|
|
opacity: 0.4;
|
|
min-width: 20px;
|
|
animation: ${AN} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)
|
|
forwards;
|
|
`, NN = ({ toast: e }) => {
|
|
let { icon: t, type: r, iconTheme: n } = e;
|
|
return t !== void 0 ? typeof t == "string" ? H.createElement($N, null, t) : t : r === "blank" ? null : H.createElement(CN, null, H.createElement(_N, { ...n }), r !== "loading" && H.createElement(PN, null, r === "error" ? H.createElement(wN, { ...n }) : H.createElement(EN, { ...n })));
|
|
}, jN = (e) => `
|
|
0% {transform: translate3d(0,${e * -200}%,0) scale(.6); opacity:.5;}
|
|
100% {transform: translate3d(0,0,0) scale(1); opacity:1;}
|
|
`, IN = (e) => `
|
|
0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}
|
|
100% {transform: translate3d(0,${e * -150}%,-1px) scale(.6); opacity:0;}
|
|
`, TN = "0%{opacity:0;} 100%{opacity:1;}", RN = "0%{opacity:1;} 100%{opacity:0;}", MN = In("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;
|
|
`, zN = In("div")`
|
|
display: flex;
|
|
justify-content: center;
|
|
margin: 4px 10px;
|
|
color: inherit;
|
|
flex: 1 1 auto;
|
|
white-space: pre-line;
|
|
`, FN = (e, t) => {
|
|
let r = e.includes("top") ? 1 : -1, [n, a] = mN() ? [TN, RN] : [jN(r), IN(r)];
|
|
return { animation: t ? `${Lr(n)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards` : `${Lr(a)} 0.4s forwards cubic-bezier(.06,.71,.55,1)` };
|
|
};
|
|
H.memo(({ toast: e, position: t, style: r, children: n }) => {
|
|
let a = e.height ? FN(e.position || t || "top-center", e.visible) : { opacity: 0 }, o = H.createElement(NN, { toast: e }), i = H.createElement(zN, { ...e.ariaProps }, wd(e.message, e));
|
|
return H.createElement(MN, { className: e.className, style: { ...a, ...r, ...e.style } }, typeof n == "function" ? n({ icon: o, message: i }) : H.createElement(H.Fragment, null, o, i));
|
|
});
|
|
fN(H.createElement);
|
|
Nl`
|
|
z-index: 9999;
|
|
> * {
|
|
pointer-events: auto;
|
|
}
|
|
`;
|
|
var DN = Tt;
|
|
/*!
|
|
* 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 LN(e, t, r) {
|
|
return (t = VN(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Ty(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ae(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Ty(Object(r), !0).forEach(function(n) {
|
|
LN(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Ty(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function GN(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 VN(e) {
|
|
var t = GN(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const Ry = () => {
|
|
};
|
|
let Zp = {}, $x = {}, Nx = null, jx = {
|
|
mark: Ry,
|
|
measure: Ry
|
|
};
|
|
try {
|
|
typeof window < "u" && (Zp = window), typeof document < "u" && ($x = document), typeof MutationObserver < "u" && (Nx = MutationObserver), typeof performance < "u" && (jx = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: My = ""
|
|
} = Zp.navigator || {}, $n = Zp, ft = $x, zy = Nx, bs = jx;
|
|
$n.document;
|
|
const Yr = !!ft.documentElement && !!ft.head && typeof ft.addEventListener == "function" && typeof ft.createElement == "function", Ix = ~My.indexOf("MSIE") || ~My.indexOf("Trident/");
|
|
var WN = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, UN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Tx = {
|
|
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"
|
|
}
|
|
}, HN = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Rx = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Ot = "classic", jl = "duotone", YN = "sharp", qN = "sharp-duotone", Mx = [Ot, jl, YN, qN], BN = {
|
|
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"
|
|
}
|
|
}, KN = {
|
|
"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"
|
|
}
|
|
}, XN = /* @__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
|
|
}]]), JN = {
|
|
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"
|
|
}
|
|
}, QN = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Fy = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, ZN = ["kit"], e6 = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, t6 = ["fak", "fakd"], r6 = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, Dy = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, vs = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, n6 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], a6 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], o6 = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, i6 = {
|
|
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"
|
|
}
|
|
}, s6 = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, kd = {
|
|
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"
|
|
}
|
|
}, l6 = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], _d = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...n6, ...l6], c6 = ["solid", "regular", "light", "thin", "duotone", "brands"], zx = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], u6 = zx.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), f6 = [...Object.keys(s6), ...c6, "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", vs.GROUP, vs.SWAP_OPACITY, vs.PRIMARY, vs.SECONDARY].concat(zx.map((e) => "".concat(e, "x"))).concat(u6.map((e) => "w-".concat(e))), d6 = {
|
|
"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 Gr = "___FONT_AWESOME___", Od = 16, Fx = "fa", Dx = "svg-inline--fa", sa = "data-fa-i2svg", Sd = "data-fa-pseudo-element", p6 = "data-fa-pseudo-element-pending", em = "data-prefix", tm = "data-icon", Ly = "fontawesome-i2svg", m6 = "async", g6 = ["HTML", "HEAD", "STYLE", "SCRIPT"], Lx = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Xi(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Ot];
|
|
}
|
|
});
|
|
}
|
|
const Gx = ae({}, Tx);
|
|
Gx[Ot] = ae(ae(ae(ae({}, {
|
|
"fa-duotone": "duotone"
|
|
}), Tx[Ot]), Fy.kit), Fy["kit-duotone"]);
|
|
const h6 = Xi(Gx), Ed = ae({}, JN);
|
|
Ed[Ot] = ae(ae(ae(ae({}, {
|
|
duotone: "fad"
|
|
}), Ed[Ot]), Dy.kit), Dy["kit-duotone"]);
|
|
const Gy = Xi(Ed), Pd = ae({}, kd);
|
|
Pd[Ot] = ae(ae({}, Pd[Ot]), r6.kit);
|
|
const rm = Xi(Pd), Cd = ae({}, i6);
|
|
Cd[Ot] = ae(ae({}, Cd[Ot]), e6.kit);
|
|
Xi(Cd);
|
|
const y6 = WN, Vx = "fa-layers-text", b6 = UN, v6 = ae({}, BN);
|
|
Xi(v6);
|
|
const x6 = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Fu = HN, w6 = [...ZN, ...f6], vi = $n.FontAwesomeConfig || {};
|
|
function k6(e) {
|
|
var t = ft.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function _6(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
ft && typeof ft.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 a = _6(k6(r));
|
|
a != null && (vi[n] = a);
|
|
});
|
|
const Wx = {
|
|
styleDefault: "solid",
|
|
familyDefault: Ot,
|
|
cssPrefix: Fx,
|
|
replacementClass: Dx,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
vi.familyPrefix && (vi.cssPrefix = vi.familyPrefix);
|
|
const Ha = ae(ae({}, Wx), vi);
|
|
Ha.autoReplaceSvg || (Ha.observeMutations = !1);
|
|
const he = {};
|
|
Object.keys(Wx).forEach((e) => {
|
|
Object.defineProperty(he, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
Ha[e] = t, xi.forEach((r) => r(he));
|
|
},
|
|
get: function() {
|
|
return Ha[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(he, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
Ha.cssPrefix = e, xi.forEach((t) => t(he));
|
|
},
|
|
get: function() {
|
|
return Ha.cssPrefix;
|
|
}
|
|
});
|
|
$n.FontAwesomeConfig = he;
|
|
const xi = [];
|
|
function O6(e) {
|
|
return xi.push(e), () => {
|
|
xi.splice(xi.indexOf(e), 1);
|
|
};
|
|
}
|
|
const on = Od, fr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function S6(e) {
|
|
if (!e || !Yr)
|
|
return;
|
|
const t = ft.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = ft.head.childNodes;
|
|
let n = null;
|
|
for (let a = r.length - 1; a > -1; a--) {
|
|
const o = r[a], i = (o.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = o);
|
|
}
|
|
return ft.head.insertBefore(t, n), e;
|
|
}
|
|
const E6 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Di() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += E6[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function to(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function nm(e) {
|
|
return e.classList ? to(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function Ux(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function P6(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Ux(e[r]), '" '), "").trim();
|
|
}
|
|
function Il(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function am(e) {
|
|
return e.size !== fr.size || e.x !== fr.x || e.y !== fr.y || e.rotate !== fr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function C6(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const a = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, o = "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(o, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: a,
|
|
inner: u,
|
|
path: c
|
|
};
|
|
}
|
|
function A6(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Od,
|
|
height: n = Od,
|
|
startCentered: a = !1
|
|
} = e, o = "";
|
|
return a && Ix ? o += "translate(".concat(t.x / on - r / 2, "em, ").concat(t.y / on - n / 2, "em) ") : a ? o += "translate(calc(-50% + ".concat(t.x / on, "em), calc(-50% + ").concat(t.y / on, "em)) ") : o += "translate(".concat(t.x / on, "em, ").concat(t.y / on, "em) "), o += "scale(".concat(t.size / on * (t.flipX ? -1 : 1), ", ").concat(t.size / on * (t.flipY ? -1 : 1), ") "), o += "rotate(".concat(t.rotate, "deg) "), o;
|
|
}
|
|
var $6 = `: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 Hx() {
|
|
const e = Fx, t = Dx, r = he.cssPrefix, n = he.replacementClass;
|
|
let a = $6;
|
|
if (r !== e || n !== t) {
|
|
const o = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
a = a.replace(o, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return a;
|
|
}
|
|
let Vy = !1;
|
|
function Du() {
|
|
he.autoAddCss && !Vy && (S6(Hx()), Vy = !0);
|
|
}
|
|
var N6 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: Hx,
|
|
insertCss: Du
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Du();
|
|
},
|
|
beforeI2svg() {
|
|
Du();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Vr = $n || {};
|
|
Vr[Gr] || (Vr[Gr] = {});
|
|
Vr[Gr].styles || (Vr[Gr].styles = {});
|
|
Vr[Gr].hooks || (Vr[Gr].hooks = {});
|
|
Vr[Gr].shims || (Vr[Gr].shims = []);
|
|
var dr = Vr[Gr];
|
|
const Yx = [], qx = function() {
|
|
ft.removeEventListener("DOMContentLoaded", qx), tl = 1, Yx.map((e) => e());
|
|
};
|
|
let tl = !1;
|
|
Yr && (tl = (ft.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ft.readyState), tl || ft.addEventListener("DOMContentLoaded", qx));
|
|
function j6(e) {
|
|
Yr && (tl ? setTimeout(e, 0) : Yx.push(e));
|
|
}
|
|
function Ji(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? Ux(e) : "<".concat(t, " ").concat(P6(r), ">").concat(n.map(Ji).join(""), "</").concat(t, ">");
|
|
}
|
|
function Wy(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Lu = function(t, r, n, a) {
|
|
var o = Object.keys(t), i = o.length, s = r, u, c, d;
|
|
for (n === void 0 ? (u = 1, d = t[o[0]]) : (u = 0, d = n); u < i; u++)
|
|
c = o[u], d = s(d, t[c], c, t);
|
|
return d;
|
|
};
|
|
function I6(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const a = e.charCodeAt(r++);
|
|
if (a >= 55296 && a <= 56319 && r < n) {
|
|
const o = e.charCodeAt(r++);
|
|
(o & 64512) == 56320 ? t.push(((a & 1023) << 10) + (o & 1023) + 65536) : (t.push(a), r--);
|
|
} else
|
|
t.push(a);
|
|
}
|
|
return t;
|
|
}
|
|
function Ad(e) {
|
|
const t = I6(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function T6(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), a;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (a = e.charCodeAt(t + 1), a >= 56320 && a <= 57343) ? (n - 55296) * 1024 + a - 56320 + 65536 : n;
|
|
}
|
|
function Uy(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 $d(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, a = Uy(t);
|
|
typeof dr.hooks.addPack == "function" && !n ? dr.hooks.addPack(e, Uy(t)) : dr.styles[e] = ae(ae({}, dr.styles[e] || {}), a), e === "fas" && $d("fa", t);
|
|
}
|
|
const {
|
|
styles: Li,
|
|
shims: R6
|
|
} = dr, Bx = Object.keys(rm), M6 = Bx.reduce((e, t) => (e[t] = Object.keys(rm[t]), e), {});
|
|
let om = null, Kx = {}, Xx = {}, Jx = {}, Qx = {}, Zx = {};
|
|
function z6(e) {
|
|
return ~w6.indexOf(e);
|
|
}
|
|
function F6(e, t) {
|
|
const r = t.split("-"), n = r[0], a = r.slice(1).join("-");
|
|
return n === e && a !== "" && !z6(a) ? a : null;
|
|
}
|
|
const ew = () => {
|
|
const e = (n) => Lu(Li, (a, o, i) => (a[i] = Lu(o, n, {}), a), {});
|
|
Kx = e((n, a, o) => (a[3] && (n[a[3]] = o), a[2] && a[2].filter((s) => typeof s == "number").forEach((s) => {
|
|
n[s.toString(16)] = o;
|
|
}), n)), Xx = e((n, a, o) => (n[o] = o, a[2] && a[2].filter((s) => typeof s == "string").forEach((s) => {
|
|
n[s] = o;
|
|
}), n)), Zx = e((n, a, o) => {
|
|
const i = a[2];
|
|
return n[o] = o, i.forEach((s) => {
|
|
n[s] = o;
|
|
}), n;
|
|
});
|
|
const t = "far" in Li || he.autoFetchSvg, r = Lu(R6, (n, a) => {
|
|
const o = a[0];
|
|
let i = a[1];
|
|
const s = a[2];
|
|
return i === "far" && !t && (i = "fas"), typeof o == "string" && (n.names[o] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof o == "number" && (n.unicodes[o.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
Jx = r.names, Qx = r.unicodes, om = Tl(he.styleDefault, {
|
|
family: he.familyDefault
|
|
});
|
|
};
|
|
O6((e) => {
|
|
om = Tl(e.styleDefault, {
|
|
family: he.familyDefault
|
|
});
|
|
});
|
|
ew();
|
|
function im(e, t) {
|
|
return (Kx[e] || {})[t];
|
|
}
|
|
function D6(e, t) {
|
|
return (Xx[e] || {})[t];
|
|
}
|
|
function Xn(e, t) {
|
|
return (Zx[e] || {})[t];
|
|
}
|
|
function tw(e) {
|
|
return Jx[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function L6(e) {
|
|
const t = Qx[e], r = im("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Nn() {
|
|
return om;
|
|
}
|
|
const rw = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function G6(e) {
|
|
let t = Ot;
|
|
const r = Bx.reduce((n, a) => (n[a] = "".concat(he.cssPrefix, "-").concat(a), n), {});
|
|
return Mx.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((a) => M6[n].includes(a))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Tl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Ot
|
|
} = t, n = h6[r][e];
|
|
if (r === jl && !e)
|
|
return "fad";
|
|
const a = Gy[r][e] || Gy[r][n], o = e in dr.styles ? e : null;
|
|
return a || o || null;
|
|
}
|
|
function V6(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const a = F6(he.cssPrefix, n);
|
|
a ? r = a : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Hy(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Rl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const a = _d.concat(a6), o = Hy(e.filter((p) => a.includes(p))), i = Hy(e.filter((p) => !_d.includes(p))), s = o.filter((p) => (n = p, !Rx.includes(p))), [u = null] = s, c = G6(o), d = ae(ae({}, V6(i)), {}, {
|
|
prefix: Tl(u, {
|
|
family: c
|
|
})
|
|
});
|
|
return ae(ae(ae({}, d), Y6({
|
|
values: e,
|
|
family: c,
|
|
styles: Li,
|
|
config: he,
|
|
canonical: d,
|
|
givenPrefix: n
|
|
})), W6(r, n, d));
|
|
}
|
|
function W6(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: a
|
|
} = r;
|
|
if (e || !n || !a)
|
|
return {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
const o = t === "fa" ? tw(a) : {}, i = Xn(n, a);
|
|
return a = o.iconName || i || a, n = o.prefix || n, n === "far" && !Li.far && Li.fas && !he.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: a
|
|
};
|
|
}
|
|
const U6 = Mx.filter((e) => e !== Ot || e !== jl), H6 = Object.keys(kd).filter((e) => e !== Ot).map((e) => Object.keys(kd[e])).flat();
|
|
function Y6(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: a = "",
|
|
styles: o = {},
|
|
config: i = {}
|
|
} = e, s = r === jl, 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 && U6.includes(r) && (Object.keys(o).find((m) => H6.includes(m)) || i.autoFetchSvg)) {
|
|
const m = XN.get(r).defaultShortPrefixId;
|
|
n.prefix = m, n.iconName = Xn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || a === "fa") && (n.prefix = Nn() || "fas"), n;
|
|
}
|
|
class q6 {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const a = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(a).forEach((o) => {
|
|
this.definitions[o] = ae(ae({}, this.definitions[o] || {}), a[o]), $d(o, a[o]);
|
|
const i = rm[Ot][o];
|
|
i && $d(i, a[o]), ew();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((a) => {
|
|
const {
|
|
prefix: o,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[a], u = s[2];
|
|
t[o] || (t[o] = {}), u.length > 0 && u.forEach((c) => {
|
|
typeof c == "string" && (t[o][c] = s);
|
|
}), t[o][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let Yy = [], Sa = {};
|
|
const za = {}, B6 = Object.keys(za);
|
|
function K6(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return Yy = e, Sa = {}, Object.keys(za).forEach((n) => {
|
|
B6.indexOf(n) === -1 && delete za[n];
|
|
}), Yy.forEach((n) => {
|
|
const a = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(a).forEach((o) => {
|
|
typeof a[o] == "function" && (r[o] = a[o]), typeof a[o] == "object" && Object.keys(a[o]).forEach((i) => {
|
|
r[o] || (r[o] = {}), r[o][i] = a[o][i];
|
|
});
|
|
}), n.hooks) {
|
|
const o = n.hooks();
|
|
Object.keys(o).forEach((i) => {
|
|
Sa[i] || (Sa[i] = []), Sa[i].push(o[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(za);
|
|
}), r;
|
|
}
|
|
function Nd(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), a = 2; a < r; a++)
|
|
n[a - 2] = arguments[a];
|
|
return (Sa[e] || []).forEach((i) => {
|
|
t = i.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function la(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Sa[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function jn() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return za[e] ? za[e].apply(null, t) : void 0;
|
|
}
|
|
function jd(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Nn();
|
|
if (t)
|
|
return t = Xn(r, t) || t, Wy(nw.definitions, r, t) || Wy(dr.styles, r, t);
|
|
}
|
|
const nw = new q6(), X6 = () => {
|
|
he.autoReplaceSvg = !1, he.observeMutations = !1, la("noAuto");
|
|
}, J6 = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Yr ? (la("beforeI2svg", e), jn("pseudoElements2svg", e), jn("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, j6(() => {
|
|
Z6({
|
|
autoReplaceSvgRoot: t
|
|
}), la("watch", e);
|
|
});
|
|
}
|
|
}, Q6 = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Xn(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 = Tl(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Xn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(he.cssPrefix, "-")) > -1 || e.match(y6))) {
|
|
const t = Rl(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Nn(),
|
|
iconName: Xn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Nn();
|
|
return {
|
|
prefix: t,
|
|
iconName: Xn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, Ft = {
|
|
noAuto: X6,
|
|
config: he,
|
|
dom: J6,
|
|
parse: Q6,
|
|
library: nw,
|
|
findIconDefinition: jd,
|
|
toHtml: Ji
|
|
}, Z6 = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = ft
|
|
} = e;
|
|
(Object.keys(dr.styles).length > 0 || he.autoFetchSvg) && Yr && he.autoReplaceSvg && Ft.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Ml(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Ji(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Yr) return;
|
|
const r = ft.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function ej(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: a,
|
|
styles: o,
|
|
transform: i
|
|
} = e;
|
|
if (am(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: u
|
|
} = r, c = {
|
|
x: s / u / 2,
|
|
y: 0.5
|
|
};
|
|
a.style = Il(ae(ae({}, o), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: a,
|
|
children: t
|
|
}];
|
|
}
|
|
function tj(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: a,
|
|
symbol: o
|
|
} = e;
|
|
const i = o === !0 ? "".concat(t, "-").concat(he.cssPrefix, "-").concat(r) : o;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ae(ae({}, a), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function sm(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: a,
|
|
transform: o,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: u,
|
|
titleId: c,
|
|
extra: d,
|
|
watchable: p = !1
|
|
} = e, {
|
|
width: m,
|
|
height: w
|
|
} = r.found ? r : t, _ = t6.includes(n), v = [he.replacementClass, a ? "".concat(he.cssPrefix, "-").concat(a) : ""].filter((b) => d.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(d.classes).join(" ");
|
|
let y = {
|
|
children: [],
|
|
attributes: ae(ae({}, d.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": a,
|
|
class: v,
|
|
role: d.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(m, " ").concat(w)
|
|
})
|
|
};
|
|
const k = _ && !~d.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(m / w * 16 * 0.0625, "em")
|
|
} : {};
|
|
p && (y.attributes[sa] = ""), s && (y.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: y.attributes["aria-labelledby"] || "title-".concat(c || Di())
|
|
},
|
|
children: [s]
|
|
}), delete y.attributes.title);
|
|
const P = ae(ae({}, y), {}, {
|
|
prefix: n,
|
|
iconName: a,
|
|
main: t,
|
|
mask: r,
|
|
maskId: u,
|
|
transform: o,
|
|
symbol: i,
|
|
styles: ae(ae({}, k), d.styles)
|
|
}), {
|
|
children: E,
|
|
attributes: C
|
|
} = r.found && t.found ? jn("generateAbstractMask", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : jn("generateAbstractIcon", P) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return P.children = E, P.attributes = C, i ? tj(P) : ej(P);
|
|
}
|
|
function qy(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: a,
|
|
title: o,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, u = ae(ae(ae({}, i.attributes), o ? {
|
|
title: o
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (u[sa] = "");
|
|
const c = ae({}, i.styles);
|
|
am(a) && (c.transform = A6({
|
|
transform: a,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const d = Il(c);
|
|
d.length > 0 && (u.style = d);
|
|
const p = [];
|
|
return p.push({
|
|
tag: "span",
|
|
attributes: u,
|
|
children: [t]
|
|
}), o && p.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [o]
|
|
}), p;
|
|
}
|
|
function rj(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, a = ae(ae(ae({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), o = Il(n.styles);
|
|
o.length > 0 && (a.style = o);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: a,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Gu
|
|
} = dr;
|
|
function Id(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let a = null;
|
|
return Array.isArray(n) ? a = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(he.cssPrefix, "-").concat(Fu.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(he.cssPrefix, "-").concat(Fu.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(he.cssPrefix, "-").concat(Fu.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : a = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: a
|
|
};
|
|
}
|
|
const nj = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function aj(e, t) {
|
|
!Lx && !he.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Td(e, t) {
|
|
let r = t;
|
|
return t === "fa" && he.styleDefault !== null && (t = Nn()), new Promise((n, a) => {
|
|
if (r === "fa") {
|
|
const o = tw(e) || {};
|
|
e = o.iconName || e, t = o.prefix || t;
|
|
}
|
|
if (e && t && Gu[t] && Gu[t][e]) {
|
|
const o = Gu[t][e];
|
|
return n(Id(o));
|
|
}
|
|
aj(e, t), n(ae(ae({}, nj), {}, {
|
|
icon: he.showMissingIcons && e ? jn("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const By = () => {
|
|
}, Rd = he.measurePerformance && bs && bs.mark && bs.measure ? bs : {
|
|
mark: By,
|
|
measure: By
|
|
}, si = 'FA "6.7.2"', oj = (e) => (Rd.mark("".concat(si, " ").concat(e, " begins")), () => aw(e)), aw = (e) => {
|
|
Rd.mark("".concat(si, " ").concat(e, " ends")), Rd.measure("".concat(si, " ").concat(e), "".concat(si, " ").concat(e, " begins"), "".concat(si, " ").concat(e, " ends"));
|
|
};
|
|
var lm = {
|
|
begin: oj,
|
|
end: aw
|
|
};
|
|
const Ms = () => {
|
|
};
|
|
function Ky(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(sa) : null) == "string";
|
|
}
|
|
function ij(e) {
|
|
const t = e.getAttribute ? e.getAttribute(em) : null, r = e.getAttribute ? e.getAttribute(tm) : null;
|
|
return t && r;
|
|
}
|
|
function sj(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(he.replacementClass);
|
|
}
|
|
function lj() {
|
|
return he.autoReplaceSvg === !0 ? zs.replace : zs[he.autoReplaceSvg] || zs.replace;
|
|
}
|
|
function cj(e) {
|
|
return ft.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function uj(e) {
|
|
return ft.createElement(e);
|
|
}
|
|
function ow(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? cj : uj
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return ft.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(ow(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function fj(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const zs = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(ow(r), t);
|
|
}), t.getAttribute(sa) === null && he.keepOriginalSource) {
|
|
let r = ft.createComment(fj(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~nm(t).indexOf(he.replacementClass))
|
|
return zs.replace(e);
|
|
const n = new RegExp("".concat(he.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const o = 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 = o.toSvg.join(" "), o.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", o.toNode.join(" "));
|
|
}
|
|
const a = r.map((o) => Ji(o)).join(`
|
|
`);
|
|
t.setAttribute(sa, ""), t.innerHTML = a;
|
|
}
|
|
};
|
|
function Xy(e) {
|
|
e();
|
|
}
|
|
function iw(e, t) {
|
|
const r = typeof t == "function" ? t : Ms;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Xy;
|
|
he.mutateApproach === m6 && (n = $n.requestAnimationFrame || Xy), n(() => {
|
|
const a = lj(), o = lm.begin("mutate");
|
|
e.map(a), o(), r();
|
|
});
|
|
}
|
|
}
|
|
let cm = !1;
|
|
function sw() {
|
|
cm = !0;
|
|
}
|
|
function Md() {
|
|
cm = !1;
|
|
}
|
|
let rl = null;
|
|
function Jy(e) {
|
|
if (!zy || !he.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Ms,
|
|
nodeCallback: r = Ms,
|
|
pseudoElementsCallback: n = Ms,
|
|
observeMutationsRoot: a = ft
|
|
} = e;
|
|
rl = new zy((o) => {
|
|
if (cm) return;
|
|
const i = Nn();
|
|
to(o).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !Ky(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" && Ky(s.target) && ~x6.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && ij(s.target)) {
|
|
const {
|
|
prefix: u,
|
|
iconName: c
|
|
} = Rl(nm(s.target));
|
|
s.target.setAttribute(em, u || i), c && s.target.setAttribute(tm, c);
|
|
} else sj(s.target) && r(s.target);
|
|
});
|
|
}), Yr && rl.observe(a, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function dj() {
|
|
rl && rl.disconnect();
|
|
}
|
|
function pj(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, a) => {
|
|
const o = a.split(":"), i = o[0], s = o.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function mj(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let a = Rl(nm(e));
|
|
return a.prefix || (a.prefix = Nn()), t && r && (a.prefix = t, a.iconName = r), a.iconName && a.prefix || (a.prefix && n.length > 0 && (a.iconName = D6(a.prefix, e.innerText) || im(a.prefix, Ad(e.innerText))), !a.iconName && he.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (a.iconName = e.firstChild.data)), a;
|
|
}
|
|
function gj(e) {
|
|
const t = to(e.attributes).reduce((a, o) => (a.name !== "class" && a.name !== "style" && (a[o.name] = o.value), a), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return he.autoA11y && (r ? t["aria-labelledby"] = "".concat(he.replacementClass, "-title-").concat(n || Di()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function hj() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: fr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function Qy(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: a
|
|
} = mj(e), o = gj(e), i = Nd("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? pj(e) : [];
|
|
return ae({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: fr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: a,
|
|
styles: s,
|
|
attributes: o
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: yj
|
|
} = dr;
|
|
function lw(e) {
|
|
const t = he.autoReplaceSvg === "nest" ? Qy(e, {
|
|
styleParser: !1
|
|
}) : Qy(e);
|
|
return ~t.extra.classes.indexOf(Vx) ? jn("generateLayersText", e, t) : jn("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function bj() {
|
|
return [...QN, ..._d];
|
|
}
|
|
function Zy(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Yr) return Promise.resolve();
|
|
const r = ft.documentElement.classList, n = (d) => r.add("".concat(Ly, "-").concat(d)), a = (d) => r.remove("".concat(Ly, "-").concat(d)), o = he.autoFetchSvg ? bj() : Rx.concat(Object.keys(yj));
|
|
o.includes("fa") || o.push("fa");
|
|
const i = [".".concat(Vx, ":not([").concat(sa, "])")].concat(o.map((d) => ".".concat(d, ":not([").concat(sa, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = to(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), a("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const u = lm.begin("onTree"), c = s.reduce((d, p) => {
|
|
try {
|
|
const m = lw(p);
|
|
m && d.push(m);
|
|
} catch (m) {
|
|
Lx || m.name === "MissingIcon" && console.error(m);
|
|
}
|
|
return d;
|
|
}, []);
|
|
return new Promise((d, p) => {
|
|
Promise.all(c).then((m) => {
|
|
iw(m, () => {
|
|
n("active"), n("complete"), a("pending"), typeof t == "function" && t(), u(), d();
|
|
});
|
|
}).catch((m) => {
|
|
u(), p(m);
|
|
});
|
|
});
|
|
}
|
|
function vj(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
lw(e).then((r) => {
|
|
r && iw([r], t);
|
|
});
|
|
}
|
|
function xj(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : jd(t || {});
|
|
let {
|
|
mask: a
|
|
} = r;
|
|
return a && (a = (a || {}).icon ? a : jd(a || {})), e(n, ae(ae({}, r), {}, {
|
|
mask: a
|
|
}));
|
|
};
|
|
}
|
|
const wj = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = fr,
|
|
symbol: n = !1,
|
|
mask: a = null,
|
|
maskId: o = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: u = [],
|
|
attributes: c = {},
|
|
styles: d = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: p,
|
|
iconName: m,
|
|
icon: w
|
|
} = e;
|
|
return Ml(ae({
|
|
type: "icon"
|
|
}, e), () => (la("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), he.autoA11y && (i ? c["aria-labelledby"] = "".concat(he.replacementClass, "-title-").concat(s || Di()) : (c["aria-hidden"] = "true", c.focusable = "false")), sm({
|
|
icons: {
|
|
main: Id(w),
|
|
mask: a ? Id(a.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: p,
|
|
iconName: m,
|
|
transform: ae(ae({}, fr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: o,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: d,
|
|
classes: u
|
|
}
|
|
})));
|
|
};
|
|
var kj = {
|
|
mixout() {
|
|
return {
|
|
icon: xj(wj)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Zy, e.nodeCallback = vj, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = ft,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Zy(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: a,
|
|
titleId: o,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: u,
|
|
mask: c,
|
|
maskId: d,
|
|
extra: p
|
|
} = r;
|
|
return new Promise((m, w) => {
|
|
Promise.all([Td(n, i), c.iconName ? Td(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((_) => {
|
|
let [v, y] = _;
|
|
m([t, sm({
|
|
icons: {
|
|
main: v,
|
|
mask: y
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: u,
|
|
maskId: d,
|
|
title: a,
|
|
titleId: o,
|
|
extra: p,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(w);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
transform: o,
|
|
styles: i
|
|
} = t;
|
|
const s = Il(i);
|
|
s.length > 0 && (n.style = s);
|
|
let u;
|
|
return am(o) && (u = jn("generateAbstractTransformGrouping", {
|
|
main: a,
|
|
transform: o,
|
|
containerWidth: a.width,
|
|
iconWidth: a.width
|
|
})), r.push(u || a.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, _j = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Ml({
|
|
type: "layer"
|
|
}, () => {
|
|
la("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((a) => {
|
|
Array.isArray(a) ? a.map((o) => {
|
|
n = n.concat(o.abstract);
|
|
}) : n = n.concat(a.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(he.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, Oj = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: a = {},
|
|
styles: o = {}
|
|
} = t;
|
|
return Ml({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (la("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), rj({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: a,
|
|
styles: o,
|
|
classes: ["".concat(he.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, Sj = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = fr,
|
|
title: n = null,
|
|
classes: a = [],
|
|
attributes: o = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Ml({
|
|
type: "text",
|
|
content: e
|
|
}, () => (la("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), qy({
|
|
content: e,
|
|
transform: ae(ae({}, fr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: o,
|
|
styles: i,
|
|
classes: ["".concat(he.cssPrefix, "-layers-text"), ...a]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: a,
|
|
extra: o
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (Ix) {
|
|
const u = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / u, s = c.height / u;
|
|
}
|
|
return he.autoA11y && !n && (o.attributes["aria-hidden"] = "true"), Promise.resolve([t, qy({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: a,
|
|
title: n,
|
|
extra: o,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const Ej = new RegExp('"', "ug"), eb = [1105920, 1112319], tb = ae(ae(ae(ae({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), KN), d6), o6), zd = Object.keys(tb).reduce((e, t) => (e[t.toLowerCase()] = tb[t], e), {}), Pj = Object.keys(zd).reduce((e, t) => {
|
|
const r = zd[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function Cj(e) {
|
|
const t = e.replace(Ej, ""), r = T6(t, 0), n = r >= eb[0] && r <= eb[1], a = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: Ad(a ? t[0] : t),
|
|
isSecondary: n || a
|
|
};
|
|
}
|
|
function Aj(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), a = isNaN(n) ? "normal" : n;
|
|
return (zd[r] || {})[a] || Pj[r];
|
|
}
|
|
function rb(e, t) {
|
|
const r = "".concat(p6).concat(t.replace(":", "-"));
|
|
return new Promise((n, a) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const i = to(e.children).filter((m) => m.getAttribute(Sd) === t)[0], s = $n.getComputedStyle(e, t), u = s.getPropertyValue("font-family"), c = u.match(b6), d = s.getPropertyValue("font-weight"), p = s.getPropertyValue("content");
|
|
if (i && !c)
|
|
return e.removeChild(i), n();
|
|
if (c && p !== "none" && p !== "") {
|
|
const m = s.getPropertyValue("content");
|
|
let w = Aj(u, d);
|
|
const {
|
|
value: _,
|
|
isSecondary: v
|
|
} = Cj(m), y = c[0].startsWith("FontAwesome");
|
|
let k = im(w, _), P = k;
|
|
if (y) {
|
|
const E = L6(_);
|
|
E.iconName && E.prefix && (k = E.iconName, w = E.prefix);
|
|
}
|
|
if (k && !v && (!i || i.getAttribute(em) !== w || i.getAttribute(tm) !== P)) {
|
|
e.setAttribute(r, P), i && e.removeChild(i);
|
|
const E = hj(), {
|
|
extra: C
|
|
} = E;
|
|
C.attributes[Sd] = t, Td(k, w).then((b) => {
|
|
const Y = sm(ae(ae({}, E), {}, {
|
|
icons: {
|
|
main: b,
|
|
mask: rw()
|
|
},
|
|
prefix: w,
|
|
iconName: P,
|
|
extra: C,
|
|
watchable: !0
|
|
})), q = ft.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(q, e.firstChild) : e.appendChild(q), q.outerHTML = Y.map((Z) => Ji(Z)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(a);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function $j(e) {
|
|
return Promise.all([rb(e, "::before"), rb(e, "::after")]);
|
|
}
|
|
function Nj(e) {
|
|
return e.parentNode !== document.head && !~g6.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Sd) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function nb(e) {
|
|
if (Yr)
|
|
return new Promise((t, r) => {
|
|
const n = to(e.querySelectorAll("*")).filter(Nj).map($j), a = lm.begin("searchPseudoElements");
|
|
sw(), Promise.all(n).then(() => {
|
|
a(), Md(), t();
|
|
}).catch(() => {
|
|
a(), Md(), r();
|
|
});
|
|
});
|
|
}
|
|
var jj = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = nb, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = ft
|
|
} = t;
|
|
he.searchPseudoElements && nb(r);
|
|
};
|
|
}
|
|
};
|
|
let ab = !1;
|
|
var Ij = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
sw(), ab = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Jy(Nd("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
dj();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
ab ? Md() : Jy(Nd("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const ob = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const a = n.toLowerCase().split("-"), o = a[0];
|
|
let i = a.slice(1).join("-");
|
|
if (o && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (o && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (o) {
|
|
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 Tj = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => ob(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = ob(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: a,
|
|
iconWidth: o
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(a / 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)
|
|
}, p = {
|
|
transform: "translate(".concat(o / 2 * -1, " -256)")
|
|
}, m = {
|
|
outer: i,
|
|
inner: d,
|
|
path: p
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ae({}, m.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ae({}, m.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ae(ae({}, r.icon.attributes), m.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Vu = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function ib(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 Rj(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var Mj = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Rl(r.split(" ").map((a) => a.trim())) : rw();
|
|
return n.prefix || (n.prefix = Nn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: a,
|
|
mask: o,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: u,
|
|
icon: c
|
|
} = a, {
|
|
width: d,
|
|
icon: p
|
|
} = o, m = C6({
|
|
transform: s,
|
|
containerWidth: d,
|
|
iconWidth: u
|
|
}), w = {
|
|
tag: "rect",
|
|
attributes: ae(ae({}, Vu), {}, {
|
|
fill: "white"
|
|
})
|
|
}, _ = c.children ? {
|
|
children: c.children.map(ib)
|
|
} : {}, v = {
|
|
tag: "g",
|
|
attributes: ae({}, m.inner),
|
|
children: [ib(ae({
|
|
tag: c.tag,
|
|
attributes: ae(ae({}, c.attributes), m.path)
|
|
}, _))]
|
|
}, y = {
|
|
tag: "g",
|
|
attributes: ae({}, m.outer),
|
|
children: [v]
|
|
}, k = "mask-".concat(i || Di()), P = "clip-".concat(i || Di()), E = {
|
|
tag: "mask",
|
|
attributes: ae(ae({}, Vu), {}, {
|
|
id: k,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [w, y]
|
|
}, C = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: P
|
|
},
|
|
children: Rj(p)
|
|
}, E]
|
|
};
|
|
return r.push(C, {
|
|
tag: "rect",
|
|
attributes: ae({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(P, ")"),
|
|
mask: "url(#".concat(k, ")")
|
|
}, Vu)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, zj = {
|
|
provides(e) {
|
|
let t = !1;
|
|
$n.matchMedia && (t = $n.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, a = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: ae(ae({}, 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 o = ae(ae({}, a), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ae(ae({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ae(ae({}, a), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ae(ae({}, o), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ae(ae({}, 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: ae(ae({}, o), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ae(ae({}, 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: ae(ae({}, o), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, Fj = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, Dj = [N6, kj, _j, Oj, Sj, jj, Ij, Tj, Mj, zj, Fj];
|
|
K6(Dj, {
|
|
mixoutsTo: Ft
|
|
});
|
|
Ft.noAuto;
|
|
Ft.config;
|
|
Ft.library;
|
|
Ft.dom;
|
|
const Fd = Ft.parse;
|
|
Ft.findIconDefinition;
|
|
Ft.toHtml;
|
|
const Lj = Ft.icon;
|
|
Ft.layer;
|
|
Ft.text;
|
|
Ft.counter;
|
|
var xs = { exports: {} }, ws = { exports: {} }, Ke = {};
|
|
/** @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 sb;
|
|
function Gj() {
|
|
if (sb) return Ke;
|
|
sb = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var Y = b.$$typeof;
|
|
switch (Y) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return Y;
|
|
}
|
|
}
|
|
case r:
|
|
return Y;
|
|
}
|
|
}
|
|
}
|
|
function C(b) {
|
|
return E(b) === c;
|
|
}
|
|
return Ke.AsyncMode = u, Ke.ConcurrentMode = c, Ke.ContextConsumer = s, Ke.ContextProvider = i, Ke.Element = t, Ke.ForwardRef = d, Ke.Fragment = n, Ke.Lazy = _, Ke.Memo = w, Ke.Portal = r, Ke.Profiler = o, Ke.StrictMode = a, Ke.Suspense = p, Ke.isAsyncMode = function(b) {
|
|
return C(b) || E(b) === u;
|
|
}, Ke.isConcurrentMode = C, Ke.isContextConsumer = function(b) {
|
|
return E(b) === s;
|
|
}, Ke.isContextProvider = function(b) {
|
|
return E(b) === i;
|
|
}, Ke.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Ke.isForwardRef = function(b) {
|
|
return E(b) === d;
|
|
}, Ke.isFragment = function(b) {
|
|
return E(b) === n;
|
|
}, Ke.isLazy = function(b) {
|
|
return E(b) === _;
|
|
}, Ke.isMemo = function(b) {
|
|
return E(b) === w;
|
|
}, Ke.isPortal = function(b) {
|
|
return E(b) === r;
|
|
}, Ke.isProfiler = function(b) {
|
|
return E(b) === o;
|
|
}, Ke.isStrictMode = function(b) {
|
|
return E(b) === a;
|
|
}, Ke.isSuspense = function(b) {
|
|
return E(b) === p;
|
|
}, Ke.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === c || b === o || b === a || b === p || b === m || typeof b == "object" && b !== null && (b.$$typeof === _ || b.$$typeof === w || b.$$typeof === i || b.$$typeof === s || b.$$typeof === d || b.$$typeof === y || b.$$typeof === k || b.$$typeof === P || b.$$typeof === v);
|
|
}, Ke.typeOf = E, Ke;
|
|
}
|
|
var Xe = {};
|
|
/** @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 lb;
|
|
function Vj() {
|
|
return lb || (lb = 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, a = e ? Symbol.for("react.strict_mode") : 60108, o = 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, p = e ? Symbol.for("react.suspense") : 60113, m = e ? Symbol.for("react.suspense_list") : 60120, w = e ? Symbol.for("react.memo") : 60115, _ = e ? Symbol.for("react.lazy") : 60116, v = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, k = e ? Symbol.for("react.responder") : 60118, P = e ? Symbol.for("react.scope") : 60119;
|
|
function E(S) {
|
|
return typeof S == "string" || typeof S == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
S === n || S === c || S === o || S === a || S === p || S === m || typeof S == "object" && S !== null && (S.$$typeof === _ || S.$$typeof === w || S.$$typeof === i || S.$$typeof === s || S.$$typeof === d || S.$$typeof === y || S.$$typeof === k || S.$$typeof === P || S.$$typeof === v);
|
|
}
|
|
function C(S) {
|
|
if (typeof S == "object" && S !== null) {
|
|
var ye = S.$$typeof;
|
|
switch (ye) {
|
|
case t:
|
|
var We = S.type;
|
|
switch (We) {
|
|
case u:
|
|
case c:
|
|
case n:
|
|
case o:
|
|
case a:
|
|
case p:
|
|
return We;
|
|
default:
|
|
var gt = We && We.$$typeof;
|
|
switch (gt) {
|
|
case s:
|
|
case d:
|
|
case _:
|
|
case w:
|
|
case i:
|
|
return gt;
|
|
default:
|
|
return ye;
|
|
}
|
|
}
|
|
case r:
|
|
return ye;
|
|
}
|
|
}
|
|
}
|
|
var b = u, Y = c, q = s, Z = i, ie = t, Q = d, J = n, D = _, ce = w, V = r, I = o, R = a, j = p, U = !1;
|
|
function B(S) {
|
|
return U || (U = !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.")), h(S) || C(S) === u;
|
|
}
|
|
function h(S) {
|
|
return C(S) === c;
|
|
}
|
|
function f(S) {
|
|
return C(S) === s;
|
|
}
|
|
function x(S) {
|
|
return C(S) === i;
|
|
}
|
|
function N(S) {
|
|
return typeof S == "object" && S !== null && S.$$typeof === t;
|
|
}
|
|
function $(S) {
|
|
return C(S) === d;
|
|
}
|
|
function T(S) {
|
|
return C(S) === n;
|
|
}
|
|
function z(S) {
|
|
return C(S) === _;
|
|
}
|
|
function M(S) {
|
|
return C(S) === w;
|
|
}
|
|
function L(S) {
|
|
return C(S) === r;
|
|
}
|
|
function F(S) {
|
|
return C(S) === o;
|
|
}
|
|
function G(S) {
|
|
return C(S) === a;
|
|
}
|
|
function le(S) {
|
|
return C(S) === p;
|
|
}
|
|
Xe.AsyncMode = b, Xe.ConcurrentMode = Y, Xe.ContextConsumer = q, Xe.ContextProvider = Z, Xe.Element = ie, Xe.ForwardRef = Q, Xe.Fragment = J, Xe.Lazy = D, Xe.Memo = ce, Xe.Portal = V, Xe.Profiler = I, Xe.StrictMode = R, Xe.Suspense = j, Xe.isAsyncMode = B, Xe.isConcurrentMode = h, Xe.isContextConsumer = f, Xe.isContextProvider = x, Xe.isElement = N, Xe.isForwardRef = $, Xe.isFragment = T, Xe.isLazy = z, Xe.isMemo = M, Xe.isPortal = L, Xe.isProfiler = F, Xe.isStrictMode = G, Xe.isSuspense = le, Xe.isValidElementType = E, Xe.typeOf = C;
|
|
}()), Xe;
|
|
}
|
|
var cb;
|
|
function cw() {
|
|
return cb || (cb = 1, process.env.NODE_ENV === "production" ? ws.exports = Gj() : ws.exports = Vj()), ws.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Wu, ub;
|
|
function Wj() {
|
|
if (ub) return Wu;
|
|
ub = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(o) {
|
|
if (o == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(o);
|
|
}
|
|
function a() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var o = new String("abc");
|
|
if (o[5] = "de", Object.getOwnPropertyNames(o)[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 Wu = a() ? Object.assign : function(o, i) {
|
|
for (var s, u = n(o), c, d = 1; d < arguments.length; d++) {
|
|
s = Object(arguments[d]);
|
|
for (var p in s)
|
|
t.call(s, p) && (u[p] = s[p]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var m = 0; m < c.length; m++)
|
|
r.call(s, c[m]) && (u[c[m]] = s[c[m]]);
|
|
}
|
|
}
|
|
return u;
|
|
}, Wu;
|
|
}
|
|
var Uu, fb;
|
|
function um() {
|
|
if (fb) return Uu;
|
|
fb = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Uu = e, Uu;
|
|
}
|
|
var Hu, db;
|
|
function uw() {
|
|
return db || (db = 1, Hu = Function.call.bind(Object.prototype.hasOwnProperty)), Hu;
|
|
}
|
|
var Yu, pb;
|
|
function Uj() {
|
|
if (pb) return Yu;
|
|
pb = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ um(), r = {}, n = /* @__PURE__ */ uw();
|
|
e = function(o) {
|
|
var i = "Warning: " + o;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function a(o, i, s, u, c) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var d in o)
|
|
if (n(o, d)) {
|
|
var p;
|
|
try {
|
|
if (typeof o[d] != "function") {
|
|
var m = Error(
|
|
(u || "React class") + ": " + s + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw m.name = "Invariant Violation", m;
|
|
}
|
|
p = o[d](i, d, u, s, null, t);
|
|
} catch (_) {
|
|
p = _;
|
|
}
|
|
if (p && !(p 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 p + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), p instanceof Error && !(p.message in r)) {
|
|
r[p.message] = !0;
|
|
var w = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + p.message + (w ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return a.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Yu = a, Yu;
|
|
}
|
|
var qu, mb;
|
|
function Hj() {
|
|
if (mb) return qu;
|
|
mb = 1;
|
|
var e = cw(), t = Wj(), r = /* @__PURE__ */ um(), n = /* @__PURE__ */ uw(), a = /* @__PURE__ */ Uj(), o = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (o = function(s) {
|
|
var u = "Warning: " + s;
|
|
typeof console < "u" && console.error(u);
|
|
try {
|
|
throw new Error(u);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return qu = function(s, u) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator";
|
|
function p(h) {
|
|
var f = h && (c && h[c] || h[d]);
|
|
if (typeof f == "function")
|
|
return f;
|
|
}
|
|
var m = "<<anonymous>>", w = {
|
|
array: k("array"),
|
|
bigint: k("bigint"),
|
|
bool: k("boolean"),
|
|
func: k("function"),
|
|
number: k("number"),
|
|
object: k("object"),
|
|
string: k("string"),
|
|
symbol: k("symbol"),
|
|
any: P(),
|
|
arrayOf: E,
|
|
element: C(),
|
|
elementType: b(),
|
|
instanceOf: Y,
|
|
node: Q(),
|
|
objectOf: Z,
|
|
oneOf: q,
|
|
oneOfType: ie,
|
|
shape: D,
|
|
exact: ce
|
|
};
|
|
function _(h, f) {
|
|
return h === f ? h !== 0 || 1 / h === 1 / f : h !== h && f !== f;
|
|
}
|
|
function v(h, f) {
|
|
this.message = h, this.data = f && typeof f == "object" ? f : {}, this.stack = "";
|
|
}
|
|
v.prototype = Error.prototype;
|
|
function y(h) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var f = {}, x = 0;
|
|
function N(T, z, M, L, F, G, le) {
|
|
if (L = L || m, G = G || M, le !== r) {
|
|
if (u) {
|
|
var S = 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 S.name = "Invariant Violation", S;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var ye = L + ":" + M;
|
|
!f[ye] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
x < 3 && (o(
|
|
"You are manually calling a React.PropTypes validation function for the `" + G + "` prop on `" + L + "`. 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."
|
|
), f[ye] = !0, x++);
|
|
}
|
|
}
|
|
return z[M] == null ? T ? z[M] === null ? new v("The " + F + " `" + G + "` is marked as required " + ("in `" + L + "`, but its value is `null`.")) : new v("The " + F + " `" + G + "` is marked as required in " + ("`" + L + "`, but its value is `undefined`.")) : null : h(z, M, L, F, G);
|
|
}
|
|
var $ = N.bind(null, !1);
|
|
return $.isRequired = N.bind(null, !0), $;
|
|
}
|
|
function k(h) {
|
|
function f(x, N, $, T, z, M) {
|
|
var L = x[N], F = R(L);
|
|
if (F !== h) {
|
|
var G = j(L);
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` of type " + ("`" + G + "` supplied to `" + $ + "`, expected ") + ("`" + h + "`."),
|
|
{ expectedType: h }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function P() {
|
|
return y(i);
|
|
}
|
|
function E(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside arrayOf.");
|
|
var M = x[N];
|
|
if (!Array.isArray(M)) {
|
|
var L = R(M);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an array."));
|
|
}
|
|
for (var F = 0; F < M.length; F++) {
|
|
var G = h(M, F, $, T, z + "[" + F + "]", r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function C() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!s(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function b() {
|
|
function h(f, x, N, $, T) {
|
|
var z = f[x];
|
|
if (!e.isValidElementType(z)) {
|
|
var M = R(z);
|
|
return new v("Invalid " + $ + " `" + T + "` of type " + ("`" + M + "` supplied to `" + N + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(h);
|
|
}
|
|
function Y(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (!(x[N] instanceof h)) {
|
|
var M = h.name || m, L = B(x[N]);
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected ") + ("instance of `" + M + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function q(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
|
|
"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])."
|
|
) : o("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function f(x, N, $, T, z) {
|
|
for (var M = x[N], L = 0; L < h.length; L++)
|
|
if (_(M, h[L]))
|
|
return null;
|
|
var F = JSON.stringify(h, function(le, S) {
|
|
var ye = j(S);
|
|
return ye === "symbol" ? String(S) : S;
|
|
});
|
|
return new v("Invalid " + T + " `" + z + "` of value `" + String(M) + "` " + ("supplied to `" + $ + "`, expected one of " + F + "."));
|
|
}
|
|
return y(f);
|
|
}
|
|
function Z(h) {
|
|
function f(x, N, $, T, z) {
|
|
if (typeof h != "function")
|
|
return new v("Property `" + z + "` of component `" + $ + "` has invalid PropType notation inside objectOf.");
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type " + ("`" + L + "` supplied to `" + $ + "`, expected an object."));
|
|
for (var F in M)
|
|
if (n(M, F)) {
|
|
var G = h(M, F, $, T, z + "." + F, r);
|
|
if (G instanceof Error)
|
|
return G;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ie(h) {
|
|
if (!Array.isArray(h))
|
|
return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var f = 0; f < h.length; f++) {
|
|
var x = h[f];
|
|
if (typeof x != "function")
|
|
return o(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + U(x) + " at index " + f + "."
|
|
), i;
|
|
}
|
|
function N($, T, z, M, L) {
|
|
for (var F = [], G = 0; G < h.length; G++) {
|
|
var le = h[G], S = le($, T, z, M, L, r);
|
|
if (S == null)
|
|
return null;
|
|
S.data && n(S.data, "expectedType") && F.push(S.data.expectedType);
|
|
}
|
|
var ye = F.length > 0 ? ", expected one of type [" + F.join(", ") + "]" : "";
|
|
return new v("Invalid " + M + " `" + L + "` supplied to " + ("`" + z + "`" + ye + "."));
|
|
}
|
|
return y(N);
|
|
}
|
|
function Q() {
|
|
function h(f, x, N, $, T) {
|
|
return V(f[x]) ? null : new v("Invalid " + $ + " `" + T + "` supplied to " + ("`" + N + "`, expected a ReactNode."));
|
|
}
|
|
return y(h);
|
|
}
|
|
function J(h, f, x, N, $) {
|
|
return new v(
|
|
(h || "React class") + ": " + f + " type `" + x + "." + N + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + $ + "`."
|
|
);
|
|
}
|
|
function D(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
for (var F in h) {
|
|
var G = h[F];
|
|
if (typeof G != "function")
|
|
return J($, T, z, F, j(G));
|
|
var le = G(M, F, $, T, z + "." + F, r);
|
|
if (le)
|
|
return le;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function ce(h) {
|
|
function f(x, N, $, T, z) {
|
|
var M = x[N], L = R(M);
|
|
if (L !== "object")
|
|
return new v("Invalid " + T + " `" + z + "` of type `" + L + "` " + ("supplied to `" + $ + "`, expected `object`."));
|
|
var F = t({}, x[N], h);
|
|
for (var G in F) {
|
|
var le = h[G];
|
|
if (n(h, G) && typeof le != "function")
|
|
return J($, T, z, G, j(le));
|
|
if (!le)
|
|
return new v(
|
|
"Invalid " + T + " `" + z + "` key `" + G + "` supplied to `" + $ + "`.\nBad object: " + JSON.stringify(x[N], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(h), null, " ")
|
|
);
|
|
var S = le(M, G, $, T, z + "." + G, r);
|
|
if (S)
|
|
return S;
|
|
}
|
|
return null;
|
|
}
|
|
return y(f);
|
|
}
|
|
function V(h) {
|
|
switch (typeof h) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !h;
|
|
case "object":
|
|
if (Array.isArray(h))
|
|
return h.every(V);
|
|
if (h === null || s(h))
|
|
return !0;
|
|
var f = p(h);
|
|
if (f) {
|
|
var x = f.call(h), N;
|
|
if (f !== h.entries) {
|
|
for (; !(N = x.next()).done; )
|
|
if (!V(N.value))
|
|
return !1;
|
|
} else
|
|
for (; !(N = x.next()).done; ) {
|
|
var $ = N.value;
|
|
if ($ && !V($[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function I(h, f) {
|
|
return h === "symbol" ? !0 : f ? f["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && f instanceof Symbol : !1;
|
|
}
|
|
function R(h) {
|
|
var f = typeof h;
|
|
return Array.isArray(h) ? "array" : h instanceof RegExp ? "object" : I(f, h) ? "symbol" : f;
|
|
}
|
|
function j(h) {
|
|
if (typeof h > "u" || h === null)
|
|
return "" + h;
|
|
var f = R(h);
|
|
if (f === "object") {
|
|
if (h instanceof Date)
|
|
return "date";
|
|
if (h instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return f;
|
|
}
|
|
function U(h) {
|
|
var f = j(h);
|
|
switch (f) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + f;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + f;
|
|
default:
|
|
return f;
|
|
}
|
|
}
|
|
function B(h) {
|
|
return !h.constructor || !h.constructor.name ? m : h.constructor.name;
|
|
}
|
|
return w.checkPropTypes = a, w.resetWarningCache = a.resetWarningCache, w.PropTypes = w, w;
|
|
}, qu;
|
|
}
|
|
var Bu, gb;
|
|
function Yj() {
|
|
if (gb) return Bu;
|
|
gb = 1;
|
|
var e = /* @__PURE__ */ um();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Bu = function() {
|
|
function n(i, s, u, c, d, p) {
|
|
if (p !== e) {
|
|
var m = 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 m.name = "Invariant Violation", m;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function a() {
|
|
return n;
|
|
}
|
|
var o = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: a,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: a,
|
|
node: n,
|
|
objectOf: a,
|
|
oneOf: a,
|
|
oneOfType: a,
|
|
shape: a,
|
|
exact: a,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return o.PropTypes = o, o;
|
|
}, Bu;
|
|
}
|
|
var hb;
|
|
function qj() {
|
|
if (hb) return xs.exports;
|
|
if (hb = 1, process.env.NODE_ENV !== "production") {
|
|
var e = cw(), t = !0;
|
|
xs.exports = /* @__PURE__ */ Hj()(e.isElement, t);
|
|
} else
|
|
xs.exports = /* @__PURE__ */ Yj()();
|
|
return xs.exports;
|
|
}
|
|
var Bj = /* @__PURE__ */ qj();
|
|
const Fe = /* @__PURE__ */ yx(Bj);
|
|
function yb(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(a) {
|
|
return Object.getOwnPropertyDescriptor(e, a).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function nr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? yb(Object(r), !0).forEach(function(n) {
|
|
Ea(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : yb(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function nl(e) {
|
|
"@babel/helpers - typeof";
|
|
return nl = 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;
|
|
}, nl(e);
|
|
}
|
|
function Ea(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Kj(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), a, o;
|
|
for (o = 0; o < n.length; o++)
|
|
a = n[o], !(t.indexOf(a) >= 0) && (r[a] = e[a]);
|
|
return r;
|
|
}
|
|
function Xj(e, t) {
|
|
if (e == null) return {};
|
|
var r = Kj(e, t), n, a;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var o = Object.getOwnPropertySymbols(e);
|
|
for (a = 0; a < o.length; a++)
|
|
n = o[a], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function Dd(e) {
|
|
return Jj(e) || Qj(e) || Zj(e) || eI();
|
|
}
|
|
function Jj(e) {
|
|
if (Array.isArray(e)) return Ld(e);
|
|
}
|
|
function Qj(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function Zj(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Ld(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 Ld(e, t);
|
|
}
|
|
}
|
|
function Ld(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 eI() {
|
|
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 tI(e) {
|
|
var t, r = e.beat, n = e.fade, a = e.beatFade, o = e.bounce, i = e.shake, s = e.flash, u = e.spin, c = e.spinPulse, d = e.spinReverse, p = e.pulse, m = e.fixedWidth, w = e.inverse, _ = e.border, v = e.listItem, y = e.flip, k = e.size, P = e.rotation, E = e.pull, C = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": a,
|
|
"fa-bounce": o,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": u,
|
|
"fa-spin-reverse": d,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": p,
|
|
"fa-fw": m,
|
|
"fa-inverse": w,
|
|
"fa-border": _,
|
|
"fa-li": v,
|
|
"fa-flip": y === !0,
|
|
"fa-flip-horizontal": y === "horizontal" || y === "both",
|
|
"fa-flip-vertical": y === "vertical" || y === "both"
|
|
}, Ea(t, "fa-".concat(k), typeof k < "u" && k !== null), Ea(t, "fa-rotate-".concat(P), typeof P < "u" && P !== null && P !== 0), Ea(t, "fa-pull-".concat(E), typeof E < "u" && E !== null), Ea(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(C).map(function(b) {
|
|
return C[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function rI(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function fw(e) {
|
|
return rI(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var nI = ["style"];
|
|
function aI(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function oI(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), a = fw(r.slice(0, n)), o = r.slice(n + 1).trim();
|
|
return a.startsWith("webkit") ? t[aI(a)] = o : t[a] = o, t;
|
|
}, {});
|
|
}
|
|
function dw(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 dw(e, u);
|
|
}), a = 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 = oI(d);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? u.attrs[c.toLowerCase()] = d : u.attrs[fw(c)] = d;
|
|
}
|
|
return u;
|
|
}, {
|
|
attrs: {}
|
|
}), o = r.style, i = o === void 0 ? {} : o, s = Xj(r, nI);
|
|
return a.attrs.style = nr(nr({}, a.attrs.style), i), e.apply(void 0, [t.tag, nr(nr({}, a.attrs), s)].concat(Dd(n)));
|
|
}
|
|
var pw = !1;
|
|
try {
|
|
pw = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function iI() {
|
|
if (!pw && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function bb(e) {
|
|
if (e && nl(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Fd.icon)
|
|
return Fd.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && nl(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 Ku(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ea({}, e, t) : {};
|
|
}
|
|
var vb = {
|
|
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
|
|
}, fm = /* @__PURE__ */ He.forwardRef(function(e, t) {
|
|
var r = nr(nr({}, vb), e), n = r.icon, a = r.mask, o = r.symbol, i = r.className, s = r.title, u = r.titleId, c = r.maskId, d = bb(n), p = Ku("classes", [].concat(Dd(tI(r)), Dd((i || "").split(" ")))), m = Ku("transform", typeof r.transform == "string" ? Fd.transform(r.transform) : r.transform), w = Ku("mask", bb(a)), _ = Lj(d, nr(nr(nr(nr({}, p), m), w), {}, {
|
|
symbol: o,
|
|
title: s,
|
|
titleId: u,
|
|
maskId: c
|
|
}));
|
|
if (!_)
|
|
return iI("Could not find icon", d), null;
|
|
var v = _.abstract, y = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(k) {
|
|
vb.hasOwnProperty(k) || (y[k] = r[k]);
|
|
}), sI(v[0], y);
|
|
});
|
|
fm.displayName = "FontAwesomeIcon";
|
|
fm.propTypes = {
|
|
beat: Fe.bool,
|
|
border: Fe.bool,
|
|
beatFade: Fe.bool,
|
|
bounce: Fe.bool,
|
|
className: Fe.string,
|
|
fade: Fe.bool,
|
|
flash: Fe.bool,
|
|
mask: Fe.oneOfType([Fe.object, Fe.array, Fe.string]),
|
|
maskId: Fe.string,
|
|
fixedWidth: Fe.bool,
|
|
inverse: Fe.bool,
|
|
flip: Fe.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Fe.oneOfType([Fe.object, Fe.array, Fe.string]),
|
|
listItem: Fe.bool,
|
|
pull: Fe.oneOf(["right", "left"]),
|
|
pulse: Fe.bool,
|
|
rotation: Fe.oneOf([0, 90, 180, 270]),
|
|
shake: Fe.bool,
|
|
size: Fe.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Fe.bool,
|
|
spinPulse: Fe.bool,
|
|
spinReverse: Fe.bool,
|
|
symbol: Fe.oneOfType([Fe.bool, Fe.string]),
|
|
title: Fe.string,
|
|
titleId: Fe.string,
|
|
transform: Fe.oneOfType([Fe.string, Fe.object]),
|
|
swapOpacity: Fe.bool
|
|
};
|
|
var sI = dw.bind(null, He.createElement);
|
|
const dm = "-", lI = (e) => {
|
|
const t = uI(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (i) => {
|
|
const s = i.split(dm);
|
|
return s[0] === "" && s.length !== 1 && s.shift(), mw(s, t) || cI(i);
|
|
},
|
|
getConflictingClassGroupIds: (i, s) => {
|
|
const u = r[i] || [];
|
|
return s && n[i] ? [...u, ...n[i]] : u;
|
|
}
|
|
};
|
|
}, mw = (e, t) => {
|
|
var i;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const r = e[0], n = t.nextPart.get(r), a = n ? mw(e.slice(1), n) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const o = e.join(dm);
|
|
return (i = t.validators.find(({
|
|
validator: s
|
|
}) => s(o))) == null ? void 0 : i.classGroupId;
|
|
}, xb = /^\[(.+)\]$/, cI = (e) => {
|
|
if (xb.test(e)) {
|
|
const t = xb.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, uI = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return dI(Object.entries(e.classGroups), r).forEach(([o, i]) => {
|
|
Gd(i, n, o, t);
|
|
}), n;
|
|
}, Gd = (e, t, r, n) => {
|
|
e.forEach((a) => {
|
|
if (typeof a == "string") {
|
|
const o = a === "" ? t : wb(t, a);
|
|
o.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof a == "function") {
|
|
if (fI(a)) {
|
|
Gd(a(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: a,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(a).forEach(([o, i]) => {
|
|
Gd(i, wb(t, o), r, n);
|
|
});
|
|
});
|
|
}, wb = (e, t) => {
|
|
let r = e;
|
|
return t.split(dm).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, fI = (e) => e.isThemeGetter, dI = (e, t) => t ? e.map(([r, n]) => {
|
|
const a = n.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
|
|
return [r, a];
|
|
}) : e, pI = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const a = (o, i) => {
|
|
r.set(o, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(o) {
|
|
let i = r.get(o);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(o)) !== void 0)
|
|
return a(o, i), i;
|
|
},
|
|
set(o, i) {
|
|
r.has(o) ? r.set(o, i) : a(o, i);
|
|
}
|
|
};
|
|
}, gw = "!", mI = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, a = t[0], o = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, p;
|
|
for (let y = 0; y < s.length; y++) {
|
|
let k = s[y];
|
|
if (c === 0) {
|
|
if (k === a && (n || s.slice(y, y + o) === t)) {
|
|
u.push(s.slice(d, y)), d = y + o;
|
|
continue;
|
|
}
|
|
if (k === "/") {
|
|
p = y;
|
|
continue;
|
|
}
|
|
}
|
|
k === "[" ? c++ : k === "]" && c--;
|
|
}
|
|
const m = u.length === 0 ? s : s.substring(d), w = m.startsWith(gw), _ = w ? m.substring(1) : m, v = p && p > d ? p - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: w,
|
|
baseClassName: _,
|
|
maybePostfixModifierPosition: v
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, gI = (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;
|
|
}, hI = (e) => ({
|
|
cache: pI(e.cacheSize),
|
|
parseClassName: mI(e),
|
|
...lI(e)
|
|
}), yI = /\s+/, bI = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: a
|
|
} = t, o = [], i = e.trim().split(yI);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: p,
|
|
baseClassName: m,
|
|
maybePostfixModifierPosition: w
|
|
} = r(c);
|
|
let _ = !!w, v = n(_ ? m.substring(0, w) : m);
|
|
if (!v) {
|
|
if (!_) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (v = n(m), !v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
_ = !1;
|
|
}
|
|
const y = gI(d).join(":"), k = p ? y + gw : y, P = k + v;
|
|
if (o.includes(P))
|
|
continue;
|
|
o.push(P);
|
|
const E = a(v, _);
|
|
for (let C = 0; C < E.length; ++C) {
|
|
const b = E[C];
|
|
o.push(k + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function vI() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = hw(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const hw = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = hw(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function xI(e, ...t) {
|
|
let r, n, a, o = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, p) => p(d), e());
|
|
return r = hI(c), n = r.cache.get, a = r.cache.set, o = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = bI(u, r);
|
|
return a(u, d), d;
|
|
}
|
|
return function() {
|
|
return o(vI.apply(null, arguments));
|
|
};
|
|
}
|
|
const it = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, yw = /^\[(?:([a-z-]+):)?(.+)\]$/i, wI = /^\d+\/\d+$/, kI = /* @__PURE__ */ new Set(["px", "full", "screen"]), _I = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, OI = /\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$/, SI = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, EI = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, PI = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, $r = (e) => Fa(e) || kI.has(e) || wI.test(e), sn = (e) => ro(e, "length", RI), Fa = (e) => !!e && !Number.isNaN(Number(e)), Xu = (e) => ro(e, "number", Fa), Jo = (e) => !!e && Number.isInteger(Number(e)), CI = (e) => e.endsWith("%") && Fa(e.slice(0, -1)), $e = (e) => yw.test(e), ln = (e) => _I.test(e), AI = /* @__PURE__ */ new Set(["length", "size", "percentage"]), $I = (e) => ro(e, AI, bw), NI = (e) => ro(e, "position", bw), jI = /* @__PURE__ */ new Set(["image", "url"]), II = (e) => ro(e, jI, zI), TI = (e) => ro(e, "", MI), Qo = () => !0, ro = (e, t, r) => {
|
|
const n = yw.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, RI = (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.
|
|
OI.test(e) && !SI.test(e)
|
|
), bw = () => !1, MI = (e) => EI.test(e), zI = (e) => PI.test(e), FI = () => {
|
|
const e = it("colors"), t = it("spacing"), r = it("blur"), n = it("brightness"), a = it("borderColor"), o = it("borderRadius"), i = it("borderSpacing"), s = it("borderWidth"), u = it("contrast"), c = it("grayscale"), d = it("hueRotate"), p = it("invert"), m = it("gap"), w = it("gradientColorStops"), _ = it("gradientColorStopPositions"), v = it("inset"), y = it("margin"), k = it("opacity"), P = it("padding"), E = it("saturate"), C = it("scale"), b = it("sepia"), Y = it("skew"), q = it("space"), Z = it("translate"), ie = () => ["auto", "contain", "none"], Q = () => ["auto", "hidden", "clip", "visible", "scroll"], J = () => ["auto", $e, t], D = () => [$e, t], ce = () => ["", $r, sn], V = () => ["auto", Fa, $e], I = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], R = () => ["solid", "dashed", "dotted", "double", "none"], j = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], U = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], B = () => ["", "0", $e], h = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], f = () => [Fa, $e];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Qo],
|
|
spacing: [$r, sn],
|
|
blur: ["none", "", ln, $e],
|
|
brightness: f(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", ln, $e],
|
|
borderSpacing: D(),
|
|
borderWidth: ce(),
|
|
contrast: f(),
|
|
grayscale: B(),
|
|
hueRotate: f(),
|
|
invert: B(),
|
|
gap: D(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [CI, sn],
|
|
inset: J(),
|
|
margin: J(),
|
|
opacity: f(),
|
|
padding: D(),
|
|
saturate: f(),
|
|
scale: f(),
|
|
sepia: B(),
|
|
skew: f(),
|
|
space: D(),
|
|
translate: D()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", $e]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [ln]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": h()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": h()
|
|
}],
|
|
/**
|
|
* 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: [...I(), $e]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: Q()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": Q()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": Q()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": ie()
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [v]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [v]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [v]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [v]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [v]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [v]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [v]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [v]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Jo, $e]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: J()
|
|
}],
|
|
/**
|
|
* 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", $e]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: B()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: B()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Jo, $e]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Qo]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Jo, $e]
|
|
}, $e]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": V()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": V()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Qo]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Jo, $e]
|
|
}, $e]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": V()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": V()
|
|
}],
|
|
/**
|
|
* 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", $e]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", $e]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [m]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [m]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [m]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...U()]
|
|
}],
|
|
/**
|
|
* 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", ...U(), "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": [...U(), "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: [P]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [P]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [P]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [P]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [P]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [P]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [P]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [P]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [P]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [y]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [y]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [y]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [y]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [y]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [y]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [y]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [y]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [y]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [q]
|
|
}],
|
|
/**
|
|
* 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": [q]
|
|
}],
|
|
/**
|
|
* 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", $e, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [$e, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [$e, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [ln]
|
|
}, ln]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [$e, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [$e, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [$e, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [$e, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", ln, sn]
|
|
}],
|
|
/**
|
|
* 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", Xu]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Qo]
|
|
}],
|
|
/**
|
|
* 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", $e]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Fa, Xu]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", $r, $e]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", $e]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", $e]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...R(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", $r, sn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", $r, $e]
|
|
}],
|
|
/**
|
|
* 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: D()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", $e]
|
|
}],
|
|
/**
|
|
* 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", $e]
|
|
}],
|
|
// 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...I(), NI]
|
|
}],
|
|
/**
|
|
* 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", $I]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, II]
|
|
}],
|
|
/**
|
|
* 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: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [w]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [o]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...R(), "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": [k]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: R()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [a]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [a]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [a]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [a]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [a]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [a]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [a]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [a]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [a]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [a]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...R()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [$r, $e]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [$r, sn]
|
|
}],
|
|
/**
|
|
* 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: ce()
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [$r, sn]
|
|
}],
|
|
/**
|
|
* 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", ln, TI]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Qo]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [k]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...j(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": j()
|
|
}],
|
|
// 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", ln, $e]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [E]
|
|
}],
|
|
/**
|
|
* 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": [p]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [k]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [E]
|
|
}],
|
|
/**
|
|
* 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", $e]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: f()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", $e]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: f()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", $e]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [C]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [C]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [C]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Jo, $e]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [Z]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [Z]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [Y]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [Y]
|
|
}],
|
|
/**
|
|
* 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", $e]
|
|
}],
|
|
// 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", $e]
|
|
}],
|
|
/**
|
|
* 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": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": D()
|
|
}],
|
|
/**
|
|
* 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", $e]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [$r, sn, Xu]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, kb = /* @__PURE__ */ xI(FI);
|
|
var DI = Object.defineProperty, LI = (e, t, r) => t in e ? DI(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, mt = (e, t, r) => LI(e, typeof t != "symbol" ? t + "" : t, r);
|
|
let vw = class {
|
|
constructor(t) {
|
|
mt(this, "kind", "model"), mt(this, "id"), mt(this, "tauriId"), mt(this, "fullName"), mt(this, "category"), mt(this, "creator"), mt(this, "selectorName"), mt(this, "selectorDescription"), mt(this, "selectorBadges"), mt(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: []
|
|
};
|
|
}
|
|
}, Qt = class extends vw {
|
|
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), mt(this, "kind", "image_model"), mt(this, "maxGenerationCount"), mt(this, "defaultGenerationCount"), mt(this, "canEditImages"), mt(this, "usesInpaintingMask"), mt(this, "canUseImagePrompt"), mt(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);
|
|
}
|
|
};
|
|
class Zo extends vw {
|
|
constructor(t) {
|
|
super(t), mt(this, "kind", "video_model"), mt(this, "startFrame"), mt(this, "endFrame"), this.startFrame = t.startFrame, this.endFrame = t.endFrame;
|
|
}
|
|
}
|
|
var xe = /* @__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))(xe || {});
|
|
function GI(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Ju = { exports: {} }, Te = {};
|
|
/**
|
|
* @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 _b;
|
|
function VI() {
|
|
if (_b) return Te;
|
|
_b = 1;
|
|
var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), a = Symbol.for("react.profiler"), o = 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"), p = Symbol.iterator;
|
|
function m(f) {
|
|
return f === null || typeof f != "object" ? null : (f = p && f[p] || f["@@iterator"], typeof f == "function" ? f : null);
|
|
}
|
|
var w = { isMounted: function() {
|
|
return !1;
|
|
}, enqueueForceUpdate: function() {
|
|
}, enqueueReplaceState: function() {
|
|
}, enqueueSetState: function() {
|
|
} }, _ = Object.assign, v = {};
|
|
function y(f, x, N) {
|
|
this.props = f, this.context = x, this.refs = v, this.updater = N || w;
|
|
}
|
|
y.prototype.isReactComponent = {}, y.prototype.setState = function(f, x) {
|
|
if (typeof f != "object" && typeof f != "function" && f != 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, f, x, "setState");
|
|
}, y.prototype.forceUpdate = function(f) {
|
|
this.updater.enqueueForceUpdate(this, f, "forceUpdate");
|
|
};
|
|
function k() {
|
|
}
|
|
k.prototype = y.prototype;
|
|
function P(f, x, N) {
|
|
this.props = f, this.context = x, this.refs = v, this.updater = N || w;
|
|
}
|
|
var E = P.prototype = new k();
|
|
E.constructor = P, _(E, y.prototype), E.isPureReactComponent = !0;
|
|
var C = Array.isArray, b = Object.prototype.hasOwnProperty, Y = { current: null }, q = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function Z(f, x, N) {
|
|
var $, T = {}, z = null, M = null;
|
|
if (x != null) for ($ in x.ref !== void 0 && (M = x.ref), x.key !== void 0 && (z = "" + x.key), x) b.call(x, $) && !q.hasOwnProperty($) && (T[$] = x[$]);
|
|
var L = arguments.length - 2;
|
|
if (L === 1) T.children = N;
|
|
else if (1 < L) {
|
|
for (var F = Array(L), G = 0; G < L; G++) F[G] = arguments[G + 2];
|
|
T.children = F;
|
|
}
|
|
if (f && f.defaultProps) for ($ in L = f.defaultProps, L) T[$] === void 0 && (T[$] = L[$]);
|
|
return { $$typeof: e, type: f, key: z, ref: M, props: T, _owner: Y.current };
|
|
}
|
|
function ie(f, x) {
|
|
return { $$typeof: e, type: f.type, key: x, ref: f.ref, props: f.props, _owner: f._owner };
|
|
}
|
|
function Q(f) {
|
|
return typeof f == "object" && f !== null && f.$$typeof === e;
|
|
}
|
|
function J(f) {
|
|
var x = { "=": "=0", ":": "=2" };
|
|
return "$" + f.replace(/[=:]/g, function(N) {
|
|
return x[N];
|
|
});
|
|
}
|
|
var D = /\/+/g;
|
|
function ce(f, x) {
|
|
return typeof f == "object" && f !== null && f.key != null ? J("" + f.key) : x.toString(36);
|
|
}
|
|
function V(f, x, N, $, T) {
|
|
var z = typeof f;
|
|
(z === "undefined" || z === "boolean") && (f = null);
|
|
var M = !1;
|
|
if (f === null) M = !0;
|
|
else switch (z) {
|
|
case "string":
|
|
case "number":
|
|
M = !0;
|
|
break;
|
|
case "object":
|
|
switch (f.$$typeof) {
|
|
case e:
|
|
case t:
|
|
M = !0;
|
|
}
|
|
}
|
|
if (M) return M = f, T = T(M), f = $ === "" ? "." + ce(M, 0) : $, C(T) ? (N = "", f != null && (N = f.replace(D, "$&/") + "/"), V(T, x, N, "", function(G) {
|
|
return G;
|
|
})) : T != null && (Q(T) && (T = ie(T, N + (!T.key || M && M.key === T.key ? "" : ("" + T.key).replace(D, "$&/") + "/") + f)), x.push(T)), 1;
|
|
if (M = 0, $ = $ === "" ? "." : $ + ":", C(f)) for (var L = 0; L < f.length; L++) {
|
|
z = f[L];
|
|
var F = $ + ce(z, L);
|
|
M += V(z, x, N, F, T);
|
|
}
|
|
else if (F = m(f), typeof F == "function") for (f = F.call(f), L = 0; !(z = f.next()).done; ) z = z.value, F = $ + ce(z, L++), M += V(z, x, N, F, T);
|
|
else if (z === "object") throw x = String(f), Error("Objects are not valid as a React child (found: " + (x === "[object Object]" ? "object with keys {" + Object.keys(f).join(", ") + "}" : x) + "). If you meant to render a collection of children, use an array instead.");
|
|
return M;
|
|
}
|
|
function I(f, x, N) {
|
|
if (f == null) return f;
|
|
var $ = [], T = 0;
|
|
return V(f, $, "", "", function(z) {
|
|
return x.call(N, z, T++);
|
|
}), $;
|
|
}
|
|
function R(f) {
|
|
if (f._status === -1) {
|
|
var x = f._result;
|
|
x = x(), x.then(function(N) {
|
|
(f._status === 0 || f._status === -1) && (f._status = 1, f._result = N);
|
|
}, function(N) {
|
|
(f._status === 0 || f._status === -1) && (f._status = 2, f._result = N);
|
|
}), f._status === -1 && (f._status = 0, f._result = x);
|
|
}
|
|
if (f._status === 1) return f._result.default;
|
|
throw f._result;
|
|
}
|
|
var j = { current: null }, U = { transition: null }, B = { ReactCurrentDispatcher: j, ReactCurrentBatchConfig: U, ReactCurrentOwner: Y };
|
|
function h() {
|
|
throw Error("act(...) is not supported in production builds of React.");
|
|
}
|
|
return Te.Children = { map: I, forEach: function(f, x, N) {
|
|
I(f, function() {
|
|
x.apply(this, arguments);
|
|
}, N);
|
|
}, count: function(f) {
|
|
var x = 0;
|
|
return I(f, function() {
|
|
x++;
|
|
}), x;
|
|
}, toArray: function(f) {
|
|
return I(f, function(x) {
|
|
return x;
|
|
}) || [];
|
|
}, only: function(f) {
|
|
if (!Q(f)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return f;
|
|
} }, Te.Component = y, Te.Fragment = r, Te.Profiler = a, Te.PureComponent = P, Te.StrictMode = n, Te.Suspense = u, Te.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = B, Te.act = h, Te.cloneElement = function(f, x, N) {
|
|
if (f == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + f + ".");
|
|
var $ = _({}, f.props), T = f.key, z = f.ref, M = f._owner;
|
|
if (x != null) {
|
|
if (x.ref !== void 0 && (z = x.ref, M = Y.current), x.key !== void 0 && (T = "" + x.key), f.type && f.type.defaultProps) var L = f.type.defaultProps;
|
|
for (F in x) b.call(x, F) && !q.hasOwnProperty(F) && ($[F] = x[F] === void 0 && L !== void 0 ? L[F] : x[F]);
|
|
}
|
|
var F = arguments.length - 2;
|
|
if (F === 1) $.children = N;
|
|
else if (1 < F) {
|
|
L = Array(F);
|
|
for (var G = 0; G < F; G++) L[G] = arguments[G + 2];
|
|
$.children = L;
|
|
}
|
|
return { $$typeof: e, type: f.type, key: T, ref: z, props: $, _owner: M };
|
|
}, Te.createContext = function(f) {
|
|
return f = { $$typeof: i, _currentValue: f, _currentValue2: f, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, f.Provider = { $$typeof: o, _context: f }, f.Consumer = f;
|
|
}, Te.createElement = Z, Te.createFactory = function(f) {
|
|
var x = Z.bind(null, f);
|
|
return x.type = f, x;
|
|
}, Te.createRef = function() {
|
|
return { current: null };
|
|
}, Te.forwardRef = function(f) {
|
|
return { $$typeof: s, render: f };
|
|
}, Te.isValidElement = Q, Te.lazy = function(f) {
|
|
return { $$typeof: d, _payload: { _status: -1, _result: f }, _init: R };
|
|
}, Te.memo = function(f, x) {
|
|
return { $$typeof: c, type: f, compare: x === void 0 ? null : x };
|
|
}, Te.startTransition = function(f) {
|
|
var x = U.transition;
|
|
U.transition = {};
|
|
try {
|
|
f();
|
|
} finally {
|
|
U.transition = x;
|
|
}
|
|
}, Te.unstable_act = h, Te.useCallback = function(f, x) {
|
|
return j.current.useCallback(f, x);
|
|
}, Te.useContext = function(f) {
|
|
return j.current.useContext(f);
|
|
}, Te.useDebugValue = function() {
|
|
}, Te.useDeferredValue = function(f) {
|
|
return j.current.useDeferredValue(f);
|
|
}, Te.useEffect = function(f, x) {
|
|
return j.current.useEffect(f, x);
|
|
}, Te.useId = function() {
|
|
return j.current.useId();
|
|
}, Te.useImperativeHandle = function(f, x, N) {
|
|
return j.current.useImperativeHandle(f, x, N);
|
|
}, Te.useInsertionEffect = function(f, x) {
|
|
return j.current.useInsertionEffect(f, x);
|
|
}, Te.useLayoutEffect = function(f, x) {
|
|
return j.current.useLayoutEffect(f, x);
|
|
}, Te.useMemo = function(f, x) {
|
|
return j.current.useMemo(f, x);
|
|
}, Te.useReducer = function(f, x, N) {
|
|
return j.current.useReducer(f, x, N);
|
|
}, Te.useRef = function(f) {
|
|
return j.current.useRef(f);
|
|
}, Te.useState = function(f) {
|
|
return j.current.useState(f);
|
|
}, Te.useSyncExternalStore = function(f, x, N) {
|
|
return j.current.useSyncExternalStore(f, x, N);
|
|
}, Te.useTransition = function() {
|
|
return j.current.useTransition();
|
|
}, Te.version = "18.3.1", Te;
|
|
}
|
|
var Fs = { 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.
|
|
*/
|
|
Fs.exports;
|
|
var Ob;
|
|
function WI() {
|
|
return Ob || (Ob = 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"), a = Symbol.for("react.portal"), o = 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"), p = Symbol.for("react.suspense"), m = Symbol.for("react.suspense_list"), w = Symbol.for("react.memo"), _ = Symbol.for("react.lazy"), v = Symbol.for("react.offscreen"), y = Symbol.iterator, k = "@@iterator";
|
|
function P(l) {
|
|
if (l === null || typeof l != "object")
|
|
return null;
|
|
var g = y && l[y] || l[k];
|
|
return typeof g == "function" ? g : null;
|
|
}
|
|
var E = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, C = {
|
|
transition: null
|
|
}, b = {
|
|
current: null,
|
|
// Used to reproduce behavior of `batchedUpdates` in legacy mode.
|
|
isBatchingLegacy: !1,
|
|
didScheduleLegacyUpdate: !1
|
|
}, Y = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, q = {}, Z = null;
|
|
function ie(l) {
|
|
Z = l;
|
|
}
|
|
q.setExtraStackFrame = function(l) {
|
|
Z = l;
|
|
}, q.getCurrentStack = null, q.getStackAddendum = function() {
|
|
var l = "";
|
|
Z && (l += Z);
|
|
var g = q.getCurrentStack;
|
|
return g && (l += g() || ""), l;
|
|
};
|
|
var Q = !1, J = !1, D = !1, ce = !1, V = !1, I = {
|
|
ReactCurrentDispatcher: E,
|
|
ReactCurrentBatchConfig: C,
|
|
ReactCurrentOwner: Y
|
|
};
|
|
I.ReactDebugCurrentFrame = q, I.ReactCurrentActQueue = b;
|
|
function R(l) {
|
|
{
|
|
for (var g = arguments.length, O = new Array(g > 1 ? g - 1 : 0), A = 1; A < g; A++)
|
|
O[A - 1] = arguments[A];
|
|
U("warn", l, O);
|
|
}
|
|
}
|
|
function j(l) {
|
|
{
|
|
for (var g = arguments.length, O = new Array(g > 1 ? g - 1 : 0), A = 1; A < g; A++)
|
|
O[A - 1] = arguments[A];
|
|
U("error", l, O);
|
|
}
|
|
}
|
|
function U(l, g, O) {
|
|
{
|
|
var A = I.ReactDebugCurrentFrame, W = A.getStackAddendum();
|
|
W !== "" && (g += "%s", O = O.concat([W]));
|
|
var ee = O.map(function(K) {
|
|
return String(K);
|
|
});
|
|
ee.unshift("Warning: " + g), Function.prototype.apply.call(console[l], console, ee);
|
|
}
|
|
}
|
|
var B = {};
|
|
function h(l, g) {
|
|
{
|
|
var O = l.constructor, A = O && (O.displayName || O.name) || "ReactClass", W = A + "." + g;
|
|
if (B[W])
|
|
return;
|
|
j("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.", g, A), B[W] = !0;
|
|
}
|
|
}
|
|
var f = {
|
|
/**
|
|
* 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(l) {
|
|
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(l, g, O) {
|
|
h(l, "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(l, g, O, A) {
|
|
h(l, "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(l, g, O, A) {
|
|
h(l, "setState");
|
|
}
|
|
}, x = Object.assign, N = {};
|
|
Object.freeze(N);
|
|
function $(l, g, O) {
|
|
this.props = l, this.context = g, this.refs = N, this.updater = O || f;
|
|
}
|
|
$.prototype.isReactComponent = {}, $.prototype.setState = function(l, g) {
|
|
if (typeof l != "object" && typeof l != "function" && l != 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, l, g, "setState");
|
|
}, $.prototype.forceUpdate = function(l) {
|
|
this.updater.enqueueForceUpdate(this, l, "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)."]
|
|
}, z = function(l, g) {
|
|
Object.defineProperty($.prototype, l, {
|
|
get: function() {
|
|
R("%s(...) is deprecated in plain JavaScript React classes. %s", g[0], g[1]);
|
|
}
|
|
});
|
|
};
|
|
for (var M in T)
|
|
T.hasOwnProperty(M) && z(M, T[M]);
|
|
}
|
|
function L() {
|
|
}
|
|
L.prototype = $.prototype;
|
|
function F(l, g, O) {
|
|
this.props = l, this.context = g, this.refs = N, this.updater = O || f;
|
|
}
|
|
var G = F.prototype = new L();
|
|
G.constructor = F, x(G, $.prototype), G.isPureReactComponent = !0;
|
|
function le() {
|
|
var l = {
|
|
current: null
|
|
};
|
|
return Object.seal(l), l;
|
|
}
|
|
var S = Array.isArray;
|
|
function ye(l) {
|
|
return S(l);
|
|
}
|
|
function We(l) {
|
|
{
|
|
var g = typeof Symbol == "function" && Symbol.toStringTag, O = g && l[Symbol.toStringTag] || l.constructor.name || "Object";
|
|
return O;
|
|
}
|
|
}
|
|
function gt(l) {
|
|
try {
|
|
return gr(l), !1;
|
|
} catch {
|
|
return !0;
|
|
}
|
|
}
|
|
function gr(l) {
|
|
return "" + l;
|
|
}
|
|
function Vt(l) {
|
|
if (gt(l))
|
|
return j("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", We(l)), gr(l);
|
|
}
|
|
function de(l, g, O) {
|
|
var A = l.displayName;
|
|
if (A)
|
|
return A;
|
|
var W = g.displayName || g.name || "";
|
|
return W !== "" ? O + "(" + W + ")" : O;
|
|
}
|
|
function fe(l) {
|
|
return l.displayName || "Context";
|
|
}
|
|
function ve(l) {
|
|
if (l == null)
|
|
return null;
|
|
if (typeof l.tag == "number" && j("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof l == "function")
|
|
return l.displayName || l.name || null;
|
|
if (typeof l == "string")
|
|
return l;
|
|
switch (l) {
|
|
case o:
|
|
return "Fragment";
|
|
case a:
|
|
return "Portal";
|
|
case s:
|
|
return "Profiler";
|
|
case i:
|
|
return "StrictMode";
|
|
case p:
|
|
return "Suspense";
|
|
case m:
|
|
return "SuspenseList";
|
|
}
|
|
if (typeof l == "object")
|
|
switch (l.$$typeof) {
|
|
case c:
|
|
var g = l;
|
|
return fe(g) + ".Consumer";
|
|
case u:
|
|
var O = l;
|
|
return fe(O._context) + ".Provider";
|
|
case d:
|
|
return de(l, l.render, "ForwardRef");
|
|
case w:
|
|
var A = l.displayName || null;
|
|
return A !== null ? A : ve(l.type) || "Memo";
|
|
case _: {
|
|
var W = l, ee = W._payload, K = W._init;
|
|
try {
|
|
return ve(K(ee));
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var dt = Object.prototype.hasOwnProperty, ht = {
|
|
key: !0,
|
|
ref: !0,
|
|
__self: !0,
|
|
__source: !0
|
|
}, Ve, et, tt;
|
|
tt = {};
|
|
function yt(l) {
|
|
if (dt.call(l, "ref")) {
|
|
var g = Object.getOwnPropertyDescriptor(l, "ref").get;
|
|
if (g && g.isReactWarning)
|
|
return !1;
|
|
}
|
|
return l.ref !== void 0;
|
|
}
|
|
function bt(l) {
|
|
if (dt.call(l, "key")) {
|
|
var g = Object.getOwnPropertyDescriptor(l, "key").get;
|
|
if (g && g.isReactWarning)
|
|
return !1;
|
|
}
|
|
return l.key !== void 0;
|
|
}
|
|
function Xt(l, g) {
|
|
var O = function() {
|
|
Ve || (Ve = !0, j("%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)", g));
|
|
};
|
|
O.isReactWarning = !0, Object.defineProperty(l, "key", {
|
|
get: O,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function ua(l, g) {
|
|
var O = function() {
|
|
et || (et = !0, j("%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)", g));
|
|
};
|
|
O.isReactWarning = !0, Object.defineProperty(l, "ref", {
|
|
get: O,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function fa(l) {
|
|
if (typeof l.ref == "string" && Y.current && l.__self && Y.current.stateNode !== l.__self) {
|
|
var g = ve(Y.current.type);
|
|
tt[g] || (j('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', g, l.ref), tt[g] = !0);
|
|
}
|
|
}
|
|
var Jt = function(l, g, O, A, W, ee, K) {
|
|
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: l,
|
|
key: g,
|
|
ref: O,
|
|
props: K,
|
|
// Record the component responsible for creating this element.
|
|
_owner: ee
|
|
};
|
|
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: A
|
|
}), Object.defineProperty(se, "_source", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: W
|
|
}), Object.freeze && (Object.freeze(se.props), Object.freeze(se)), se;
|
|
};
|
|
function ao(l, g, O) {
|
|
var A, W = {}, ee = null, K = null, se = null, ue = null;
|
|
if (g != null) {
|
|
yt(g) && (K = g.ref, fa(g)), bt(g) && (Vt(g.key), ee = "" + g.key), se = g.__self === void 0 ? null : g.__self, ue = g.__source === void 0 ? null : g.__source;
|
|
for (A in g)
|
|
dt.call(g, A) && !ht.hasOwnProperty(A) && (W[A] = g[A]);
|
|
}
|
|
var be = arguments.length - 2;
|
|
if (be === 1)
|
|
W.children = O;
|
|
else if (be > 1) {
|
|
for (var we = Array(be), ke = 0; ke < be; ke++)
|
|
we[ke] = arguments[ke + 2];
|
|
Object.freeze && Object.freeze(we), W.children = we;
|
|
}
|
|
if (l && l.defaultProps) {
|
|
var _e = l.defaultProps;
|
|
for (A in _e)
|
|
W[A] === void 0 && (W[A] = _e[A]);
|
|
}
|
|
if (ee || K) {
|
|
var Se = typeof l == "function" ? l.displayName || l.name || "Unknown" : l;
|
|
ee && Xt(W, Se), K && ua(W, Se);
|
|
}
|
|
return Jt(l, ee, K, se, ue, Y.current, W);
|
|
}
|
|
function oo(l, g) {
|
|
var O = Jt(l.type, g, l.ref, l._self, l._source, l._owner, l.props);
|
|
return O;
|
|
}
|
|
function io(l, g, O) {
|
|
if (l == null)
|
|
throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + l + ".");
|
|
var A, W = x({}, l.props), ee = l.key, K = l.ref, se = l._self, ue = l._source, be = l._owner;
|
|
if (g != null) {
|
|
yt(g) && (K = g.ref, be = Y.current), bt(g) && (Vt(g.key), ee = "" + g.key);
|
|
var we;
|
|
l.type && l.type.defaultProps && (we = l.type.defaultProps);
|
|
for (A in g)
|
|
dt.call(g, A) && !ht.hasOwnProperty(A) && (g[A] === void 0 && we !== void 0 ? W[A] = we[A] : W[A] = g[A]);
|
|
}
|
|
var ke = arguments.length - 2;
|
|
if (ke === 1)
|
|
W.children = O;
|
|
else if (ke > 1) {
|
|
for (var _e = Array(ke), Se = 0; Se < ke; Se++)
|
|
_e[Se] = arguments[Se + 2];
|
|
W.children = _e;
|
|
}
|
|
return Jt(l.type, ee, K, se, ue, be, W);
|
|
}
|
|
function St(l) {
|
|
return typeof l == "object" && l !== null && l.$$typeof === n;
|
|
}
|
|
var Tn = ".", so = ":";
|
|
function Vl(l) {
|
|
var g = /[=:]/g, O = {
|
|
"=": "=0",
|
|
":": "=2"
|
|
}, A = l.replace(g, function(W) {
|
|
return O[W];
|
|
});
|
|
return "$" + A;
|
|
}
|
|
var lo = !1, Wl = /\/+/g;
|
|
function co(l) {
|
|
return l.replace(Wl, "$&/");
|
|
}
|
|
function Rn(l, g) {
|
|
return typeof l == "object" && l !== null && l.key != null ? (Vt(l.key), Vl("" + l.key)) : g.toString(36);
|
|
}
|
|
function hr(l, g, O, A, W) {
|
|
var ee = typeof l;
|
|
(ee === "undefined" || ee === "boolean") && (l = null);
|
|
var K = !1;
|
|
if (l === null)
|
|
K = !0;
|
|
else
|
|
switch (ee) {
|
|
case "string":
|
|
case "number":
|
|
K = !0;
|
|
break;
|
|
case "object":
|
|
switch (l.$$typeof) {
|
|
case n:
|
|
case a:
|
|
K = !0;
|
|
}
|
|
}
|
|
if (K) {
|
|
var se = l, ue = W(se), be = A === "" ? Tn + Rn(se, 0) : A;
|
|
if (ye(ue)) {
|
|
var we = "";
|
|
be != null && (we = co(be) + "/"), hr(ue, g, we, "", function(Rc) {
|
|
return Rc;
|
|
});
|
|
} else ue != null && (St(ue) && (ue.key && (!se || se.key !== ue.key) && Vt(ue.key), ue = oo(
|
|
ue,
|
|
// Keep both the (mapped) and old keys if they differ, just as
|
|
// traverseAllChildren used to do for objects as children
|
|
O + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key
|
|
(ue.key && (!se || se.key !== ue.key) ? (
|
|
// $FlowFixMe Flow incorrectly thinks existing element's key can be a number
|
|
// eslint-disable-next-line react-internal/safe-string-coercion
|
|
co("" + ue.key) + "/"
|
|
) : "") + be
|
|
)), g.push(ue));
|
|
return 1;
|
|
}
|
|
var ke, _e, Se = 0, De = A === "" ? Tn : A + so;
|
|
if (ye(l))
|
|
for (var Or = 0; Or < l.length; Or++)
|
|
ke = l[Or], _e = De + Rn(ke, Or), Se += hr(ke, g, O, _e, W);
|
|
else {
|
|
var Un = P(l);
|
|
if (typeof Un == "function") {
|
|
var Ro = l;
|
|
Un === Ro.entries && (lo || R("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), lo = !0);
|
|
for (var Ic = Un.call(Ro), Mo, Tc = 0; !(Mo = Ic.next()).done; )
|
|
ke = Mo.value, _e = De + Rn(ke, Tc++), Se += hr(ke, g, O, _e, W);
|
|
} else if (ee === "object") {
|
|
var zo = String(l);
|
|
throw new Error("Objects are not valid as a React child (found: " + (zo === "[object Object]" ? "object with keys {" + Object.keys(l).join(", ") + "}" : zo) + "). If you meant to render a collection of children, use an array instead.");
|
|
}
|
|
}
|
|
return Se;
|
|
}
|
|
function yr(l, g, O) {
|
|
if (l == null)
|
|
return l;
|
|
var A = [], W = 0;
|
|
return hr(l, A, "", "", function(ee) {
|
|
return g.call(O, ee, W++);
|
|
}), A;
|
|
}
|
|
function Ul(l) {
|
|
var g = 0;
|
|
return yr(l, function() {
|
|
g++;
|
|
}), g;
|
|
}
|
|
function Hl(l, g, O) {
|
|
yr(l, function() {
|
|
g.apply(this, arguments);
|
|
}, O);
|
|
}
|
|
function Yl(l) {
|
|
return yr(l, function(g) {
|
|
return g;
|
|
}) || [];
|
|
}
|
|
function ql(l) {
|
|
if (!St(l))
|
|
throw new Error("React.Children.only expected to receive a single React element child.");
|
|
return l;
|
|
}
|
|
function Bl(l) {
|
|
var g = {
|
|
$$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: l,
|
|
_currentValue2: l,
|
|
// 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
|
|
};
|
|
g.Provider = {
|
|
$$typeof: u,
|
|
_context: g
|
|
};
|
|
var O = !1, A = !1, W = !1;
|
|
{
|
|
var ee = {
|
|
$$typeof: c,
|
|
_context: g
|
|
};
|
|
Object.defineProperties(ee, {
|
|
Provider: {
|
|
get: function() {
|
|
return A || (A = !0, j("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), g.Provider;
|
|
},
|
|
set: function(K) {
|
|
g.Provider = K;
|
|
}
|
|
},
|
|
_currentValue: {
|
|
get: function() {
|
|
return g._currentValue;
|
|
},
|
|
set: function(K) {
|
|
g._currentValue = K;
|
|
}
|
|
},
|
|
_currentValue2: {
|
|
get: function() {
|
|
return g._currentValue2;
|
|
},
|
|
set: function(K) {
|
|
g._currentValue2 = K;
|
|
}
|
|
},
|
|
_threadCount: {
|
|
get: function() {
|
|
return g._threadCount;
|
|
},
|
|
set: function(K) {
|
|
g._threadCount = K;
|
|
}
|
|
},
|
|
Consumer: {
|
|
get: function() {
|
|
return O || (O = !0, j("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), g.Consumer;
|
|
}
|
|
},
|
|
displayName: {
|
|
get: function() {
|
|
return g.displayName;
|
|
},
|
|
set: function(K) {
|
|
W || (R("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", K), W = !0);
|
|
}
|
|
}
|
|
}), g.Consumer = ee;
|
|
}
|
|
return g._currentRenderer = null, g._currentRenderer2 = null, g;
|
|
}
|
|
var Wt = -1, Mn = 0, uo = 1, Kl = 2;
|
|
function Xl(l) {
|
|
if (l._status === Wt) {
|
|
var g = l._result, O = g();
|
|
if (O.then(function(ee) {
|
|
if (l._status === Mn || l._status === Wt) {
|
|
var K = l;
|
|
K._status = uo, K._result = ee;
|
|
}
|
|
}, function(ee) {
|
|
if (l._status === Mn || l._status === Wt) {
|
|
var K = l;
|
|
K._status = Kl, K._result = ee;
|
|
}
|
|
}), l._status === Wt) {
|
|
var A = l;
|
|
A._status = Mn, A._result = O;
|
|
}
|
|
}
|
|
if (l._status === uo) {
|
|
var W = l._result;
|
|
return W === void 0 && j(`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?`, W), "default" in W || j(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))`, W), W.default;
|
|
} else
|
|
throw l._result;
|
|
}
|
|
function Jl(l) {
|
|
var g = {
|
|
// We use these fields to store the result.
|
|
_status: Wt,
|
|
_result: l
|
|
}, O = {
|
|
$$typeof: _,
|
|
_payload: g,
|
|
_init: Xl
|
|
};
|
|
{
|
|
var A, W;
|
|
Object.defineProperties(O, {
|
|
defaultProps: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return A;
|
|
},
|
|
set: function(ee) {
|
|
j("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."), A = ee, Object.defineProperty(O, "defaultProps", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
},
|
|
propTypes: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return W;
|
|
},
|
|
set: function(ee) {
|
|
j("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."), W = ee, Object.defineProperty(O, "propTypes", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return O;
|
|
}
|
|
function Ql(l) {
|
|
l != null && l.$$typeof === w ? j("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof l != "function" ? j("forwardRef requires a render function but was given %s.", l === null ? "null" : typeof l) : l.length !== 0 && l.length !== 2 && j("forwardRef render functions accept exactly two parameters: props and ref. %s", l.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), l != null && (l.defaultProps != null || l.propTypes != null) && j("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");
|
|
var g = {
|
|
$$typeof: d,
|
|
render: l
|
|
};
|
|
{
|
|
var O;
|
|
Object.defineProperty(g, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return O;
|
|
},
|
|
set: function(A) {
|
|
O = A, !l.name && !l.displayName && (l.displayName = A);
|
|
}
|
|
});
|
|
}
|
|
return g;
|
|
}
|
|
var fo;
|
|
fo = Symbol.for("react.module.reference");
|
|
function po(l) {
|
|
return !!(typeof l == "string" || typeof l == "function" || l === o || l === s || V || l === i || l === p || l === m || ce || l === v || Q || J || D || typeof l == "object" && l !== null && (l.$$typeof === _ || l.$$typeof === w || l.$$typeof === u || l.$$typeof === c || l.$$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.
|
|
l.$$typeof === fo || l.getModuleId !== void 0));
|
|
}
|
|
function Zl(l, g) {
|
|
po(l) || j("memo: The first argument must be a component. Instead received: %s", l === null ? "null" : typeof l);
|
|
var O = {
|
|
$$typeof: w,
|
|
type: l,
|
|
compare: g === void 0 ? null : g
|
|
};
|
|
{
|
|
var A;
|
|
Object.defineProperty(O, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return A;
|
|
},
|
|
set: function(W) {
|
|
A = W, !l.name && !l.displayName && (l.displayName = W);
|
|
}
|
|
});
|
|
}
|
|
return O;
|
|
}
|
|
function Ue() {
|
|
var l = E.current;
|
|
return l === null && j(`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.`), l;
|
|
}
|
|
function ec(l) {
|
|
var g = Ue();
|
|
if (l._context !== void 0) {
|
|
var O = l._context;
|
|
O.Consumer === l ? j("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?") : O.Provider === l && j("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
|
|
}
|
|
return g.useContext(l);
|
|
}
|
|
function tc(l) {
|
|
var g = Ue();
|
|
return g.useState(l);
|
|
}
|
|
function rc(l, g, O) {
|
|
var A = Ue();
|
|
return A.useReducer(l, g, O);
|
|
}
|
|
function nc(l) {
|
|
var g = Ue();
|
|
return g.useRef(l);
|
|
}
|
|
function ac(l, g) {
|
|
var O = Ue();
|
|
return O.useEffect(l, g);
|
|
}
|
|
function oc(l, g) {
|
|
var O = Ue();
|
|
return O.useInsertionEffect(l, g);
|
|
}
|
|
function ic(l, g) {
|
|
var O = Ue();
|
|
return O.useLayoutEffect(l, g);
|
|
}
|
|
function sc(l, g) {
|
|
var O = Ue();
|
|
return O.useCallback(l, g);
|
|
}
|
|
function lc(l, g) {
|
|
var O = Ue();
|
|
return O.useMemo(l, g);
|
|
}
|
|
function cc(l, g, O) {
|
|
var A = Ue();
|
|
return A.useImperativeHandle(l, g, O);
|
|
}
|
|
function uc(l, g) {
|
|
{
|
|
var O = Ue();
|
|
return O.useDebugValue(l, g);
|
|
}
|
|
}
|
|
function fc() {
|
|
var l = Ue();
|
|
return l.useTransition();
|
|
}
|
|
function dc(l) {
|
|
var g = Ue();
|
|
return g.useDeferredValue(l);
|
|
}
|
|
function pc() {
|
|
var l = Ue();
|
|
return l.useId();
|
|
}
|
|
function mc(l, g, O) {
|
|
var A = Ue();
|
|
return A.useSyncExternalStore(l, g, O);
|
|
}
|
|
var Ut = 0, mo, go, ho, yo, bo, vo, xo;
|
|
function wo() {
|
|
}
|
|
wo.__reactDisabledLog = !0;
|
|
function gc() {
|
|
{
|
|
if (Ut === 0) {
|
|
mo = console.log, go = console.info, ho = console.warn, yo = console.error, bo = console.group, vo = console.groupCollapsed, xo = console.groupEnd;
|
|
var l = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
value: wo,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
info: l,
|
|
log: l,
|
|
warn: l,
|
|
error: l,
|
|
group: l,
|
|
groupCollapsed: l,
|
|
groupEnd: l
|
|
});
|
|
}
|
|
Ut++;
|
|
}
|
|
}
|
|
function hc() {
|
|
{
|
|
if (Ut--, Ut === 0) {
|
|
var l = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
log: x({}, l, {
|
|
value: mo
|
|
}),
|
|
info: x({}, l, {
|
|
value: go
|
|
}),
|
|
warn: x({}, l, {
|
|
value: ho
|
|
}),
|
|
error: x({}, l, {
|
|
value: yo
|
|
}),
|
|
group: x({}, l, {
|
|
value: bo
|
|
}),
|
|
groupCollapsed: x({}, l, {
|
|
value: vo
|
|
}),
|
|
groupEnd: x({}, l, {
|
|
value: xo
|
|
})
|
|
});
|
|
}
|
|
Ut < 0 && j("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
}
|
|
}
|
|
var zn = I.ReactCurrentDispatcher, Fn;
|
|
function br(l, g, O) {
|
|
{
|
|
if (Fn === void 0)
|
|
try {
|
|
throw Error();
|
|
} catch (W) {
|
|
var A = W.stack.trim().match(/\n( *(at )?)/);
|
|
Fn = A && A[1] || "";
|
|
}
|
|
return `
|
|
` + Fn + l;
|
|
}
|
|
}
|
|
var Dn = !1, vr;
|
|
{
|
|
var yc = typeof WeakMap == "function" ? WeakMap : Map;
|
|
vr = new yc();
|
|
}
|
|
function ko(l, g) {
|
|
if (!l || Dn)
|
|
return "";
|
|
{
|
|
var O = vr.get(l);
|
|
if (O !== void 0)
|
|
return O;
|
|
}
|
|
var A;
|
|
Dn = !0;
|
|
var W = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
var ee;
|
|
ee = zn.current, zn.current = null, gc();
|
|
try {
|
|
if (g) {
|
|
var K = function() {
|
|
throw Error();
|
|
};
|
|
if (Object.defineProperty(K.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(K, []);
|
|
} catch (De) {
|
|
A = De;
|
|
}
|
|
Reflect.construct(l, [], K);
|
|
} else {
|
|
try {
|
|
K.call();
|
|
} catch (De) {
|
|
A = De;
|
|
}
|
|
l.call(K.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (De) {
|
|
A = De;
|
|
}
|
|
l();
|
|
}
|
|
} catch (De) {
|
|
if (De && A && typeof De.stack == "string") {
|
|
for (var se = De.stack.split(`
|
|
`), ue = A.stack.split(`
|
|
`), be = se.length - 1, we = ue.length - 1; be >= 1 && we >= 0 && se[be] !== ue[we]; )
|
|
we--;
|
|
for (; be >= 1 && we >= 0; be--, we--)
|
|
if (se[be] !== ue[we]) {
|
|
if (be !== 1 || we !== 1)
|
|
do
|
|
if (be--, we--, we < 0 || se[be] !== ue[we]) {
|
|
var ke = `
|
|
` + se[be].replace(" at new ", " at ");
|
|
return l.displayName && ke.includes("<anonymous>") && (ke = ke.replace("<anonymous>", l.displayName)), typeof l == "function" && vr.set(l, ke), ke;
|
|
}
|
|
while (be >= 1 && we >= 0);
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
Dn = !1, zn.current = ee, hc(), Error.prepareStackTrace = W;
|
|
}
|
|
var _e = l ? l.displayName || l.name : "", Se = _e ? br(_e) : "";
|
|
return typeof l == "function" && vr.set(l, Se), Se;
|
|
}
|
|
function bc(l, g, O) {
|
|
return ko(l, !1);
|
|
}
|
|
function vc(l) {
|
|
var g = l.prototype;
|
|
return !!(g && g.isReactComponent);
|
|
}
|
|
function xr(l, g, O) {
|
|
if (l == null)
|
|
return "";
|
|
if (typeof l == "function")
|
|
return ko(l, vc(l));
|
|
if (typeof l == "string")
|
|
return br(l);
|
|
switch (l) {
|
|
case p:
|
|
return br("Suspense");
|
|
case m:
|
|
return br("SuspenseList");
|
|
}
|
|
if (typeof l == "object")
|
|
switch (l.$$typeof) {
|
|
case d:
|
|
return bc(l.render);
|
|
case w:
|
|
return xr(l.type, g, O);
|
|
case _: {
|
|
var A = l, W = A._payload, ee = A._init;
|
|
try {
|
|
return xr(ee(W), g, O);
|
|
} catch {
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
var _o = {}, Oo = I.ReactDebugCurrentFrame;
|
|
function wr(l) {
|
|
if (l) {
|
|
var g = l._owner, O = xr(l.type, l._source, g ? g.type : null);
|
|
Oo.setExtraStackFrame(O);
|
|
} else
|
|
Oo.setExtraStackFrame(null);
|
|
}
|
|
function xc(l, g, O, A, W) {
|
|
{
|
|
var ee = Function.call.bind(dt);
|
|
for (var K in l)
|
|
if (ee(l, K)) {
|
|
var se = void 0;
|
|
try {
|
|
if (typeof l[K] != "function") {
|
|
var ue = Error((A || "React class") + ": " + O + " type `" + K + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof l[K] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
throw ue.name = "Invariant Violation", ue;
|
|
}
|
|
se = l[K](g, K, A, O, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
} catch (be) {
|
|
se = be;
|
|
}
|
|
se && !(se instanceof Error) && (wr(W), j("%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).", A || "React class", O, K, typeof se), wr(null)), se instanceof Error && !(se.message in _o) && (_o[se.message] = !0, wr(W), j("Failed %s type: %s", O, se.message), wr(null));
|
|
}
|
|
}
|
|
}
|
|
function jt(l) {
|
|
if (l) {
|
|
var g = l._owner, O = xr(l.type, l._source, g ? g.type : null);
|
|
ie(O);
|
|
} else
|
|
ie(null);
|
|
}
|
|
var Ln;
|
|
Ln = !1;
|
|
function So() {
|
|
if (Y.current) {
|
|
var l = ve(Y.current.type);
|
|
if (l)
|
|
return `
|
|
|
|
Check the render method of \`` + l + "`.";
|
|
}
|
|
return "";
|
|
}
|
|
function wc(l) {
|
|
if (l !== void 0) {
|
|
var g = l.fileName.replace(/^.*[\\\/]/, ""), O = l.lineNumber;
|
|
return `
|
|
|
|
Check your code at ` + g + ":" + O + ".";
|
|
}
|
|
return "";
|
|
}
|
|
function kc(l) {
|
|
return l != null ? wc(l.__source) : "";
|
|
}
|
|
var Eo = {};
|
|
function _c(l) {
|
|
var g = So();
|
|
if (!g) {
|
|
var O = typeof l == "string" ? l : l.displayName || l.name;
|
|
O && (g = `
|
|
|
|
Check the top-level render call using <` + O + ">.");
|
|
}
|
|
return g;
|
|
}
|
|
function Po(l, g) {
|
|
if (!(!l._store || l._store.validated || l.key != null)) {
|
|
l._store.validated = !0;
|
|
var O = _c(g);
|
|
if (!Eo[O]) {
|
|
Eo[O] = !0;
|
|
var A = "";
|
|
l && l._owner && l._owner !== Y.current && (A = " It was passed a child from " + ve(l._owner.type) + "."), jt(l), j('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', O, A), jt(null);
|
|
}
|
|
}
|
|
}
|
|
function Co(l, g) {
|
|
if (typeof l == "object") {
|
|
if (ye(l))
|
|
for (var O = 0; O < l.length; O++) {
|
|
var A = l[O];
|
|
St(A) && Po(A, g);
|
|
}
|
|
else if (St(l))
|
|
l._store && (l._store.validated = !0);
|
|
else if (l) {
|
|
var W = P(l);
|
|
if (typeof W == "function" && W !== l.entries)
|
|
for (var ee = W.call(l), K; !(K = ee.next()).done; )
|
|
St(K.value) && Po(K.value, g);
|
|
}
|
|
}
|
|
}
|
|
function Ao(l) {
|
|
{
|
|
var g = l.type;
|
|
if (g == null || typeof g == "string")
|
|
return;
|
|
var O;
|
|
if (typeof g == "function")
|
|
O = g.propTypes;
|
|
else if (typeof g == "object" && (g.$$typeof === d || // Note: Memo only checks outer props here.
|
|
// Inner props are checked in the reconciler.
|
|
g.$$typeof === w))
|
|
O = g.propTypes;
|
|
else
|
|
return;
|
|
if (O) {
|
|
var A = ve(g);
|
|
xc(O, l.props, "prop", A, l);
|
|
} else if (g.PropTypes !== void 0 && !Ln) {
|
|
Ln = !0;
|
|
var W = ve(g);
|
|
j("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", W || "Unknown");
|
|
}
|
|
typeof g.getDefaultProps == "function" && !g.getDefaultProps.isReactClassApproved && j("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
}
|
|
}
|
|
function Oc(l) {
|
|
{
|
|
for (var g = Object.keys(l.props), O = 0; O < g.length; O++) {
|
|
var A = g[O];
|
|
if (A !== "children" && A !== "key") {
|
|
jt(l), j("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", A), jt(null);
|
|
break;
|
|
}
|
|
}
|
|
l.ref !== null && (jt(l), j("Invalid attribute `ref` supplied to `React.Fragment`."), jt(null));
|
|
}
|
|
}
|
|
function $o(l, g, O) {
|
|
var A = po(l);
|
|
if (!A) {
|
|
var W = "";
|
|
(l === void 0 || typeof l == "object" && l !== null && Object.keys(l).length === 0) && (W += " 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 ee = kc(g);
|
|
ee ? W += ee : W += So();
|
|
var K;
|
|
l === null ? K = "null" : ye(l) ? K = "array" : l !== void 0 && l.$$typeof === n ? (K = "<" + (ve(l.type) || "Unknown") + " />", W = " Did you accidentally export a JSX literal instead of a component?") : K = typeof l, j("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", K, W);
|
|
}
|
|
var se = ao.apply(this, arguments);
|
|
if (se == null)
|
|
return se;
|
|
if (A)
|
|
for (var ue = 2; ue < arguments.length; ue++)
|
|
Co(arguments[ue], l);
|
|
return l === o ? Oc(se) : Ao(se), se;
|
|
}
|
|
var No = !1;
|
|
function Sc(l) {
|
|
var g = $o.bind(null, l);
|
|
return g.type = l, No || (No = !0, R("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(g, "type", {
|
|
enumerable: !1,
|
|
get: function() {
|
|
return R("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
|
|
value: l
|
|
}), l;
|
|
}
|
|
}), g;
|
|
}
|
|
function Ec(l, g, O) {
|
|
for (var A = io.apply(this, arguments), W = 2; W < arguments.length; W++)
|
|
Co(arguments[W], A.type);
|
|
return Ao(A), A;
|
|
}
|
|
function Pc(l, g) {
|
|
var O = C.transition;
|
|
C.transition = {};
|
|
var A = C.transition;
|
|
C.transition._updatedFibers = /* @__PURE__ */ new Set();
|
|
try {
|
|
l();
|
|
} finally {
|
|
if (C.transition = O, O === null && A._updatedFibers) {
|
|
var W = A._updatedFibers.size;
|
|
W > 10 && R("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."), A._updatedFibers.clear();
|
|
}
|
|
}
|
|
}
|
|
var jo = !1, kr = null;
|
|
function Cc(l) {
|
|
if (kr === null)
|
|
try {
|
|
var g = ("require" + Math.random()).slice(0, 7), O = e && e[g];
|
|
kr = O.call(e, "timers").setImmediate;
|
|
} catch {
|
|
kr = function(A) {
|
|
jo === !1 && (jo = !0, typeof MessageChannel > "u" && j("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 W = new MessageChannel();
|
|
W.port1.onmessage = A, W.port2.postMessage(void 0);
|
|
};
|
|
}
|
|
return kr(l);
|
|
}
|
|
var It = 0, Io = !1;
|
|
function To(l) {
|
|
{
|
|
var g = It;
|
|
It++, b.current === null && (b.current = []);
|
|
var O = b.isBatchingLegacy, A;
|
|
try {
|
|
if (b.isBatchingLegacy = !0, A = l(), !O && b.didScheduleLegacyUpdate) {
|
|
var W = b.current;
|
|
W !== null && (b.didScheduleLegacyUpdate = !1, Wn(W));
|
|
}
|
|
} catch (_e) {
|
|
throw _r(g), _e;
|
|
} finally {
|
|
b.isBatchingLegacy = O;
|
|
}
|
|
if (A !== null && typeof A == "object" && typeof A.then == "function") {
|
|
var ee = A, K = !1, se = {
|
|
then: function(_e, Se) {
|
|
K = !0, ee.then(function(De) {
|
|
_r(g), It === 0 ? Gn(De, _e, Se) : _e(De);
|
|
}, function(De) {
|
|
_r(g), Se(De);
|
|
});
|
|
}
|
|
};
|
|
return !Io && typeof Promise < "u" && Promise.resolve().then(function() {
|
|
}).then(function() {
|
|
K || (Io = !0, j("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 ue = A;
|
|
if (_r(g), It === 0) {
|
|
var be = b.current;
|
|
be !== null && (Wn(be), b.current = null);
|
|
var we = {
|
|
then: function(_e, Se) {
|
|
b.current === null ? (b.current = [], Gn(ue, _e, Se)) : _e(ue);
|
|
}
|
|
};
|
|
return we;
|
|
} else {
|
|
var ke = {
|
|
then: function(_e, Se) {
|
|
_e(ue);
|
|
}
|
|
};
|
|
return ke;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function _r(l) {
|
|
l !== It - 1 && j("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), It = l;
|
|
}
|
|
function Gn(l, g, O) {
|
|
{
|
|
var A = b.current;
|
|
if (A !== null)
|
|
try {
|
|
Wn(A), Cc(function() {
|
|
A.length === 0 ? (b.current = null, g(l)) : Gn(l, g, O);
|
|
});
|
|
} catch (W) {
|
|
O(W);
|
|
}
|
|
else
|
|
g(l);
|
|
}
|
|
}
|
|
var Vn = !1;
|
|
function Wn(l) {
|
|
if (!Vn) {
|
|
Vn = !0;
|
|
var g = 0;
|
|
try {
|
|
for (; g < l.length; g++) {
|
|
var O = l[g];
|
|
do
|
|
O = O(!0);
|
|
while (O !== null);
|
|
}
|
|
l.length = 0;
|
|
} catch (A) {
|
|
throw l = l.slice(g + 1), A;
|
|
} finally {
|
|
Vn = !1;
|
|
}
|
|
}
|
|
}
|
|
var Ac = $o, $c = Ec, Nc = Sc, jc = {
|
|
map: yr,
|
|
forEach: Hl,
|
|
count: Ul,
|
|
toArray: Yl,
|
|
only: ql
|
|
};
|
|
t.Children = jc, t.Component = $, t.Fragment = o, t.Profiler = s, t.PureComponent = F, t.StrictMode = i, t.Suspense = p, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = I, t.act = To, t.cloneElement = $c, t.createContext = Bl, t.createElement = Ac, t.createFactory = Nc, t.createRef = le, t.forwardRef = Ql, t.isValidElement = St, t.lazy = Jl, t.memo = Zl, t.startTransition = Pc, t.unstable_act = To, t.useCallback = sc, t.useContext = ec, t.useDebugValue = uc, t.useDeferredValue = dc, t.useEffect = ac, t.useId = pc, t.useImperativeHandle = cc, t.useInsertionEffect = oc, t.useLayoutEffect = ic, t.useMemo = lc, t.useReducer = rc, t.useRef = nc, t.useState = tc, t.useSyncExternalStore = mc, t.useTransition = fc, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
|
|
}();
|
|
}(Fs, Fs.exports)), Fs.exports;
|
|
}
|
|
var Sb;
|
|
function UI() {
|
|
return Sb || (Sb = 1, process.env.NODE_ENV === "production" ? Ju.exports = VI() : Ju.exports = WI()), Ju.exports;
|
|
}
|
|
var HI = UI();
|
|
const YI = /* @__PURE__ */ GI(HI), qI = {
|
|
[xe.BlackForestLabs]: "/resources/images/services/blackforestlabs.svg",
|
|
[xe.Kling]: "/resources/images/services/kling.svg",
|
|
[xe.Midjourney]: "/resources/images/services/midjourney.svg",
|
|
[xe.OpenAi]: "/resources/images/services/openai.svg",
|
|
[xe.Bytedance]: "/resources/images/services/bytedance.svg",
|
|
[xe.Google]: "/resources/images/services/google.svg",
|
|
[xe.Recraft]: "/resources/images/services/recraft.svg",
|
|
[xe.Tencent]: "/resources/images/services/tencent.svg",
|
|
[xe.Krea]: "/resources/images/services/krea.svg",
|
|
[xe.Fal]: "/resources/images/services/fal.svg",
|
|
[xe.Replicate]: "/resources/images/services/replicate.svg",
|
|
[xe.TensorArt]: "/resources/images/services/tensorart.svg",
|
|
[xe.OpenArt]: "/resources/images/services/openart.svg",
|
|
[xe.Higgsfield]: "/resources/images/services/higgsfield.svg",
|
|
[xe.Alibaba]: "/resources/images/services/alibaba.svg",
|
|
[xe.Vidu]: "/resources/images/services/vidu.svg",
|
|
[xe.ArtCraft]: "/resources/images/services/artcraft.svg"
|
|
}, BI = "/resources/images/services/generic.svg", KI = (e) => qI[e], XI = (e, t = "h-4 w-4 invert") => {
|
|
const r = KI(e) ?? BI;
|
|
return YI.createElement("img", {
|
|
src: r,
|
|
alt: `${e} logo`,
|
|
className: t
|
|
});
|
|
}, JI = {
|
|
flux_1_dev: xe.BlackForestLabs,
|
|
flux_1_schnell: xe.BlackForestLabs,
|
|
flux_pro_1p1: xe.BlackForestLabs,
|
|
flux_pro_1p1_ultra: xe.BlackForestLabs,
|
|
gpt_image_1: xe.OpenAi,
|
|
kling_1p6_pro: xe.Kling,
|
|
kling_2p1_pro: xe.Kling,
|
|
kling_2p1_master: xe.Kling,
|
|
seedance_1p0_lite: xe.Bytedance,
|
|
veo_2: xe.Google,
|
|
recraft_3: xe.Recraft,
|
|
hunyuan_3d: xe.Tencent,
|
|
midjourney: xe.Midjourney,
|
|
midjourney_v6: xe.Midjourney,
|
|
midjourney_v6p1: xe.Midjourney,
|
|
midjourney_v6p1_raw: xe.Midjourney,
|
|
midjourney_v7: xe.Midjourney,
|
|
midjourney_v7_raw: xe.Midjourney,
|
|
midjourney_v7_draft_raw: xe.Midjourney
|
|
}, QI = (e) => {
|
|
const t = JI[e];
|
|
return t ? XI(t, "h-4 w-4 invert") : null;
|
|
}, ZI = (e) => ({
|
|
flux_1_dev: "Flux 1 Dev",
|
|
flux_1_schnell: "Flux 1 Schnell",
|
|
flux_pro_1p1: "Flux Pro 1.1",
|
|
flux_pro_1p1_ultra: "Flux Pro 1.1 Ultra",
|
|
gpt_image_1: "GPT Image 1",
|
|
kling_1p6_pro: "Kling 1.6 Pro",
|
|
kling_2p1_pro: "Kling 2.1 Pro",
|
|
kling_2p1_master: "Kling 2.1 Master",
|
|
seedance_1p0_lite: "Seedance 1.0 Lite",
|
|
veo_2: "Veo 2",
|
|
recraft_3: "Recraft 3",
|
|
hunyuan_3d_2p0: "Hunyuan 3D 2.0",
|
|
hunyuan_3d_2p1: "Hunyuan 3D 2.1",
|
|
hunyuan_3d: "Hunyuan 3D",
|
|
flux_pro_kontext_max: "Flux Pro Kontext Max",
|
|
// Catch-all bucket for Midjourney.
|
|
midjourney: "Midjourney",
|
|
// Specific Midjourney models.
|
|
midjourney_v6: "Midjourney V6",
|
|
midjourney_v6p1: "Midjourney V6.1",
|
|
midjourney_v6p1_raw: "Midjourney V6.1 (Raw)",
|
|
midjourney_v7: "Midjourney V7",
|
|
midjourney_v7_raw: "Midjourney V7 (Raw)",
|
|
midjourney_v7_draft_raw: "Midjourney V7 (Draft Raw)"
|
|
// TODO: add more models here - BFlat
|
|
})[e] || e, eT = (e) => ({
|
|
artcraft: "ArtCraft",
|
|
fal: "FAL",
|
|
midjourney: "Midjourney",
|
|
sora: "Sora"
|
|
})[e] || e;
|
|
var hn = /* @__PURE__ */ ((e) => (e.InstructiveEdit = "instructiveEdit", e.MaskedInpainting = "maskedInpainting", e.NonMaskedInpainting = "nonMaskedInpainting", e))(hn || {});
|
|
const Pt = xe, tT = {
|
|
maxGenerationCount: 1,
|
|
defaultGenerationCount: 1
|
|
}, Ct = (e) => ({
|
|
label: e.label ?? e.info.name,
|
|
description: e.description,
|
|
badges: e.badges,
|
|
capabilities: e.capabilities ?? tT,
|
|
tags: e.tags ?? [],
|
|
...e
|
|
});
|
|
//////////////////////////////
|
|
// Image models
|
|
//////////////////////////////
|
|
Ct({
|
|
id: "midjourney",
|
|
category: "image",
|
|
info: {
|
|
name: "Midjourney",
|
|
tauri_id: "midjourney",
|
|
creator: Pt.Midjourney
|
|
},
|
|
description: "Incredible style and quality",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), Ct({
|
|
id: "flux_pro_1_1_ultra",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro 1.1 Ultra",
|
|
tauri_id: "flux_pro_11_ultra",
|
|
creator: Pt.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), Ct({
|
|
id: "flux_pro_1_1",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro 1.1",
|
|
tauri_id: "flux_pro_11",
|
|
creator: Pt.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), Ct({
|
|
id: "flux_1_dev",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux 1 Dev",
|
|
tauri_id: "flux_1_dev",
|
|
creator: Pt.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), Ct({
|
|
id: "flux_1_schnell",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux 1 Schnell",
|
|
tauri_id: "flux_1_schnell",
|
|
creator: Pt.BlackForestLabs
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "15 sec." }],
|
|
capabilities: { maxGenerationCount: 4, defaultGenerationCount: 4 }
|
|
}), Ct({
|
|
id: "gpt_image_1",
|
|
category: "image",
|
|
info: {
|
|
name: "GPT Image 1 (GPT-4o)",
|
|
tauri_id: "gpt_image_1",
|
|
creator: Pt.OpenAi
|
|
},
|
|
description: "Slow, ultra instructive model",
|
|
badges: [{ label: "45 sec." }],
|
|
capabilities: { maxGenerationCount: 1 },
|
|
tags: ["instructiveEdit"]
|
|
}), Ct({
|
|
id: "flux_pro_kontext_max",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro Kontext Max",
|
|
tauri_id: "flux_pro_kontext_max",
|
|
creator: Pt.BlackForestLabs
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "20 sec." }],
|
|
capabilities: {
|
|
maxGenerationCount: 4
|
|
},
|
|
tags: [hn.InstructiveEdit, hn.NonMaskedInpainting]
|
|
}), Ct({
|
|
id: "flux_pro_inpaint",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Pro 1 (Inpainting)",
|
|
tauri_id: "flux_pro_1",
|
|
creator: Pt.BlackForestLabs
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "20 sec." }],
|
|
capabilities: {
|
|
maxGenerationCount: 1
|
|
// NB: For some reason Fal only supports ONE image!
|
|
},
|
|
tags: [hn.MaskedInpainting]
|
|
}), Ct({
|
|
id: "flux_dev_juggernaut_inpaint",
|
|
category: "image",
|
|
info: {
|
|
name: "Flux Dev Juggernaut (Inpainting)",
|
|
tauri_id: "flux_dev_juggernaut",
|
|
creator: Pt.BlackForestLabs
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "20 sec." }],
|
|
capabilities: {
|
|
maxGenerationCount: 4
|
|
},
|
|
tags: [hn.MaskedInpainting]
|
|
}), //////////////////////////////
|
|
// Video models
|
|
//////////////////////////////
|
|
Ct({
|
|
id: "kling_1_6_pro",
|
|
category: "video",
|
|
info: {
|
|
name: "Kling 1.6 Pro",
|
|
tauri_id: "kling_1.6_pro",
|
|
creator: Pt.Kling
|
|
},
|
|
description: "Good quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), Ct({
|
|
id: "kling_2_1_pro",
|
|
category: "video",
|
|
info: {
|
|
name: "Kling 2.1 Pro",
|
|
tauri_id: "kling_2.1_pro",
|
|
creator: Pt.Kling
|
|
},
|
|
description: "High quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), Ct({
|
|
id: "kling_2_1_master",
|
|
category: "video",
|
|
info: {
|
|
name: "Kling 2.1 Master",
|
|
tauri_id: "kling_2.1_master",
|
|
creator: Pt.Kling
|
|
},
|
|
description: "Master quality model ($$)",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), Ct({
|
|
id: "seedance_1_0_lite",
|
|
category: "video",
|
|
info: {
|
|
name: "Seedance 1.0 Lite",
|
|
tauri_id: "seedance_1.0_lite",
|
|
creator: Pt.Bytedance
|
|
},
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
}), Ct({
|
|
id: "veo_2",
|
|
category: "video",
|
|
info: { name: "Google Veo 2", tauri_id: "veo_2", creator: Pt.Google },
|
|
description: "Fast and high-quality model",
|
|
badges: [{ label: "2 min." }],
|
|
capabilities: { maxGenerationCount: 1 }
|
|
});
|
|
const pm = [
|
|
new Qt({
|
|
id: "midjourney",
|
|
tauriId: "midjourney",
|
|
fullName: "Midjourney",
|
|
category: "image",
|
|
creator: xe.Midjourney,
|
|
selectorName: "Midjourney",
|
|
selectorDescription: "Incredible style and quality",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !1,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new Qt({
|
|
id: "flux_pro_1_1_ultra",
|
|
tauriId: "flux_pro_11_ultra",
|
|
fullName: "Flux Pro 1.1 Ultra",
|
|
category: "image",
|
|
creator: xe.BlackForestLabs,
|
|
selectorName: "Flux Pro 1.1 Ultra",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new Qt({
|
|
id: "flux_pro_1_1",
|
|
tauriId: "flux_pro_11",
|
|
fullName: "Flux Pro 1.1",
|
|
category: "image",
|
|
creator: xe.BlackForestLabs,
|
|
selectorName: "Flux Pro 1.1",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new Qt({
|
|
id: "flux_1_dev",
|
|
tauriId: "flux_1_dev",
|
|
fullName: "Flux 1 Dev",
|
|
category: "image",
|
|
creator: xe.BlackForestLabs,
|
|
selectorName: "Flux 1 Dev",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new Qt({
|
|
id: "flux_1_schnell",
|
|
tauriId: "flux_1_schnell",
|
|
fullName: "Flux 1 Schnell",
|
|
category: "image",
|
|
creator: xe.BlackForestLabs,
|
|
selectorName: "Flux 1 Schnell",
|
|
selectorDescription: "High quality model",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new Qt({
|
|
id: "gemini_25_flash",
|
|
tauriId: "gemini_25_flash",
|
|
fullName: "Gemini 2.5 Flash",
|
|
category: "image",
|
|
creator: xe.Google,
|
|
selectorName: "Gemini 2.5 Flash",
|
|
selectorDescription: "Ultra instructive model",
|
|
selectorBadges: ["35 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 1,
|
|
canEditImages: !0,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6,
|
|
tags: [hn.InstructiveEdit]
|
|
}),
|
|
new Qt({
|
|
id: "gpt_image_1",
|
|
tauriId: "gpt_image_1",
|
|
fullName: "GPT Image 1 (GPT-4o)",
|
|
category: "image",
|
|
creator: xe.OpenAi,
|
|
selectorName: "GPT Image 1 (GPT-4o)",
|
|
selectorDescription: "Slow, ultra instructive model",
|
|
selectorBadges: ["45 sec."],
|
|
maxGenerationCount: 1,
|
|
defaultGenerationCount: 1,
|
|
tags: [hn.InstructiveEdit],
|
|
canEditImages: !0,
|
|
canUseImagePrompt: !0,
|
|
maxImagePromptCount: 6
|
|
}),
|
|
new Qt({
|
|
id: "flux_pro_kontext_max",
|
|
tauriId: "flux_pro_kontext_max",
|
|
fullName: "Flux Pro Kontext Max",
|
|
category: "image",
|
|
creator: xe.BlackForestLabs,
|
|
selectorName: "Flux Pro Kontext Max",
|
|
selectorDescription: "Fast instructive editing",
|
|
selectorBadges: ["20 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canEditImages: !0,
|
|
tags: [hn.InstructiveEdit]
|
|
}),
|
|
new Qt({
|
|
id: "flux_pro_inpaint",
|
|
tauriId: "flux_pro_1",
|
|
fullName: "Flux Pro Inpaint",
|
|
category: "image",
|
|
creator: xe.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 Qt({
|
|
id: "flux_dev_juggernaut_inpaint",
|
|
tauriId: "flux_dev_juggernaut",
|
|
fullName: "Flux Dev Juggernaut Inpaint",
|
|
category: "image",
|
|
creator: xe.BlackForestLabs,
|
|
selectorName: "Flux Dev Juggernaut",
|
|
selectorDescription: "Fast inpainting",
|
|
selectorBadges: ["15 sec."],
|
|
maxGenerationCount: 4,
|
|
defaultGenerationCount: 4,
|
|
canEditImages: !0,
|
|
usesInpaintingMask: !0
|
|
})
|
|
], rT = new Map(
|
|
pm.map((e) => [e.id, e])
|
|
);
|
|
if (rT.size !== pm.length)
|
|
throw new Error("All image models must have unique IDs");
|
|
const nT = [
|
|
new Zo({
|
|
id: "kling_1_6_pro",
|
|
tauriId: "kling_1.6_pro",
|
|
fullName: "Kling 1.6 Pro",
|
|
category: "video",
|
|
creator: xe.Kling,
|
|
selectorName: "Kling 1.6 Pro",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !0
|
|
}),
|
|
new Zo({
|
|
id: "kling_2_1_pro",
|
|
tauriId: "kling_2.1_pro",
|
|
fullName: "Kling 2.1 Pro",
|
|
category: "video",
|
|
creator: xe.Kling,
|
|
selectorName: "Kling 2.1 Pro",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !0
|
|
}),
|
|
new Zo({
|
|
id: "kling_2_1_master",
|
|
tauriId: "kling_2.1_master",
|
|
fullName: "Kling 2.1 Master",
|
|
category: "video",
|
|
creator: xe.Kling,
|
|
selectorName: "Kling 2.1 Master",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !1
|
|
}),
|
|
new Zo({
|
|
id: "seedance_1_0_lite",
|
|
tauriId: "seedance_1.0_lite",
|
|
fullName: "Seedance 1.0 Lite",
|
|
category: "video",
|
|
creator: xe.Bytedance,
|
|
selectorName: "Seedance 1.0 Lite",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !1
|
|
}),
|
|
new Zo({
|
|
id: "veo_2",
|
|
tauriId: "veo_2",
|
|
fullName: "Google Veo 2",
|
|
category: "video",
|
|
creator: xe.Google,
|
|
selectorName: "Google Veo 2",
|
|
selectorDescription: "Fast video model",
|
|
selectorBadges: ["2 min."],
|
|
startFrame: !0,
|
|
endFrame: !1
|
|
})
|
|
], xw = [...pm, ...nT], aT = new Map(
|
|
xw.map((e) => [e.id, e])
|
|
);
|
|
if (aT.size !== xw.length)
|
|
throw new Error("All models must have unique IDs");
|
|
var oT = Object.defineProperty, iT = (e, t, r) => t in e ? oT(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Qu = (e, t, r) => (iT(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let sT = class {
|
|
constructor() {
|
|
Qu(this, "current", this.detect()), Qu(this, "handoffState", "pending"), Qu(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";
|
|
}
|
|
}, Ds = new sT();
|
|
function lT(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function zl() {
|
|
let e = [], t = { addEventListener(r, n, a, o) {
|
|
return r.addEventListener(n, a, o), t.add(() => r.removeEventListener(n, a, o));
|
|
}, 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 lT(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, a) {
|
|
let o = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: a }), this.add(() => {
|
|
Object.assign(r.style, { [n]: o });
|
|
});
|
|
}, group(r) {
|
|
let n = zl();
|
|
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 a of e.splice(n, 1)) a();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function ww() {
|
|
let [e] = vt(zl);
|
|
return pt(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let xn = (e, t) => {
|
|
Ds.isServer ? pt(e, t) : Nb(e, t);
|
|
};
|
|
function kw(e) {
|
|
let t = Ge(e);
|
|
return xn(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let Ir = function(e) {
|
|
let t = kw(e);
|
|
return He.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function Vd(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function Fl(e, t, ...r) {
|
|
if (e in t) {
|
|
let a = t[e];
|
|
return typeof a == "function" ? a(...r) : a;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((a) => `"${a}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, Fl), n;
|
|
}
|
|
var _w = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(_w || {}), yn = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(yn || {});
|
|
function Ow() {
|
|
let e = uT();
|
|
return dn((t) => cT({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function cT({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: a, visible: o = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? fT;
|
|
let u = Sw(t, e);
|
|
if (o) return ks(u, r, n, i, s);
|
|
let c = a ?? 0;
|
|
if (c & 2) {
|
|
let { static: d = !1, ...p } = u;
|
|
if (d) return ks(p, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: d = !0, ...p } = u;
|
|
return Fl(d ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return ks({ ...p, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return ks(u, r, n, i, s);
|
|
}
|
|
function ks(e, t = {}, r, n, a) {
|
|
let { as: o = r, children: i, refName: s = "ref", ...u } = Zu(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 p = {};
|
|
if (t) {
|
|
let m = !1, w = [];
|
|
for (let [_, v] of Object.entries(t)) typeof v == "boolean" && (m = !0), v === !0 && w.push(_.replace(/([A-Z])/g, (y) => `-${y.toLowerCase()}`));
|
|
if (m) {
|
|
p["data-headlessui-state"] = w.join(" ");
|
|
for (let _ of w) p[`data-${_}`] = "";
|
|
}
|
|
}
|
|
if (o === Qn && (Object.keys(Yn(u)).length > 0 || Object.keys(Yn(p)).length > 0)) if (!tf(d) || Array.isArray(d) && d.length > 1) {
|
|
if (Object.keys(Yn(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(Yn(u)).concat(Object.keys(Yn(p))).map((m) => ` - ${m}`).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((m) => ` - ${m}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let m = d.props, w = m == null ? void 0 : m.className, _ = typeof w == "function" ? (...k) => Vd(w(...k), u.className) : Vd(w, u.className), v = _ ? { className: _ } : {}, y = Sw(d.props, Yn(Zu(u, ["ref"])));
|
|
for (let k in p) k in y && delete p[k];
|
|
return rf(d, Object.assign({}, y, p, c, { ref: a(dT(d), c.ref) }, v));
|
|
}
|
|
return Dw(o, Object.assign({}, Zu(u, ["ref"]), o !== Qn && c, o !== Qn && p), d);
|
|
}
|
|
function uT() {
|
|
let e = Ge([]), t = dn((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 fT(...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 Sw(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let a in n) a.startsWith("on") && typeof n[a] == "function" ? (r[a] != null || (r[a] = []), r[a].push(n[a])) : t[a] = n[a];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(a) => {
|
|
var o;
|
|
return (o = a == null ? void 0 : a.preventDefault) == null ? void 0 : o.call(a);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](a, ...o) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((a instanceof Event || (a == null ? void 0 : a.nativeEvent) instanceof Event) && a.defaultPrevented) return;
|
|
s(a, ...o);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function mm(e) {
|
|
var t;
|
|
return Object.assign(jb(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function Yn(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function Zu(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function dT(e) {
|
|
return He.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
let pT = Symbol();
|
|
function Ew(...e) {
|
|
let t = Ge(e);
|
|
pt(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = Ir((n) => {
|
|
for (let a of t.current) a != null && (typeof a == "function" ? a(n) : a.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[pT])) ? void 0 : r;
|
|
}
|
|
function mT(e = 0) {
|
|
let [t, r] = vt(e), n = dn((u) => r(u), [t]), a = dn((u) => r((c) => c | u), [t]), o = dn((u) => (t & u) === u, [t]), i = dn((u) => r((c) => c & ~u), [r]), s = dn((u) => r((c) => c ^ u), [r]);
|
|
return { flags: t, setFlag: n, addFlag: a, hasFlag: o, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var Eb, Pb;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((Eb = process == null ? void 0 : process.env) == null ? void 0 : Eb.NODE_ENV) === "test" && typeof ((Pb = Element == null ? void 0 : Element.prototype) == null ? void 0 : Pb.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 gT = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(gT || {});
|
|
function hT(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function yT(e, t, r, n) {
|
|
let [a, o] = vt(r), { hasFlag: i, addFlag: s, removeFlag: u } = mT(e && a ? 3 : 0), c = Ge(!1), d = Ge(!1), p = ww();
|
|
return xn(() => {
|
|
var m;
|
|
if (e) {
|
|
if (r && o(!0), !t) {
|
|
r && s(3);
|
|
return;
|
|
}
|
|
return (m = n == null ? void 0 : n.start) == null || m.call(n, r), bT(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 w;
|
|
d.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, u(7), r || o(!1), (w = n == null ? void 0 : n.end) == null || w.call(n, r));
|
|
} });
|
|
}
|
|
}, [e, r, t, p]), e ? [a, { 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 bT(e, { prepare: t, run: r, done: n, inFlight: a }) {
|
|
let o = zl();
|
|
return xT(e, { prepare: t, inFlight: a }), o.nextFrame(() => {
|
|
r(), o.requestAnimationFrame(() => {
|
|
o.add(vT(e, n));
|
|
});
|
|
}), o.dispose;
|
|
}
|
|
function vT(e, t) {
|
|
var r, n;
|
|
let a = zl();
|
|
if (!e) return a.dispose;
|
|
let o = !1;
|
|
a.add(() => {
|
|
o = !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(), a.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => {
|
|
o || t();
|
|
}), a.dispose);
|
|
}
|
|
function xT(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 gm = al(null);
|
|
gm.displayName = "OpenClosedContext";
|
|
var Jn = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(Jn || {});
|
|
function Pw() {
|
|
return Ya(gm);
|
|
}
|
|
function wT({ value: e, children: t }) {
|
|
return He.createElement(gm.Provider, { value: e }, t);
|
|
}
|
|
function kT() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in H ? ((t) => t.useSyncExternalStore)(H)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function Cw() {
|
|
let e = kT(), [t, r] = H.useState(Ds.isHandoffComplete);
|
|
return t && Ds.isHandoffComplete === !1 && r(!1), H.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), H.useEffect(() => Ds.handoff(), []), e ? !1 : t;
|
|
}
|
|
function _T() {
|
|
let e = Ge(!1);
|
|
return xn(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function Aw(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : Nw) !== Qn || He.Children.count(e.children) === 1;
|
|
}
|
|
let Dl = al(null);
|
|
Dl.displayName = "TransitionContext";
|
|
var OT = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(OT || {});
|
|
function ST() {
|
|
let e = Ya(Dl);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function ET() {
|
|
let e = Ya(Ll);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let Ll = al(null);
|
|
Ll.displayName = "NestingContext";
|
|
function Gl(e) {
|
|
return "children" in e ? Gl(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function $w(e, t) {
|
|
let r = kw(e), n = Ge([]), a = _T(), o = ww(), i = Ir((w, _ = yn.Hidden) => {
|
|
let v = n.current.findIndex(({ el: y }) => y === w);
|
|
v !== -1 && (Fl(_, { [yn.Unmount]() {
|
|
n.current.splice(v, 1);
|
|
}, [yn.Hidden]() {
|
|
n.current[v].state = "hidden";
|
|
} }), o.microTask(() => {
|
|
var y;
|
|
!Gl(n) && a.current && ((y = r.current) == null || y.call(r));
|
|
}));
|
|
}), s = Ir((w) => {
|
|
let _ = n.current.find(({ el: v }) => v === w);
|
|
return _ ? _.state !== "visible" && (_.state = "visible") : n.current.push({ el: w, state: "visible" }), () => i(w, yn.Unmount);
|
|
}), u = Ge([]), c = Ge(Promise.resolve()), d = Ge({ enter: [], leave: [] }), p = Ir((w, _, v) => {
|
|
u.current.splice(0), t && (t.chains.current[_] = t.chains.current[_].filter(([y]) => y !== w)), t == null || t.chains.current[_].push([w, new Promise((y) => {
|
|
u.current.push(y);
|
|
})]), t == null || t.chains.current[_].push([w, new Promise((y) => {
|
|
Promise.all(d.current[_].map(([k, P]) => P)).then(() => y());
|
|
})]), _ === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => v(_)) : v(_);
|
|
}), m = Ir((w, _, v) => {
|
|
Promise.all(d.current[_].splice(0).map(([y, k]) => k)).then(() => {
|
|
var y;
|
|
(y = u.current.shift()) == null || y();
|
|
}).then(() => v(_));
|
|
});
|
|
return Hd(() => ({ children: n, register: s, unregister: i, onStart: p, onStop: m, wait: c, chains: d }), [s, i, n, p, m, d, c]);
|
|
}
|
|
let Nw = Qn, jw = _w.RenderStrategy;
|
|
function PT(e, t) {
|
|
var r, n;
|
|
let { transition: a = !0, beforeEnter: o, afterEnter: i, beforeLeave: s, afterLeave: u, enter: c, enterFrom: d, enterTo: p, entered: m, leave: w, leaveFrom: _, leaveTo: v, ...y } = e, [k, P] = vt(null), E = Ge(null), C = Aw(e), b = Ew(...C ? [E, t, P] : t === null ? [] : [t]), Y = (r = y.unmount) == null || r ? yn.Unmount : yn.Hidden, { show: q, appear: Z, initial: ie } = ST(), [Q, J] = vt(q ? "visible" : "hidden"), D = ET(), { register: ce, unregister: V } = D;
|
|
xn(() => ce(E), [ce, E]), xn(() => {
|
|
if (Y === yn.Hidden && E.current) {
|
|
if (q && Q !== "visible") {
|
|
J("visible");
|
|
return;
|
|
}
|
|
return Fl(Q, { hidden: () => V(E), visible: () => ce(E) });
|
|
}
|
|
}, [Q, E, ce, V, q, Y]);
|
|
let I = Cw();
|
|
xn(() => {
|
|
if (C && I && Q === "visible" && E.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [E, Q, I, C]);
|
|
let R = ie && !Z, j = Z && q && ie, U = Ge(!1), B = $w(() => {
|
|
U.current || (J("hidden"), V(E));
|
|
}, D), h = Ir((M) => {
|
|
U.current = !0;
|
|
let L = M ? "enter" : "leave";
|
|
B.onStart(E, L, (F) => {
|
|
F === "enter" ? o == null || o() : F === "leave" && (s == null || s());
|
|
});
|
|
}), f = Ir((M) => {
|
|
let L = M ? "enter" : "leave";
|
|
U.current = !1, B.onStop(E, L, (F) => {
|
|
F === "enter" ? i == null || i() : F === "leave" && (u == null || u());
|
|
}), L === "leave" && !Gl(B) && (J("hidden"), V(E));
|
|
});
|
|
pt(() => {
|
|
C && a || (h(q), f(q));
|
|
}, [q, C, a]);
|
|
let x = !(!a || !C || !I || R), [, N] = yT(x, k, q, { start: h, end: f }), $ = Yn({ ref: b, className: ((n = Vd(y.className, j && c, j && d, N.enter && c, N.enter && N.closed && d, N.enter && !N.closed && p, N.leave && w, N.leave && !N.closed && _, N.leave && N.closed && v, !N.transition && q && m)) == null ? void 0 : n.trim()) || void 0, ...hT(N) }), T = 0;
|
|
Q === "visible" && (T |= Jn.Open), Q === "hidden" && (T |= Jn.Closed), q && Q === "hidden" && (T |= Jn.Opening), !q && Q === "visible" && (T |= Jn.Closing);
|
|
let z = Ow();
|
|
return He.createElement(Ll.Provider, { value: B }, He.createElement(wT, { value: T }, z({ ourProps: $, theirProps: y, defaultTag: Nw, features: jw, visible: Q === "visible", name: "Transition.Child" })));
|
|
}
|
|
function CT(e, t) {
|
|
let { show: r, appear: n = !1, unmount: a = !0, ...o } = e, i = Ge(null), s = Aw(e), u = Ew(...s ? [i, t] : t === null ? [] : [t]);
|
|
Cw();
|
|
let c = Pw();
|
|
if (r === void 0 && c !== null && (r = (c & Jn.Open) === Jn.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [d, p] = vt(r ? "visible" : "hidden"), m = $w(() => {
|
|
r || p("hidden");
|
|
}), [w, _] = vt(!0), v = Ge([r]);
|
|
xn(() => {
|
|
w !== !1 && v.current[v.current.length - 1] !== r && (v.current.push(r), _(!1));
|
|
}, [v, r]);
|
|
let y = Hd(() => ({ show: r, appear: n, initial: w }), [r, n, w]);
|
|
xn(() => {
|
|
r ? p("visible") : !Gl(m) && i.current !== null && p("hidden");
|
|
}, [r, m]);
|
|
let k = { unmount: a }, P = Ir(() => {
|
|
var b;
|
|
w && _(!1), (b = e.beforeEnter) == null || b.call(e);
|
|
}), E = Ir(() => {
|
|
var b;
|
|
w && _(!1), (b = e.beforeLeave) == null || b.call(e);
|
|
}), C = Ow();
|
|
return He.createElement(Ll.Provider, { value: m }, He.createElement(Dl.Provider, { value: y }, C({ ourProps: { ...k, as: Qn, children: He.createElement(Iw, { ref: u, ...k, ...o, beforeEnter: P, beforeLeave: E }) }, theirProps: {}, defaultTag: Qn, features: jw, visible: d === "visible", name: "Transition" })));
|
|
}
|
|
function AT(e, t) {
|
|
let r = Ya(Dl) !== null, n = Pw() !== null;
|
|
return He.createElement(He.Fragment, null, !r && n ? He.createElement(Wd, { ref: t, ...e }) : He.createElement(Iw, { ref: t, ...e }));
|
|
}
|
|
let Wd = mm(CT), Iw = mm(PT), $T = mm(AT), NT = Object.assign(Wd, { Child: $T, Root: Wd });
|
|
const hm = "-", jT = (e) => {
|
|
const t = TT(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (a) => {
|
|
const o = a.split(hm);
|
|
return o[0] === "" && o.length !== 1 && o.shift(), Tw(o, t) || IT(a);
|
|
},
|
|
getConflictingClassGroupIds: (a, o) => {
|
|
const i = r[a] || [];
|
|
return o && n[a] ? [...i, ...n[a]] : i;
|
|
}
|
|
};
|
|
}, Tw = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], a = t.nextPart.get(n), o = a ? Tw(e.slice(1), a) : void 0;
|
|
if (o)
|
|
return o;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(hm);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, Cb = /^\[(.+)\]$/, IT = (e) => {
|
|
if (Cb.test(e)) {
|
|
const t = Cb.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, TT = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return MT(Object.entries(e.classGroups), r).forEach(([a, o]) => {
|
|
Ud(o, n, a, t);
|
|
}), n;
|
|
}, Ud = (e, t, r, n) => {
|
|
e.forEach((a) => {
|
|
if (typeof a == "string") {
|
|
const o = a === "" ? t : Ab(t, a);
|
|
o.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof a == "function") {
|
|
if (RT(a)) {
|
|
Ud(a(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: a,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(a).forEach(([o, i]) => {
|
|
Ud(i, Ab(t, o), r, n);
|
|
});
|
|
});
|
|
}, Ab = (e, t) => {
|
|
let r = e;
|
|
return t.split(hm).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, RT = (e) => e.isThemeGetter, MT = (e, t) => t ? e.map(([r, n]) => {
|
|
const a = n.map((o) => typeof o == "string" ? t + o : typeof o == "object" ? Object.fromEntries(Object.entries(o).map(([i, s]) => [t + i, s])) : o);
|
|
return [r, a];
|
|
}) : e, zT = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const a = (o, i) => {
|
|
r.set(o, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(o) {
|
|
let i = r.get(o);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(o)) !== void 0)
|
|
return a(o, i), i;
|
|
},
|
|
set(o, i) {
|
|
r.has(o) ? r.set(o, i) : a(o, i);
|
|
}
|
|
};
|
|
}, Rw = "!", FT = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, a = t[0], o = t.length, i = (s) => {
|
|
const u = [];
|
|
let c = 0, d = 0, p;
|
|
for (let y = 0; y < s.length; y++) {
|
|
let k = s[y];
|
|
if (c === 0) {
|
|
if (k === a && (n || s.slice(y, y + o) === t)) {
|
|
u.push(s.slice(d, y)), d = y + o;
|
|
continue;
|
|
}
|
|
if (k === "/") {
|
|
p = y;
|
|
continue;
|
|
}
|
|
}
|
|
k === "[" ? c++ : k === "]" && c--;
|
|
}
|
|
const m = u.length === 0 ? s : s.substring(d), w = m.startsWith(Rw), _ = w ? m.substring(1) : m, v = p && p > d ? p - d : void 0;
|
|
return {
|
|
modifiers: u,
|
|
hasImportantModifier: w,
|
|
baseClassName: _,
|
|
maybePostfixModifierPosition: v
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, DT = (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;
|
|
}, LT = (e) => ({
|
|
cache: zT(e.cacheSize),
|
|
parseClassName: FT(e),
|
|
...jT(e)
|
|
}), GT = /\s+/, VT = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: a
|
|
} = t, o = [], i = e.trim().split(GT);
|
|
let s = "";
|
|
for (let u = i.length - 1; u >= 0; u -= 1) {
|
|
const c = i[u], {
|
|
modifiers: d,
|
|
hasImportantModifier: p,
|
|
baseClassName: m,
|
|
maybePostfixModifierPosition: w
|
|
} = r(c);
|
|
let _ = !!w, v = n(_ ? m.substring(0, w) : m);
|
|
if (!v) {
|
|
if (!_) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (v = n(m), !v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
_ = !1;
|
|
}
|
|
const y = DT(d).join(":"), k = p ? y + Rw : y, P = k + v;
|
|
if (o.includes(P))
|
|
continue;
|
|
o.push(P);
|
|
const E = a(v, _);
|
|
for (let C = 0; C < E.length; ++C) {
|
|
const b = E[C];
|
|
o.push(k + b);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function WT() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = Mw(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const Mw = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = Mw(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function UT(e, ...t) {
|
|
let r, n, a, o = i;
|
|
function i(u) {
|
|
const c = t.reduce((d, p) => p(d), e());
|
|
return r = LT(c), n = r.cache.get, a = r.cache.set, o = s, s(u);
|
|
}
|
|
function s(u) {
|
|
const c = n(u);
|
|
if (c)
|
|
return c;
|
|
const d = VT(u, r);
|
|
return a(u, d), d;
|
|
}
|
|
return function() {
|
|
return o(WT.apply(null, arguments));
|
|
};
|
|
}
|
|
const st = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, zw = /^\[(?:([a-z-]+):)?(.+)\]$/i, HT = /^\d+\/\d+$/, YT = /* @__PURE__ */ new Set(["px", "full", "screen"]), qT = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, BT = /\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$/, KT = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, XT = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, JT = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Nr = (e) => Da(e) || YT.has(e) || HT.test(e), cn = (e) => no(e, "length", oR), Da = (e) => !!e && !Number.isNaN(Number(e)), ef = (e) => no(e, "number", Da), ei = (e) => !!e && Number.isInteger(Number(e)), QT = (e) => e.endsWith("%") && Da(e.slice(0, -1)), Ne = (e) => zw.test(e), un = (e) => qT.test(e), ZT = /* @__PURE__ */ new Set(["length", "size", "percentage"]), eR = (e) => no(e, ZT, Fw), tR = (e) => no(e, "position", Fw), rR = /* @__PURE__ */ new Set(["image", "url"]), nR = (e) => no(e, rR, sR), aR = (e) => no(e, "", iR), ti = () => !0, no = (e, t, r) => {
|
|
const n = zw.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, oR = (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.
|
|
BT.test(e) && !KT.test(e)
|
|
), Fw = () => !1, iR = (e) => XT.test(e), sR = (e) => JT.test(e), lR = () => {
|
|
const e = st("colors"), t = st("spacing"), r = st("blur"), n = st("brightness"), a = st("borderColor"), o = st("borderRadius"), i = st("borderSpacing"), s = st("borderWidth"), u = st("contrast"), c = st("grayscale"), d = st("hueRotate"), p = st("invert"), m = st("gap"), w = st("gradientColorStops"), _ = st("gradientColorStopPositions"), v = st("inset"), y = st("margin"), k = st("opacity"), P = st("padding"), E = st("saturate"), C = st("scale"), b = st("sepia"), Y = st("skew"), q = st("space"), Z = st("translate"), ie = () => ["auto", "contain", "none"], Q = () => ["auto", "hidden", "clip", "visible", "scroll"], J = () => ["auto", Ne, t], D = () => [Ne, t], ce = () => ["", Nr, cn], V = () => ["auto", Da, Ne], I = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], R = () => ["solid", "dashed", "dotted", "double", "none"], j = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], U = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], B = () => ["", "0", Ne], h = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], f = () => [Da, Ne];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [ti],
|
|
spacing: [Nr, cn],
|
|
blur: ["none", "", un, Ne],
|
|
brightness: f(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", un, Ne],
|
|
borderSpacing: D(),
|
|
borderWidth: ce(),
|
|
contrast: f(),
|
|
grayscale: B(),
|
|
hueRotate: f(),
|
|
invert: B(),
|
|
gap: D(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [QT, cn],
|
|
inset: J(),
|
|
margin: J(),
|
|
opacity: f(),
|
|
padding: D(),
|
|
saturate: f(),
|
|
scale: f(),
|
|
sepia: B(),
|
|
skew: f(),
|
|
space: D(),
|
|
translate: D()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Ne]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [un]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": h()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": h()
|
|
}],
|
|
/**
|
|
* 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: [...I(), Ne]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: Q()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": Q()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": Q()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": ie()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": ie()
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [v]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [v]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [v]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [v]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [v]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [v]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [v]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [v]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", ei, Ne]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: J()
|
|
}],
|
|
/**
|
|
* 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", Ne]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: B()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: B()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", ei, Ne]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [ti]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", ei, Ne]
|
|
}, Ne]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": V()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": V()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [ti]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [ei, Ne]
|
|
}, Ne]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": V()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": V()
|
|
}],
|
|
/**
|
|
* 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", Ne]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Ne]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [m]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [m]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [m]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...U()]
|
|
}],
|
|
/**
|
|
* 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", ...U(), "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": [...U(), "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: [P]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [P]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [P]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [P]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [P]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [P]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [P]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [P]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [P]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [y]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [y]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [y]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [y]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [y]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [y]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [y]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [y]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [y]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [q]
|
|
}],
|
|
/**
|
|
* 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": [q]
|
|
}],
|
|
/**
|
|
* 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", Ne, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Ne, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Ne, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [un]
|
|
}, un]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Ne, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Ne, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Ne, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Ne, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", un, cn]
|
|
}],
|
|
/**
|
|
* 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", ef]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [ti]
|
|
}],
|
|
/**
|
|
* 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", Ne]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Da, ef]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Nr, Ne]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Ne]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Ne]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...R(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Nr, cn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Nr, Ne]
|
|
}],
|
|
/**
|
|
* 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: D()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ne]
|
|
}],
|
|
/**
|
|
* 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", Ne]
|
|
}],
|
|
// 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": [k]
|
|
}],
|
|
/**
|
|
* 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: [...I(), tR]
|
|
}],
|
|
/**
|
|
* 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", eR]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, nR]
|
|
}],
|
|
/**
|
|
* 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: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [_]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [w]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [w]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [o]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [o]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [o]
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...R(), "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": [k]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: R()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [a]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [a]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [a]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [a]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [a]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [a]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [a]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [a]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [a]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [a]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ...R()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Nr, Ne]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Nr, cn]
|
|
}],
|
|
/**
|
|
* 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: ce()
|
|
}],
|
|
/**
|
|
* 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": [k]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Nr, cn]
|
|
}],
|
|
/**
|
|
* 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", un, aR]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [ti]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [k]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...j(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": j()
|
|
}],
|
|
// 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", un, Ne]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [E]
|
|
}],
|
|
/**
|
|
* 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": [p]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [k]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [E]
|
|
}],
|
|
/**
|
|
* 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", Ne]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: f()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Ne]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: f()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Ne]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [C]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [C]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [C]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [ei, Ne]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [Z]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [Z]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [Y]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [Y]
|
|
}],
|
|
/**
|
|
* 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", Ne]
|
|
}],
|
|
// 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", Ne]
|
|
}],
|
|
/**
|
|
* 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": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": D()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": D()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": D()
|
|
}],
|
|
/**
|
|
* 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", Ne]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Nr, cn, ef]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, $b = /* @__PURE__ */ UT(lR), cR = ({
|
|
children: e,
|
|
content: t,
|
|
position: r,
|
|
className: n,
|
|
delay: a = 300,
|
|
closeOnClick: o = !1,
|
|
imageSrc: i,
|
|
description: s,
|
|
interactive: u = !1
|
|
}) => {
|
|
const [c, d] = vt(!1), p = Ge(null), m = Ge(null), [w, _] = vt(!1), [v, y] = vt(!1), k = () => p.current ? p.current.querySelectorAll('[data-headlessui-state="open"]').length > 0 : !1;
|
|
pt(() => {
|
|
const C = new MutationObserver((b) => {
|
|
b.forEach((Y) => {
|
|
Y.type === "attributes" && Y.attributeName === "data-headlessui-state" && Y.target.getAttribute("data-headlessui-state") === "open" && d(!1);
|
|
});
|
|
});
|
|
return p.current && C.observe(p.current, {
|
|
attributes: !0,
|
|
subtree: !0,
|
|
attributeFilter: ["data-headlessui-state"]
|
|
}), () => {
|
|
C.disconnect();
|
|
};
|
|
}, []);
|
|
const P = () => {
|
|
if (p.current) {
|
|
const C = p.current.getBoundingClientRect();
|
|
switch (r) {
|
|
case "top":
|
|
return {
|
|
bottom: C.height + 10,
|
|
left: "50%",
|
|
transform: "translateX(-50%)"
|
|
};
|
|
case "bottom":
|
|
return {
|
|
top: C.height + 10,
|
|
left: "50%",
|
|
transform: "translateX(-50%)"
|
|
};
|
|
case "left":
|
|
return {
|
|
right: C.width + 10,
|
|
top: "50%",
|
|
transform: "translateY(-50%)"
|
|
};
|
|
case "right":
|
|
return {
|
|
left: C.width + 10,
|
|
top: "50%",
|
|
transform: "translateY(-50%)"
|
|
};
|
|
default:
|
|
return {};
|
|
}
|
|
}
|
|
return {};
|
|
}, E = (C) => {
|
|
o && (d(!1), C.stopPropagation());
|
|
};
|
|
return pt(() => {
|
|
k() || d(w || u && v);
|
|
}, [w, v, u]), /* @__PURE__ */ Le(
|
|
"div",
|
|
{
|
|
ref: p,
|
|
onMouseEnter: () => {
|
|
_(!0), k() || d(!0);
|
|
},
|
|
onMouseLeave: () => {
|
|
_(!1), u || d(!1);
|
|
},
|
|
onClick: E,
|
|
className: "relative",
|
|
children: [
|
|
e,
|
|
/* @__PURE__ */ X(
|
|
NT,
|
|
{
|
|
show: c,
|
|
enter: $b(
|
|
"transition ease-out duration-200",
|
|
a ? `delay-[${a}ms]` : "delay-[300ms]"
|
|
),
|
|
enterFrom: "opacity-0",
|
|
enterTo: "opacity-100",
|
|
leave: "transition ease-in duration-150",
|
|
leaveFrom: "opacity-100",
|
|
leaveTo: "opacity-0",
|
|
children: /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
ref: m,
|
|
onMouseEnter: () => u && y(!0),
|
|
onMouseLeave: () => u && y(!1),
|
|
style: {
|
|
...P(),
|
|
transitionDelay: `${a}ms`,
|
|
transitionProperty: "opacity",
|
|
transitionDuration: "200ms",
|
|
transitionTimingFunction: "ease-out"
|
|
},
|
|
className: $b(
|
|
"absolute z-10 w-max rounded-lg bg-ui-controls px-2.5 py-1.5 text-[13px] font-medium text-base-fg shadow-xl border border-ui-panel-border",
|
|
u ? "pointer-events-auto" : "pointer-events-none",
|
|
n || ""
|
|
),
|
|
children: /* @__PURE__ */ Le("div", { className: "flex flex-col gap-1", children: [
|
|
t,
|
|
i && /* @__PURE__ */ X(
|
|
"img",
|
|
{
|
|
src: i,
|
|
alt: "tooltip",
|
|
className: "mb-1 aspect-square w-56 rounded-md"
|
|
}
|
|
),
|
|
s && /* @__PURE__ */ X("p", { className: "text-sm text-base-fg font-normal", children: s })
|
|
] })
|
|
}
|
|
)
|
|
}
|
|
)
|
|
]
|
|
}
|
|
);
|
|
};
|
|
function xR({
|
|
isOpen: e,
|
|
onClose: t,
|
|
onCloseGallery: r,
|
|
imageUrl: n,
|
|
imageAlt: a = "",
|
|
onImageError: o,
|
|
title: i,
|
|
createdAt: s,
|
|
additionalInfo: u,
|
|
downloadUrl: c,
|
|
// cdn url of the image
|
|
mediaId: d,
|
|
// media id of the image
|
|
onDownloadClicked: p,
|
|
onAddToSceneClicked: m,
|
|
mediaClass: w,
|
|
onEditClicked: _
|
|
}) {
|
|
const v = n ? n + "?cors=1" : "", [y, k] = He.useState(!1), [P, E] = He.useState(null), [C, b] = He.useState(!1), [Y, q] = He.useState(!1), [Z, ie] = He.useState(!1), [Q, J] = He.useState(null), [D, ce] = He.useState(null), [V, I] = He.useState(null);
|
|
return He.useEffect(() => {
|
|
k(!1);
|
|
}, [n]), He.useEffect(() => {
|
|
(async () => {
|
|
var j;
|
|
if (!d) {
|
|
E(null), q(!1), J(null), ce(null), I(null);
|
|
return;
|
|
}
|
|
b(!0);
|
|
try {
|
|
const B = await new rN().GetMediaFileByToken({
|
|
mediaFileToken: d
|
|
});
|
|
if (B.success && ((j = B.data) != null && j.maybe_prompt_token)) {
|
|
q(!0);
|
|
const f = await new nN().GetPromptsByToken({
|
|
token: B.data.maybe_prompt_token
|
|
});
|
|
if (f.success && f.data) {
|
|
const x = f.data;
|
|
E(x.maybe_positive_prompt || null), J(x.maybe_generation_provider || null), ce(x.maybe_model_type || null), I(x.maybe_context_images || null);
|
|
} else
|
|
E(null), J(null), ce(null), I(null);
|
|
} else
|
|
q(!1), E(null), J(null), ce(null), I(null);
|
|
} catch (U) {
|
|
console.error("Error fetching prompt:", U), q(!1), E(null), J(null), ce(null), I(null);
|
|
} finally {
|
|
b(!1);
|
|
}
|
|
})();
|
|
}, [d]), /* @__PURE__ */ Le(
|
|
Wa,
|
|
{
|
|
isOpen: e,
|
|
onClose: t,
|
|
className: "rounded-xl bg-[#2C2C2C] h-[75vh] w-[60vw] max-w-screen min-w-[35vw] min-h-[40vh] p-4",
|
|
draggable: !0,
|
|
allowBackgroundInteraction: !0,
|
|
showClose: !0,
|
|
closeOnOutsideClick: !1,
|
|
resizable: !0,
|
|
backdropClassName: "pointer-events-none hidden",
|
|
expandable: !0,
|
|
children: [
|
|
/* @__PURE__ */ X(Wa.DragHandle, { children: /* @__PURE__ */ X("div", { className: "absolute left-0 top-0 z-20 h-12 w-full cursor-move rounded-t-xl" }) }),
|
|
/* @__PURE__ */ Le("div", { className: "grid h-full grid-cols-3 gap-6", children: [
|
|
/* @__PURE__ */ Le("div", { className: "col-span-2 relative flex h-full items-center justify-center overflow-hidden rounded-l-xl bg-[#1A1A1A]", children: [
|
|
n ? w === "video" ? /* @__PURE__ */ Le(
|
|
"video",
|
|
{
|
|
controls: !0,
|
|
loop: !0,
|
|
autoPlay: !0,
|
|
className: "h-full w-full object-contain",
|
|
onLoadedData: () => k(!0),
|
|
children: [
|
|
/* @__PURE__ */ X("source", { src: n, type: "video/mp4" }),
|
|
"Your browser does not support the video tag."
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ X(
|
|
"img",
|
|
{
|
|
"data-lightbox-modal": "true",
|
|
src: v,
|
|
alt: a,
|
|
className: "h-full w-full object-contain",
|
|
onError: o,
|
|
onLoad: () => k(!0)
|
|
}
|
|
) : /* @__PURE__ */ X("div", { className: "flex h-full w-full items-center justify-center bg-gray-800", children: /* @__PURE__ */ X("span", { className: "text-white/60", children: "Image not available" }) }),
|
|
!y && n && /* @__PURE__ */ X("div", { className: "absolute inset-0 bg-[#1A1A1A] flex items-center justify-center", children: /* @__PURE__ */ X(Ey, { className: "h-12 w-12 text-white" }) })
|
|
] }),
|
|
/* @__PURE__ */ Le("div", { className: "flex h-full flex-col", children: [
|
|
/* @__PURE__ */ Le("div", { className: "flex-1 space-y-5", children: [
|
|
s && /* @__PURE__ */ Le("div", { className: "space-y-1.5", children: [
|
|
/* @__PURE__ */ X("div", { className: "text-sm font-medium text-white/90", children: "Created" }),
|
|
/* @__PURE__ */ Le("div", { className: "text-sm text-white/70", children: [
|
|
ky(s).format("MMM D, YYYY"),
|
|
" at",
|
|
" ",
|
|
ky(s).format("hh:mm A")
|
|
] })
|
|
] }),
|
|
Y && /* @__PURE__ */ Le(Ht, { children: [
|
|
/* @__PURE__ */ Le("div", { className: "relative space-y-1.5", children: [
|
|
/* @__PURE__ */ X("div", { className: "text-sm font-medium text-white/90", children: "Prompt" }),
|
|
/* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
className: kb(
|
|
"relative text-sm text-white/90 break-words bg-black/20 p-3 rounded-lg cursor-pointer transition-colors duration-100 leading-relaxed",
|
|
Z && "bg-black/30"
|
|
),
|
|
onMouseEnter: () => ie(!0),
|
|
onMouseLeave: () => ie(!1),
|
|
onClick: () => {
|
|
P && (navigator.clipboard.writeText(P).catch(() => {
|
|
}), DN.success("Prompt copied"));
|
|
},
|
|
children: C ? /* @__PURE__ */ Le("div", { className: "flex items-center gap-2", children: [
|
|
/* @__PURE__ */ X(Ey, { className: "h-4 w-4" }),
|
|
/* @__PURE__ */ X("span", { className: "text-sm text-white/80", children: "Loading prompt..." })
|
|
] }) : P || /* @__PURE__ */ X("span", { className: "text-sm text-white/90", children: "No prompt" })
|
|
}
|
|
),
|
|
!C && /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
className: kb(
|
|
"pointer-events-none absolute inset-0 flex items-end justify-end opacity-0 transition-opacity duration-50",
|
|
Z && "opacity-100"
|
|
),
|
|
children: /* @__PURE__ */ Le("div", { className: "flex items-center gap-1 text-xs text-white/80 bg-black/80 backdrop-blur-md p-1.5 rounded-tl-lg rounded-br-lg", children: [
|
|
/* @__PURE__ */ X(fm, { icon: d3, className: "h-3 w-3" }),
|
|
/* @__PURE__ */ X("span", { children: "Copy prompt" })
|
|
] })
|
|
}
|
|
)
|
|
] }),
|
|
V && V.length > 0 && /* @__PURE__ */ Le("div", { className: "space-y-1.5", children: [
|
|
/* @__PURE__ */ X("div", { className: "text-sm font-medium text-white/90", children: "Reference Images" }),
|
|
/* @__PURE__ */ X("div", { className: "grid grid-cols-6 gap-2", children: V.map((R, j) => {
|
|
const U = R.media_links.maybe_thumbnail_template ? R.media_links.maybe_thumbnail_template.replace(
|
|
"{WIDTH}",
|
|
"128"
|
|
) : R.media_links.cdn_url, B = R.media_links.maybe_thumbnail_template ? R.media_links.maybe_thumbnail_template.replace(
|
|
"{WIDTH}",
|
|
"512"
|
|
) : R.media_links.cdn_url;
|
|
return (
|
|
// Hover preview
|
|
/* @__PURE__ */ X(
|
|
cR,
|
|
{
|
|
className: "bg-black p-1.5",
|
|
content: /* @__PURE__ */ Le("div", { children: [
|
|
/* @__PURE__ */ X("div", { className: "flex flex-col items-center bg-white/10 rounded-lg", children: /* @__PURE__ */ X(
|
|
"img",
|
|
{
|
|
src: B,
|
|
alt: `Reference image ${j + 1} preview`,
|
|
className: "w-auto h-48 object-cover rounded-lg"
|
|
}
|
|
) }),
|
|
R.semantic && /* @__PURE__ */ X("div", { className: "mt-2 text-xs text-white/90 text-center max-w-48 px-1", children: R.semantic })
|
|
] }),
|
|
position: "top",
|
|
delay: 300,
|
|
closeOnClick: !0,
|
|
children: /* @__PURE__ */ X(
|
|
"div",
|
|
{
|
|
className: "relative group cursor-pointer",
|
|
onClick: () => {
|
|
window.open(
|
|
R.media_links.cdn_url,
|
|
"_blank"
|
|
);
|
|
},
|
|
children: /* @__PURE__ */ X("div", { className: "relative overflow-hidden rounded-lg border border-white/5 bg-white/10 aspect-square", children: /* @__PURE__ */ X(
|
|
"img",
|
|
{
|
|
src: U,
|
|
alt: `Reference image ${j + 1}`,
|
|
className: "w-full h-full object-cover transition-transform duration-200 group-hover:scale-105"
|
|
}
|
|
) })
|
|
}
|
|
)
|
|
},
|
|
R.media_token
|
|
)
|
|
);
|
|
}) })
|
|
] }),
|
|
(Q || D) && /* @__PURE__ */ Le("div", { className: "space-y-1.5", children: [
|
|
/* @__PURE__ */ X("div", { className: "text-sm font-medium text-white/90", children: "Generation Details" }),
|
|
/* @__PURE__ */ Le("div", { className: "flex flex-col gap-1.5", children: [
|
|
D && /* @__PURE__ */ Le("div", { className: "flex items-center justify-between py-2 px-3 bg-black/20 rounded-lg border border-white/5", children: [
|
|
/* @__PURE__ */ X("span", { className: "text-sm text-white/70 font-medium", children: "Model" }),
|
|
/* @__PURE__ */ Le("div", { className: "flex items-center gap-2", children: [
|
|
QI(D),
|
|
/* @__PURE__ */ X("span", { className: "text-sm text-white/90 rounded", children: ZI(D) })
|
|
] })
|
|
] }),
|
|
Q && /* @__PURE__ */ Le("div", { className: "flex items-center justify-between py-2 px-3 bg-black/20 rounded-lg border border-white/5", children: [
|
|
/* @__PURE__ */ X("span", { className: "text-sm text-white/70 font-medium", children: "Provider" }),
|
|
/* @__PURE__ */ X("span", { className: "text-sm text-white/90 rounded", children: eT(Q) })
|
|
] })
|
|
] })
|
|
] })
|
|
] }),
|
|
u
|
|
] }),
|
|
m && c || c ? /* @__PURE__ */ Le("div", { className: "mt-15 mb-15 flex justify-end gap-2", children: [
|
|
/* @__PURE__ */ X(
|
|
ps,
|
|
{
|
|
onClick: async (R) => {
|
|
ms("image_to_3d_clicked"), await m3({
|
|
image_media_token: d,
|
|
model: bx.Hunyuan3d2_0
|
|
});
|
|
},
|
|
children: "3D"
|
|
}
|
|
),
|
|
_ && c && /* @__PURE__ */ X(
|
|
ps,
|
|
{
|
|
icon: u3,
|
|
onClick: async (R) => {
|
|
R.stopPropagation(), ms("edit_image_clicked"), await _(c, d);
|
|
},
|
|
children: "Edit"
|
|
}
|
|
),
|
|
m && c && /* @__PURE__ */ X(
|
|
ps,
|
|
{
|
|
onClick: async (R) => {
|
|
R.stopPropagation(), ms("add_to_scene_clicked"), await m(c, d), t(), r();
|
|
},
|
|
children: "Add to Current Scene"
|
|
}
|
|
),
|
|
p && c && /* @__PURE__ */ X(
|
|
ps,
|
|
{
|
|
icon: f3,
|
|
onClick: async (R) => {
|
|
R.stopPropagation(), ms("download_clicked"), await p(c, w);
|
|
},
|
|
children: "Download"
|
|
}
|
|
)
|
|
] }) : null
|
|
] })
|
|
] })
|
|
]
|
|
}
|
|
);
|
|
}
|
|
export {
|
|
xR as LightboxModal
|
|
};
|