mirror of
https://github.com/storytold/placeholder-artcraft.git
synced 2026-10-18 07:33:54 +00:00
0daf83dba9
Need to remove secrets before entire repo can be made public.
49727 lines
1.3 MiB
Plaintext
49727 lines
1.3 MiB
Plaintext
import { jsx as W, jsxs as Me, Fragment as bt } from "react/jsx-runtime";
|
|
import * as D from "react";
|
|
import Pe, { createContext as yo, useState as Re, useRef as pe, useEffect as Xe, isValidElement as rl, cloneElement as nl, useContext as pr, useMemo as Hi, useLayoutEffect as Hp, forwardRef as Bp, useCallback as $t, Fragment as Ct, createElement as F0 } from "react";
|
|
import * as qO from "react-dom";
|
|
import HO, { unstable_batchedUpdates as BO } from "react-dom";
|
|
function Sn(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 Kg(e, t) {
|
|
if (typeof e == "function")
|
|
return e(t);
|
|
e != null && (e.current = t);
|
|
}
|
|
function D0(...e) {
|
|
return (t) => {
|
|
let r = !1;
|
|
const n = e.map((o) => {
|
|
const a = Kg(o, t);
|
|
return !r && typeof a == "function" && (r = !0), a;
|
|
});
|
|
if (r)
|
|
return () => {
|
|
for (let o = 0; o < n.length; o++) {
|
|
const a = n[o];
|
|
typeof a == "function" ? a() : Kg(e[o], null);
|
|
}
|
|
};
|
|
};
|
|
}
|
|
function vo(...e) {
|
|
return D.useCallback(D0(...e), e);
|
|
}
|
|
function XO(e, t) {
|
|
const r = D.createContext(t), n = (a) => {
|
|
const { children: i, ...s } = a, c = D.useMemo(() => s, Object.values(s));
|
|
return /* @__PURE__ */ W(r.Provider, { value: c, children: i });
|
|
};
|
|
n.displayName = e + "Provider";
|
|
function o(a) {
|
|
const i = D.useContext(r);
|
|
if (i) return i;
|
|
if (t !== void 0) return t;
|
|
throw new Error(`\`${a}\` must be used within \`${e}\``);
|
|
}
|
|
return [n, o];
|
|
}
|
|
function KO(e, t = []) {
|
|
let r = [];
|
|
function n(a, i) {
|
|
const s = D.createContext(i), c = r.length;
|
|
r = [...r, i];
|
|
const l = (f) => {
|
|
var d;
|
|
const { scope: y, children: x, ...m } = f, p = ((d = y == null ? void 0 : y[e]) == null ? void 0 : d[c]) || s, v = D.useMemo(() => m, Object.values(m));
|
|
return /* @__PURE__ */ W(p.Provider, { value: v, children: x });
|
|
};
|
|
l.displayName = a + "Provider";
|
|
function u(f, d) {
|
|
var y;
|
|
const x = ((y = d == null ? void 0 : d[e]) == null ? void 0 : y[c]) || s, m = D.useContext(x);
|
|
if (m) return m;
|
|
if (i !== void 0) return i;
|
|
throw new Error(`\`${f}\` must be used within \`${a}\``);
|
|
}
|
|
return [l, u];
|
|
}
|
|
const o = () => {
|
|
const a = r.map((i) => D.createContext(i));
|
|
return function(i) {
|
|
const s = (i == null ? void 0 : i[e]) || a;
|
|
return D.useMemo(
|
|
() => ({ [`__scope${e}`]: { ...i, [e]: s } }),
|
|
[i, s]
|
|
);
|
|
};
|
|
};
|
|
return o.scopeName = e, [n, JO(o, ...t)];
|
|
}
|
|
function JO(...e) {
|
|
const t = e[0];
|
|
if (e.length === 1) return t;
|
|
const r = () => {
|
|
const n = e.map((o) => ({
|
|
useScope: o(),
|
|
scopeName: o.scopeName
|
|
}));
|
|
return function(o) {
|
|
const a = n.reduce((i, { useScope: s, scopeName: c }) => {
|
|
const l = s(o)[`__scope${c}`];
|
|
return { ...i, ...l };
|
|
}, {});
|
|
return D.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]);
|
|
};
|
|
};
|
|
return r.scopeName = t.scopeName, r;
|
|
}
|
|
var Oi = globalThis != null && globalThis.document ? D.useLayoutEffect : () => {
|
|
}, QO = D[" useId ".trim().toString()] || (() => {
|
|
}), ZO = 0;
|
|
function Ac(e) {
|
|
const [t, r] = D.useState(QO());
|
|
return Oi(() => {
|
|
r((n) => n ?? String(ZO++));
|
|
}, [e]), e || (t ? `radix-${t}` : "");
|
|
}
|
|
var e5 = D[" useInsertionEffect ".trim().toString()] || Oi;
|
|
function t5({
|
|
prop: e,
|
|
defaultProp: t,
|
|
onChange: r = () => {
|
|
},
|
|
caller: n
|
|
}) {
|
|
const [o, a, i] = r5({
|
|
defaultProp: t,
|
|
onChange: r
|
|
}), s = e !== void 0, c = s ? e : o;
|
|
{
|
|
const u = D.useRef(e !== void 0);
|
|
D.useEffect(() => {
|
|
const f = u.current;
|
|
f !== s && console.warn(
|
|
`${n} is changing from ${f ? "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.`
|
|
), u.current = s;
|
|
}, [s, n]);
|
|
}
|
|
const l = D.useCallback(
|
|
(u) => {
|
|
var f;
|
|
if (s) {
|
|
const d = n5(u) ? u(e) : u;
|
|
d !== e && ((f = i.current) == null || f.call(i, d));
|
|
} else
|
|
a(u);
|
|
},
|
|
[s, e, a, i]
|
|
);
|
|
return [c, l];
|
|
}
|
|
function r5({
|
|
defaultProp: e,
|
|
onChange: t
|
|
}) {
|
|
const [r, n] = D.useState(e), o = D.useRef(r), a = D.useRef(t);
|
|
return e5(() => {
|
|
a.current = t;
|
|
}, [t]), D.useEffect(() => {
|
|
var i;
|
|
o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r);
|
|
}, [r, o]), [r, n, a];
|
|
}
|
|
function n5(e) {
|
|
return typeof e == "function";
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function L0(e) {
|
|
const t = /* @__PURE__ */ o5(e), r = D.forwardRef((n, o) => {
|
|
const { children: a, ...i } = n, s = D.Children.toArray(a), c = s.find(i5);
|
|
if (c) {
|
|
const l = c.props.children, u = s.map((f) => f === c ? D.Children.count(l) > 1 ? D.Children.only(null) : D.isValidElement(l) ? l.props.children : null : f);
|
|
return /* @__PURE__ */ W(t, { ...i, ref: o, children: D.isValidElement(l) ? D.cloneElement(l, void 0, u) : null });
|
|
}
|
|
return /* @__PURE__ */ W(t, { ...i, ref: o, children: a });
|
|
});
|
|
return r.displayName = `${e}.Slot`, r;
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function o5(e) {
|
|
const t = D.forwardRef((r, n) => {
|
|
const { children: o, ...a } = r;
|
|
if (D.isValidElement(o)) {
|
|
const i = l5(o), s = s5(a, o.props);
|
|
return o.type !== D.Fragment && (s.ref = n ? D0(n, i) : i), D.cloneElement(o, s);
|
|
}
|
|
return D.Children.count(o) > 1 ? D.Children.only(null) : null;
|
|
});
|
|
return t.displayName = `${e}.SlotClone`, t;
|
|
}
|
|
var a5 = Symbol("radix.slottable");
|
|
function i5(e) {
|
|
return D.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === a5;
|
|
}
|
|
function s5(e, t) {
|
|
const r = { ...t };
|
|
for (const n in t) {
|
|
const o = e[n], a = t[n];
|
|
/^on[A-Z]/.test(n) ? o && a ? r[n] = (...i) => {
|
|
const s = a(...i);
|
|
return o(...i), s;
|
|
} : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...a } : n === "className" && (r[n] = [o, a].filter(Boolean).join(" "));
|
|
}
|
|
return { ...e, ...r };
|
|
}
|
|
function l5(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
|
|
return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var c5 = [
|
|
"a",
|
|
"button",
|
|
"div",
|
|
"form",
|
|
"h2",
|
|
"h3",
|
|
"img",
|
|
"input",
|
|
"label",
|
|
"li",
|
|
"nav",
|
|
"ol",
|
|
"p",
|
|
"select",
|
|
"span",
|
|
"svg",
|
|
"ul"
|
|
], mr = c5.reduce((e, t) => {
|
|
const r = /* @__PURE__ */ L0(`Primitive.${t}`), n = D.forwardRef((o, a) => {
|
|
const { asChild: i, ...s } = o, c = i ? r : t;
|
|
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ W(c, { ...s, ref: a });
|
|
});
|
|
return n.displayName = `Primitive.${t}`, { ...e, [t]: n };
|
|
}, {});
|
|
function u5(e, t) {
|
|
e && qO.flushSync(() => e.dispatchEvent(t));
|
|
}
|
|
function Si(e) {
|
|
const t = D.useRef(e);
|
|
return D.useEffect(() => {
|
|
t.current = e;
|
|
}), D.useMemo(() => (...r) => {
|
|
var n;
|
|
return (n = t.current) == null ? void 0 : n.call(t, ...r);
|
|
}, []);
|
|
}
|
|
function f5(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = Si(e);
|
|
D.useEffect(() => {
|
|
const n = (o) => {
|
|
o.key === "Escape" && r(o);
|
|
};
|
|
return t.addEventListener("keydown", n, { capture: !0 }), () => t.removeEventListener("keydown", n, { capture: !0 });
|
|
}, [r, t]);
|
|
}
|
|
var d5 = "DismissableLayer", wf = "dismissableLayer.update", p5 = "dismissableLayer.pointerDownOutside", m5 = "dismissableLayer.focusOutside", Jg, W0 = D.createContext({
|
|
layers: /* @__PURE__ */ new Set(),
|
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
branches: /* @__PURE__ */ new Set()
|
|
}), Y0 = D.forwardRef(
|
|
(e, t) => {
|
|
const {
|
|
disableOutsidePointerEvents: r = !1,
|
|
onEscapeKeyDown: n,
|
|
onPointerDownOutside: o,
|
|
onFocusOutside: a,
|
|
onInteractOutside: i,
|
|
onDismiss: s,
|
|
...c
|
|
} = e, l = D.useContext(W0), [u, f] = D.useState(null), d = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, y] = D.useState({}), x = vo(t, (M) => f(M)), m = Array.from(l.layers), [p] = [...l.layersWithOutsidePointerEventsDisabled].slice(-1), v = m.indexOf(p), k = u ? m.indexOf(u) : -1, $ = l.layersWithOutsidePointerEventsDisabled.size > 0, O = k >= v, b = h5((M) => {
|
|
const B = M.target, H = [...l.branches].some((U) => U.contains(B));
|
|
!O || H || (o == null || o(M), i == null || i(M), M.defaultPrevented || s == null || s());
|
|
}, d), L = y5((M) => {
|
|
const B = M.target;
|
|
[...l.branches].some((H) => H.contains(B)) || (a == null || a(M), i == null || i(M), M.defaultPrevented || s == null || s());
|
|
}, d);
|
|
return f5((M) => {
|
|
k === l.layers.size - 1 && (n == null || n(M), !M.defaultPrevented && s && (M.preventDefault(), s()));
|
|
}, d), D.useEffect(() => {
|
|
if (u)
|
|
return r && (l.layersWithOutsidePointerEventsDisabled.size === 0 && (Jg = d.body.style.pointerEvents, d.body.style.pointerEvents = "none"), l.layersWithOutsidePointerEventsDisabled.add(u)), l.layers.add(u), Qg(), () => {
|
|
r && l.layersWithOutsidePointerEventsDisabled.size === 1 && (d.body.style.pointerEvents = Jg);
|
|
};
|
|
}, [u, d, r, l]), D.useEffect(() => () => {
|
|
u && (l.layers.delete(u), l.layersWithOutsidePointerEventsDisabled.delete(u), Qg());
|
|
}, [u, l]), D.useEffect(() => {
|
|
const M = () => y({});
|
|
return document.addEventListener(wf, M), () => document.removeEventListener(wf, M);
|
|
}, []), /* @__PURE__ */ W(
|
|
mr.div,
|
|
{
|
|
...c,
|
|
ref: x,
|
|
style: {
|
|
pointerEvents: $ ? O ? "auto" : "none" : void 0,
|
|
...e.style
|
|
},
|
|
onFocusCapture: Sn(e.onFocusCapture, L.onFocusCapture),
|
|
onBlurCapture: Sn(e.onBlurCapture, L.onBlurCapture),
|
|
onPointerDownCapture: Sn(
|
|
e.onPointerDownCapture,
|
|
b.onPointerDownCapture
|
|
)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
Y0.displayName = d5;
|
|
var g5 = "DismissableLayerBranch", b5 = D.forwardRef((e, t) => {
|
|
const r = D.useContext(W0), n = D.useRef(null), o = vo(t, n);
|
|
return D.useEffect(() => {
|
|
const a = n.current;
|
|
if (a)
|
|
return r.branches.add(a), () => {
|
|
r.branches.delete(a);
|
|
};
|
|
}, [r.branches]), /* @__PURE__ */ W(mr.div, { ...e, ref: o });
|
|
});
|
|
b5.displayName = g5;
|
|
function h5(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = Si(e), n = D.useRef(!1), o = D.useRef(() => {
|
|
});
|
|
return D.useEffect(() => {
|
|
const a = (s) => {
|
|
if (s.target && !n.current) {
|
|
let c = function() {
|
|
G0(
|
|
p5,
|
|
r,
|
|
l,
|
|
{ discrete: !0 }
|
|
);
|
|
};
|
|
const l = { originalEvent: s };
|
|
s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = c, t.addEventListener("click", o.current, { once: !0 })) : c();
|
|
} else
|
|
t.removeEventListener("click", o.current);
|
|
n.current = !1;
|
|
}, i = window.setTimeout(() => {
|
|
t.addEventListener("pointerdown", a);
|
|
}, 0);
|
|
return () => {
|
|
window.clearTimeout(i), t.removeEventListener("pointerdown", a), t.removeEventListener("click", o.current);
|
|
};
|
|
}, [t, r]), {
|
|
// ensures we check React component tree (not just DOM tree)
|
|
onPointerDownCapture: () => n.current = !0
|
|
};
|
|
}
|
|
function y5(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = Si(e), n = D.useRef(!1);
|
|
return D.useEffect(() => {
|
|
const o = (a) => {
|
|
a.target && !n.current && G0(m5, r, { originalEvent: a }, {
|
|
discrete: !1
|
|
});
|
|
};
|
|
return t.addEventListener("focusin", o), () => t.removeEventListener("focusin", o);
|
|
}, [t, r]), {
|
|
onFocusCapture: () => n.current = !0,
|
|
onBlurCapture: () => n.current = !1
|
|
};
|
|
}
|
|
function Qg() {
|
|
const e = new CustomEvent(wf);
|
|
document.dispatchEvent(e);
|
|
}
|
|
function G0(e, t, r, { discrete: n }) {
|
|
const o = r.originalEvent.target, a = new CustomEvent(e, { bubbles: !1, cancelable: !0, detail: r });
|
|
t && o.addEventListener(e, t, { once: !0 }), n ? u5(o, a) : o.dispatchEvent(a);
|
|
}
|
|
var Ec = "focusScope.autoFocusOnMount", Cc = "focusScope.autoFocusOnUnmount", Zg = { bubbles: !1, cancelable: !0 }, v5 = "FocusScope", V0 = D.forwardRef((e, t) => {
|
|
const {
|
|
loop: r = !1,
|
|
trapped: n = !1,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
...i
|
|
} = e, [s, c] = D.useState(null), l = Si(o), u = Si(a), f = D.useRef(null), d = vo(t, (m) => c(m)), y = D.useRef({
|
|
paused: !1,
|
|
pause() {
|
|
this.paused = !0;
|
|
},
|
|
resume() {
|
|
this.paused = !1;
|
|
}
|
|
}).current;
|
|
D.useEffect(() => {
|
|
if (n) {
|
|
let m = function($) {
|
|
if (y.paused || !s) return;
|
|
const O = $.target;
|
|
s.contains(O) ? f.current = O : xn(f.current, { select: !0 });
|
|
}, p = function($) {
|
|
if (y.paused || !s) return;
|
|
const O = $.relatedTarget;
|
|
O !== null && (s.contains(O) || xn(f.current, { select: !0 }));
|
|
}, v = function($) {
|
|
if (document.activeElement === document.body)
|
|
for (const O of $)
|
|
O.removedNodes.length > 0 && xn(s);
|
|
};
|
|
document.addEventListener("focusin", m), document.addEventListener("focusout", p);
|
|
const k = new MutationObserver(v);
|
|
return s && k.observe(s, { childList: !0, subtree: !0 }), () => {
|
|
document.removeEventListener("focusin", m), document.removeEventListener("focusout", p), k.disconnect();
|
|
};
|
|
}
|
|
}, [n, s, y.paused]), D.useEffect(() => {
|
|
if (s) {
|
|
tb.add(y);
|
|
const m = document.activeElement;
|
|
if (!s.contains(m)) {
|
|
const p = new CustomEvent(Ec, Zg);
|
|
s.addEventListener(Ec, l), s.dispatchEvent(p), p.defaultPrevented || (x5(S5(U0(s)), { select: !0 }), document.activeElement === m && xn(s));
|
|
}
|
|
return () => {
|
|
s.removeEventListener(Ec, l), setTimeout(() => {
|
|
const p = new CustomEvent(Cc, Zg);
|
|
s.addEventListener(Cc, u), s.dispatchEvent(p), p.defaultPrevented || xn(m ?? document.body, { select: !0 }), s.removeEventListener(Cc, u), tb.remove(y);
|
|
}, 0);
|
|
};
|
|
}
|
|
}, [s, l, u, y]);
|
|
const x = D.useCallback(
|
|
(m) => {
|
|
if (!r && !n || y.paused) return;
|
|
const p = m.key === "Tab" && !m.altKey && !m.ctrlKey && !m.metaKey, v = document.activeElement;
|
|
if (p && v) {
|
|
const k = m.currentTarget, [$, O] = w5(k);
|
|
$ && O ? !m.shiftKey && v === O ? (m.preventDefault(), r && xn($, { select: !0 })) : m.shiftKey && v === $ && (m.preventDefault(), r && xn(O, { select: !0 })) : v === k && m.preventDefault();
|
|
}
|
|
},
|
|
[r, n, y.paused]
|
|
);
|
|
return /* @__PURE__ */ W(mr.div, { tabIndex: -1, ...i, ref: d, onKeyDown: x });
|
|
});
|
|
V0.displayName = v5;
|
|
function x5(e, { select: t = !1 } = {}) {
|
|
const r = document.activeElement;
|
|
for (const n of e)
|
|
if (xn(n, { select: t }), document.activeElement !== r) return;
|
|
}
|
|
function w5(e) {
|
|
const t = U0(e), r = eb(t, e), n = eb(t.reverse(), e);
|
|
return [r, n];
|
|
}
|
|
function U0(e) {
|
|
const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {
|
|
acceptNode: (n) => {
|
|
const o = n.tagName === "INPUT" && n.type === "hidden";
|
|
return n.disabled || n.hidden || o ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
}
|
|
});
|
|
for (; r.nextNode(); ) t.push(r.currentNode);
|
|
return t;
|
|
}
|
|
function eb(e, t) {
|
|
for (const r of e)
|
|
if (!k5(r, { upTo: t })) return r;
|
|
}
|
|
function k5(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 $5(e) {
|
|
return e instanceof HTMLInputElement && "select" in e;
|
|
}
|
|
function xn(e, { select: t = !1 } = {}) {
|
|
if (e && e.focus) {
|
|
const r = document.activeElement;
|
|
e.focus({ preventScroll: !0 }), e !== r && $5(e) && t && e.select();
|
|
}
|
|
}
|
|
var tb = O5();
|
|
function O5() {
|
|
let e = [];
|
|
return {
|
|
add(t) {
|
|
const r = e[0];
|
|
t !== r && (r == null || r.pause()), e = rb(e, t), e.unshift(t);
|
|
},
|
|
remove(t) {
|
|
var r;
|
|
e = rb(e, t), (r = e[0]) == null || r.resume();
|
|
}
|
|
};
|
|
}
|
|
function rb(e, t) {
|
|
const r = [...e], n = r.indexOf(t);
|
|
return n !== -1 && r.splice(n, 1), r;
|
|
}
|
|
function S5(e) {
|
|
return e.filter((t) => t.tagName !== "A");
|
|
}
|
|
var P5 = "Portal", q0 = D.forwardRef((e, t) => {
|
|
var r;
|
|
const { container: n, ...o } = e, [a, i] = D.useState(!1);
|
|
Oi(() => i(!0), []);
|
|
const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body);
|
|
return s ? HO.createPortal(/* @__PURE__ */ W(mr.div, { ...o, ref: t }), s) : null;
|
|
});
|
|
q0.displayName = P5;
|
|
function A5(e, t) {
|
|
return D.useReducer((r, n) => t[r][n] ?? r, e);
|
|
}
|
|
var Cl = (e) => {
|
|
const { present: t, children: r } = e, n = E5(t), o = typeof r == "function" ? r({ present: n.isPresent }) : D.Children.only(r), a = vo(n.ref, C5(o));
|
|
return typeof r == "function" || n.isPresent ? D.cloneElement(o, { ref: a }) : null;
|
|
};
|
|
Cl.displayName = "Presence";
|
|
function E5(e) {
|
|
const [t, r] = D.useState(), n = D.useRef(null), o = D.useRef(e), a = D.useRef("none"), i = e ? "mounted" : "unmounted", [s, c] = A5(i, {
|
|
mounted: {
|
|
UNMOUNT: "unmounted",
|
|
ANIMATION_OUT: "unmountSuspended"
|
|
},
|
|
unmountSuspended: {
|
|
MOUNT: "mounted",
|
|
ANIMATION_END: "unmounted"
|
|
},
|
|
unmounted: {
|
|
MOUNT: "mounted"
|
|
}
|
|
});
|
|
return D.useEffect(() => {
|
|
const l = cs(n.current);
|
|
a.current = s === "mounted" ? l : "none";
|
|
}, [s]), Oi(() => {
|
|
const l = n.current, u = o.current;
|
|
if (u !== e) {
|
|
const f = a.current, d = cs(l);
|
|
e ? c("MOUNT") : d === "none" || (l == null ? void 0 : l.display) === "none" ? c("UNMOUNT") : c(u && f !== d ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e;
|
|
}
|
|
}, [e, c]), Oi(() => {
|
|
if (t) {
|
|
let l;
|
|
const u = t.ownerDocument.defaultView ?? window, f = (y) => {
|
|
const x = cs(n.current).includes(y.animationName);
|
|
if (y.target === t && x && (c("ANIMATION_END"), !o.current)) {
|
|
const m = t.style.animationFillMode;
|
|
t.style.animationFillMode = "forwards", l = u.setTimeout(() => {
|
|
t.style.animationFillMode === "forwards" && (t.style.animationFillMode = m);
|
|
});
|
|
}
|
|
}, d = (y) => {
|
|
y.target === t && (a.current = cs(n.current));
|
|
};
|
|
return t.addEventListener("animationstart", d), t.addEventListener("animationcancel", f), t.addEventListener("animationend", f), () => {
|
|
u.clearTimeout(l), t.removeEventListener("animationstart", d), t.removeEventListener("animationcancel", f), t.removeEventListener("animationend", f);
|
|
};
|
|
} else
|
|
c("ANIMATION_END");
|
|
}, [t, c]), {
|
|
isPresent: ["mounted", "unmountSuspended"].includes(s),
|
|
ref: D.useCallback((l) => {
|
|
n.current = l ? getComputedStyle(l) : null, r(l);
|
|
}, [])
|
|
};
|
|
}
|
|
function cs(e) {
|
|
return (e == null ? void 0 : e.animationName) || "none";
|
|
}
|
|
function C5(e) {
|
|
var t, r;
|
|
let n = (t = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : t.get, o = n && "isReactWarning" in n && n.isReactWarning;
|
|
return o ? e.ref : (n = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = n && "isReactWarning" in n && n.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
|
|
}
|
|
var Nc = 0;
|
|
function N5() {
|
|
D.useEffect(() => {
|
|
const e = document.querySelectorAll("[data-radix-focus-guard]");
|
|
return document.body.insertAdjacentElement("afterbegin", e[0] ?? nb()), document.body.insertAdjacentElement("beforeend", e[1] ?? nb()), Nc++, () => {
|
|
Nc === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), Nc--;
|
|
};
|
|
}, []);
|
|
}
|
|
function nb() {
|
|
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 Zt = function() {
|
|
return Zt = Object.assign || function(e) {
|
|
for (var t, r = 1, n = arguments.length; r < n; r++) {
|
|
t = arguments[r];
|
|
for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
|
|
}
|
|
return e;
|
|
}, Zt.apply(this, arguments);
|
|
};
|
|
function H0(e, t) {
|
|
var r = {};
|
|
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);
|
|
if (e != null && typeof Object.getOwnPropertySymbols == "function")
|
|
for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++)
|
|
t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]);
|
|
return r;
|
|
}
|
|
function j5(e, t, r) {
|
|
for (var n = 0, o = t.length, a; n < o; n++)
|
|
(a || !(n in t)) && (a || (a = Array.prototype.slice.call(t, 0, n)), a[n] = t[n]);
|
|
return e.concat(a || Array.prototype.slice.call(t));
|
|
}
|
|
var Rs = "right-scroll-bar-position", _s = "width-before-scroll-bar", I5 = "with-scroll-bars-hidden", z5 = "--removed-body-scroll-bar-size";
|
|
function jc(e, t) {
|
|
return typeof e == "function" ? e(t) : e && (e.current = t), e;
|
|
}
|
|
function T5(e, t) {
|
|
var r = Re(function() {
|
|
return {
|
|
// value
|
|
value: e,
|
|
// last callback
|
|
callback: t,
|
|
// "memoized" public interface
|
|
facade: {
|
|
get current() {
|
|
return r.value;
|
|
},
|
|
set current(n) {
|
|
var o = r.value;
|
|
o !== n && (r.value = n, r.callback(n, o));
|
|
}
|
|
}
|
|
};
|
|
})[0];
|
|
return r.callback = t, r.facade;
|
|
}
|
|
var M5 = typeof window < "u" ? D.useLayoutEffect : D.useEffect, ob = /* @__PURE__ */ new WeakMap();
|
|
function R5(e, t) {
|
|
var r = T5(null, function(n) {
|
|
return e.forEach(function(o) {
|
|
return jc(o, n);
|
|
});
|
|
});
|
|
return M5(function() {
|
|
var n = ob.get(r);
|
|
if (n) {
|
|
var o = new Set(n), a = new Set(e), i = r.current;
|
|
o.forEach(function(s) {
|
|
a.has(s) || jc(s, null);
|
|
}), a.forEach(function(s) {
|
|
o.has(s) || jc(s, i);
|
|
});
|
|
}
|
|
ob.set(r, e);
|
|
}, [e]), r;
|
|
}
|
|
function _5(e) {
|
|
return e;
|
|
}
|
|
function F5(e, t) {
|
|
t === void 0 && (t = _5);
|
|
var r = [], n = !1, o = {
|
|
read: function() {
|
|
if (n)
|
|
throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
|
|
return r.length ? r[r.length - 1] : e;
|
|
},
|
|
useMedium: function(a) {
|
|
var i = t(a, n);
|
|
return r.push(i), function() {
|
|
r = r.filter(function(s) {
|
|
return s !== i;
|
|
});
|
|
};
|
|
},
|
|
assignSyncMedium: function(a) {
|
|
for (n = !0; r.length; ) {
|
|
var i = r;
|
|
r = [], i.forEach(a);
|
|
}
|
|
r = {
|
|
push: function(s) {
|
|
return a(s);
|
|
},
|
|
filter: function() {
|
|
return r;
|
|
}
|
|
};
|
|
},
|
|
assignMedium: function(a) {
|
|
n = !0;
|
|
var i = [];
|
|
if (r.length) {
|
|
var s = r;
|
|
r = [], s.forEach(a), i = r;
|
|
}
|
|
var c = function() {
|
|
var u = i;
|
|
i = [], u.forEach(a);
|
|
}, l = function() {
|
|
return Promise.resolve().then(c);
|
|
};
|
|
l(), r = {
|
|
push: function(u) {
|
|
i.push(u), l();
|
|
},
|
|
filter: function(u) {
|
|
return i = i.filter(u), r;
|
|
}
|
|
};
|
|
}
|
|
};
|
|
return o;
|
|
}
|
|
function D5(e) {
|
|
e === void 0 && (e = {});
|
|
var t = F5(null);
|
|
return t.options = Zt({ async: !0, ssr: !1 }, e), t;
|
|
}
|
|
var B0 = function(e) {
|
|
var t = e.sideCar, r = H0(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 D.createElement(n, Zt({}, r));
|
|
};
|
|
B0.isSideCarExport = !0;
|
|
function L5(e, t) {
|
|
return e.useMedium(t), B0;
|
|
}
|
|
var X0 = D5(), Ic = function() {
|
|
}, Nl = D.forwardRef(function(e, t) {
|
|
var r = D.useRef(null), n = D.useState({
|
|
onScrollCapture: Ic,
|
|
onWheelCapture: Ic,
|
|
onTouchMoveCapture: Ic
|
|
}), o = n[0], a = n[1], i = e.forwardProps, s = e.children, c = e.className, l = e.removeScrollBar, u = e.enabled, f = e.shards, d = e.sideCar, y = e.noRelative, x = e.noIsolation, m = e.inert, p = e.allowPinchZoom, v = e.as, k = v === void 0 ? "div" : v, $ = e.gapMode, O = H0(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), b = d, L = R5([r, t]), M = Zt(Zt({}, O), o);
|
|
return D.createElement(
|
|
D.Fragment,
|
|
null,
|
|
u && D.createElement(b, { sideCar: X0, removeScrollBar: l, shards: f, noRelative: y, noIsolation: x, inert: m, setCallbacks: a, allowPinchZoom: !!p, lockRef: r, gapMode: $ }),
|
|
i ? D.cloneElement(D.Children.only(s), Zt(Zt({}, M), { ref: L })) : D.createElement(k, Zt({}, M, { className: c, ref: L }), s)
|
|
);
|
|
});
|
|
Nl.defaultProps = {
|
|
enabled: !0,
|
|
removeScrollBar: !0,
|
|
inert: !1
|
|
};
|
|
Nl.classNames = {
|
|
fullWidth: _s,
|
|
zeroRight: Rs
|
|
};
|
|
var W5 = function() {
|
|
if (typeof __webpack_nonce__ < "u")
|
|
return __webpack_nonce__;
|
|
};
|
|
function Y5() {
|
|
if (!document)
|
|
return null;
|
|
var e = document.createElement("style");
|
|
e.type = "text/css";
|
|
var t = W5();
|
|
return t && e.setAttribute("nonce", t), e;
|
|
}
|
|
function G5(e, t) {
|
|
e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
|
|
}
|
|
function V5(e) {
|
|
var t = document.head || document.getElementsByTagName("head")[0];
|
|
t.appendChild(e);
|
|
}
|
|
var U5 = function() {
|
|
var e = 0, t = null;
|
|
return {
|
|
add: function(r) {
|
|
e == 0 && (t = Y5()) && (G5(t, r), V5(t)), e++;
|
|
},
|
|
remove: function() {
|
|
e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null);
|
|
}
|
|
};
|
|
}, q5 = function() {
|
|
var e = U5();
|
|
return function(t, r) {
|
|
D.useEffect(function() {
|
|
return e.add(t), function() {
|
|
e.remove();
|
|
};
|
|
}, [t && r]);
|
|
};
|
|
}, K0 = function() {
|
|
var e = q5(), t = function(r) {
|
|
var n = r.styles, o = r.dynamic;
|
|
return e(n, o), null;
|
|
};
|
|
return t;
|
|
}, H5 = {
|
|
left: 0,
|
|
top: 0,
|
|
right: 0,
|
|
gap: 0
|
|
}, zc = function(e) {
|
|
return parseInt(e || "", 10) || 0;
|
|
}, B5 = function(e) {
|
|
var t = window.getComputedStyle(document.body), r = t[e === "padding" ? "paddingLeft" : "marginLeft"], n = t[e === "padding" ? "paddingTop" : "marginTop"], o = t[e === "padding" ? "paddingRight" : "marginRight"];
|
|
return [zc(r), zc(n), zc(o)];
|
|
}, X5 = function(e) {
|
|
if (e === void 0 && (e = "margin"), typeof window > "u")
|
|
return H5;
|
|
var t = B5(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])
|
|
};
|
|
}, K5 = K0(), Wo = "data-scroll-locked", J5 = function(e, t, r, n) {
|
|
var o = e.left, a = e.top, i = e.right, s = e.gap;
|
|
return r === void 0 && (r = "margin"), `
|
|
.`.concat(I5, ` {
|
|
overflow: hidden `).concat(n, `;
|
|
padding-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
body[`).concat(Wo, `] {
|
|
overflow: hidden `).concat(n, `;
|
|
overscroll-behavior: contain;
|
|
`).concat([
|
|
t && "position: relative ".concat(n, ";"),
|
|
r === "margin" && `
|
|
padding-left: `.concat(o, `px;
|
|
padding-top: `).concat(a, `px;
|
|
padding-right: `).concat(i, `px;
|
|
margin-left:0;
|
|
margin-top:0;
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
`),
|
|
r === "padding" && "padding-right: ".concat(s, "px ").concat(n, ";")
|
|
].filter(Boolean).join(""), `
|
|
}
|
|
|
|
.`).concat(Rs, ` {
|
|
right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(_s, ` {
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(Rs, " .").concat(Rs, ` {
|
|
right: 0 `).concat(n, `;
|
|
}
|
|
|
|
.`).concat(_s, " .").concat(_s, ` {
|
|
margin-right: 0 `).concat(n, `;
|
|
}
|
|
|
|
body[`).concat(Wo, `] {
|
|
`).concat(z5, ": ").concat(s, `px;
|
|
}
|
|
`);
|
|
}, ab = function() {
|
|
var e = parseInt(document.body.getAttribute(Wo) || "0", 10);
|
|
return isFinite(e) ? e : 0;
|
|
}, Q5 = function() {
|
|
D.useEffect(function() {
|
|
return document.body.setAttribute(Wo, (ab() + 1).toString()), function() {
|
|
var e = ab() - 1;
|
|
e <= 0 ? document.body.removeAttribute(Wo) : document.body.setAttribute(Wo, e.toString());
|
|
};
|
|
}, []);
|
|
}, Z5 = function(e) {
|
|
var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n;
|
|
Q5();
|
|
var a = D.useMemo(function() {
|
|
return X5(o);
|
|
}, [o]);
|
|
return D.createElement(K5, { styles: J5(a, !t, o, r ? "" : "!important") });
|
|
}, kf = !1;
|
|
if (typeof window < "u")
|
|
try {
|
|
var us = Object.defineProperty({}, "passive", {
|
|
get: function() {
|
|
return kf = !0, !0;
|
|
}
|
|
});
|
|
window.addEventListener("test", us, us), window.removeEventListener("test", us, us);
|
|
} catch {
|
|
kf = !1;
|
|
}
|
|
var wo = kf ? { passive: !1 } : !1, e4 = function(e) {
|
|
return e.tagName === "TEXTAREA";
|
|
}, J0 = 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 && !e4(e) && r[t] === "visible")
|
|
);
|
|
}, t4 = function(e) {
|
|
return J0(e, "overflowY");
|
|
}, r4 = function(e) {
|
|
return J0(e, "overflowX");
|
|
}, ib = function(e, t) {
|
|
var r = t.ownerDocument, n = t;
|
|
do {
|
|
typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host);
|
|
var o = Q0(e, n);
|
|
if (o) {
|
|
var a = Z0(e, n), i = a[1], s = a[2];
|
|
if (i > s)
|
|
return !0;
|
|
}
|
|
n = n.parentNode;
|
|
} while (n && n !== r.body);
|
|
return !1;
|
|
}, n4 = function(e) {
|
|
var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, o4 = function(e) {
|
|
var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, Q0 = function(e, t) {
|
|
return e === "v" ? t4(t) : r4(t);
|
|
}, Z0 = function(e, t) {
|
|
return e === "v" ? n4(t) : o4(t);
|
|
}, a4 = function(e, t) {
|
|
return e === "h" && t === "rtl" ? -1 : 1;
|
|
}, i4 = function(e, t, r, n, o) {
|
|
var a = a4(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, c = t.contains(s), l = !1, u = i > 0, f = 0, d = 0;
|
|
do {
|
|
if (!s)
|
|
break;
|
|
var y = Z0(e, s), x = y[0], m = y[1], p = y[2], v = m - p - a * x;
|
|
(x || v) && Q0(e, s) && (f += v, d += x);
|
|
var k = s.parentNode;
|
|
s = k && k.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? k.host : k;
|
|
} while (
|
|
// portaled content
|
|
!c && s !== document.body || // self content
|
|
c && (t.contains(s) || t === s)
|
|
);
|
|
return (u && Math.abs(f) < 1 || !u && Math.abs(d) < 1) && (l = !0), l;
|
|
}, fs = function(e) {
|
|
return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];
|
|
}, sb = function(e) {
|
|
return [e.deltaX, e.deltaY];
|
|
}, lb = function(e) {
|
|
return e && "current" in e ? e.current : e;
|
|
}, s4 = function(e, t) {
|
|
return e[0] === t[0] && e[1] === t[1];
|
|
}, l4 = function(e) {
|
|
return `
|
|
.block-interactivity-`.concat(e, ` {pointer-events: none;}
|
|
.allow-interactivity-`).concat(e, ` {pointer-events: all;}
|
|
`);
|
|
}, c4 = 0, ko = [];
|
|
function u4(e) {
|
|
var t = D.useRef([]), r = D.useRef([0, 0]), n = D.useRef(), o = D.useState(c4++)[0], a = D.useState(K0)[0], i = D.useRef(e);
|
|
D.useEffect(function() {
|
|
i.current = e;
|
|
}, [e]), D.useEffect(function() {
|
|
if (e.inert) {
|
|
document.body.classList.add("block-interactivity-".concat(o));
|
|
var m = j5([e.lockRef.current], (e.shards || []).map(lb)).filter(Boolean);
|
|
return m.forEach(function(p) {
|
|
return p.classList.add("allow-interactivity-".concat(o));
|
|
}), function() {
|
|
document.body.classList.remove("block-interactivity-".concat(o)), m.forEach(function(p) {
|
|
return p.classList.remove("allow-interactivity-".concat(o));
|
|
});
|
|
};
|
|
}
|
|
}, [e.inert, e.lockRef.current, e.shards]);
|
|
var s = D.useCallback(function(m, p) {
|
|
if ("touches" in m && m.touches.length === 2 || m.type === "wheel" && m.ctrlKey)
|
|
return !i.current.allowPinchZoom;
|
|
var v = fs(m), k = r.current, $ = "deltaX" in m ? m.deltaX : k[0] - v[0], O = "deltaY" in m ? m.deltaY : k[1] - v[1], b, L = m.target, M = Math.abs($) > Math.abs(O) ? "h" : "v";
|
|
if ("touches" in m && M === "h" && L.type === "range")
|
|
return !1;
|
|
var B = ib(M, L);
|
|
if (!B)
|
|
return !0;
|
|
if (B ? b = M : (b = M === "v" ? "h" : "v", B = ib(M, L)), !B)
|
|
return !1;
|
|
if (!n.current && "changedTouches" in m && ($ || O) && (n.current = b), !b)
|
|
return !0;
|
|
var H = n.current || b;
|
|
return i4(H, p, m, H === "h" ? $ : O);
|
|
}, []), c = D.useCallback(function(m) {
|
|
var p = m;
|
|
if (!(!ko.length || ko[ko.length - 1] !== a)) {
|
|
var v = "deltaY" in p ? sb(p) : fs(p), k = t.current.filter(function(b) {
|
|
return b.name === p.type && (b.target === p.target || p.target === b.shadowParent) && s4(b.delta, v);
|
|
})[0];
|
|
if (k && k.should) {
|
|
p.cancelable && p.preventDefault();
|
|
return;
|
|
}
|
|
if (!k) {
|
|
var $ = (i.current.shards || []).map(lb).filter(Boolean).filter(function(b) {
|
|
return b.contains(p.target);
|
|
}), O = $.length > 0 ? s(p, $[0]) : !i.current.noIsolation;
|
|
O && p.cancelable && p.preventDefault();
|
|
}
|
|
}
|
|
}, []), l = D.useCallback(function(m, p, v, k) {
|
|
var $ = { name: m, delta: p, target: v, should: k, shadowParent: f4(v) };
|
|
t.current.push($), setTimeout(function() {
|
|
t.current = t.current.filter(function(O) {
|
|
return O !== $;
|
|
});
|
|
}, 1);
|
|
}, []), u = D.useCallback(function(m) {
|
|
r.current = fs(m), n.current = void 0;
|
|
}, []), f = D.useCallback(function(m) {
|
|
l(m.type, sb(m), m.target, s(m, e.lockRef.current));
|
|
}, []), d = D.useCallback(function(m) {
|
|
l(m.type, fs(m), m.target, s(m, e.lockRef.current));
|
|
}, []);
|
|
D.useEffect(function() {
|
|
return ko.push(a), e.setCallbacks({
|
|
onScrollCapture: f,
|
|
onWheelCapture: f,
|
|
onTouchMoveCapture: d
|
|
}), document.addEventListener("wheel", c, wo), document.addEventListener("touchmove", c, wo), document.addEventListener("touchstart", u, wo), function() {
|
|
ko = ko.filter(function(m) {
|
|
return m !== a;
|
|
}), document.removeEventListener("wheel", c, wo), document.removeEventListener("touchmove", c, wo), document.removeEventListener("touchstart", u, wo);
|
|
};
|
|
}, []);
|
|
var y = e.removeScrollBar, x = e.inert;
|
|
return D.createElement(
|
|
D.Fragment,
|
|
null,
|
|
x ? D.createElement(a, { styles: l4(o) }) : null,
|
|
y ? D.createElement(Z5, { noRelative: e.noRelative, gapMode: e.gapMode }) : null
|
|
);
|
|
}
|
|
function f4(e) {
|
|
for (var t = null; e !== null; )
|
|
e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode;
|
|
return t;
|
|
}
|
|
const d4 = L5(X0, u4);
|
|
var ex = D.forwardRef(function(e, t) {
|
|
return D.createElement(Nl, Zt({}, e, { ref: t, sideCar: d4 }));
|
|
});
|
|
ex.classNames = Nl.classNames;
|
|
var p4 = function(e) {
|
|
if (typeof document > "u")
|
|
return null;
|
|
var t = Array.isArray(e) ? e[0] : e;
|
|
return t.ownerDocument.body;
|
|
}, $o = /* @__PURE__ */ new WeakMap(), ds = /* @__PURE__ */ new WeakMap(), ps = {}, Tc = 0, tx = function(e) {
|
|
return e && (e.host || tx(e.parentNode));
|
|
}, m4 = function(e, t) {
|
|
return t.map(function(r) {
|
|
if (e.contains(r))
|
|
return r;
|
|
var n = tx(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;
|
|
});
|
|
}, g4 = function(e, t, r, n) {
|
|
var o = m4(t, Array.isArray(e) ? e : [e]);
|
|
ps[r] || (ps[r] = /* @__PURE__ */ new WeakMap());
|
|
var a = ps[r], i = [], s = /* @__PURE__ */ new Set(), c = new Set(o), l = function(f) {
|
|
!f || s.has(f) || (s.add(f), l(f.parentNode));
|
|
};
|
|
o.forEach(l);
|
|
var u = function(f) {
|
|
!f || c.has(f) || Array.prototype.forEach.call(f.children, function(d) {
|
|
if (s.has(d))
|
|
u(d);
|
|
else
|
|
try {
|
|
var y = d.getAttribute(n), x = y !== null && y !== "false", m = ($o.get(d) || 0) + 1, p = (a.get(d) || 0) + 1;
|
|
$o.set(d, m), a.set(d, p), i.push(d), m === 1 && x && ds.set(d, !0), p === 1 && d.setAttribute(r, "true"), x || d.setAttribute(n, "true");
|
|
} catch (v) {
|
|
console.error("aria-hidden: cannot operate on ", d, v);
|
|
}
|
|
});
|
|
};
|
|
return u(t), s.clear(), Tc++, function() {
|
|
i.forEach(function(f) {
|
|
var d = $o.get(f) - 1, y = a.get(f) - 1;
|
|
$o.set(f, d), a.set(f, y), d || (ds.has(f) || f.removeAttribute(n), ds.delete(f)), y || f.removeAttribute(r);
|
|
}), Tc--, Tc || ($o = /* @__PURE__ */ new WeakMap(), $o = /* @__PURE__ */ new WeakMap(), ds = /* @__PURE__ */ new WeakMap(), ps = {});
|
|
};
|
|
}, b4 = function(e, t, r) {
|
|
r === void 0 && (r = "data-aria-hidden");
|
|
var n = Array.from(Array.isArray(e) ? e : [e]), o = p4(e);
|
|
return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), g4(n, o, r, "aria-hidden")) : function() {
|
|
return null;
|
|
};
|
|
}, jl = "Dialog", [rx, YG] = KO(jl), [h4, Ut] = rx(jl), nx = (e) => {
|
|
const {
|
|
__scopeDialog: t,
|
|
children: r,
|
|
open: n,
|
|
defaultOpen: o,
|
|
onOpenChange: a,
|
|
modal: i = !0
|
|
} = e, s = D.useRef(null), c = D.useRef(null), [l, u] = t5({
|
|
prop: n,
|
|
defaultProp: o ?? !1,
|
|
onChange: a,
|
|
caller: jl
|
|
});
|
|
return /* @__PURE__ */ W(
|
|
h4,
|
|
{
|
|
scope: t,
|
|
triggerRef: s,
|
|
contentRef: c,
|
|
contentId: Ac(),
|
|
titleId: Ac(),
|
|
descriptionId: Ac(),
|
|
open: l,
|
|
onOpenChange: u,
|
|
onOpenToggle: D.useCallback(() => u((f) => !f), [u]),
|
|
modal: i,
|
|
children: r
|
|
}
|
|
);
|
|
};
|
|
nx.displayName = jl;
|
|
var ox = "DialogTrigger", y4 = D.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = Ut(ox, r), a = vo(t, o.triggerRef);
|
|
return /* @__PURE__ */ W(
|
|
mr.button,
|
|
{
|
|
type: "button",
|
|
"aria-haspopup": "dialog",
|
|
"aria-expanded": o.open,
|
|
"aria-controls": o.contentId,
|
|
"data-state": Jp(o.open),
|
|
...n,
|
|
ref: a,
|
|
onClick: Sn(e.onClick, o.onOpenToggle)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
y4.displayName = ox;
|
|
var Xp = "DialogPortal", [v4, ax] = rx(Xp, {
|
|
forceMount: void 0
|
|
}), ix = (e) => {
|
|
const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = Ut(Xp, t);
|
|
return /* @__PURE__ */ W(v4, { scope: t, forceMount: r, children: D.Children.map(n, (i) => /* @__PURE__ */ W(Cl, { present: r || a.open, children: /* @__PURE__ */ W(q0, { asChild: !0, container: o, children: i }) })) });
|
|
};
|
|
ix.displayName = Xp;
|
|
var ol = "DialogOverlay", sx = D.forwardRef(
|
|
(e, t) => {
|
|
const r = ax(ol, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Ut(ol, e.__scopeDialog);
|
|
return a.modal ? /* @__PURE__ */ W(Cl, { present: n || a.open, children: /* @__PURE__ */ W(w4, { ...o, ref: t }) }) : null;
|
|
}
|
|
);
|
|
sx.displayName = ol;
|
|
var x4 = /* @__PURE__ */ L0("DialogOverlay.RemoveScroll"), w4 = D.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = Ut(ol, r);
|
|
return (
|
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
// ie. when `Overlay` and `Content` are siblings
|
|
/* @__PURE__ */ W(ex, { as: x4, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ W(
|
|
mr.div,
|
|
{
|
|
"data-state": Jp(o.open),
|
|
...n,
|
|
ref: t,
|
|
style: { pointerEvents: "auto", ...n.style }
|
|
}
|
|
) })
|
|
);
|
|
}
|
|
), no = "DialogContent", lx = D.forwardRef(
|
|
(e, t) => {
|
|
const r = ax(no, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = Ut(no, e.__scopeDialog);
|
|
return /* @__PURE__ */ W(Cl, { present: n || a.open, children: a.modal ? /* @__PURE__ */ W(k4, { ...o, ref: t }) : /* @__PURE__ */ W($4, { ...o, ref: t }) });
|
|
}
|
|
);
|
|
lx.displayName = no;
|
|
var k4 = D.forwardRef(
|
|
(e, t) => {
|
|
const r = Ut(no, e.__scopeDialog), n = D.useRef(null), o = vo(t, r.contentRef, n);
|
|
return D.useEffect(() => {
|
|
const a = n.current;
|
|
if (a) return b4(a);
|
|
}, []), /* @__PURE__ */ W(
|
|
cx,
|
|
{
|
|
...e,
|
|
ref: o,
|
|
trapFocus: r.open,
|
|
disableOutsidePointerEvents: !0,
|
|
onCloseAutoFocus: Sn(e.onCloseAutoFocus, (a) => {
|
|
var i;
|
|
a.preventDefault(), (i = r.triggerRef.current) == null || i.focus();
|
|
}),
|
|
onPointerDownOutside: Sn(e.onPointerDownOutside, (a) => {
|
|
const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0;
|
|
(i.button === 2 || s) && a.preventDefault();
|
|
}),
|
|
onFocusOutside: Sn(
|
|
e.onFocusOutside,
|
|
(a) => a.preventDefault()
|
|
)
|
|
}
|
|
);
|
|
}
|
|
), $4 = D.forwardRef(
|
|
(e, t) => {
|
|
const r = Ut(no, e.__scopeDialog), n = D.useRef(!1), o = D.useRef(!1);
|
|
return /* @__PURE__ */ W(
|
|
cx,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
trapFocus: !1,
|
|
disableOutsidePointerEvents: !1,
|
|
onCloseAutoFocus: (a) => {
|
|
var i, s;
|
|
(i = e.onCloseAutoFocus) == null || i.call(e, a), a.defaultPrevented || (n.current || (s = r.triggerRef.current) == null || s.focus(), a.preventDefault()), n.current = !1, o.current = !1;
|
|
},
|
|
onInteractOutside: (a) => {
|
|
var i, s;
|
|
(i = e.onInteractOutside) == null || i.call(e, a), a.defaultPrevented || (n.current = !0, a.detail.originalEvent.type === "pointerdown" && (o.current = !0));
|
|
const c = a.target;
|
|
(s = r.triggerRef.current) != null && s.contains(c) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault();
|
|
}
|
|
}
|
|
);
|
|
}
|
|
), cx = D.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = Ut(no, r), c = D.useRef(null), l = vo(t, c);
|
|
return N5(), /* @__PURE__ */ Me(bt, { children: [
|
|
/* @__PURE__ */ W(
|
|
V0,
|
|
{
|
|
asChild: !0,
|
|
loop: !0,
|
|
trapped: n,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
children: /* @__PURE__ */ W(
|
|
Y0,
|
|
{
|
|
role: "dialog",
|
|
id: s.contentId,
|
|
"aria-describedby": s.descriptionId,
|
|
"aria-labelledby": s.titleId,
|
|
"data-state": Jp(s.open),
|
|
...i,
|
|
ref: l,
|
|
onDismiss: () => s.onOpenChange(!1)
|
|
}
|
|
)
|
|
}
|
|
),
|
|
/* @__PURE__ */ Me(bt, { children: [
|
|
/* @__PURE__ */ W(S4, { titleId: s.titleId }),
|
|
/* @__PURE__ */ W(A4, { contentRef: c, descriptionId: s.descriptionId })
|
|
] })
|
|
] });
|
|
}
|
|
), Kp = "DialogTitle", ux = D.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = Ut(Kp, r);
|
|
return /* @__PURE__ */ W(mr.h2, { id: o.titleId, ...n, ref: t });
|
|
}
|
|
);
|
|
ux.displayName = Kp;
|
|
var fx = "DialogDescription", dx = D.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = Ut(fx, r);
|
|
return /* @__PURE__ */ W(mr.p, { id: o.descriptionId, ...n, ref: t });
|
|
}
|
|
);
|
|
dx.displayName = fx;
|
|
var px = "DialogClose", O4 = D.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = Ut(px, r);
|
|
return /* @__PURE__ */ W(
|
|
mr.button,
|
|
{
|
|
type: "button",
|
|
...n,
|
|
ref: t,
|
|
onClick: Sn(e.onClick, () => o.onOpenChange(!1))
|
|
}
|
|
);
|
|
}
|
|
);
|
|
O4.displayName = px;
|
|
function Jp(e) {
|
|
return e ? "open" : "closed";
|
|
}
|
|
var mx = "DialogTitleWarning", [GG, gx] = XO(mx, {
|
|
contentName: no,
|
|
titleName: Kp,
|
|
docsSlug: "dialog"
|
|
}), S4 = ({ titleId: e }) => {
|
|
const t = gx(mx), 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 D.useEffect(() => {
|
|
e && (document.getElementById(e) || console.error(r));
|
|
}, [r, e]), null;
|
|
}, P4 = "DialogDescriptionWarning", A4 = ({ contentRef: e, descriptionId: t }) => {
|
|
const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${gx(P4).contentName}}.`;
|
|
return D.useEffect(() => {
|
|
var n;
|
|
const o = (n = e.current) == null ? void 0 : n.getAttribute("aria-describedby");
|
|
t && o && (document.getElementById(t) || console.warn(r));
|
|
}, [r, e, t]), null;
|
|
}, E4 = nx, C4 = ix, N4 = sx, j4 = lx, cb = ux, I4 = dx;
|
|
const Qp = "-", z4 = (e) => {
|
|
const t = M4(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Qp);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), bx(a, t) || T4(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, bx = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? bx(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Qp);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, ub = /^\[(.+)\]$/, T4 = (e) => {
|
|
if (ub.test(e)) {
|
|
const t = ub.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, M4 = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return _4(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
$f(a, n, o, t);
|
|
}), n;
|
|
}, $f = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : fb(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (R4(o)) {
|
|
$f(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
$f(i, fb(t, a), r, n);
|
|
});
|
|
});
|
|
}, fb = (e, t) => {
|
|
let r = e;
|
|
return t.split(Qp).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, R4 = (e) => e.isThemeGetter, _4 = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, F4 = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, hx = "!", D4 = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(hx), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, L4 = (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;
|
|
}, W4 = (e) => ({
|
|
cache: F4(e.cacheSize),
|
|
parseClassName: D4(e),
|
|
...z4(e)
|
|
}), Y4 = /\s+/, G4 = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(Y4);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = L4(u).join(":"), v = f ? p + hx : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function V4() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = yx(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const yx = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = yx(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function U4(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = W4(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = G4(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(V4.apply(null, arguments));
|
|
};
|
|
}
|
|
const Je = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, vx = /^\[(?:([a-z-]+):)?(.+)\]$/i, q4 = /^\d+\/\d+$/, H4 = /* @__PURE__ */ new Set(["px", "full", "screen"]), B4 = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, X4 = /\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$/, K4 = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, J4 = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Q4 = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, gr = (e) => Yo(e) || H4.has(e) || q4.test(e), qr = (e) => pa(e, "length", iS), Yo = (e) => !!e && !Number.isNaN(Number(e)), Mc = (e) => pa(e, "number", Yo), Na = (e) => !!e && Number.isInteger(Number(e)), Z4 = (e) => e.endsWith("%") && Yo(e.slice(0, -1)), ge = (e) => vx.test(e), Hr = (e) => B4.test(e), eS = /* @__PURE__ */ new Set(["length", "size", "percentage"]), tS = (e) => pa(e, eS, xx), rS = (e) => pa(e, "position", xx), nS = /* @__PURE__ */ new Set(["image", "url"]), oS = (e) => pa(e, nS, lS), aS = (e) => pa(e, "", sS), ja = () => !0, pa = (e, t, r) => {
|
|
const n = vx.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, iS = (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.
|
|
X4.test(e) && !K4.test(e)
|
|
), xx = () => !1, sS = (e) => J4.test(e), lS = (e) => Q4.test(e), cS = () => {
|
|
const e = Je("colors"), t = Je("spacing"), r = Je("blur"), n = Je("brightness"), o = Je("borderColor"), a = Je("borderRadius"), i = Je("borderSpacing"), s = Je("borderWidth"), c = Je("contrast"), l = Je("grayscale"), u = Je("hueRotate"), f = Je("invert"), d = Je("gap"), y = Je("gradientColorStops"), x = Je("gradientColorStopPositions"), m = Je("inset"), p = Je("margin"), v = Je("opacity"), k = Je("padding"), $ = Je("saturate"), O = Je("scale"), b = Je("sepia"), L = Je("skew"), M = Je("space"), B = Je("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", ge, t], S = () => [ge, t], ne = () => ["", gr, qr], F = () => ["auto", Yo, ge], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", ge], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [Yo, ge];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [ja],
|
|
spacing: [gr, qr],
|
|
blur: ["none", "", Hr, ge],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Hr, ge],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [Z4, qr],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ge]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Hr]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), ge]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Na, ge]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", ge]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Na, ge]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [ja]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Na, ge]
|
|
}, ge]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [ja]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Na, ge]
|
|
}, ge]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", ge]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ge]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", ge, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ge, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ge, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Hr]
|
|
}, Hr]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ge, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ge, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ge, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ge, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Hr, 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", Mc]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [ja]
|
|
}],
|
|
/**
|
|
* 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", ge]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Yo, Mc]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", gr, ge]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ge]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ge]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", gr, qr]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", gr, ge]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ge]
|
|
}],
|
|
/**
|
|
* 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", ge]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), rS]
|
|
}],
|
|
/**
|
|
* 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", tS]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, oS]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [gr, ge]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [gr, 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [gr, 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", Hr, aS]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [ja]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Hr, ge]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ge]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ge]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ge]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Na, ge]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", ge]
|
|
}],
|
|
// 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", ge]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", ge]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [gr, qr, Mc]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, si = /* @__PURE__ */ U4(cS);
|
|
/*!
|
|
* 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 uS(e, t, r) {
|
|
return (t = dS(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function db(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function K(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? db(Object(r), !0).forEach(function(n) {
|
|
uS(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : db(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function fS(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 dS(e) {
|
|
var t = fS(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const pb = () => {
|
|
};
|
|
let Zp = {}, wx = {}, kx = null, $x = {
|
|
mark: pb,
|
|
measure: pb
|
|
};
|
|
try {
|
|
typeof window < "u" && (Zp = window), typeof document < "u" && (wx = document), typeof MutationObserver < "u" && (kx = MutationObserver), typeof performance < "u" && ($x = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: mb = ""
|
|
} = Zp.navigator || {}, Cn = Zp, st = wx, gb = kx, ms = $x;
|
|
Cn.document;
|
|
const Lr = !!st.documentElement && !!st.head && typeof st.addEventListener == "function" && typeof st.createElement == "function", Ox = ~mb.indexOf("MSIE") || ~mb.indexOf("Trident/");
|
|
var pS = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, mS = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Sx = {
|
|
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"
|
|
}
|
|
}, gS = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Px = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], ht = "classic", Il = "duotone", bS = "sharp", hS = "sharp-duotone", Ax = [ht, Il, bS, hS], yS = {
|
|
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"
|
|
}
|
|
}, vS = {
|
|
"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"
|
|
}
|
|
}, xS = /* @__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
|
|
}]]), wS = {
|
|
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"
|
|
}
|
|
}, kS = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], bb = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, $S = ["kit"], OS = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, SS = ["fak", "fakd"], PS = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, hb = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, gs = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, AS = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], ES = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], CS = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, NS = {
|
|
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"
|
|
}
|
|
}, jS = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Of = {
|
|
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"
|
|
}
|
|
}, IS = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Sf = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...AS, ...IS], zS = ["solid", "regular", "light", "thin", "duotone", "brands"], Ex = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], TS = Ex.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), MS = [...Object.keys(jS), ...zS, "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", gs.GROUP, gs.SWAP_OPACITY, gs.PRIMARY, gs.SECONDARY].concat(Ex.map((e) => "".concat(e, "x"))).concat(TS.map((e) => "w-".concat(e))), RS = {
|
|
"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 Er = "___FONT_AWESOME___", Pf = 16, Cx = "fa", Nx = "svg-inline--fa", oo = "data-fa-i2svg", Af = "data-fa-pseudo-element", _S = "data-fa-pseudo-element-pending", em = "data-prefix", tm = "data-icon", yb = "fontawesome-i2svg", FS = "async", DS = ["HTML", "HEAD", "STYLE", "SCRIPT"], jx = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Bi(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[ht];
|
|
}
|
|
});
|
|
}
|
|
const Ix = K({}, Sx);
|
|
Ix[ht] = K(K(K(K({}, {
|
|
"fa-duotone": "duotone"
|
|
}), Sx[ht]), bb.kit), bb["kit-duotone"]);
|
|
const LS = Bi(Ix), Ef = K({}, wS);
|
|
Ef[ht] = K(K(K(K({}, {
|
|
duotone: "fad"
|
|
}), Ef[ht]), hb.kit), hb["kit-duotone"]);
|
|
const vb = Bi(Ef), Cf = K({}, Of);
|
|
Cf[ht] = K(K({}, Cf[ht]), PS.kit);
|
|
const rm = Bi(Cf), Nf = K({}, NS);
|
|
Nf[ht] = K(K({}, Nf[ht]), OS.kit);
|
|
Bi(Nf);
|
|
const WS = pS, zx = "fa-layers-text", YS = mS, GS = K({}, yS);
|
|
Bi(GS);
|
|
const VS = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Rc = gS, US = [...$S, ...MS], li = Cn.FontAwesomeConfig || {};
|
|
function qS(e) {
|
|
var t = st.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function HS(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
st && typeof st.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 = HS(qS(t));
|
|
n != null && (li[r] = n);
|
|
});
|
|
const Tx = {
|
|
styleDefault: "solid",
|
|
familyDefault: ht,
|
|
cssPrefix: Cx,
|
|
replacementClass: Nx,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
li.familyPrefix && (li.cssPrefix = li.familyPrefix);
|
|
const ia = K(K({}, Tx), li);
|
|
ia.autoReplaceSvg || (ia.observeMutations = !1);
|
|
const ae = {};
|
|
Object.keys(Tx).forEach((e) => {
|
|
Object.defineProperty(ae, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
ia[e] = t, ci.forEach((r) => r(ae));
|
|
},
|
|
get: function() {
|
|
return ia[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ae, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
ia.cssPrefix = e, ci.forEach((t) => t(ae));
|
|
},
|
|
get: function() {
|
|
return ia.cssPrefix;
|
|
}
|
|
});
|
|
Cn.FontAwesomeConfig = ae;
|
|
const ci = [];
|
|
function BS(e) {
|
|
return ci.push(e), () => {
|
|
ci.splice(ci.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Br = Pf, er = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function XS(e) {
|
|
if (!e || !Lr)
|
|
return;
|
|
const t = st.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = st.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return st.head.insertBefore(t, n), e;
|
|
}
|
|
const KS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Pi() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += KS[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function ma(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function nm(e) {
|
|
return e.classList ? ma(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function Mx(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function JS(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(Mx(e[r]), '" '), "").trim();
|
|
}
|
|
function zl(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function om(e) {
|
|
return e.size !== er.size || e.x !== er.x || e.y !== er.y || e.rotate !== er.rotate || e.flipX || e.flipY;
|
|
}
|
|
function QS(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), c = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, l = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: c,
|
|
path: l
|
|
};
|
|
}
|
|
function ZS(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Pf,
|
|
height: n = Pf,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && Ox ? a += "translate(".concat(t.x / Br - r / 2, "em, ").concat(t.y / Br - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Br, "em), calc(-50% + ").concat(t.y / Br, "em)) ") : a += "translate(".concat(t.x / Br, "em, ").concat(t.y / Br, "em) "), a += "scale(".concat(t.size / Br * (t.flipX ? -1 : 1), ", ").concat(t.size / Br * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var eP = `: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 Rx() {
|
|
const e = Cx, t = Nx, r = ae.cssPrefix, n = ae.replacementClass;
|
|
let o = eP;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let xb = !1;
|
|
function _c() {
|
|
ae.autoAddCss && !xb && (XS(Rx()), xb = !0);
|
|
}
|
|
var tP = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: Rx,
|
|
insertCss: _c
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
_c();
|
|
},
|
|
beforeI2svg() {
|
|
_c();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Cr = Cn || {};
|
|
Cr[Er] || (Cr[Er] = {});
|
|
Cr[Er].styles || (Cr[Er].styles = {});
|
|
Cr[Er].hooks || (Cr[Er].hooks = {});
|
|
Cr[Er].shims || (Cr[Er].shims = []);
|
|
var tr = Cr[Er];
|
|
const _x = [], Fx = function() {
|
|
st.removeEventListener("DOMContentLoaded", Fx), al = 1, _x.map((e) => e());
|
|
};
|
|
let al = !1;
|
|
Lr && (al = (st.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(st.readyState), al || st.addEventListener("DOMContentLoaded", Fx));
|
|
function rP(e) {
|
|
Lr && (al ? setTimeout(e, 0) : _x.push(e));
|
|
}
|
|
function Xi(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? Mx(e) : "<".concat(t, " ").concat(JS(r), ">").concat(n.map(Xi).join(""), "</").concat(t, ">");
|
|
}
|
|
function wb(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Fc = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, c, l;
|
|
for (r === void 0 ? (s = 1, l = e[o[0]]) : (s = 0, l = r); s < a; s++)
|
|
c = o[s], l = i(l, e[c], c, e);
|
|
return l;
|
|
};
|
|
function nP(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function Dx(e) {
|
|
const t = nP(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function oP(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function kb(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, o = kb(t);
|
|
typeof tr.hooks.addPack == "function" && !n ? tr.hooks.addPack(e, kb(t)) : tr.styles[e] = K(K({}, tr.styles[e] || {}), o), e === "fas" && jf("fa", t);
|
|
}
|
|
const {
|
|
styles: Ai,
|
|
shims: aP
|
|
} = tr, Lx = Object.keys(rm), iP = Lx.reduce((e, t) => (e[t] = Object.keys(rm[t]), e), {});
|
|
let am = null, Wx = {}, Yx = {}, Gx = {}, Vx = {}, Ux = {};
|
|
function sP(e) {
|
|
return ~US.indexOf(e);
|
|
}
|
|
function lP(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !sP(o) ? o : null;
|
|
}
|
|
const qx = () => {
|
|
const e = (n) => Fc(Ai, (o, a, i) => (o[i] = Fc(a, n, {}), o), {});
|
|
Wx = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), Yx = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), Ux = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Ai || ae.autoFetchSvg, r = Fc(aP, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
Gx = r.names, Vx = r.unicodes, am = Tl(ae.styleDefault, {
|
|
family: ae.familyDefault
|
|
});
|
|
};
|
|
BS((e) => {
|
|
am = Tl(e.styleDefault, {
|
|
family: ae.familyDefault
|
|
});
|
|
});
|
|
qx();
|
|
function im(e, t) {
|
|
return (Wx[e] || {})[t];
|
|
}
|
|
function cP(e, t) {
|
|
return (Yx[e] || {})[t];
|
|
}
|
|
function Xn(e, t) {
|
|
return (Ux[e] || {})[t];
|
|
}
|
|
function Hx(e) {
|
|
return Gx[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function uP(e) {
|
|
const t = Vx[e], r = im("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Nn() {
|
|
return am;
|
|
}
|
|
const Bx = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function fP(e) {
|
|
let t = ht;
|
|
const r = Lx.reduce((n, o) => (n[o] = "".concat(ae.cssPrefix, "-").concat(o), n), {});
|
|
return Ax.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => iP[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Tl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = ht
|
|
} = t, n = LS[r][e];
|
|
if (r === Il && !e)
|
|
return "fad";
|
|
const o = vb[r][e] || vb[r][n], a = e in tr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function dP(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = lP(ae.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function $b(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Ml(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Sf.concat(ES), a = $b(e.filter((f) => o.includes(f))), i = $b(e.filter((f) => !Sf.includes(f))), s = a.filter((f) => (n = f, !Px.includes(f))), [c = null] = s, l = fP(a), u = K(K({}, dP(i)), {}, {
|
|
prefix: Tl(c, {
|
|
family: l
|
|
})
|
|
});
|
|
return K(K(K({}, u), bP({
|
|
values: e,
|
|
family: l,
|
|
styles: Ai,
|
|
config: ae,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), pP(r, n, u));
|
|
}
|
|
function pP(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? Hx(o) : {}, i = Xn(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Ai.far && Ai.fas && !ae.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const mP = Ax.filter((e) => e !== ht || e !== Il), gP = Object.keys(Of).filter((e) => e !== ht).map((e) => Object.keys(Of[e])).flat();
|
|
function bP(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Il, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (c || l || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && mP.includes(r) && (Object.keys(a).find((f) => gP.includes(f)) || i.autoFetchSvg)) {
|
|
const f = xS.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Xn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Nn() || "fas"), n;
|
|
}
|
|
class hP {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = K(K({}, this.definitions[a] || {}), o[a]), jf(a, o[a]);
|
|
const i = rm[ht][a];
|
|
i && jf(i, o[a]), qx();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], c = s[2];
|
|
t[a] || (t[a] = {}), c.length > 0 && c.forEach((l) => {
|
|
typeof l == "string" && (t[a][l] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let Ob = [], Eo = {};
|
|
const Go = {}, yP = Object.keys(Go);
|
|
function vP(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return Ob = e, Eo = {}, Object.keys(Go).forEach((n) => {
|
|
yP.indexOf(n) === -1 && delete Go[n];
|
|
}), Ob.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Eo[i] || (Eo[i] = []), Eo[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Go);
|
|
}), r;
|
|
}
|
|
function If(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Eo[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ao(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Eo[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function jn() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Go[e] ? Go[e].apply(null, t) : void 0;
|
|
}
|
|
function zf(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Nn();
|
|
if (t)
|
|
return t = Xn(r, t) || t, wb(Xx.definitions, r, t) || wb(tr.styles, r, t);
|
|
}
|
|
const Xx = new hP(), xP = () => {
|
|
ae.autoReplaceSvg = !1, ae.observeMutations = !1, ao("noAuto");
|
|
}, wP = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Lr ? (ao("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;
|
|
ae.autoReplaceSvg === !1 && (ae.autoReplaceSvg = !0), ae.observeMutations = !0, rP(() => {
|
|
$P({
|
|
autoReplaceSvgRoot: t
|
|
}), ao("watch", e);
|
|
});
|
|
}
|
|
}, kP = {
|
|
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(ae.cssPrefix, "-")) > -1 || e.match(WS))) {
|
|
const t = Ml(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
|
|
};
|
|
}
|
|
}
|
|
}, Nt = {
|
|
noAuto: xP,
|
|
config: ae,
|
|
dom: wP,
|
|
parse: kP,
|
|
library: Xx,
|
|
findIconDefinition: zf,
|
|
toHtml: Xi
|
|
}, $P = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = st
|
|
} = e;
|
|
(Object.keys(tr.styles).length > 0 || ae.autoFetchSvg) && Lr && ae.autoReplaceSvg && Nt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Rl(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Xi(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Lr) return;
|
|
const r = st.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function OP(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (om(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: c
|
|
} = r, l = {
|
|
x: s / c / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = zl(K(K({}, a), {}, {
|
|
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function SP(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ae.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: K(K({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function sm(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: c,
|
|
titleId: l,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: y
|
|
} = r.found ? r : t, x = SS.includes(n), m = [ae.replacementClass, o ? "".concat(ae.cssPrefix, "-").concat(o) : ""].filter((b) => u.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(u.classes).join(" ");
|
|
let p = {
|
|
children: [],
|
|
attributes: K(K({}, u.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: u.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(d, " ").concat(y)
|
|
})
|
|
};
|
|
const v = x && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / y * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (p.attributes[oo] = ""), s && (p.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: p.attributes["aria-labelledby"] || "title-".concat(l || Pi())
|
|
},
|
|
children: [s]
|
|
}), delete p.attributes.title);
|
|
const k = K(K({}, p), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: c,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: K(K({}, v), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: O
|
|
} = r.found && t.found ? jn("generateAbstractMask", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : jn("generateAbstractIcon", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return k.children = $, k.attributes = O, i ? SP(k) : OP(k);
|
|
}
|
|
function Sb(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, c = K(K(K({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (c[oo] = "");
|
|
const l = K({}, i.styles);
|
|
om(o) && (l.transform = ZS({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), l["-webkit-transform"] = l.transform);
|
|
const u = zl(l);
|
|
u.length > 0 && (c.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: c,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function PP(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = K(K(K({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = zl(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Dc
|
|
} = tr;
|
|
function Tf(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ae.cssPrefix, "-").concat(Rc.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ae.cssPrefix, "-").concat(Rc.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ae.cssPrefix, "-").concat(Rc.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const AP = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function EP(e, t) {
|
|
!jx && !ae.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" && ae.styleDefault !== null && (t = Nn()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = Hx(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Dc[t] && Dc[t][e]) {
|
|
const a = Dc[t][e];
|
|
return n(Tf(a));
|
|
}
|
|
EP(e, t), n(K(K({}, AP), {}, {
|
|
icon: ae.showMissingIcons && e ? jn("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Pb = () => {
|
|
}, Rf = ae.measurePerformance && ms && ms.mark && ms.measure ? ms : {
|
|
mark: Pb,
|
|
measure: Pb
|
|
}, ei = 'FA "6.7.2"', CP = (e) => (Rf.mark("".concat(ei, " ").concat(e, " begins")), () => Kx(e)), Kx = (e) => {
|
|
Rf.mark("".concat(ei, " ").concat(e, " ends")), Rf.measure("".concat(ei, " ").concat(e), "".concat(ei, " ").concat(e, " begins"), "".concat(ei, " ").concat(e, " ends"));
|
|
};
|
|
var lm = {
|
|
begin: CP,
|
|
end: Kx
|
|
};
|
|
const Fs = () => {
|
|
};
|
|
function Ab(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(oo) : null) == "string";
|
|
}
|
|
function NP(e) {
|
|
const t = e.getAttribute ? e.getAttribute(em) : null, r = e.getAttribute ? e.getAttribute(tm) : null;
|
|
return t && r;
|
|
}
|
|
function jP(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ae.replacementClass);
|
|
}
|
|
function IP() {
|
|
return ae.autoReplaceSvg === !0 ? Ds.replace : Ds[ae.autoReplaceSvg] || Ds.replace;
|
|
}
|
|
function zP(e) {
|
|
return st.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function TP(e) {
|
|
return st.createElement(e);
|
|
}
|
|
function Jx(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? zP : TP
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return st.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(Jx(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function MP(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Ds = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(Jx(r), t);
|
|
}), t.getAttribute(oo) === null && ae.keepOriginalSource) {
|
|
let r = st.createComment(MP(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~nm(t).indexOf(ae.replacementClass))
|
|
return Ds.replace(e);
|
|
const n = new RegExp("".concat(ae.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ae.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Xi(a)).join(`
|
|
`);
|
|
t.setAttribute(oo, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function Eb(e) {
|
|
e();
|
|
}
|
|
function Qx(e, t) {
|
|
const r = typeof t == "function" ? t : Fs;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Eb;
|
|
ae.mutateApproach === FS && (n = Cn.requestAnimationFrame || Eb), n(() => {
|
|
const o = IP(), a = lm.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let cm = !1;
|
|
function Zx() {
|
|
cm = !0;
|
|
}
|
|
function _f() {
|
|
cm = !1;
|
|
}
|
|
let il = null;
|
|
function Cb(e) {
|
|
if (!gb || !ae.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Fs,
|
|
nodeCallback: r = Fs,
|
|
pseudoElementsCallback: n = Fs,
|
|
observeMutationsRoot: o = st
|
|
} = e;
|
|
il = new gb((a) => {
|
|
if (cm) return;
|
|
const i = Nn();
|
|
ma(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !Ab(s.addedNodes[0]) && (ae.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ae.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && Ab(s.target) && ~VS.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && NP(s.target)) {
|
|
const {
|
|
prefix: c,
|
|
iconName: l
|
|
} = Ml(nm(s.target));
|
|
s.target.setAttribute(em, c || i), l && s.target.setAttribute(tm, l);
|
|
} else jP(s.target) && r(s.target);
|
|
});
|
|
}), Lr && il.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function RP() {
|
|
il && il.disconnect();
|
|
}
|
|
function _P(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function FP(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Ml(nm(e));
|
|
return o.prefix || (o.prefix = Nn()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = cP(o.prefix, e.innerText) || im(o.prefix, Dx(e.innerText))), !o.iconName && ae.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function DP(e) {
|
|
const t = ma(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ae.autoA11y && (r ? t["aria-labelledby"] = "".concat(ae.replacementClass, "-title-").concat(n || Pi()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function LP() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: er,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function Nb(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = FP(e), a = DP(e), i = If("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? _P(e) : [];
|
|
return K({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: er,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: WP
|
|
} = tr;
|
|
function ew(e) {
|
|
const t = ae.autoReplaceSvg === "nest" ? Nb(e, {
|
|
styleParser: !1
|
|
}) : Nb(e);
|
|
return ~t.extra.classes.indexOf(zx) ? jn("generateLayersText", e, t) : jn("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function YP() {
|
|
return [...kS, ...Sf];
|
|
}
|
|
function jb(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Lr) return Promise.resolve();
|
|
const r = st.documentElement.classList, n = (u) => r.add("".concat(yb, "-").concat(u)), o = (u) => r.remove("".concat(yb, "-").concat(u)), a = ae.autoFetchSvg ? YP() : Px.concat(Object.keys(WP));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(zx, ":not([").concat(oo, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(oo, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = ma(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const c = lm.begin("onTree"), l = s.reduce((u, f) => {
|
|
try {
|
|
const d = ew(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
jx || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(l).then((d) => {
|
|
Qx(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), c(), u();
|
|
});
|
|
}).catch((d) => {
|
|
c(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function GP(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
ew(e).then((r) => {
|
|
r && Qx([r], t);
|
|
});
|
|
}
|
|
function VP(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : zf(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : zf(o || {})), e(n, K(K({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const UP = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = er,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: c = [],
|
|
attributes: l = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: y
|
|
} = e;
|
|
return Rl(K({
|
|
type: "icon"
|
|
}, e), () => (ao("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ae.autoA11y && (i ? l["aria-labelledby"] = "".concat(ae.replacementClass, "-title-").concat(s || Pi()) : (l["aria-hidden"] = "true", l.focusable = "false")), sm({
|
|
icons: {
|
|
main: Tf(y),
|
|
mask: o ? Tf(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: K(K({}, er), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: l,
|
|
styles: u,
|
|
classes: c
|
|
}
|
|
})));
|
|
};
|
|
var qP = {
|
|
mixout() {
|
|
return {
|
|
icon: VP(UP)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = jb, e.nodeCallback = GP, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = st,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return jb(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: c,
|
|
mask: l,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, y) => {
|
|
Promise.all([Mf(n, i), l.iconName ? Mf(l.iconName, l.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((x) => {
|
|
let [m, p] = x;
|
|
d([t, sm({
|
|
icons: {
|
|
main: m,
|
|
mask: p
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: c,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(y);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = zl(i);
|
|
s.length > 0 && (n.style = s);
|
|
let c;
|
|
return om(a) && (c = jn("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(c || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, HP = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Rl({
|
|
type: "layer"
|
|
}, () => {
|
|
ao("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ae.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, BP = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Rl({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ao("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), PP({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ae.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, XP = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = er,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Rl({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ao("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Sb({
|
|
content: e,
|
|
transform: K(K({}, er), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ae.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (Ox) {
|
|
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
|
|
i = l.width / c, s = l.height / c;
|
|
}
|
|
return ae.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, Sb({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const KP = new RegExp('"', "ug"), Ib = [1105920, 1112319], zb = K(K(K(K({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), vS), RS), CS), Ff = Object.keys(zb).reduce((e, t) => (e[t.toLowerCase()] = zb[t], e), {}), JP = Object.keys(Ff).reduce((e, t) => {
|
|
const r = Ff[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function QP(e) {
|
|
const t = e.replace(KP, ""), r = oP(t, 0), n = r >= Ib[0] && r <= Ib[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: Dx(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function ZP(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (Ff[r] || {})[o] || JP[r];
|
|
}
|
|
function Tb(e, t) {
|
|
const r = "".concat(_S).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = ma(e.children).filter((f) => f.getAttribute(Af) === t)[0], i = Cn.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), c = s.match(YS), l = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !c)
|
|
return e.removeChild(a), n();
|
|
if (c && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = ZP(s, l);
|
|
const {
|
|
value: y,
|
|
isSecondary: x
|
|
} = QP(f), m = c[0].startsWith("FontAwesome");
|
|
let p = im(d, y), v = p;
|
|
if (m) {
|
|
const k = uP(y);
|
|
k.iconName && k.prefix && (p = k.iconName, d = k.prefix);
|
|
}
|
|
if (p && !x && (!a || a.getAttribute(em) !== d || a.getAttribute(tm) !== v)) {
|
|
e.setAttribute(r, v), a && e.removeChild(a);
|
|
const k = LP(), {
|
|
extra: $
|
|
} = k;
|
|
$.attributes[Af] = t, Mf(p, d).then((O) => {
|
|
const b = sm(K(K({}, k), {}, {
|
|
icons: {
|
|
main: O,
|
|
mask: Bx()
|
|
},
|
|
prefix: d,
|
|
iconName: v,
|
|
extra: $,
|
|
watchable: !0
|
|
})), L = st.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(L, e.firstChild) : e.appendChild(L), L.outerHTML = b.map((M) => Xi(M)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function eA(e) {
|
|
return Promise.all([Tb(e, "::before"), Tb(e, "::after")]);
|
|
}
|
|
function tA(e) {
|
|
return e.parentNode !== document.head && !~DS.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Af) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function Mb(e) {
|
|
if (Lr)
|
|
return new Promise((t, r) => {
|
|
const n = ma(e.querySelectorAll("*")).filter(tA).map(eA), o = lm.begin("searchPseudoElements");
|
|
Zx(), Promise.all(n).then(() => {
|
|
o(), _f(), t();
|
|
}).catch(() => {
|
|
o(), _f(), r();
|
|
});
|
|
});
|
|
}
|
|
var rA = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = Mb, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = st
|
|
} = t;
|
|
ae.searchPseudoElements && Mb(r);
|
|
};
|
|
}
|
|
};
|
|
let Rb = !1;
|
|
var nA = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
Zx(), Rb = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Cb(If("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
RP();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
Rb ? _f() : Cb(If("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const _b = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var oA = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => _b(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = _b(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), c = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), l = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(c, " ").concat(l)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: K({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: K({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: K(K({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Lc = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function Fb(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 aA(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var iA = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Ml(r.split(" ").map((o) => o.trim())) : Bx();
|
|
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: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: c,
|
|
icon: l
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = QS({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: c
|
|
}), y = {
|
|
tag: "rect",
|
|
attributes: K(K({}, Lc), {}, {
|
|
fill: "white"
|
|
})
|
|
}, x = l.children ? {
|
|
children: l.children.map(Fb)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: K({}, d.inner),
|
|
children: [Fb(K({
|
|
tag: l.tag,
|
|
attributes: K(K({}, l.attributes), d.path)
|
|
}, x))]
|
|
}, p = {
|
|
tag: "g",
|
|
attributes: K({}, d.outer),
|
|
children: [m]
|
|
}, v = "mask-".concat(i || Pi()), k = "clip-".concat(i || Pi()), $ = {
|
|
tag: "mask",
|
|
attributes: K(K({}, Lc), {}, {
|
|
id: v,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [y, p]
|
|
}, O = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: k
|
|
},
|
|
children: aA(f)
|
|
}, $]
|
|
};
|
|
return r.push(O, {
|
|
tag: "rect",
|
|
attributes: K({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(k, ")"),
|
|
mask: "url(#".concat(v, ")")
|
|
}, Lc)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, sA = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Cn.matchMedia && (t = Cn.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: K(K({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = K(K({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: K(K({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: K(K({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: K(K({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: K(K({}, 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: K(K({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: K(K({}, 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: K(K({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, lA = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, cA = [tP, qP, HP, BP, XP, rA, nA, oA, iA, sA, lA];
|
|
vP(cA, {
|
|
mixoutsTo: Nt
|
|
});
|
|
Nt.noAuto;
|
|
Nt.config;
|
|
Nt.library;
|
|
Nt.dom;
|
|
const Df = Nt.parse;
|
|
Nt.findIconDefinition;
|
|
Nt.toHtml;
|
|
const uA = Nt.icon;
|
|
Nt.layer;
|
|
Nt.text;
|
|
Nt.counter;
|
|
function fA(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var bs = { exports: {} }, Wc = { exports: {} }, _e = {};
|
|
/** @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 Db;
|
|
function dA() {
|
|
if (Db) return _e;
|
|
Db = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var L = b.$$typeof;
|
|
switch (L) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return L;
|
|
}
|
|
}
|
|
case r:
|
|
return L;
|
|
}
|
|
}
|
|
}
|
|
function O(b) {
|
|
return $(b) === l;
|
|
}
|
|
return _e.AsyncMode = c, _e.ConcurrentMode = l, _e.ContextConsumer = s, _e.ContextProvider = i, _e.Element = t, _e.ForwardRef = u, _e.Fragment = n, _e.Lazy = x, _e.Memo = y, _e.Portal = r, _e.Profiler = a, _e.StrictMode = o, _e.Suspense = f, _e.isAsyncMode = function(b) {
|
|
return O(b) || $(b) === c;
|
|
}, _e.isConcurrentMode = O, _e.isContextConsumer = function(b) {
|
|
return $(b) === s;
|
|
}, _e.isContextProvider = function(b) {
|
|
return $(b) === i;
|
|
}, _e.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, _e.isForwardRef = function(b) {
|
|
return $(b) === u;
|
|
}, _e.isFragment = function(b) {
|
|
return $(b) === n;
|
|
}, _e.isLazy = function(b) {
|
|
return $(b) === x;
|
|
}, _e.isMemo = function(b) {
|
|
return $(b) === y;
|
|
}, _e.isPortal = function(b) {
|
|
return $(b) === r;
|
|
}, _e.isProfiler = function(b) {
|
|
return $(b) === a;
|
|
}, _e.isStrictMode = function(b) {
|
|
return $(b) === o;
|
|
}, _e.isSuspense = function(b) {
|
|
return $(b) === f;
|
|
}, _e.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === l || b === a || b === o || b === f || b === d || typeof b == "object" && b !== null && (b.$$typeof === x || b.$$typeof === y || b.$$typeof === i || b.$$typeof === s || b.$$typeof === u || b.$$typeof === p || b.$$typeof === v || b.$$typeof === k || b.$$typeof === m);
|
|
}, _e.typeOf = $, _e;
|
|
}
|
|
var Ve = {};
|
|
/** @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 pA() {
|
|
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, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(w) {
|
|
return typeof w == "string" || typeof w == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
w === n || w === l || w === a || w === o || w === f || w === d || typeof w == "object" && w !== null && (w.$$typeof === x || w.$$typeof === y || w.$$typeof === i || w.$$typeof === s || w.$$typeof === u || w.$$typeof === p || w.$$typeof === v || w.$$typeof === k || w.$$typeof === m);
|
|
}
|
|
function O(w) {
|
|
if (typeof w == "object" && w !== null) {
|
|
var oe = w.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var Ae = w.type;
|
|
switch (Ae) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ae;
|
|
default:
|
|
var mt = Ae && Ae.$$typeof;
|
|
switch (mt) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return mt;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = c, L = l, M = s, B = i, H = t, U = u, X = n, S = x, ne = y, F = r, R = a, _ = o, G = f, Y = !1;
|
|
function V(w) {
|
|
return Y || (Y = !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.")), g(w) || O(w) === c;
|
|
}
|
|
function g(w) {
|
|
return O(w) === l;
|
|
}
|
|
function h(w) {
|
|
return O(w) === s;
|
|
}
|
|
function N(w) {
|
|
return O(w) === i;
|
|
}
|
|
function A(w) {
|
|
return typeof w == "object" && w !== null && w.$$typeof === t;
|
|
}
|
|
function P(w) {
|
|
return O(w) === u;
|
|
}
|
|
function j(w) {
|
|
return O(w) === n;
|
|
}
|
|
function C(w) {
|
|
return O(w) === x;
|
|
}
|
|
function E(w) {
|
|
return O(w) === y;
|
|
}
|
|
function I(w) {
|
|
return O(w) === r;
|
|
}
|
|
function z(w) {
|
|
return O(w) === a;
|
|
}
|
|
function T(w) {
|
|
return O(w) === o;
|
|
}
|
|
function q(w) {
|
|
return O(w) === f;
|
|
}
|
|
Ve.AsyncMode = b, Ve.ConcurrentMode = L, Ve.ContextConsumer = M, Ve.ContextProvider = B, Ve.Element = H, Ve.ForwardRef = U, Ve.Fragment = X, Ve.Lazy = S, Ve.Memo = ne, Ve.Portal = F, Ve.Profiler = R, Ve.StrictMode = _, Ve.Suspense = G, Ve.isAsyncMode = V, Ve.isConcurrentMode = g, Ve.isContextConsumer = h, Ve.isContextProvider = N, Ve.isElement = A, Ve.isForwardRef = P, Ve.isFragment = j, Ve.isLazy = C, Ve.isMemo = E, Ve.isPortal = I, Ve.isProfiler = z, Ve.isStrictMode = T, Ve.isSuspense = q, Ve.isValidElementType = $, Ve.typeOf = O;
|
|
}()), Ve;
|
|
}
|
|
var Wb;
|
|
function tw() {
|
|
return Wb || (Wb = 1, process.env.NODE_ENV === "production" ? Wc.exports = dA() : Wc.exports = pA()), Wc.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Yc, Yb;
|
|
function mA() {
|
|
if (Yb) return Yc;
|
|
Yb = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var c = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (c.join("") !== "0123456789")
|
|
return !1;
|
|
var l = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
l[u] = u;
|
|
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Yc = o() ? Object.assign : function(a, i) {
|
|
for (var s, c = n(a), l, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (c[f] = s[f]);
|
|
if (e) {
|
|
l = e(s);
|
|
for (var d = 0; d < l.length; d++)
|
|
r.call(s, l[d]) && (c[l[d]] = s[l[d]]);
|
|
}
|
|
}
|
|
return c;
|
|
}, Yc;
|
|
}
|
|
var Gc, Gb;
|
|
function um() {
|
|
if (Gb) return Gc;
|
|
Gb = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Gc = e, Gc;
|
|
}
|
|
var Vb, Ub;
|
|
function rw() {
|
|
return Ub || (Ub = 1, Vb = Function.call.bind(Object.prototype.hasOwnProperty)), Vb;
|
|
}
|
|
var Vc, qb;
|
|
function gA() {
|
|
if (qb) return Vc;
|
|
qb = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ um(), r = {}, n = /* @__PURE__ */ rw();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, c, l) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var u in a)
|
|
if (n(a, u)) {
|
|
var f;
|
|
try {
|
|
if (typeof a[u] != "function") {
|
|
var d = Error(
|
|
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw d.name = "Invariant Violation", d;
|
|
}
|
|
f = a[u](i, u, c, s, null, t);
|
|
} catch (x) {
|
|
f = x;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), f instanceof Error && !(f.message in r)) {
|
|
r[f.message] = !0;
|
|
var y = l ? l() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (y ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Vc = o, Vc;
|
|
}
|
|
var Uc, Hb;
|
|
function bA() {
|
|
if (Hb) return Uc;
|
|
Hb = 1;
|
|
var e = tw(), t = mA(), r = /* @__PURE__ */ um(), n = /* @__PURE__ */ rw(), o = /* @__PURE__ */ gA(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var c = "Warning: " + s;
|
|
typeof console < "u" && console.error(c);
|
|
try {
|
|
throw new Error(c);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Uc = function(s, c) {
|
|
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(g) {
|
|
var h = g && (l && g[l] || g[u]);
|
|
if (typeof h == "function")
|
|
return h;
|
|
}
|
|
var d = "<<anonymous>>", y = {
|
|
array: v("array"),
|
|
bigint: v("bigint"),
|
|
bool: v("boolean"),
|
|
func: v("function"),
|
|
number: v("number"),
|
|
object: v("object"),
|
|
string: v("string"),
|
|
symbol: v("symbol"),
|
|
any: k(),
|
|
arrayOf: $,
|
|
element: O(),
|
|
elementType: b(),
|
|
instanceOf: L,
|
|
node: U(),
|
|
objectOf: B,
|
|
oneOf: M,
|
|
oneOfType: H,
|
|
shape: S,
|
|
exact: ne
|
|
};
|
|
function x(g, h) {
|
|
return g === h ? g !== 0 || 1 / g === 1 / h : g !== g && h !== h;
|
|
}
|
|
function m(g, h) {
|
|
this.message = g, this.data = h && typeof h == "object" ? h : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function p(g) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var h = {}, N = 0;
|
|
function A(j, C, E, I, z, T, q) {
|
|
if (I = I || d, T = T || E, q !== r) {
|
|
if (c) {
|
|
var w = 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 w.name = "Invariant Violation", w;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + E;
|
|
!h[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
N < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), h[oe] = !0, N++);
|
|
}
|
|
}
|
|
return C[E] == null ? j ? C[E] === null ? new m("The " + z + " `" + T + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + z + " `" + T + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : g(C, E, I, z, T);
|
|
}
|
|
var P = A.bind(null, !1);
|
|
return P.isRequired = A.bind(null, !0), P;
|
|
}
|
|
function v(g) {
|
|
function h(N, A, P, j, C, E) {
|
|
var I = N[A], z = _(I);
|
|
if (z !== g) {
|
|
var T = G(I);
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."),
|
|
{ expectedType: g }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function k() {
|
|
return p(i);
|
|
}
|
|
function $(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside arrayOf.");
|
|
var E = N[A];
|
|
if (!Array.isArray(E)) {
|
|
var I = _(E);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an array."));
|
|
}
|
|
for (var z = 0; z < E.length; z++) {
|
|
var T = g(E, z, P, j, C + "[" + z + "]", r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function O() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!s(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function b() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!e.isValidElementType(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function L(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (!(N[A] instanceof g)) {
|
|
var E = g.name || d, I = V(N[A]);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected ") + ("instance of `" + E + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function M(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function h(N, A, P, j, C) {
|
|
for (var E = N[A], I = 0; I < g.length; I++)
|
|
if (x(E, g[I]))
|
|
return null;
|
|
var z = JSON.stringify(g, function(T, q) {
|
|
var w = G(q);
|
|
return w === "symbol" ? String(q) : q;
|
|
});
|
|
return new m("Invalid " + j + " `" + C + "` of value `" + String(E) + "` " + ("supplied to `" + P + "`, expected one of " + z + "."));
|
|
}
|
|
return p(h);
|
|
}
|
|
function B(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside objectOf.");
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an object."));
|
|
for (var z in E)
|
|
if (n(E, z)) {
|
|
var T = g(E, z, P, j, C + "." + z, r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function H(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var h = 0; h < g.length; h++) {
|
|
var N = g[h];
|
|
if (typeof N != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(N) + " at index " + h + "."
|
|
), i;
|
|
}
|
|
function A(P, j, C, E, I) {
|
|
for (var z = [], T = 0; T < g.length; T++) {
|
|
var q = g[T], w = q(P, j, C, E, I, r);
|
|
if (w == null)
|
|
return null;
|
|
w.data && n(w.data, "expectedType") && z.push(w.data.expectedType);
|
|
}
|
|
var oe = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
|
|
return new m("Invalid " + E + " `" + I + "` supplied to " + ("`" + C + "`" + oe + "."));
|
|
}
|
|
return p(A);
|
|
}
|
|
function U() {
|
|
function g(h, N, A, P, j) {
|
|
return F(h[N]) ? null : new m("Invalid " + P + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return p(g);
|
|
}
|
|
function X(g, h, N, A, P) {
|
|
return new m(
|
|
(g || "React class") + ": " + h + " type `" + N + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`."
|
|
);
|
|
}
|
|
function S(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
for (var z in g) {
|
|
var T = g[z];
|
|
if (typeof T != "function")
|
|
return X(P, j, C, z, G(T));
|
|
var q = T(E, z, P, j, C + "." + z, r);
|
|
if (q)
|
|
return q;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function ne(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
var z = t({}, N[A], g);
|
|
for (var T in z) {
|
|
var q = g[T];
|
|
if (n(g, T) && typeof q != "function")
|
|
return X(P, j, C, T, G(q));
|
|
if (!q)
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(N[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
|
|
);
|
|
var w = q(E, T, P, j, C + "." + T, r);
|
|
if (w)
|
|
return w;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function F(g) {
|
|
switch (typeof g) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !g;
|
|
case "object":
|
|
if (Array.isArray(g))
|
|
return g.every(F);
|
|
if (g === null || s(g))
|
|
return !0;
|
|
var h = f(g);
|
|
if (h) {
|
|
var N = h.call(g), A;
|
|
if (h !== g.entries) {
|
|
for (; !(A = N.next()).done; )
|
|
if (!F(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = N.next()).done; ) {
|
|
var P = A.value;
|
|
if (P && !F(P[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function R(g, h) {
|
|
return g === "symbol" ? !0 : h ? h["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && h instanceof Symbol : !1;
|
|
}
|
|
function _(g) {
|
|
var h = typeof g;
|
|
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : R(h, g) ? "symbol" : h;
|
|
}
|
|
function G(g) {
|
|
if (typeof g > "u" || g === null)
|
|
return "" + g;
|
|
var h = _(g);
|
|
if (h === "object") {
|
|
if (g instanceof Date)
|
|
return "date";
|
|
if (g instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return h;
|
|
}
|
|
function Y(g) {
|
|
var h = G(g);
|
|
switch (h) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + h;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + h;
|
|
default:
|
|
return h;
|
|
}
|
|
}
|
|
function V(g) {
|
|
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
|
|
}
|
|
return y.checkPropTypes = o, y.resetWarningCache = o.resetWarningCache, y.PropTypes = y, y;
|
|
}, Uc;
|
|
}
|
|
var qc, Bb;
|
|
function hA() {
|
|
if (Bb) return qc;
|
|
Bb = 1;
|
|
var e = /* @__PURE__ */ um();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, qc = function() {
|
|
function n(i, s, c, l, u, f) {
|
|
if (f !== e) {
|
|
var d = 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 d.name = "Invariant Violation", d;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, qc;
|
|
}
|
|
var Xb;
|
|
function yA() {
|
|
if (Xb) return bs.exports;
|
|
if (Xb = 1, process.env.NODE_ENV !== "production") {
|
|
var e = tw(), t = !0;
|
|
bs.exports = /* @__PURE__ */ bA()(e.isElement, t);
|
|
} else
|
|
bs.exports = /* @__PURE__ */ hA()();
|
|
return bs.exports;
|
|
}
|
|
var vA = /* @__PURE__ */ yA();
|
|
const Ee = /* @__PURE__ */ fA(vA);
|
|
function Kb(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Ht(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Kb(Object(r), !0).forEach(function(n) {
|
|
Co(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Kb(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function sl(e) {
|
|
"@babel/helpers - typeof";
|
|
return sl = 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;
|
|
}, sl(e);
|
|
}
|
|
function Co(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function xA(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function wA(e, t) {
|
|
if (e == null) return {};
|
|
var r = xA(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function Lf(e) {
|
|
return kA(e) || $A(e) || OA(e) || SA();
|
|
}
|
|
function kA(e) {
|
|
if (Array.isArray(e)) return Wf(e);
|
|
}
|
|
function $A(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function OA(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Wf(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 Wf(e, t);
|
|
}
|
|
}
|
|
function Wf(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 SA() {
|
|
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 PA(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, x = e.border, m = e.listItem, p = e.flip, v = e.size, k = e.rotation, $ = e.pull, O = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": c,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": l,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": y,
|
|
"fa-border": x,
|
|
"fa-li": m,
|
|
"fa-flip": p === !0,
|
|
"fa-flip-horizontal": p === "horizontal" || p === "both",
|
|
"fa-flip-vertical": p === "vertical" || p === "both"
|
|
}, Co(t, "fa-".concat(v), typeof v < "u" && v !== null), Co(t, "fa-rotate-".concat(k), typeof k < "u" && k !== null && k !== 0), Co(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Co(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(O).map(function(b) {
|
|
return O[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function AA(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function nw(e) {
|
|
return AA(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var EA = ["style"];
|
|
function CA(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function NA(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = nw(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[CA(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function ow(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(c) {
|
|
return ow(e, c);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(c, l) {
|
|
var u = t.attributes[l];
|
|
switch (l) {
|
|
case "class":
|
|
c.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
c.attrs.style = NA(u);
|
|
break;
|
|
default:
|
|
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[nw(l)] = u;
|
|
}
|
|
return c;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = wA(r, EA);
|
|
return o.attrs.style = Ht(Ht({}, o.attrs.style), i), e.apply(void 0, [t.tag, Ht(Ht({}, o.attrs), s)].concat(Lf(n)));
|
|
}
|
|
var aw = !1;
|
|
try {
|
|
aw = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function jA() {
|
|
if (!aw && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function Jb(e) {
|
|
if (e && sl(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Df.icon)
|
|
return Df.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && sl(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 Hc(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Co({}, e, t) : {};
|
|
}
|
|
var Qb = {
|
|
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
|
|
}, Ei = /* @__PURE__ */ Pe.forwardRef(function(e, t) {
|
|
var r = Ht(Ht({}, Qb), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, c = r.titleId, l = r.maskId, u = Jb(n), f = Hc("classes", [].concat(Lf(PA(r)), Lf((i || "").split(" ")))), d = Hc("transform", typeof r.transform == "string" ? Df.transform(r.transform) : r.transform), y = Hc("mask", Jb(o)), x = uA(u, Ht(Ht(Ht(Ht({}, f), d), y), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: c,
|
|
maskId: l
|
|
}));
|
|
if (!x)
|
|
return jA("Could not find icon", u), null;
|
|
var m = x.abstract, p = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(v) {
|
|
Qb.hasOwnProperty(v) || (p[v] = r[v]);
|
|
}), IA(m[0], p);
|
|
});
|
|
Ei.displayName = "FontAwesomeIcon";
|
|
Ei.propTypes = {
|
|
beat: Ee.bool,
|
|
border: Ee.bool,
|
|
beatFade: Ee.bool,
|
|
bounce: Ee.bool,
|
|
className: Ee.string,
|
|
fade: Ee.bool,
|
|
flash: Ee.bool,
|
|
mask: Ee.oneOfType([Ee.object, Ee.array, Ee.string]),
|
|
maskId: Ee.string,
|
|
fixedWidth: Ee.bool,
|
|
inverse: Ee.bool,
|
|
flip: Ee.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ee.oneOfType([Ee.object, Ee.array, Ee.string]),
|
|
listItem: Ee.bool,
|
|
pull: Ee.oneOf(["right", "left"]),
|
|
pulse: Ee.bool,
|
|
rotation: Ee.oneOf([0, 90, 180, 270]),
|
|
shake: Ee.bool,
|
|
size: Ee.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ee.bool,
|
|
spinPulse: Ee.bool,
|
|
spinReverse: Ee.bool,
|
|
symbol: Ee.oneOfType([Ee.bool, Ee.string]),
|
|
title: Ee.string,
|
|
titleId: Ee.string,
|
|
transform: Ee.oneOfType([Ee.string, Ee.object]),
|
|
swapOpacity: Ee.bool
|
|
};
|
|
var IA = ow.bind(null, Pe.createElement);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const zA = {
|
|
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 TA(e, t, r) {
|
|
return (t = RA(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Zb(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function J(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Zb(Object(r), !0).forEach(function(n) {
|
|
TA(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Zb(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function MA(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 RA(e) {
|
|
var t = MA(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const eh = () => {
|
|
};
|
|
let fm = {}, iw = {}, sw = null, lw = {
|
|
mark: eh,
|
|
measure: eh
|
|
};
|
|
try {
|
|
typeof window < "u" && (fm = window), typeof document < "u" && (iw = document), typeof MutationObserver < "u" && (sw = MutationObserver), typeof performance < "u" && (lw = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: th = ""
|
|
} = fm.navigator || {}, In = fm, lt = iw, rh = sw, hs = lw;
|
|
In.document;
|
|
const Wr = !!lt.documentElement && !!lt.head && typeof lt.addEventListener == "function" && typeof lt.createElement == "function", cw = ~th.indexOf("MSIE") || ~th.indexOf("Trident/");
|
|
var _A = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, FA = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, uw = {
|
|
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"
|
|
}
|
|
}, DA = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, fw = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], yt = "classic", _l = "duotone", LA = "sharp", WA = "sharp-duotone", dw = [yt, _l, LA, WA], YA = {
|
|
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"
|
|
}
|
|
}, GA = {
|
|
"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"
|
|
}
|
|
}, VA = /* @__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
|
|
}]]), UA = {
|
|
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"
|
|
}
|
|
}, qA = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], nh = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, HA = ["kit"], BA = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, XA = ["fak", "fakd"], KA = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, oh = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, ys = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, JA = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], QA = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], ZA = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, e6 = {
|
|
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"
|
|
}
|
|
}, t6 = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Yf = {
|
|
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"
|
|
}
|
|
}, r6 = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Gf = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...JA, ...r6], n6 = ["solid", "regular", "light", "thin", "duotone", "brands"], pw = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], o6 = pw.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), a6 = [...Object.keys(t6), ...n6, "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", ys.GROUP, ys.SWAP_OPACITY, ys.PRIMARY, ys.SECONDARY].concat(pw.map((e) => "".concat(e, "x"))).concat(o6.map((e) => "w-".concat(e))), i6 = {
|
|
"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 Nr = "___FONT_AWESOME___", Vf = 16, mw = "fa", gw = "svg-inline--fa", io = "data-fa-i2svg", Uf = "data-fa-pseudo-element", s6 = "data-fa-pseudo-element-pending", dm = "data-prefix", pm = "data-icon", ah = "fontawesome-i2svg", l6 = "async", c6 = ["HTML", "HEAD", "STYLE", "SCRIPT"], bw = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Ki(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[yt];
|
|
}
|
|
});
|
|
}
|
|
const hw = J({}, uw);
|
|
hw[yt] = J(J(J(J({}, {
|
|
"fa-duotone": "duotone"
|
|
}), uw[yt]), nh.kit), nh["kit-duotone"]);
|
|
const u6 = Ki(hw), qf = J({}, UA);
|
|
qf[yt] = J(J(J(J({}, {
|
|
duotone: "fad"
|
|
}), qf[yt]), oh.kit), oh["kit-duotone"]);
|
|
const ih = Ki(qf), Hf = J({}, Yf);
|
|
Hf[yt] = J(J({}, Hf[yt]), KA.kit);
|
|
const mm = Ki(Hf), Bf = J({}, e6);
|
|
Bf[yt] = J(J({}, Bf[yt]), BA.kit);
|
|
Ki(Bf);
|
|
const f6 = _A, yw = "fa-layers-text", d6 = FA, p6 = J({}, YA);
|
|
Ki(p6);
|
|
const m6 = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Bc = DA, g6 = [...HA, ...a6], ui = In.FontAwesomeConfig || {};
|
|
function b6(e) {
|
|
var t = lt.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function h6(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 = h6(b6(t));
|
|
n != null && (ui[r] = n);
|
|
});
|
|
const vw = {
|
|
styleDefault: "solid",
|
|
familyDefault: yt,
|
|
cssPrefix: mw,
|
|
replacementClass: gw,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
ui.familyPrefix && (ui.cssPrefix = ui.familyPrefix);
|
|
const sa = J(J({}, vw), ui);
|
|
sa.autoReplaceSvg || (sa.observeMutations = !1);
|
|
const ie = {};
|
|
Object.keys(vw).forEach((e) => {
|
|
Object.defineProperty(ie, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
sa[e] = t, fi.forEach((r) => r(ie));
|
|
},
|
|
get: function() {
|
|
return sa[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ie, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
sa.cssPrefix = e, fi.forEach((t) => t(ie));
|
|
},
|
|
get: function() {
|
|
return sa.cssPrefix;
|
|
}
|
|
});
|
|
In.FontAwesomeConfig = ie;
|
|
const fi = [];
|
|
function y6(e) {
|
|
return fi.push(e), () => {
|
|
fi.splice(fi.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Xr = Vf, rr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function v6(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 o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return lt.head.insertBefore(t, n), e;
|
|
}
|
|
const x6 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Ci() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += x6[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function ga(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function gm(e) {
|
|
return e.classList ? ga(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function xw(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function w6(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(xw(e[r]), '" '), "").trim();
|
|
}
|
|
function Fl(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function bm(e) {
|
|
return e.size !== rr.size || e.x !== rr.x || e.y !== rr.y || e.rotate !== rr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function k6(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), c = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, l = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: c,
|
|
path: l
|
|
};
|
|
}
|
|
function $6(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Vf,
|
|
height: n = Vf,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && cw ? a += "translate(".concat(t.x / Xr - r / 2, "em, ").concat(t.y / Xr - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Xr, "em), calc(-50% + ").concat(t.y / Xr, "em)) ") : a += "translate(".concat(t.x / Xr, "em, ").concat(t.y / Xr, "em) "), a += "scale(".concat(t.size / Xr * (t.flipX ? -1 : 1), ", ").concat(t.size / Xr * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var O6 = `: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 ww() {
|
|
const e = mw, t = gw, r = ie.cssPrefix, n = ie.replacementClass;
|
|
let o = O6;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let sh = !1;
|
|
function Xc() {
|
|
ie.autoAddCss && !sh && (v6(ww()), sh = !0);
|
|
}
|
|
var S6 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: ww,
|
|
insertCss: Xc
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Xc();
|
|
},
|
|
beforeI2svg() {
|
|
Xc();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const jr = In || {};
|
|
jr[Nr] || (jr[Nr] = {});
|
|
jr[Nr].styles || (jr[Nr].styles = {});
|
|
jr[Nr].hooks || (jr[Nr].hooks = {});
|
|
jr[Nr].shims || (jr[Nr].shims = []);
|
|
var nr = jr[Nr];
|
|
const kw = [], $w = function() {
|
|
lt.removeEventListener("DOMContentLoaded", $w), ll = 1, kw.map((e) => e());
|
|
};
|
|
let ll = !1;
|
|
Wr && (ll = (lt.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(lt.readyState), ll || lt.addEventListener("DOMContentLoaded", $w));
|
|
function P6(e) {
|
|
Wr && (ll ? setTimeout(e, 0) : kw.push(e));
|
|
}
|
|
function Ji(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? xw(e) : "<".concat(t, " ").concat(w6(r), ">").concat(n.map(Ji).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 Kc = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, c, l;
|
|
for (r === void 0 ? (s = 1, l = e[o[0]]) : (s = 0, l = r); s < a; s++)
|
|
c = o[s], l = i(l, e[c], c, e);
|
|
return l;
|
|
};
|
|
function A6(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function Ow(e) {
|
|
const t = A6(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function E6(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function ch(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 Xf(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = ch(t);
|
|
typeof nr.hooks.addPack == "function" && !n ? nr.hooks.addPack(e, ch(t)) : nr.styles[e] = J(J({}, nr.styles[e] || {}), o), e === "fas" && Xf("fa", t);
|
|
}
|
|
const {
|
|
styles: Ni,
|
|
shims: C6
|
|
} = nr, Sw = Object.keys(mm), N6 = Sw.reduce((e, t) => (e[t] = Object.keys(mm[t]), e), {});
|
|
let hm = null, Pw = {}, Aw = {}, Ew = {}, Cw = {}, Nw = {};
|
|
function j6(e) {
|
|
return ~g6.indexOf(e);
|
|
}
|
|
function I6(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !j6(o) ? o : null;
|
|
}
|
|
const jw = () => {
|
|
const e = (n) => Kc(Ni, (o, a, i) => (o[i] = Kc(a, n, {}), o), {});
|
|
Pw = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), Aw = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), Nw = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Ni || ie.autoFetchSvg, r = Kc(C6, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
Ew = r.names, Cw = r.unicodes, hm = Dl(ie.styleDefault, {
|
|
family: ie.familyDefault
|
|
});
|
|
};
|
|
y6((e) => {
|
|
hm = Dl(e.styleDefault, {
|
|
family: ie.familyDefault
|
|
});
|
|
});
|
|
jw();
|
|
function ym(e, t) {
|
|
return (Pw[e] || {})[t];
|
|
}
|
|
function z6(e, t) {
|
|
return (Aw[e] || {})[t];
|
|
}
|
|
function Kn(e, t) {
|
|
return (Nw[e] || {})[t];
|
|
}
|
|
function Iw(e) {
|
|
return Ew[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function T6(e) {
|
|
const t = Cw[e], r = ym("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function zn() {
|
|
return hm;
|
|
}
|
|
const zw = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function M6(e) {
|
|
let t = yt;
|
|
const r = Sw.reduce((n, o) => (n[o] = "".concat(ie.cssPrefix, "-").concat(o), n), {});
|
|
return dw.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => N6[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Dl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = yt
|
|
} = t, n = u6[r][e];
|
|
if (r === _l && !e)
|
|
return "fad";
|
|
const o = ih[r][e] || ih[r][n], a = e in nr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function R6(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = I6(ie.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function uh(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Ll(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Gf.concat(QA), a = uh(e.filter((f) => o.includes(f))), i = uh(e.filter((f) => !Gf.includes(f))), s = a.filter((f) => (n = f, !fw.includes(f))), [c = null] = s, l = M6(a), u = J(J({}, R6(i)), {}, {
|
|
prefix: Dl(c, {
|
|
family: l
|
|
})
|
|
});
|
|
return J(J(J({}, u), L6({
|
|
values: e,
|
|
family: l,
|
|
styles: Ni,
|
|
config: ie,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), _6(r, n, u));
|
|
}
|
|
function _6(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? Iw(o) : {}, i = Kn(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Ni.far && Ni.fas && !ie.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const F6 = dw.filter((e) => e !== yt || e !== _l), D6 = Object.keys(Yf).filter((e) => e !== yt).map((e) => Object.keys(Yf[e])).flat();
|
|
function L6(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === _l, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (c || l || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && F6.includes(r) && (Object.keys(a).find((f) => D6.includes(f)) || i.autoFetchSvg)) {
|
|
const f = VA.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Kn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = zn() || "fas"), n;
|
|
}
|
|
class W6 {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = J(J({}, this.definitions[a] || {}), o[a]), Xf(a, o[a]);
|
|
const i = mm[yt][a];
|
|
i && Xf(i, o[a]), jw();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], c = s[2];
|
|
t[a] || (t[a] = {}), c.length > 0 && c.forEach((l) => {
|
|
typeof l == "string" && (t[a][l] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let fh = [], No = {};
|
|
const Vo = {}, Y6 = Object.keys(Vo);
|
|
function G6(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return fh = e, No = {}, Object.keys(Vo).forEach((n) => {
|
|
Y6.indexOf(n) === -1 && delete Vo[n];
|
|
}), fh.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
No[i] || (No[i] = []), No[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Vo);
|
|
}), r;
|
|
}
|
|
function Kf(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (No[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function so(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(No[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Tn() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Vo[e] ? Vo[e].apply(null, t) : void 0;
|
|
}
|
|
function Jf(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || zn();
|
|
if (t)
|
|
return t = Kn(r, t) || t, lh(Tw.definitions, r, t) || lh(nr.styles, r, t);
|
|
}
|
|
const Tw = new W6(), V6 = () => {
|
|
ie.autoReplaceSvg = !1, ie.observeMutations = !1, so("noAuto");
|
|
}, U6 = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Wr ? (so("beforeI2svg", e), Tn("pseudoElements2svg", e), Tn("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;
|
|
ie.autoReplaceSvg === !1 && (ie.autoReplaceSvg = !0), ie.observeMutations = !0, P6(() => {
|
|
H6({
|
|
autoReplaceSvgRoot: t
|
|
}), so("watch", e);
|
|
});
|
|
}
|
|
}, q6 = {
|
|
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 = Dl(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Kn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ie.cssPrefix, "-")) > -1 || e.match(f6))) {
|
|
const t = Ll(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || zn(),
|
|
iconName: Kn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = zn();
|
|
return {
|
|
prefix: t,
|
|
iconName: Kn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, jt = {
|
|
noAuto: V6,
|
|
config: ie,
|
|
dom: U6,
|
|
parse: q6,
|
|
library: Tw,
|
|
findIconDefinition: Jf,
|
|
toHtml: Ji
|
|
}, H6 = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = lt
|
|
} = e;
|
|
(Object.keys(nr.styles).length > 0 || ie.autoFetchSvg) && Wr && ie.autoReplaceSvg && jt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Wl(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 (!Wr) return;
|
|
const r = lt.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function B6(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (bm(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: c
|
|
} = r, l = {
|
|
x: s / c / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Fl(J(J({}, a), {}, {
|
|
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function X6(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ie.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: J(J({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function vm(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: c,
|
|
titleId: l,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: y
|
|
} = r.found ? r : t, x = XA.includes(n), m = [ie.replacementClass, o ? "".concat(ie.cssPrefix, "-").concat(o) : ""].filter((b) => u.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(u.classes).join(" ");
|
|
let p = {
|
|
children: [],
|
|
attributes: J(J({}, u.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: u.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(d, " ").concat(y)
|
|
})
|
|
};
|
|
const v = x && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / y * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (p.attributes[io] = ""), s && (p.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: p.attributes["aria-labelledby"] || "title-".concat(l || Ci())
|
|
},
|
|
children: [s]
|
|
}), delete p.attributes.title);
|
|
const k = J(J({}, p), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: c,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: J(J({}, v), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: O
|
|
} = r.found && t.found ? Tn("generateAbstractMask", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Tn("generateAbstractIcon", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return k.children = $, k.attributes = O, i ? X6(k) : B6(k);
|
|
}
|
|
function dh(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, c = J(J(J({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (c[io] = "");
|
|
const l = J({}, i.styles);
|
|
bm(o) && (l.transform = $6({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), l["-webkit-transform"] = l.transform);
|
|
const u = Fl(l);
|
|
u.length > 0 && (c.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: c,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function K6(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = J(J(J({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Fl(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Jc
|
|
} = nr;
|
|
function Qf(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ie.cssPrefix, "-").concat(Bc.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ie.cssPrefix, "-").concat(Bc.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ie.cssPrefix, "-").concat(Bc.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const J6 = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function Q6(e, t) {
|
|
!bw && !ie.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Zf(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ie.styleDefault !== null && (t = zn()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = Iw(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Jc[t] && Jc[t][e]) {
|
|
const a = Jc[t][e];
|
|
return n(Qf(a));
|
|
}
|
|
Q6(e, t), n(J(J({}, J6), {}, {
|
|
icon: ie.showMissingIcons && e ? Tn("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const ph = () => {
|
|
}, ed = ie.measurePerformance && hs && hs.mark && hs.measure ? hs : {
|
|
mark: ph,
|
|
measure: ph
|
|
}, ti = 'FA "6.7.2"', Z6 = (e) => (ed.mark("".concat(ti, " ").concat(e, " begins")), () => Mw(e)), Mw = (e) => {
|
|
ed.mark("".concat(ti, " ").concat(e, " ends")), ed.measure("".concat(ti, " ").concat(e), "".concat(ti, " ").concat(e, " begins"), "".concat(ti, " ").concat(e, " ends"));
|
|
};
|
|
var xm = {
|
|
begin: Z6,
|
|
end: Mw
|
|
};
|
|
const Ls = () => {
|
|
};
|
|
function mh(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(io) : null) == "string";
|
|
}
|
|
function eE(e) {
|
|
const t = e.getAttribute ? e.getAttribute(dm) : null, r = e.getAttribute ? e.getAttribute(pm) : null;
|
|
return t && r;
|
|
}
|
|
function tE(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ie.replacementClass);
|
|
}
|
|
function rE() {
|
|
return ie.autoReplaceSvg === !0 ? Ws.replace : Ws[ie.autoReplaceSvg] || Ws.replace;
|
|
}
|
|
function nE(e) {
|
|
return lt.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function oE(e) {
|
|
return lt.createElement(e);
|
|
}
|
|
function Rw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? nE : oE
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return lt.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(Rw(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function aE(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Ws = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(Rw(r), t);
|
|
}), t.getAttribute(io) === null && ie.keepOriginalSource) {
|
|
let r = lt.createComment(aE(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~gm(t).indexOf(ie.replacementClass))
|
|
return Ws.replace(e);
|
|
const n = new RegExp("".concat(ie.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ie.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Ji(a)).join(`
|
|
`);
|
|
t.setAttribute(io, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function gh(e) {
|
|
e();
|
|
}
|
|
function _w(e, t) {
|
|
const r = typeof t == "function" ? t : Ls;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = gh;
|
|
ie.mutateApproach === l6 && (n = In.requestAnimationFrame || gh), n(() => {
|
|
const o = rE(), a = xm.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let wm = !1;
|
|
function Fw() {
|
|
wm = !0;
|
|
}
|
|
function td() {
|
|
wm = !1;
|
|
}
|
|
let cl = null;
|
|
function bh(e) {
|
|
if (!rh || !ie.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Ls,
|
|
nodeCallback: r = Ls,
|
|
pseudoElementsCallback: n = Ls,
|
|
observeMutationsRoot: o = lt
|
|
} = e;
|
|
cl = new rh((a) => {
|
|
if (wm) return;
|
|
const i = zn();
|
|
ga(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !mh(s.addedNodes[0]) && (ie.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ie.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && mh(s.target) && ~m6.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && eE(s.target)) {
|
|
const {
|
|
prefix: c,
|
|
iconName: l
|
|
} = Ll(gm(s.target));
|
|
s.target.setAttribute(dm, c || i), l && s.target.setAttribute(pm, l);
|
|
} else tE(s.target) && r(s.target);
|
|
});
|
|
}), Wr && cl.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function iE() {
|
|
cl && cl.disconnect();
|
|
}
|
|
function sE(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function lE(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Ll(gm(e));
|
|
return o.prefix || (o.prefix = zn()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = z6(o.prefix, e.innerText) || ym(o.prefix, Ow(e.innerText))), !o.iconName && ie.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function cE(e) {
|
|
const t = ga(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ie.autoA11y && (r ? t["aria-labelledby"] = "".concat(ie.replacementClass, "-title-").concat(n || Ci()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function uE() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: rr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function hh(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = lE(e), a = cE(e), i = Kf("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? sE(e) : [];
|
|
return J({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: rr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: fE
|
|
} = nr;
|
|
function Dw(e) {
|
|
const t = ie.autoReplaceSvg === "nest" ? hh(e, {
|
|
styleParser: !1
|
|
}) : hh(e);
|
|
return ~t.extra.classes.indexOf(yw) ? Tn("generateLayersText", e, t) : Tn("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function dE() {
|
|
return [...qA, ...Gf];
|
|
}
|
|
function yh(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Wr) return Promise.resolve();
|
|
const r = lt.documentElement.classList, n = (u) => r.add("".concat(ah, "-").concat(u)), o = (u) => r.remove("".concat(ah, "-").concat(u)), a = ie.autoFetchSvg ? dE() : fw.concat(Object.keys(fE));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(yw, ":not([").concat(io, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(io, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = ga(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const c = xm.begin("onTree"), l = s.reduce((u, f) => {
|
|
try {
|
|
const d = Dw(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
bw || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(l).then((d) => {
|
|
_w(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), c(), u();
|
|
});
|
|
}).catch((d) => {
|
|
c(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function pE(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
Dw(e).then((r) => {
|
|
r && _w([r], t);
|
|
});
|
|
}
|
|
function mE(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Jf(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : Jf(o || {})), e(n, J(J({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const gE = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = rr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: c = [],
|
|
attributes: l = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: y
|
|
} = e;
|
|
return Wl(J({
|
|
type: "icon"
|
|
}, e), () => (so("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ie.autoA11y && (i ? l["aria-labelledby"] = "".concat(ie.replacementClass, "-title-").concat(s || Ci()) : (l["aria-hidden"] = "true", l.focusable = "false")), vm({
|
|
icons: {
|
|
main: Qf(y),
|
|
mask: o ? Qf(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: J(J({}, rr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: l,
|
|
styles: u,
|
|
classes: c
|
|
}
|
|
})));
|
|
};
|
|
var bE = {
|
|
mixout() {
|
|
return {
|
|
icon: mE(gE)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = yh, e.nodeCallback = pE, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = lt,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return yh(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: c,
|
|
mask: l,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, y) => {
|
|
Promise.all([Zf(n, i), l.iconName ? Zf(l.iconName, l.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((x) => {
|
|
let [m, p] = x;
|
|
d([t, vm({
|
|
icons: {
|
|
main: m,
|
|
mask: p
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: c,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(y);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Fl(i);
|
|
s.length > 0 && (n.style = s);
|
|
let c;
|
|
return bm(a) && (c = Tn("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(c || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, hE = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Wl({
|
|
type: "layer"
|
|
}, () => {
|
|
so("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ie.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, yE = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Wl({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (so("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), K6({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ie.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, vE = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = rr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Wl({
|
|
type: "text",
|
|
content: e
|
|
}, () => (so("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), dh({
|
|
content: e,
|
|
transform: J(J({}, rr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ie.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (cw) {
|
|
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
|
|
i = l.width / c, s = l.height / c;
|
|
}
|
|
return ie.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, dh({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const xE = new RegExp('"', "ug"), vh = [1105920, 1112319], xh = J(J(J(J({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), GA), i6), ZA), rd = Object.keys(xh).reduce((e, t) => (e[t.toLowerCase()] = xh[t], e), {}), wE = Object.keys(rd).reduce((e, t) => {
|
|
const r = rd[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function kE(e) {
|
|
const t = e.replace(xE, ""), r = E6(t, 0), n = r >= vh[0] && r <= vh[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: Ow(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function $E(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (rd[r] || {})[o] || wE[r];
|
|
}
|
|
function wh(e, t) {
|
|
const r = "".concat(s6).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = ga(e.children).filter((f) => f.getAttribute(Uf) === t)[0], i = In.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), c = s.match(d6), l = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !c)
|
|
return e.removeChild(a), n();
|
|
if (c && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = $E(s, l);
|
|
const {
|
|
value: y,
|
|
isSecondary: x
|
|
} = kE(f), m = c[0].startsWith("FontAwesome");
|
|
let p = ym(d, y), v = p;
|
|
if (m) {
|
|
const k = T6(y);
|
|
k.iconName && k.prefix && (p = k.iconName, d = k.prefix);
|
|
}
|
|
if (p && !x && (!a || a.getAttribute(dm) !== d || a.getAttribute(pm) !== v)) {
|
|
e.setAttribute(r, v), a && e.removeChild(a);
|
|
const k = uE(), {
|
|
extra: $
|
|
} = k;
|
|
$.attributes[Uf] = t, Zf(p, d).then((O) => {
|
|
const b = vm(J(J({}, k), {}, {
|
|
icons: {
|
|
main: O,
|
|
mask: zw()
|
|
},
|
|
prefix: d,
|
|
iconName: v,
|
|
extra: $,
|
|
watchable: !0
|
|
})), L = lt.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(L, e.firstChild) : e.appendChild(L), L.outerHTML = b.map((M) => Ji(M)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function OE(e) {
|
|
return Promise.all([wh(e, "::before"), wh(e, "::after")]);
|
|
}
|
|
function SE(e) {
|
|
return e.parentNode !== document.head && !~c6.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Uf) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function kh(e) {
|
|
if (Wr)
|
|
return new Promise((t, r) => {
|
|
const n = ga(e.querySelectorAll("*")).filter(SE).map(OE), o = xm.begin("searchPseudoElements");
|
|
Fw(), Promise.all(n).then(() => {
|
|
o(), td(), t();
|
|
}).catch(() => {
|
|
o(), td(), r();
|
|
});
|
|
});
|
|
}
|
|
var PE = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = kh, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = lt
|
|
} = t;
|
|
ie.searchPseudoElements && kh(r);
|
|
};
|
|
}
|
|
};
|
|
let $h = !1;
|
|
var AE = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
Fw(), $h = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
bh(Kf("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
iE();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
$h ? td() : bh(Kf("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Oh = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var EE = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => Oh(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = Oh(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), c = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), l = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(c, " ").concat(l)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: J({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: J({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: J(J({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Qc = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function Sh(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 CE(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var NE = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Ll(r.split(" ").map((o) => o.trim())) : zw();
|
|
return n.prefix || (n.prefix = zn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: c,
|
|
icon: l
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = k6({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: c
|
|
}), y = {
|
|
tag: "rect",
|
|
attributes: J(J({}, Qc), {}, {
|
|
fill: "white"
|
|
})
|
|
}, x = l.children ? {
|
|
children: l.children.map(Sh)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: J({}, d.inner),
|
|
children: [Sh(J({
|
|
tag: l.tag,
|
|
attributes: J(J({}, l.attributes), d.path)
|
|
}, x))]
|
|
}, p = {
|
|
tag: "g",
|
|
attributes: J({}, d.outer),
|
|
children: [m]
|
|
}, v = "mask-".concat(i || Ci()), k = "clip-".concat(i || Ci()), $ = {
|
|
tag: "mask",
|
|
attributes: J(J({}, Qc), {}, {
|
|
id: v,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [y, p]
|
|
}, O = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: k
|
|
},
|
|
children: CE(f)
|
|
}, $]
|
|
};
|
|
return r.push(O, {
|
|
tag: "rect",
|
|
attributes: J({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(k, ")"),
|
|
mask: "url(#".concat(v, ")")
|
|
}, Qc)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, jE = {
|
|
provides(e) {
|
|
let t = !1;
|
|
In.matchMedia && (t = In.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: J(J({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = J(J({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: J(J({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: J(J({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: J(J({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: J(J({}, 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: J(J({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: J(J({}, 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: J(J({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, IE = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, zE = [S6, bE, hE, yE, vE, PE, AE, EE, NE, jE, IE];
|
|
G6(zE, {
|
|
mixoutsTo: jt
|
|
});
|
|
jt.noAuto;
|
|
jt.config;
|
|
jt.library;
|
|
jt.dom;
|
|
const nd = jt.parse;
|
|
jt.findIconDefinition;
|
|
jt.toHtml;
|
|
const TE = jt.icon;
|
|
jt.layer;
|
|
jt.text;
|
|
jt.counter;
|
|
function ME(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var vs = { exports: {} }, Zc = { exports: {} }, Fe = {};
|
|
/** @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 Ph;
|
|
function RE() {
|
|
if (Ph) return Fe;
|
|
Ph = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var L = b.$$typeof;
|
|
switch (L) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return L;
|
|
}
|
|
}
|
|
case r:
|
|
return L;
|
|
}
|
|
}
|
|
}
|
|
function O(b) {
|
|
return $(b) === l;
|
|
}
|
|
return Fe.AsyncMode = c, Fe.ConcurrentMode = l, Fe.ContextConsumer = s, Fe.ContextProvider = i, Fe.Element = t, Fe.ForwardRef = u, Fe.Fragment = n, Fe.Lazy = x, Fe.Memo = y, Fe.Portal = r, Fe.Profiler = a, Fe.StrictMode = o, Fe.Suspense = f, Fe.isAsyncMode = function(b) {
|
|
return O(b) || $(b) === c;
|
|
}, Fe.isConcurrentMode = O, Fe.isContextConsumer = function(b) {
|
|
return $(b) === s;
|
|
}, Fe.isContextProvider = function(b) {
|
|
return $(b) === i;
|
|
}, Fe.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Fe.isForwardRef = function(b) {
|
|
return $(b) === u;
|
|
}, Fe.isFragment = function(b) {
|
|
return $(b) === n;
|
|
}, Fe.isLazy = function(b) {
|
|
return $(b) === x;
|
|
}, Fe.isMemo = function(b) {
|
|
return $(b) === y;
|
|
}, Fe.isPortal = function(b) {
|
|
return $(b) === r;
|
|
}, Fe.isProfiler = function(b) {
|
|
return $(b) === a;
|
|
}, Fe.isStrictMode = function(b) {
|
|
return $(b) === o;
|
|
}, Fe.isSuspense = function(b) {
|
|
return $(b) === f;
|
|
}, Fe.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === l || b === a || b === o || b === f || b === d || typeof b == "object" && b !== null && (b.$$typeof === x || b.$$typeof === y || b.$$typeof === i || b.$$typeof === s || b.$$typeof === u || b.$$typeof === p || b.$$typeof === v || b.$$typeof === k || b.$$typeof === m);
|
|
}, Fe.typeOf = $, Fe;
|
|
}
|
|
var Ue = {};
|
|
/** @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 Ah;
|
|
function _E() {
|
|
return Ah || (Ah = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(w) {
|
|
return typeof w == "string" || typeof w == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
w === n || w === l || w === a || w === o || w === f || w === d || typeof w == "object" && w !== null && (w.$$typeof === x || w.$$typeof === y || w.$$typeof === i || w.$$typeof === s || w.$$typeof === u || w.$$typeof === p || w.$$typeof === v || w.$$typeof === k || w.$$typeof === m);
|
|
}
|
|
function O(w) {
|
|
if (typeof w == "object" && w !== null) {
|
|
var oe = w.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var Ae = w.type;
|
|
switch (Ae) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ae;
|
|
default:
|
|
var mt = Ae && Ae.$$typeof;
|
|
switch (mt) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return mt;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = c, L = l, M = s, B = i, H = t, U = u, X = n, S = x, ne = y, F = r, R = a, _ = o, G = f, Y = !1;
|
|
function V(w) {
|
|
return Y || (Y = !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.")), g(w) || O(w) === c;
|
|
}
|
|
function g(w) {
|
|
return O(w) === l;
|
|
}
|
|
function h(w) {
|
|
return O(w) === s;
|
|
}
|
|
function N(w) {
|
|
return O(w) === i;
|
|
}
|
|
function A(w) {
|
|
return typeof w == "object" && w !== null && w.$$typeof === t;
|
|
}
|
|
function P(w) {
|
|
return O(w) === u;
|
|
}
|
|
function j(w) {
|
|
return O(w) === n;
|
|
}
|
|
function C(w) {
|
|
return O(w) === x;
|
|
}
|
|
function E(w) {
|
|
return O(w) === y;
|
|
}
|
|
function I(w) {
|
|
return O(w) === r;
|
|
}
|
|
function z(w) {
|
|
return O(w) === a;
|
|
}
|
|
function T(w) {
|
|
return O(w) === o;
|
|
}
|
|
function q(w) {
|
|
return O(w) === f;
|
|
}
|
|
Ue.AsyncMode = b, Ue.ConcurrentMode = L, Ue.ContextConsumer = M, Ue.ContextProvider = B, Ue.Element = H, Ue.ForwardRef = U, Ue.Fragment = X, Ue.Lazy = S, Ue.Memo = ne, Ue.Portal = F, Ue.Profiler = R, Ue.StrictMode = _, Ue.Suspense = G, Ue.isAsyncMode = V, Ue.isConcurrentMode = g, Ue.isContextConsumer = h, Ue.isContextProvider = N, Ue.isElement = A, Ue.isForwardRef = P, Ue.isFragment = j, Ue.isLazy = C, Ue.isMemo = E, Ue.isPortal = I, Ue.isProfiler = z, Ue.isStrictMode = T, Ue.isSuspense = q, Ue.isValidElementType = $, Ue.typeOf = O;
|
|
}()), Ue;
|
|
}
|
|
var Eh;
|
|
function Lw() {
|
|
return Eh || (Eh = 1, process.env.NODE_ENV === "production" ? Zc.exports = RE() : Zc.exports = _E()), Zc.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var eu, Ch;
|
|
function FE() {
|
|
if (Ch) return eu;
|
|
Ch = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var c = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (c.join("") !== "0123456789")
|
|
return !1;
|
|
var l = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
l[u] = u;
|
|
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return eu = o() ? Object.assign : function(a, i) {
|
|
for (var s, c = n(a), l, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (c[f] = s[f]);
|
|
if (e) {
|
|
l = e(s);
|
|
for (var d = 0; d < l.length; d++)
|
|
r.call(s, l[d]) && (c[l[d]] = s[l[d]]);
|
|
}
|
|
}
|
|
return c;
|
|
}, eu;
|
|
}
|
|
var tu, Nh;
|
|
function km() {
|
|
if (Nh) return tu;
|
|
Nh = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return tu = e, tu;
|
|
}
|
|
var jh, Ih;
|
|
function Ww() {
|
|
return Ih || (Ih = 1, jh = Function.call.bind(Object.prototype.hasOwnProperty)), jh;
|
|
}
|
|
var ru, zh;
|
|
function DE() {
|
|
if (zh) return ru;
|
|
zh = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ km(), r = {}, n = /* @__PURE__ */ Ww();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, c, l) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var u in a)
|
|
if (n(a, u)) {
|
|
var f;
|
|
try {
|
|
if (typeof a[u] != "function") {
|
|
var d = Error(
|
|
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw d.name = "Invariant Violation", d;
|
|
}
|
|
f = a[u](i, u, c, s, null, t);
|
|
} catch (x) {
|
|
f = x;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), f instanceof Error && !(f.message in r)) {
|
|
r[f.message] = !0;
|
|
var y = l ? l() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (y ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, ru = o, ru;
|
|
}
|
|
var nu, Th;
|
|
function LE() {
|
|
if (Th) return nu;
|
|
Th = 1;
|
|
var e = Lw(), t = FE(), r = /* @__PURE__ */ km(), n = /* @__PURE__ */ Ww(), o = /* @__PURE__ */ DE(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var c = "Warning: " + s;
|
|
typeof console < "u" && console.error(c);
|
|
try {
|
|
throw new Error(c);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return nu = function(s, c) {
|
|
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(g) {
|
|
var h = g && (l && g[l] || g[u]);
|
|
if (typeof h == "function")
|
|
return h;
|
|
}
|
|
var d = "<<anonymous>>", y = {
|
|
array: v("array"),
|
|
bigint: v("bigint"),
|
|
bool: v("boolean"),
|
|
func: v("function"),
|
|
number: v("number"),
|
|
object: v("object"),
|
|
string: v("string"),
|
|
symbol: v("symbol"),
|
|
any: k(),
|
|
arrayOf: $,
|
|
element: O(),
|
|
elementType: b(),
|
|
instanceOf: L,
|
|
node: U(),
|
|
objectOf: B,
|
|
oneOf: M,
|
|
oneOfType: H,
|
|
shape: S,
|
|
exact: ne
|
|
};
|
|
function x(g, h) {
|
|
return g === h ? g !== 0 || 1 / g === 1 / h : g !== g && h !== h;
|
|
}
|
|
function m(g, h) {
|
|
this.message = g, this.data = h && typeof h == "object" ? h : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function p(g) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var h = {}, N = 0;
|
|
function A(j, C, E, I, z, T, q) {
|
|
if (I = I || d, T = T || E, q !== r) {
|
|
if (c) {
|
|
var w = 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 w.name = "Invariant Violation", w;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + E;
|
|
!h[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
N < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), h[oe] = !0, N++);
|
|
}
|
|
}
|
|
return C[E] == null ? j ? C[E] === null ? new m("The " + z + " `" + T + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + z + " `" + T + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : g(C, E, I, z, T);
|
|
}
|
|
var P = A.bind(null, !1);
|
|
return P.isRequired = A.bind(null, !0), P;
|
|
}
|
|
function v(g) {
|
|
function h(N, A, P, j, C, E) {
|
|
var I = N[A], z = _(I);
|
|
if (z !== g) {
|
|
var T = G(I);
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."),
|
|
{ expectedType: g }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function k() {
|
|
return p(i);
|
|
}
|
|
function $(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside arrayOf.");
|
|
var E = N[A];
|
|
if (!Array.isArray(E)) {
|
|
var I = _(E);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an array."));
|
|
}
|
|
for (var z = 0; z < E.length; z++) {
|
|
var T = g(E, z, P, j, C + "[" + z + "]", r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function O() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!s(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function b() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!e.isValidElementType(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function L(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (!(N[A] instanceof g)) {
|
|
var E = g.name || d, I = V(N[A]);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected ") + ("instance of `" + E + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function M(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function h(N, A, P, j, C) {
|
|
for (var E = N[A], I = 0; I < g.length; I++)
|
|
if (x(E, g[I]))
|
|
return null;
|
|
var z = JSON.stringify(g, function(T, q) {
|
|
var w = G(q);
|
|
return w === "symbol" ? String(q) : q;
|
|
});
|
|
return new m("Invalid " + j + " `" + C + "` of value `" + String(E) + "` " + ("supplied to `" + P + "`, expected one of " + z + "."));
|
|
}
|
|
return p(h);
|
|
}
|
|
function B(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside objectOf.");
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an object."));
|
|
for (var z in E)
|
|
if (n(E, z)) {
|
|
var T = g(E, z, P, j, C + "." + z, r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function H(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var h = 0; h < g.length; h++) {
|
|
var N = g[h];
|
|
if (typeof N != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(N) + " at index " + h + "."
|
|
), i;
|
|
}
|
|
function A(P, j, C, E, I) {
|
|
for (var z = [], T = 0; T < g.length; T++) {
|
|
var q = g[T], w = q(P, j, C, E, I, r);
|
|
if (w == null)
|
|
return null;
|
|
w.data && n(w.data, "expectedType") && z.push(w.data.expectedType);
|
|
}
|
|
var oe = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
|
|
return new m("Invalid " + E + " `" + I + "` supplied to " + ("`" + C + "`" + oe + "."));
|
|
}
|
|
return p(A);
|
|
}
|
|
function U() {
|
|
function g(h, N, A, P, j) {
|
|
return F(h[N]) ? null : new m("Invalid " + P + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return p(g);
|
|
}
|
|
function X(g, h, N, A, P) {
|
|
return new m(
|
|
(g || "React class") + ": " + h + " type `" + N + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`."
|
|
);
|
|
}
|
|
function S(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
for (var z in g) {
|
|
var T = g[z];
|
|
if (typeof T != "function")
|
|
return X(P, j, C, z, G(T));
|
|
var q = T(E, z, P, j, C + "." + z, r);
|
|
if (q)
|
|
return q;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function ne(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
var z = t({}, N[A], g);
|
|
for (var T in z) {
|
|
var q = g[T];
|
|
if (n(g, T) && typeof q != "function")
|
|
return X(P, j, C, T, G(q));
|
|
if (!q)
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(N[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
|
|
);
|
|
var w = q(E, T, P, j, C + "." + T, r);
|
|
if (w)
|
|
return w;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function F(g) {
|
|
switch (typeof g) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !g;
|
|
case "object":
|
|
if (Array.isArray(g))
|
|
return g.every(F);
|
|
if (g === null || s(g))
|
|
return !0;
|
|
var h = f(g);
|
|
if (h) {
|
|
var N = h.call(g), A;
|
|
if (h !== g.entries) {
|
|
for (; !(A = N.next()).done; )
|
|
if (!F(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = N.next()).done; ) {
|
|
var P = A.value;
|
|
if (P && !F(P[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function R(g, h) {
|
|
return g === "symbol" ? !0 : h ? h["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && h instanceof Symbol : !1;
|
|
}
|
|
function _(g) {
|
|
var h = typeof g;
|
|
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : R(h, g) ? "symbol" : h;
|
|
}
|
|
function G(g) {
|
|
if (typeof g > "u" || g === null)
|
|
return "" + g;
|
|
var h = _(g);
|
|
if (h === "object") {
|
|
if (g instanceof Date)
|
|
return "date";
|
|
if (g instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return h;
|
|
}
|
|
function Y(g) {
|
|
var h = G(g);
|
|
switch (h) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + h;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + h;
|
|
default:
|
|
return h;
|
|
}
|
|
}
|
|
function V(g) {
|
|
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
|
|
}
|
|
return y.checkPropTypes = o, y.resetWarningCache = o.resetWarningCache, y.PropTypes = y, y;
|
|
}, nu;
|
|
}
|
|
var ou, Mh;
|
|
function WE() {
|
|
if (Mh) return ou;
|
|
Mh = 1;
|
|
var e = /* @__PURE__ */ km();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, ou = function() {
|
|
function n(i, s, c, l, u, f) {
|
|
if (f !== e) {
|
|
var d = 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 d.name = "Invariant Violation", d;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, ou;
|
|
}
|
|
var Rh;
|
|
function YE() {
|
|
if (Rh) return vs.exports;
|
|
if (Rh = 1, process.env.NODE_ENV !== "production") {
|
|
var e = Lw(), t = !0;
|
|
vs.exports = /* @__PURE__ */ LE()(e.isElement, t);
|
|
} else
|
|
vs.exports = /* @__PURE__ */ WE()();
|
|
return vs.exports;
|
|
}
|
|
var GE = /* @__PURE__ */ YE();
|
|
const Ce = /* @__PURE__ */ ME(GE);
|
|
function _h(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Bt(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? _h(Object(r), !0).forEach(function(n) {
|
|
jo(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : _h(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function ul(e) {
|
|
"@babel/helpers - typeof";
|
|
return ul = 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;
|
|
}, ul(e);
|
|
}
|
|
function jo(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function VE(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function UE(e, t) {
|
|
if (e == null) return {};
|
|
var r = VE(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function od(e) {
|
|
return qE(e) || HE(e) || BE(e) || XE();
|
|
}
|
|
function qE(e) {
|
|
if (Array.isArray(e)) return ad(e);
|
|
}
|
|
function HE(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function BE(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return ad(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 ad(e, t);
|
|
}
|
|
}
|
|
function ad(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 XE() {
|
|
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 KE(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, x = e.border, m = e.listItem, p = e.flip, v = e.size, k = e.rotation, $ = e.pull, O = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": c,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": l,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": y,
|
|
"fa-border": x,
|
|
"fa-li": m,
|
|
"fa-flip": p === !0,
|
|
"fa-flip-horizontal": p === "horizontal" || p === "both",
|
|
"fa-flip-vertical": p === "vertical" || p === "both"
|
|
}, jo(t, "fa-".concat(v), typeof v < "u" && v !== null), jo(t, "fa-rotate-".concat(k), typeof k < "u" && k !== null && k !== 0), jo(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), jo(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(O).map(function(b) {
|
|
return O[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function JE(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function Yw(e) {
|
|
return JE(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var QE = ["style"];
|
|
function ZE(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function eC(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = Yw(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[ZE(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function Gw(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(c) {
|
|
return Gw(e, c);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(c, l) {
|
|
var u = t.attributes[l];
|
|
switch (l) {
|
|
case "class":
|
|
c.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
c.attrs.style = eC(u);
|
|
break;
|
|
default:
|
|
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[Yw(l)] = u;
|
|
}
|
|
return c;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = UE(r, QE);
|
|
return o.attrs.style = Bt(Bt({}, o.attrs.style), i), e.apply(void 0, [t.tag, Bt(Bt({}, o.attrs), s)].concat(od(n)));
|
|
}
|
|
var Vw = !1;
|
|
try {
|
|
Vw = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function tC() {
|
|
if (!Vw && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function Fh(e) {
|
|
if (e && ul(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (nd.icon)
|
|
return nd.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && ul(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 au(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? jo({}, e, t) : {};
|
|
}
|
|
var Dh = {
|
|
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
|
|
}, $m = /* @__PURE__ */ Pe.forwardRef(function(e, t) {
|
|
var r = Bt(Bt({}, Dh), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, c = r.titleId, l = r.maskId, u = Fh(n), f = au("classes", [].concat(od(KE(r)), od((i || "").split(" ")))), d = au("transform", typeof r.transform == "string" ? nd.transform(r.transform) : r.transform), y = au("mask", Fh(o)), x = TE(u, Bt(Bt(Bt(Bt({}, f), d), y), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: c,
|
|
maskId: l
|
|
}));
|
|
if (!x)
|
|
return tC("Could not find icon", u), null;
|
|
var m = x.abstract, p = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(v) {
|
|
Dh.hasOwnProperty(v) || (p[v] = r[v]);
|
|
}), rC(m[0], p);
|
|
});
|
|
$m.displayName = "FontAwesomeIcon";
|
|
$m.propTypes = {
|
|
beat: Ce.bool,
|
|
border: Ce.bool,
|
|
beatFade: Ce.bool,
|
|
bounce: Ce.bool,
|
|
className: Ce.string,
|
|
fade: Ce.bool,
|
|
flash: Ce.bool,
|
|
mask: Ce.oneOfType([Ce.object, Ce.array, Ce.string]),
|
|
maskId: Ce.string,
|
|
fixedWidth: Ce.bool,
|
|
inverse: Ce.bool,
|
|
flip: Ce.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ce.oneOfType([Ce.object, Ce.array, Ce.string]),
|
|
listItem: Ce.bool,
|
|
pull: Ce.oneOf(["right", "left"]),
|
|
pulse: Ce.bool,
|
|
rotation: Ce.oneOf([0, 90, 180, 270]),
|
|
shake: Ce.bool,
|
|
size: Ce.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ce.bool,
|
|
spinPulse: Ce.bool,
|
|
spinReverse: Ce.bool,
|
|
symbol: Ce.oneOfType([Ce.bool, Ce.string]),
|
|
title: Ce.string,
|
|
titleId: Ce.string,
|
|
transform: Ce.oneOfType([Ce.string, Ce.object]),
|
|
swapOpacity: Ce.bool
|
|
};
|
|
var rC = Gw.bind(null, Pe.createElement);
|
|
const Om = "-", nC = (e) => {
|
|
const t = aC(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Om);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), Uw(a, t) || oC(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, Uw = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? Uw(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Om);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, Lh = /^\[(.+)\]$/, oC = (e) => {
|
|
if (Lh.test(e)) {
|
|
const t = Lh.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, aC = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return sC(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
id(a, n, o, t);
|
|
}), n;
|
|
}, id = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : Wh(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (iC(o)) {
|
|
id(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
id(i, Wh(t, a), r, n);
|
|
});
|
|
});
|
|
}, Wh = (e, t) => {
|
|
let r = e;
|
|
return t.split(Om).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, iC = (e) => e.isThemeGetter, sC = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, lC = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, qw = "!", cC = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(qw), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, uC = (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;
|
|
}, fC = (e) => ({
|
|
cache: lC(e.cacheSize),
|
|
parseClassName: cC(e),
|
|
...nC(e)
|
|
}), dC = /\s+/, pC = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(dC);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = uC(u).join(":"), v = f ? p + qw : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function mC() {
|
|
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 gC(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = fC(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = pC(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(mC.apply(null, arguments));
|
|
};
|
|
}
|
|
const Qe = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, Bw = /^\[(?:([a-z-]+):)?(.+)\]$/i, bC = /^\d+\/\d+$/, hC = /* @__PURE__ */ new Set(["px", "full", "screen"]), yC = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, vC = /\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$/, xC = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, wC = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, kC = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, br = (e) => Uo(e) || hC.has(e) || bC.test(e), Kr = (e) => ba(e, "length", NC), Uo = (e) => !!e && !Number.isNaN(Number(e)), iu = (e) => ba(e, "number", Uo), Ia = (e) => !!e && Number.isInteger(Number(e)), $C = (e) => e.endsWith("%") && Uo(e.slice(0, -1)), be = (e) => Bw.test(e), Jr = (e) => yC.test(e), OC = /* @__PURE__ */ new Set(["length", "size", "percentage"]), SC = (e) => ba(e, OC, Xw), PC = (e) => ba(e, "position", Xw), AC = /* @__PURE__ */ new Set(["image", "url"]), EC = (e) => ba(e, AC, IC), CC = (e) => ba(e, "", jC), za = () => !0, ba = (e, t, r) => {
|
|
const n = Bw.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, NC = (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.
|
|
vC.test(e) && !xC.test(e)
|
|
), Xw = () => !1, jC = (e) => wC.test(e), IC = (e) => kC.test(e), zC = () => {
|
|
const e = Qe("colors"), t = Qe("spacing"), r = Qe("blur"), n = Qe("brightness"), o = Qe("borderColor"), a = Qe("borderRadius"), i = Qe("borderSpacing"), s = Qe("borderWidth"), c = Qe("contrast"), l = Qe("grayscale"), u = Qe("hueRotate"), f = Qe("invert"), d = Qe("gap"), y = Qe("gradientColorStops"), x = Qe("gradientColorStopPositions"), m = Qe("inset"), p = Qe("margin"), v = Qe("opacity"), k = Qe("padding"), $ = Qe("saturate"), O = Qe("scale"), b = Qe("sepia"), L = Qe("skew"), M = Qe("space"), B = Qe("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", be, t], S = () => [be, t], ne = () => ["", br, Kr], F = () => ["auto", Uo, be], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", be], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [Uo, be];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [za],
|
|
spacing: [br, Kr],
|
|
blur: ["none", "", Jr, be],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Jr, be],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [$C, Kr],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", be]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Jr]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), be]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Ia, be]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", be]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Ia, be]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [za]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Ia, be]
|
|
}, be]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [za]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Ia, be]
|
|
}, be]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", be]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", be]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", be, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [be, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [be, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Jr]
|
|
}, Jr]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [be, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [be, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [be, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [be, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Jr, Kr]
|
|
}],
|
|
/**
|
|
* 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", iu]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [za]
|
|
}],
|
|
/**
|
|
* 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", be]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Uo, iu]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", br, be]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", be]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", be]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", br, Kr]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", br, be]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", be]
|
|
}],
|
|
/**
|
|
* 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", be]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), PC]
|
|
}],
|
|
/**
|
|
* 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", SC]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, EC]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [br, be]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [br, Kr]
|
|
}],
|
|
/**
|
|
* 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [br, Kr]
|
|
}],
|
|
/**
|
|
* 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", Jr, CC]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [za]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Jr, be]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", be]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", be]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", be]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Ia, be]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", be]
|
|
}],
|
|
// 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", be]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", be]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [br, Kr, iu]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, TC = /* @__PURE__ */ gC(zC), MC = ({
|
|
onClick: e,
|
|
className: t,
|
|
size: r = "md"
|
|
}) => /* @__PURE__ */ W(
|
|
"button",
|
|
{
|
|
onClick: e,
|
|
className: TC(
|
|
"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__ */ W($m, { icon: zA })
|
|
}
|
|
);
|
|
var Sm = Zi(), me = (e) => Qi(e, Sm), Pm = Zi();
|
|
me.write = (e) => Qi(e, Pm);
|
|
var Yl = Zi();
|
|
me.onStart = (e) => Qi(e, Yl);
|
|
var Am = Zi();
|
|
me.onFrame = (e) => Qi(e, Am);
|
|
var Em = Zi();
|
|
me.onFinish = (e) => Qi(e, Em);
|
|
var qo = [];
|
|
me.setTimeout = (e, t) => {
|
|
const r = me.now() + t, n = () => {
|
|
const a = qo.findIndex((i) => i.cancel == n);
|
|
~a && qo.splice(a, 1), kn -= ~a ? 1 : 0;
|
|
}, o = { time: r, handler: e, cancel: n };
|
|
return qo.splice(Kw(r), 0, o), kn += 1, Jw(), o;
|
|
};
|
|
var Kw = (e) => ~(~qo.findIndex((t) => t.time > e) || ~qo.length);
|
|
me.cancel = (e) => {
|
|
Yl.delete(e), Am.delete(e), Em.delete(e), Sm.delete(e), Pm.delete(e);
|
|
};
|
|
me.sync = (e) => {
|
|
sd = !0, me.batchedUpdates(e), sd = !1;
|
|
};
|
|
me.throttle = (e) => {
|
|
let t;
|
|
function r() {
|
|
try {
|
|
e(...t);
|
|
} finally {
|
|
t = null;
|
|
}
|
|
}
|
|
function n(...o) {
|
|
t = o, me.onStart(r);
|
|
}
|
|
return n.handler = e, n.cancel = () => {
|
|
Yl.delete(r), t = null;
|
|
}, n;
|
|
};
|
|
var Cm = typeof window < "u" ? window.requestAnimationFrame : (
|
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
() => {
|
|
}
|
|
);
|
|
me.use = (e) => Cm = e;
|
|
me.now = typeof performance < "u" ? () => performance.now() : Date.now;
|
|
me.batchedUpdates = (e) => e();
|
|
me.catch = console.error;
|
|
me.frameLoop = "always";
|
|
me.advance = () => {
|
|
me.frameLoop !== "demand" ? console.warn(
|
|
"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"
|
|
) : Zw();
|
|
};
|
|
var wn = -1, kn = 0, sd = !1;
|
|
function Qi(e, t) {
|
|
sd ? (t.delete(e), e(0)) : (t.add(e), Jw());
|
|
}
|
|
function Jw() {
|
|
wn < 0 && (wn = 0, me.frameLoop !== "demand" && Cm(Qw));
|
|
}
|
|
function RC() {
|
|
wn = -1;
|
|
}
|
|
function Qw() {
|
|
~wn && (Cm(Qw), me.batchedUpdates(Zw));
|
|
}
|
|
function Zw() {
|
|
const e = wn;
|
|
wn = me.now();
|
|
const t = Kw(wn);
|
|
if (t && (e2(qo.splice(0, t), (r) => r.handler()), kn -= t), !kn) {
|
|
RC();
|
|
return;
|
|
}
|
|
Yl.flush(), Sm.flush(e ? Math.min(64, wn - e) : 16.667), Am.flush(), Pm.flush(), Em.flush();
|
|
}
|
|
function Zi() {
|
|
let e = /* @__PURE__ */ new Set(), t = e;
|
|
return {
|
|
add(r) {
|
|
kn += t == e && !e.has(r) ? 1 : 0, e.add(r);
|
|
},
|
|
delete(r) {
|
|
return kn -= t == e && e.has(r) ? 1 : 0, e.delete(r);
|
|
},
|
|
flush(r) {
|
|
t.size && (e = /* @__PURE__ */ new Set(), kn -= t.size, e2(t, (n) => n(r) && e.add(n)), kn += e.size, t = e);
|
|
}
|
|
};
|
|
}
|
|
function e2(e, t) {
|
|
e.forEach((r) => {
|
|
try {
|
|
t(r);
|
|
} catch (n) {
|
|
me.catch(n);
|
|
}
|
|
});
|
|
}
|
|
var _C = Object.defineProperty, FC = (e, t) => {
|
|
for (var r in t)
|
|
_C(e, r, { get: t[r], enumerable: !0 });
|
|
}, Vt = {};
|
|
FC(Vt, {
|
|
assign: () => LC,
|
|
colors: () => Pn,
|
|
createStringInterpolator: () => jm,
|
|
skipAnimation: () => r2,
|
|
to: () => t2,
|
|
willAdvance: () => Im
|
|
});
|
|
function ld() {
|
|
}
|
|
var DC = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), re = {
|
|
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 Sr(e, t) {
|
|
if (re.arr(e)) {
|
|
if (!re.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 Se = (e, t) => e.forEach(t);
|
|
function dr(e, t, r) {
|
|
if (re.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 Ot = (e) => re.und(e) ? [] : re.arr(e) ? e : [e];
|
|
function di(e, t) {
|
|
if (e.size) {
|
|
const r = Array.from(e);
|
|
e.clear(), Se(r, t);
|
|
}
|
|
}
|
|
var ri = (e, ...t) => di(e, (r) => r(...t)), Nm = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), jm, t2, Pn = null, r2 = !1, Im = ld, LC = (e) => {
|
|
e.to && (t2 = e.to), e.now && (me.now = e.now), e.colors !== void 0 && (Pn = e.colors), e.skipAnimation != null && (r2 = e.skipAnimation), e.createStringInterpolator && (jm = e.createStringInterpolator), e.requestAnimationFrame && me.use(e.requestAnimationFrame), e.batchedUpdates && (me.batchedUpdates = e.batchedUpdates), e.willAdvance && (Im = e.willAdvance), e.frameLoop && (me.frameLoop = e.frameLoop);
|
|
}, pi = /* @__PURE__ */ new Set(), Wt = [], su = [], fl = 0, Gl = {
|
|
get idle() {
|
|
return !pi.size && !Wt.length;
|
|
},
|
|
/** Advance the given animation on every frame until idle. */
|
|
start(e) {
|
|
fl > e.priority ? (pi.add(e), me.onStart(WC)) : (n2(e), me(cd));
|
|
},
|
|
/** Advance all animations by the given time. */
|
|
advance: cd,
|
|
/** Call this when an animation's priority changes. */
|
|
sort(e) {
|
|
if (fl)
|
|
me.onFrame(() => Gl.sort(e));
|
|
else {
|
|
const t = Wt.indexOf(e);
|
|
~t && (Wt.splice(t, 1), o2(e));
|
|
}
|
|
},
|
|
/**
|
|
* Clear all animations. For testing purposes.
|
|
*
|
|
* ☠️ Never call this from within the frameloop.
|
|
*/
|
|
clear() {
|
|
Wt = [], pi.clear();
|
|
}
|
|
};
|
|
function WC() {
|
|
pi.forEach(n2), pi.clear(), me(cd);
|
|
}
|
|
function n2(e) {
|
|
Wt.includes(e) || o2(e);
|
|
}
|
|
function o2(e) {
|
|
Wt.splice(
|
|
YC(Wt, (t) => t.priority > e.priority),
|
|
0,
|
|
e
|
|
);
|
|
}
|
|
function cd(e) {
|
|
const t = su;
|
|
for (let r = 0; r < Wt.length; r++) {
|
|
const n = Wt[r];
|
|
fl = n.priority, n.idle || (Im(n), n.advance(e), n.idle || t.push(n));
|
|
}
|
|
return fl = 0, su = Wt, su.length = 0, Wt = t, Wt.length > 0;
|
|
}
|
|
function YC(e, t) {
|
|
const r = e.findIndex(t);
|
|
return r < 0 ? e.length : r;
|
|
}
|
|
var GC = {
|
|
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
|
|
}, Gt = "[-+]?\\d*\\.?\\d+", dl = Gt + "%";
|
|
function Vl(...e) {
|
|
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)";
|
|
}
|
|
var VC = new RegExp("rgb" + Vl(Gt, Gt, Gt)), UC = new RegExp("rgba" + Vl(Gt, Gt, Gt, Gt)), qC = new RegExp("hsl" + Vl(Gt, dl, dl)), HC = new RegExp(
|
|
"hsla" + Vl(Gt, dl, dl, Gt)
|
|
), BC = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, XC = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, KC = /^#([0-9a-fA-F]{6})$/, JC = /^#([0-9a-fA-F]{8})$/;
|
|
function QC(e) {
|
|
let t;
|
|
return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = KC.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : Pn && Pn[e] !== void 0 ? Pn[e] : (t = VC.exec(e)) ? (Oo(t[1]) << 24 | // r
|
|
Oo(t[2]) << 16 | // g
|
|
Oo(t[3]) << 8 | // b
|
|
255) >>> // a
|
|
0 : (t = UC.exec(e)) ? (Oo(t[1]) << 24 | // r
|
|
Oo(t[2]) << 16 | // g
|
|
Oo(t[3]) << 8 | // b
|
|
Vh(t[4])) >>> // a
|
|
0 : (t = BC.exec(e)) ? parseInt(
|
|
t[1] + t[1] + // r
|
|
t[2] + t[2] + // g
|
|
t[3] + t[3] + // b
|
|
"ff",
|
|
// a
|
|
16
|
|
) >>> 0 : (t = JC.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = XC.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 = qC.exec(e)) ? (Yh(
|
|
Gh(t[1]),
|
|
// h
|
|
xs(t[2]),
|
|
// s
|
|
xs(t[3])
|
|
// l
|
|
) | 255) >>> // a
|
|
0 : (t = HC.exec(e)) ? (Yh(
|
|
Gh(t[1]),
|
|
// h
|
|
xs(t[2]),
|
|
// s
|
|
xs(t[3])
|
|
// l
|
|
) | Vh(t[4])) >>> // a
|
|
0 : null;
|
|
}
|
|
function lu(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 Yh(e, t, r) {
|
|
const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = lu(o, n, e + 1 / 3), i = lu(o, n, e), s = lu(o, n, e - 1 / 3);
|
|
return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8;
|
|
}
|
|
function Oo(e) {
|
|
const t = parseInt(e, 10);
|
|
return t < 0 ? 0 : t > 255 ? 255 : t;
|
|
}
|
|
function Gh(e) {
|
|
return (parseFloat(e) % 360 + 360) % 360 / 360;
|
|
}
|
|
function Vh(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255);
|
|
}
|
|
function xs(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 100 ? 1 : t / 100;
|
|
}
|
|
function Uh(e) {
|
|
let t = QC(e);
|
|
if (t === null) return e;
|
|
t = t || 0;
|
|
const r = (t & 4278190080) >>> 24, n = (t & 16711680) >>> 16, o = (t & 65280) >>> 8, a = (t & 255) / 255;
|
|
return `rgba(${r}, ${n}, ${o}, ${a})`;
|
|
}
|
|
var ji = (e, t, r) => {
|
|
if (re.fun(e))
|
|
return e;
|
|
if (re.arr(e))
|
|
return ji({
|
|
range: e,
|
|
output: t,
|
|
extrapolate: r
|
|
});
|
|
if (re.str(e.output[0]))
|
|
return jm(e);
|
|
const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", c = n.easing || ((l) => l);
|
|
return (l) => {
|
|
const u = eN(l, a);
|
|
return ZC(
|
|
l,
|
|
a[u],
|
|
a[u + 1],
|
|
o[u],
|
|
o[u + 1],
|
|
c,
|
|
i,
|
|
s,
|
|
n.map
|
|
);
|
|
};
|
|
};
|
|
function ZC(e, t, r, n, o, a, i, s, c) {
|
|
let l = c ? c(e) : e;
|
|
if (l < t) {
|
|
if (i === "identity") return l;
|
|
i === "clamp" && (l = t);
|
|
}
|
|
if (l > r) {
|
|
if (s === "identity") return l;
|
|
s === "clamp" && (l = r);
|
|
}
|
|
return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? l = -l : r === 1 / 0 ? l = l - t : l = (l - t) / (r - t), l = a(l), n === -1 / 0 ? l = -l : o === 1 / 0 ? l = l + n : l = l * (o - n) + n, l);
|
|
}
|
|
function eN(e, t) {
|
|
for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r)
|
|
;
|
|
return r - 1;
|
|
}
|
|
var tN = {
|
|
linear: (e) => e
|
|
}, Ii = Symbol.for("FluidValue.get"), la = Symbol.for("FluidValue.observers"), Lt = (e) => !!(e && e[Ii]), At = (e) => e && e[Ii] ? e[Ii]() : e, qh = (e) => e[la] || null;
|
|
function rN(e, t) {
|
|
e.eventObserved ? e.eventObserved(t) : e(t);
|
|
}
|
|
function zi(e, t) {
|
|
const r = e[la];
|
|
r && r.forEach((n) => {
|
|
rN(n, t);
|
|
});
|
|
}
|
|
var a2 = class {
|
|
constructor(e) {
|
|
if (!e && !(e = this.get))
|
|
throw Error("Unknown getter");
|
|
nN(this, e);
|
|
}
|
|
}, nN = (e, t) => i2(e, Ii, t);
|
|
function ha(e, t) {
|
|
if (e[Ii]) {
|
|
let r = e[la];
|
|
r || i2(e, la, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t));
|
|
}
|
|
return t;
|
|
}
|
|
function Ti(e, t) {
|
|
const r = e[la];
|
|
if (r && r.has(t)) {
|
|
const n = r.size - 1;
|
|
n ? r.delete(t) : e[la] = null, e.observerRemoved && e.observerRemoved(n, t);
|
|
}
|
|
}
|
|
var i2 = (e, t, r) => Object.defineProperty(e, t, {
|
|
value: r,
|
|
writable: !0,
|
|
configurable: !0
|
|
}), Ys = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, oN = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, Hh = new RegExp(`(${Ys.source})(%|[a-z]+)`, "i"), aN = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, Ul = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, s2 = (e) => {
|
|
const [t, r] = iN(e);
|
|
if (!t || Nm())
|
|
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 && Ul.test(r) ? s2(r) : r || e;
|
|
}, iN = (e) => {
|
|
const t = Ul.exec(e);
|
|
if (!t) return [,];
|
|
const [, r, n] = t;
|
|
return [r, n];
|
|
}, cu, sN = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, l2 = (e) => {
|
|
cu || (cu = Pn ? (
|
|
// match color names, ignore partial matches
|
|
new RegExp(`(${Object.keys(Pn).join("|")})(?!\\w)`, "g")
|
|
) : (
|
|
// never match
|
|
/^\b$/
|
|
));
|
|
const t = e.output.map((o) => At(o).replace(Ul, s2).replace(oN, Uh).replace(cu, Uh)), r = t.map((o) => o.match(Ys).map(Number)), n = r[0].map(
|
|
(o, a) => r.map((i) => {
|
|
if (!(a in i))
|
|
throw Error('The arity of each "output" value must be equal');
|
|
return i[a];
|
|
})
|
|
).map(
|
|
(o) => ji({ ...e, output: o })
|
|
);
|
|
return (o) => {
|
|
var a;
|
|
const i = !Hh.test(t[0]) && ((a = t.find((c) => Hh.test(c))) == null ? void 0 : a.replace(Ys, ""));
|
|
let s = 0;
|
|
return t[0].replace(
|
|
Ys,
|
|
() => `${n[s++](o)}${i || ""}`
|
|
).replace(aN, sN);
|
|
};
|
|
}, zm = "react-spring: ", c2 = (e) => {
|
|
const t = e;
|
|
let r = !1;
|
|
if (typeof t != "function")
|
|
throw new TypeError(`${zm}once requires a function parameter`);
|
|
return (...n) => {
|
|
r || (t(...n), r = !0);
|
|
};
|
|
}, lN = c2(console.warn);
|
|
function cN() {
|
|
lN(
|
|
`${zm}The "interpolate" function is deprecated in v9 (use "to" instead)`
|
|
);
|
|
}
|
|
var uN = c2(console.warn);
|
|
function fN() {
|
|
uN(
|
|
`${zm}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 ql(e) {
|
|
return re.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR
|
|
!Nm() && Ul.test(e) || e in (Pn || {}));
|
|
}
|
|
var Io = Nm() ? Xe : Hp, dN = () => {
|
|
const e = pe(!1);
|
|
return Io(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
};
|
|
function u2() {
|
|
const e = Re()[1], t = dN();
|
|
return () => {
|
|
t.current && e(Math.random());
|
|
};
|
|
}
|
|
var f2 = (e) => Xe(e, pN), pN = [];
|
|
function mN(e) {
|
|
const t = pe(void 0);
|
|
return Xe(() => {
|
|
t.current = e;
|
|
}), t.current;
|
|
}
|
|
var Mi = Symbol.for("Animated:node"), gN = (e) => !!e && e[Mi] === e, qt = (e) => e && e[Mi], Tm = (e, t) => DC(e, Mi, t), Hl = (e) => e && e[Mi] && e[Mi].getPayload(), d2 = class {
|
|
constructor() {
|
|
Tm(this, this);
|
|
}
|
|
/** Get every `AnimatedValue` used by this node. */
|
|
getPayload() {
|
|
return this.payload || [];
|
|
}
|
|
}, Bl = class p2 extends d2 {
|
|
constructor(t) {
|
|
super(), this._value = t, this.done = !0, this.durationProgress = 0, re.num(this._value) && (this.lastPosition = this._value);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new p2(t);
|
|
}
|
|
getPayload() {
|
|
return [this];
|
|
}
|
|
getValue() {
|
|
return this._value;
|
|
}
|
|
setValue(t, r) {
|
|
return re.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, re.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null);
|
|
}
|
|
}, pl = class m2 extends Bl {
|
|
constructor(t) {
|
|
super(0), this._string = null, this._toString = ji({
|
|
output: [t, t]
|
|
});
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new m2(t);
|
|
}
|
|
getValue() {
|
|
return this._string ?? (this._string = this._toString(this._value));
|
|
}
|
|
setValue(t) {
|
|
if (re.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 = ji({
|
|
output: [this.getValue(), t]
|
|
})), this._value = 0, super.reset();
|
|
}
|
|
}, ml = { dependencies: null }, Xl = class extends d2 {
|
|
constructor(t) {
|
|
super(), this.source = t, this.setValue(t);
|
|
}
|
|
getValue(t) {
|
|
const r = {};
|
|
return dr(this.source, (n, o) => {
|
|
gN(n) ? r[o] = n.getValue(t) : Lt(n) ? r[o] = At(n) : t || (r[o] = n);
|
|
}), r;
|
|
}
|
|
/** Replace the raw object data */
|
|
setValue(t) {
|
|
this.source = t, this.payload = this._makePayload(t);
|
|
}
|
|
reset() {
|
|
this.payload && Se(this.payload, (t) => t.reset());
|
|
}
|
|
/** Create a payload set. */
|
|
_makePayload(t) {
|
|
if (t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return dr(t, this._addToPayload, r), Array.from(r);
|
|
}
|
|
}
|
|
/** Add to a payload set. */
|
|
_addToPayload(t) {
|
|
ml.dependencies && Lt(t) && ml.dependencies.add(t);
|
|
const r = Hl(t);
|
|
r && Se(r, (n) => this.add(n));
|
|
}
|
|
}, bN = class g2 extends Xl {
|
|
constructor(t) {
|
|
super(t);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new g2(t);
|
|
}
|
|
getValue() {
|
|
return this.source.map((t) => t.getValue());
|
|
}
|
|
setValue(t) {
|
|
const r = this.getPayload();
|
|
return t.length == r.length ? r.map((n, o) => n.setValue(t[o])).some(Boolean) : (super.setValue(t.map(hN)), !0);
|
|
}
|
|
};
|
|
function hN(e) {
|
|
return (ql(e) ? pl : Bl).create(e);
|
|
}
|
|
function ud(e) {
|
|
const t = qt(e);
|
|
return t ? t.constructor : re.arr(e) ? bN : ql(e) ? pl : Bl;
|
|
}
|
|
var Bh = (e, t) => {
|
|
const r = (
|
|
// Function components must use "forwardRef" to avoid being
|
|
// re-rendered on every animation frame.
|
|
!re.fun(e) || e.prototype && e.prototype.isReactComponent
|
|
);
|
|
return Bp((n, o) => {
|
|
const a = pe(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
$t(
|
|
(x) => {
|
|
a.current = xN(o, x);
|
|
},
|
|
[o]
|
|
), [s, c] = vN(n, t), l = u2(), u = () => {
|
|
const x = a.current;
|
|
r && !x || (x ? t.applyAnimatedValues(x, s.getValue(!0)) : !1) === !1 && l();
|
|
}, f = new yN(u, c), d = pe(void 0);
|
|
Io(() => (d.current = f, Se(c, (x) => ha(x, f)), () => {
|
|
d.current && (Se(
|
|
d.current.deps,
|
|
(x) => Ti(x, d.current)
|
|
), me.cancel(d.current.update));
|
|
})), Xe(u, []), f2(() => () => {
|
|
const x = d.current;
|
|
Se(x.deps, (m) => Ti(m, x));
|
|
});
|
|
const y = t.getComponentProps(s.getValue());
|
|
return /* @__PURE__ */ D.createElement(e, { ...y, ref: i });
|
|
});
|
|
}, yN = class {
|
|
constructor(e, t) {
|
|
this.update = e, this.deps = t;
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && me.write(this.update);
|
|
}
|
|
};
|
|
function vN(e, t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return ml.dependencies = r, e.style && (e = {
|
|
...e,
|
|
style: t.createAnimatedStyle(e.style)
|
|
}), e = new Xl(e), ml.dependencies = null, [e, r];
|
|
}
|
|
function xN(e, t) {
|
|
return e && (re.fun(e) ? e(t) : e.current = t), t;
|
|
}
|
|
var Xh = Symbol.for("AnimatedComponent"), wN = (e, {
|
|
applyAnimatedValues: t = () => !1,
|
|
createAnimatedStyle: r = (o) => new Xl(o),
|
|
getComponentProps: n = (o) => o
|
|
} = {}) => {
|
|
const o = {
|
|
applyAnimatedValues: t,
|
|
createAnimatedStyle: r,
|
|
getComponentProps: n
|
|
}, a = (i) => {
|
|
const s = Kh(i) || "Anonymous";
|
|
return re.str(i) ? i = a[i] || (a[i] = Bh(i, o)) : i = i[Xh] || (i[Xh] = Bh(i, o)), i.displayName = `Animated(${s})`, i;
|
|
};
|
|
return dr(e, (i, s) => {
|
|
re.arr(e) && (s = Kh(i)), a[s] = a(i);
|
|
}), {
|
|
animated: a
|
|
};
|
|
}, Kh = (e) => re.str(e) ? e : e && re.str(e.displayName) ? e.displayName : re.fun(e) && e.name || null;
|
|
function Et(e, ...t) {
|
|
return re.fun(e) ? e(...t) : e;
|
|
}
|
|
var mi = (e, t) => e === !0 || !!(t && e && (re.fun(e) ? e(t) : Ot(e).includes(t))), b2 = (e, t) => re.obj(e) ? t && e[t] : e, h2 = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, kN = (e) => e, Mm = (e, t = kN) => {
|
|
let r = $N;
|
|
e.default && e.default !== !0 && (e = e.default, r = Object.keys(e));
|
|
const n = {};
|
|
for (const o of r) {
|
|
const a = t(e[o], o);
|
|
re.und(a) || (n[o] = a);
|
|
}
|
|
return n;
|
|
}, $N = [
|
|
"config",
|
|
"onProps",
|
|
"onStart",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume",
|
|
"onRest"
|
|
], ON = {
|
|
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 SN(e) {
|
|
const t = {};
|
|
let r = 0;
|
|
if (dr(e, (n, o) => {
|
|
ON[o] || (t[o] = n, r++);
|
|
}), r)
|
|
return t;
|
|
}
|
|
function Rm(e) {
|
|
const t = SN(e);
|
|
if (t) {
|
|
const r = { to: t };
|
|
return dr(e, (n, o) => o in t || (r[o] = n)), r;
|
|
}
|
|
return { ...e };
|
|
}
|
|
function Ri(e) {
|
|
return e = At(e), re.arr(e) ? e.map(Ri) : ql(e) ? Vt.createStringInterpolator({
|
|
range: [0, 1],
|
|
output: [e, e]
|
|
})(1) : e;
|
|
}
|
|
function PN(e) {
|
|
for (const t in e) return !0;
|
|
return !1;
|
|
}
|
|
function fd(e) {
|
|
return re.fun(e) || re.arr(e) && re.obj(e[0]);
|
|
}
|
|
function Jh(e, t) {
|
|
var r;
|
|
(r = e.ref) == null || r.delete(e), t == null || t.delete(e);
|
|
}
|
|
function AN(e, t) {
|
|
var r;
|
|
t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t);
|
|
}
|
|
var EN = {
|
|
default: { tension: 170, friction: 26 }
|
|
}, dd = {
|
|
...EN.default,
|
|
mass: 1,
|
|
damping: 1,
|
|
easing: tN.linear,
|
|
clamp: !1
|
|
}, CN = class {
|
|
constructor() {
|
|
this.velocity = 0, Object.assign(this, dd);
|
|
}
|
|
};
|
|
function NN(e, t, r) {
|
|
r && (r = { ...r }, Qh(r, t), t = { ...r, ...t }), Qh(e, t), Object.assign(e, t);
|
|
for (const i in dd)
|
|
e[i] == null && (e[i] = dd[i]);
|
|
let { frequency: n, damping: o } = e;
|
|
const { mass: a } = e;
|
|
return re.und(n) || (n < 0.01 && (n = 0.01), o < 0 && (o = 0), e.tension = Math.pow(2 * Math.PI / n, 2) * a, e.friction = 4 * Math.PI * o * a / n), e;
|
|
}
|
|
function Qh(e, t) {
|
|
if (!re.und(t.decay))
|
|
e.duration = void 0;
|
|
else {
|
|
const r = !re.und(t.tension) || !re.und(t.friction);
|
|
(r || !re.und(t.frequency) || !re.und(t.damping) || !re.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0);
|
|
}
|
|
}
|
|
var Zh = [], jN = class {
|
|
constructor() {
|
|
this.changed = !1, this.values = Zh, this.toValues = null, this.fromValues = Zh, this.config = new CN(), this.immediate = !1;
|
|
}
|
|
};
|
|
function y2(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) {
|
|
return new Promise((i, s) => {
|
|
let c, l, u = mi(r.cancel ?? (n == null ? void 0 : n.cancel), t);
|
|
if (u)
|
|
y();
|
|
else {
|
|
re.und(r.pause) || (o.paused = mi(r.pause, t));
|
|
let x = n == null ? void 0 : n.pause;
|
|
x !== !0 && (x = o.paused || mi(x, t)), c = Et(r.delay || 0, t), x ? (o.resumeQueue.add(d), a.pause()) : (a.resume(), d());
|
|
}
|
|
function f() {
|
|
o.resumeQueue.add(d), o.timeouts.delete(l), l.cancel(), c = l.time - me.now();
|
|
}
|
|
function d() {
|
|
c > 0 && !Vt.skipAnimation ? (o.delayed = !0, l = me.setTimeout(y, c), o.pauseQueue.add(f), o.timeouts.add(l)) : y();
|
|
}
|
|
function y() {
|
|
o.delayed && (o.delayed = !1), o.pauseQueue.delete(f), o.timeouts.delete(l), e <= (o.cancelId || 0) && (u = !0);
|
|
try {
|
|
a.start({ ...r, callId: e, cancel: u }, i);
|
|
} catch (x) {
|
|
s(x);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var _m = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? Ho(e.get()) : t.every((r) => r.noop) ? v2(e.get()) : Yt(
|
|
e.get(),
|
|
t.every((r) => r.finished)
|
|
), v2 = (e) => ({
|
|
value: e,
|
|
noop: !0,
|
|
finished: !0,
|
|
cancelled: !1
|
|
}), Yt = (e, t, r = !1) => ({
|
|
value: e,
|
|
finished: t,
|
|
cancelled: r
|
|
}), Ho = (e) => ({
|
|
value: e,
|
|
cancelled: !0,
|
|
finished: !1
|
|
});
|
|
function x2(e, t, r, n) {
|
|
const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: c } = r;
|
|
return !a && e === s && !t.reset ? c : r.promise = (async () => {
|
|
r.asyncId = o, r.asyncTo = e;
|
|
const l = Mm(
|
|
t,
|
|
(p, v) => (
|
|
// The `onRest` prop is only called when the `runAsync` promise is resolved.
|
|
v === "onRest" ? void 0 : p
|
|
)
|
|
);
|
|
let u, f;
|
|
const d = new Promise(
|
|
(p, v) => (u = p, f = v)
|
|
), y = (p) => {
|
|
const v = (
|
|
// The `cancel` prop or `stop` method was used.
|
|
o <= (r.cancelId || 0) && Ho(n) || // The async `to` prop was replaced.
|
|
o !== r.asyncId && Yt(n, !1)
|
|
);
|
|
if (v)
|
|
throw p.result = v, f(p), p;
|
|
}, x = (p, v) => {
|
|
const k = new ey(), $ = new ty();
|
|
return (async () => {
|
|
if (Vt.skipAnimation)
|
|
throw _i(r), $.result = Yt(n, !1), f($), $;
|
|
y(k);
|
|
const O = re.obj(p) ? { ...p } : { ...v, to: p };
|
|
O.parentId = o, dr(l, (L, M) => {
|
|
re.und(O[M]) && (O[M] = L);
|
|
});
|
|
const b = await n.start(O);
|
|
return y(k), r.paused && await new Promise((L) => {
|
|
r.resumeQueue.add(L);
|
|
}), b;
|
|
})();
|
|
};
|
|
let m;
|
|
if (Vt.skipAnimation)
|
|
return _i(r), Yt(n, !1);
|
|
try {
|
|
let p;
|
|
re.arr(e) ? p = (async (v) => {
|
|
for (const k of v)
|
|
await x(k);
|
|
})(e) : p = Promise.resolve(e(x, n.stop.bind(n))), await Promise.all([p.then(u), d]), m = Yt(n.get(), !0, !1);
|
|
} catch (p) {
|
|
if (p instanceof ey)
|
|
m = p.result;
|
|
else if (p instanceof ty)
|
|
m = p.result;
|
|
else
|
|
throw p;
|
|
} finally {
|
|
o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? c : void 0);
|
|
}
|
|
return re.fun(i) && me.batchedUpdates(() => {
|
|
i(m, n, n.item);
|
|
}), m;
|
|
})();
|
|
}
|
|
function _i(e, t) {
|
|
di(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t);
|
|
}
|
|
var ey = 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."
|
|
);
|
|
}
|
|
}, ty = class extends Error {
|
|
constructor() {
|
|
super("SkipAnimationSignal");
|
|
}
|
|
}, pd = (e) => e instanceof Fm, IN = 1, Fm = class extends a2 {
|
|
constructor() {
|
|
super(...arguments), this.id = IN++, 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 = qt(this);
|
|
return t && t.getValue();
|
|
}
|
|
/** Create a spring that maps our value to another value */
|
|
to(...t) {
|
|
return Vt.to(this, t);
|
|
}
|
|
/** @deprecated Use the `to` method instead. */
|
|
interpolate(...t) {
|
|
return cN(), Vt.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) {
|
|
zi(this, {
|
|
type: "change",
|
|
parent: this,
|
|
value: t,
|
|
idle: r
|
|
});
|
|
}
|
|
/** Tell our children about our new priority */
|
|
_onPriorityChange(t) {
|
|
this.idle || Gl.sort(this), zi(this, {
|
|
type: "priority",
|
|
parent: this,
|
|
priority: t
|
|
});
|
|
}
|
|
}, lo = Symbol.for("SpringPhase"), w2 = 1, k2 = 2, $2 = 4, uu = (e) => (e[lo] & w2) > 0, Qr = (e) => (e[lo] & k2) > 0, Ta = (e) => (e[lo] & $2) > 0, ry = (e, t) => t ? e[lo] |= k2 | w2 : e[lo] &= -3, ny = (e, t) => t ? e[lo] |= $2 : e[lo] &= -5, zN = class extends Fm {
|
|
constructor(e, t) {
|
|
if (super(), this.animation = new jN(), 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, !re.und(e) || !re.und(t)) {
|
|
const r = re.obj(e) ? { ...e } : { ...t, from: e };
|
|
re.und(r.default) && (r.default = !0), this.start(r);
|
|
}
|
|
}
|
|
/** Equals true when not advancing on each frame. */
|
|
get idle() {
|
|
return !(Qr(this) || this._state.asyncTo) || Ta(this);
|
|
}
|
|
get goal() {
|
|
return At(this.animation.to);
|
|
}
|
|
get velocity() {
|
|
const e = qt(this);
|
|
return e instanceof Bl ? e.lastVelocity || 0 : e.getPayload().map((t) => t.lastVelocity || 0);
|
|
}
|
|
/**
|
|
* When true, this value has been animated at least once.
|
|
*/
|
|
get hasAnimated() {
|
|
return uu(this);
|
|
}
|
|
/**
|
|
* When true, this value has an unfinished animation,
|
|
* which is either active or paused.
|
|
*/
|
|
get isAnimating() {
|
|
return Qr(this);
|
|
}
|
|
/**
|
|
* When true, all current and future animations are paused.
|
|
*/
|
|
get isPaused() {
|
|
return Ta(this);
|
|
}
|
|
/**
|
|
*
|
|
*
|
|
*/
|
|
get isDelayed() {
|
|
return this._state.delayed;
|
|
}
|
|
/** Advance the current animation by a number of milliseconds */
|
|
advance(e) {
|
|
let t = !0, r = !1;
|
|
const n = this.animation;
|
|
let { toValues: o } = n;
|
|
const { config: a } = n, i = Hl(n.to);
|
|
!i && Lt(n.to) && (o = Ot(At(n.to))), n.values.forEach((l, u) => {
|
|
if (l.done) return;
|
|
const f = (
|
|
// Animated strings always go from 0 to 1.
|
|
l.constructor == pl ? 1 : i ? i[u].lastPosition : o[u]
|
|
);
|
|
let d = n.immediate, y = f;
|
|
if (!d) {
|
|
if (y = l.lastPosition, a.tension <= 0) {
|
|
l.done = !0;
|
|
return;
|
|
}
|
|
let x = l.elapsedTime += e;
|
|
const m = n.fromValues[u], p = l.v0 != null ? l.v0 : l.v0 = re.arr(a.velocity) ? a.velocity[u] : a.velocity;
|
|
let v;
|
|
const k = a.precision || (m == f ? 5e-3 : Math.min(1, Math.abs(f - m) * 1e-3));
|
|
if (re.und(a.duration))
|
|
if (a.decay) {
|
|
const $ = a.decay === !0 ? 0.998 : a.decay, O = Math.exp(-(1 - $) * x);
|
|
y = m + p / (1 - $) * (1 - O), d = Math.abs(l.lastPosition - y) <= k, v = p * O;
|
|
} else {
|
|
v = l.lastVelocity == null ? p : l.lastVelocity;
|
|
const $ = a.restVelocity || k / 10, O = a.clamp ? 0 : a.bounce, b = !re.und(O), L = m == f ? l.v0 > 0 : m < f;
|
|
let M, B = !1;
|
|
const H = 1, U = Math.ceil(e / H);
|
|
for (let X = 0; X < U && (M = Math.abs(v) > $, !(!M && (d = Math.abs(f - y) <= k, d))); ++X) {
|
|
b && (B = y == f || y > f == L, B && (v = -v * O, y = f));
|
|
const S = -a.tension * 1e-6 * (y - f), ne = -a.friction * 1e-3 * v, F = (S + ne) / a.mass;
|
|
v = v + F * H, y = y + v * H;
|
|
}
|
|
}
|
|
else {
|
|
let $ = 1;
|
|
a.duration > 0 && (this._memoizedDuration !== a.duration && (this._memoizedDuration = a.duration, l.durationProgress > 0 && (l.elapsedTime = a.duration * l.durationProgress, x = l.elapsedTime += e)), $ = (a.progress || 0) + x / this._memoizedDuration, $ = $ > 1 ? 1 : $ < 0 ? 0 : $, l.durationProgress = $), y = m + a.easing($) * (f - m), v = (y - l.lastPosition) / e, d = $ == 1;
|
|
}
|
|
l.lastVelocity = v, Number.isNaN(y) && (console.warn("Got NaN while animating:", this), d = !0);
|
|
}
|
|
i && !i[u].done && (d = !1), d ? l.done = !0 : t = !1, l.setValue(y, a.round) && (r = !0);
|
|
});
|
|
const s = qt(this), c = s.getValue();
|
|
if (t) {
|
|
const l = At(n.to);
|
|
(c !== l || r) && !a.decay ? (s.setValue(l), this._onChange(l)) : r && a.decay && this._onChange(c), this._stop();
|
|
} else r && this._onChange(c);
|
|
}
|
|
/** Set the current value, while stopping the current animation */
|
|
set(e) {
|
|
return me.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 (Qr(this)) {
|
|
const { to: e, config: t } = this.animation;
|
|
me.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 re.und(e) ? (r = this.queue || [], this.queue = []) : r = [re.obj(e) ? e : { ...t, to: e }], Promise.all(
|
|
r.map((n) => this._update(n))
|
|
).then((n) => _m(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()), _i(this._state, e && this._lastCallId), me.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 = re.obj(r) ? r[t] : r, (r == null || fd(r)) && (r = void 0), n = re.obj(n) ? n[t] : n, n == null && (n = void 0);
|
|
const o = { to: r, from: n };
|
|
return uu(this) || (e.reverse && ([r, n] = [n, r]), n = At(n), re.und(n) ? qt(this) || this._set(r) : this._set(n)), o;
|
|
}
|
|
/** Every update is processed by this method before merging. */
|
|
_update({ ...e }, t) {
|
|
const { key: r, defaultProps: n } = this;
|
|
e.default && Object.assign(
|
|
n,
|
|
Mm(
|
|
e,
|
|
(i, s) => /^on/.test(s) ? b2(i, r) : i
|
|
)
|
|
), ay(this, e, "onProps"), Ra(this, "onProps", e, this);
|
|
const o = this._prepareNode(e);
|
|
if (Object.isFrozen(this))
|
|
throw Error(
|
|
"Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?"
|
|
);
|
|
const a = this._state;
|
|
return y2(++this._lastCallId, {
|
|
key: r,
|
|
props: e,
|
|
defaultProps: n,
|
|
state: a,
|
|
actions: {
|
|
pause: () => {
|
|
Ta(this) || (ny(this, !0), ri(a.pauseQueue), Ra(
|
|
this,
|
|
"onPause",
|
|
Yt(this, Ma(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
resume: () => {
|
|
Ta(this) && (ny(this, !1), Qr(this) && this._resume(), ri(a.resumeQueue), Ra(
|
|
this,
|
|
"onResume",
|
|
Yt(this, Ma(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
start: this._merge.bind(this, o)
|
|
}
|
|
}).then((i) => {
|
|
if (e.loop && i.finished && !(t && i.noop)) {
|
|
const s = O2(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(Ho(this));
|
|
const n = !re.und(e.to), o = !re.und(e.from);
|
|
if (n || o)
|
|
if (t.callId > this._lastToId)
|
|
this._lastToId = t.callId;
|
|
else
|
|
return r(Ho(this));
|
|
const { key: a, defaultProps: i, animation: s } = this, { to: c, from: l } = s;
|
|
let { to: u = c, from: f = l } = e;
|
|
o && !n && (!t.default || re.und(u)) && (u = f), t.reverse && ([u, f] = [f, u]);
|
|
const d = !Sr(f, l);
|
|
d && (s.from = f), f = At(f);
|
|
const y = !Sr(u, c);
|
|
y && this._focus(u);
|
|
const x = fd(t.to), { config: m } = s, { decay: p, velocity: v } = m;
|
|
(n || o) && (m.velocity = 0), t.config && !x && NN(
|
|
m,
|
|
Et(t.config, a),
|
|
// Avoid calling the same "config" prop twice.
|
|
t.config !== i.config ? Et(i.config, a) : void 0
|
|
);
|
|
let k = qt(this);
|
|
if (!k || re.und(u))
|
|
return r(Yt(this, !0));
|
|
const $ = (
|
|
// When `reset` is undefined, the `from` prop implies `reset: true`,
|
|
// except for declarative updates. When `reset` is defined, there
|
|
// must exist a value to animate from.
|
|
re.und(t.reset) ? o && !t.default : !re.und(f) && mi(t.reset, a)
|
|
), O = $ ? f : this.get(), b = Ri(u), L = re.num(b) || re.arr(b) || ql(b), M = !x && (!L || mi(i.immediate || t.immediate, a));
|
|
if (y) {
|
|
const X = ud(u);
|
|
if (X !== k.constructor)
|
|
if (M)
|
|
k = this._set(b);
|
|
else
|
|
throw Error(
|
|
`Cannot animate between ${k.constructor.name} and ${X.name}, as the "to" prop suggests`
|
|
);
|
|
}
|
|
const B = k.constructor;
|
|
let H = Lt(u), U = !1;
|
|
if (!H) {
|
|
const X = $ || !uu(this) && d;
|
|
(y || X) && (U = Sr(Ri(O), b), H = !U), (!Sr(s.immediate, M) && !M || !Sr(m.decay, p) || !Sr(m.velocity, v)) && (H = !0);
|
|
}
|
|
if (U && Qr(this) && (s.changed && !$ ? H = !0 : H || this._stop(c)), !x && ((H || Lt(c)) && (s.values = k.getPayload(), s.toValues = Lt(u) ? null : B == pl ? [1] : Ot(b)), s.immediate != M && (s.immediate = M, !M && !$ && this._set(c)), H)) {
|
|
const { onRest: X } = s;
|
|
Se(TN, (ne) => ay(this, t, ne));
|
|
const S = Yt(this, Ma(this, c));
|
|
ri(this._pendingCalls, S), this._pendingCalls.add(r), s.changed && me.batchedUpdates(() => {
|
|
var ne;
|
|
s.changed = !$, X == null || X(S, this), $ ? Et(i.onRest, S) : (ne = s.onStart) == null || ne.call(s, S, this);
|
|
});
|
|
}
|
|
$ && this._set(O), x ? r(x2(t.to, t, this._state, this)) : H ? this._start() : Qr(this) && !y ? this._pendingCalls.add(r) : r(v2(O));
|
|
}
|
|
/** Update the `animation.to` value, which might be a `FluidValue` */
|
|
_focus(e) {
|
|
const t = this.animation;
|
|
e !== t.to && (qh(this) && this._detach(), t.to = e, qh(this) && this._attach());
|
|
}
|
|
_attach() {
|
|
let e = 0;
|
|
const { to: t } = this.animation;
|
|
Lt(t) && (ha(t, this), pd(t) && (e = t.priority + 1)), this.priority = e;
|
|
}
|
|
_detach() {
|
|
const { to: e } = this.animation;
|
|
Lt(e) && Ti(e, this);
|
|
}
|
|
/**
|
|
* Update the current value from outside the frameloop,
|
|
* and return the `Animated` node.
|
|
*/
|
|
_set(e, t = !0) {
|
|
const r = At(e);
|
|
if (!re.und(r)) {
|
|
const n = qt(this);
|
|
if (!n || !Sr(r, n.getValue())) {
|
|
const o = ud(r);
|
|
!n || n.constructor != o ? Tm(this, o.create(r)) : n.setValue(r), n && me.batchedUpdates(() => {
|
|
this._onChange(r, t);
|
|
});
|
|
}
|
|
}
|
|
return qt(this);
|
|
}
|
|
_onStart() {
|
|
const e = this.animation;
|
|
e.changed || (e.changed = !0, Ra(
|
|
this,
|
|
"onStart",
|
|
Yt(this, Ma(this, e.to)),
|
|
this
|
|
));
|
|
}
|
|
_onChange(e, t) {
|
|
t || (this._onStart(), Et(this.animation.onChange, e, this)), Et(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;
|
|
qt(this).reset(At(e.to)), e.immediate || (e.fromValues = e.values.map((t) => t.lastPosition)), Qr(this) || (ry(this, !0), Ta(this) || this._resume());
|
|
}
|
|
_resume() {
|
|
Vt.skipAnimation ? this.finish() : Gl.start(this);
|
|
}
|
|
/**
|
|
* Exit the frameloop and notify `onRest` listeners.
|
|
*
|
|
* Always wrap `_stop` calls with `batchedUpdates`.
|
|
*/
|
|
_stop(e, t) {
|
|
if (Qr(this)) {
|
|
ry(this, !1);
|
|
const r = this.animation;
|
|
Se(r.values, (o) => {
|
|
o.done = !0;
|
|
}), r.toValues && (r.onChange = r.onPause = r.onResume = void 0), zi(this, {
|
|
type: "idle",
|
|
parent: this
|
|
});
|
|
const n = t ? Ho(this.get()) : Yt(this.get(), Ma(this, e ?? r.to));
|
|
ri(this._pendingCalls, n), r.changed && (r.changed = !1, Ra(this, "onRest", n, this));
|
|
}
|
|
}
|
|
};
|
|
function Ma(e, t) {
|
|
const r = Ri(t), n = Ri(e.get());
|
|
return Sr(n, r);
|
|
}
|
|
function O2(e, t = e.loop, r = e.to) {
|
|
const n = Et(t);
|
|
if (n) {
|
|
const o = n !== !0 && Rm(n), a = (o || e).reverse, i = !o || o.reset;
|
|
return gl({
|
|
...e,
|
|
loop: t,
|
|
// Avoid updating default props when looping.
|
|
default: !1,
|
|
// Never loop the `pause` prop.
|
|
pause: void 0,
|
|
// For the "reverse" prop to loop as expected, the "to" prop
|
|
// must be undefined. The "reverse" prop is ignored when the
|
|
// "to" prop is an array or function.
|
|
to: !a || fd(r) ? r : void 0,
|
|
// Ignore the "from" prop except on reset.
|
|
from: i ? e.from : void 0,
|
|
reset: i,
|
|
// The "loop" prop can return a "useSpring" props object to
|
|
// override any of the original props.
|
|
...o
|
|
});
|
|
}
|
|
}
|
|
function gl(e) {
|
|
const { to: t, from: r } = e = Rm(e), n = /* @__PURE__ */ new Set();
|
|
return re.obj(t) && oy(t, n), re.obj(r) && oy(r, n), e.keys = n.size ? Array.from(n) : null, e;
|
|
}
|
|
function oy(e, t) {
|
|
dr(e, (r, n) => r != null && t.add(n));
|
|
}
|
|
var TN = [
|
|
"onStart",
|
|
"onRest",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume"
|
|
];
|
|
function ay(e, t, r) {
|
|
e.animation[r] = t[r] !== h2(t, r) ? b2(t[r], e.key) : void 0;
|
|
}
|
|
function Ra(e, t, ...r) {
|
|
var n, o, a, i;
|
|
(o = (n = e.animation)[t]) == null || o.call(n, ...r), (i = (a = e.defaultProps)[t]) == null || i.call(a, ...r);
|
|
}
|
|
var MN = ["onStart", "onChange", "onRest"], RN = 1, _N = class {
|
|
constructor(e, t) {
|
|
this.id = RN++, 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];
|
|
re.und(r) || this.springs[t].set(r);
|
|
}
|
|
}
|
|
/** Push an update onto the queue of each value. */
|
|
update(e) {
|
|
return e && this.queue.push(gl(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 = Ot(e).map(gl) : this.queue = [], this._flush ? this._flush(this, t) : (E2(this, t), FN(this, t));
|
|
}
|
|
/** @internal */
|
|
stop(e, t) {
|
|
if (e !== !!e && (t = e), t) {
|
|
const r = this.springs;
|
|
Se(Ot(t), (n) => r[n].stop(!!e));
|
|
} else
|
|
_i(this._state, this._lastAsyncId), this.each((r) => r.stop(!!e));
|
|
return this;
|
|
}
|
|
/** Freeze the active animation in time */
|
|
pause(e) {
|
|
if (re.und(e))
|
|
this.start({ pause: !0 });
|
|
else {
|
|
const t = this.springs;
|
|
Se(Ot(e), (r) => t[r].pause());
|
|
}
|
|
return this;
|
|
}
|
|
/** Resume the animation if paused. */
|
|
resume(e) {
|
|
if (re.und(e))
|
|
this.start({ pause: !1 });
|
|
else {
|
|
const t = this.springs;
|
|
Se(Ot(e), (r) => t[r].resume());
|
|
}
|
|
return this;
|
|
}
|
|
/** Call a function once per spring value */
|
|
each(e) {
|
|
dr(this.springs, e);
|
|
}
|
|
/** @internal Called at the end of every animation frame */
|
|
_onFrame() {
|
|
const { onStart: e, onChange: t, onRest: r } = this._events, n = this._active.size > 0, o = this._changed.size > 0;
|
|
(n && !this._started || o && !this._started) && (this._started = !0, di(e, ([s, c]) => {
|
|
c.value = this.get(), s(c, this, this._item);
|
|
}));
|
|
const a = !n && this._started, i = o || a && r.size ? this.get() : null;
|
|
o && t.size && di(t, ([s, c]) => {
|
|
c.value = i, s(c, this, this._item);
|
|
}), a && (this._started = !1, di(r, ([s, c]) => {
|
|
c.value = i, s(c, 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;
|
|
me.onFrame(this._onFrame);
|
|
}
|
|
};
|
|
function FN(e, t) {
|
|
return Promise.all(t.map((r) => S2(e, r))).then(
|
|
(r) => _m(e, r)
|
|
);
|
|
}
|
|
async function S2(e, t, r) {
|
|
const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: c } = t, l = re.obj(t.default) && t.default;
|
|
i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null);
|
|
const u = re.arr(o) || re.fun(o) ? o : void 0;
|
|
u ? (t.to = void 0, t.onRest = void 0, l && (l.onRest = void 0)) : Se(MN, (m) => {
|
|
const p = t[m];
|
|
if (re.fun(p)) {
|
|
const v = e._events[m];
|
|
t[m] = ({ finished: k, cancelled: $ }) => {
|
|
const O = v.get(p);
|
|
O ? (k || (O.finished = !1), $ && (O.cancelled = !0)) : v.set(p, {
|
|
value: null,
|
|
finished: k || !1,
|
|
cancelled: $ || !1
|
|
});
|
|
}, l && (l[m] = t[m]);
|
|
}
|
|
});
|
|
const f = e._state;
|
|
t.pause === !f.paused ? (f.paused = t.pause, ri(t.pause ? f.pauseQueue : f.resumeQueue)) : f.paused && (t.pause = !0);
|
|
const d = (n || Object.keys(e.springs)).map(
|
|
(m) => e.springs[m].start(t)
|
|
), y = t.cancel === !0 || h2(t, "cancel") === !0;
|
|
(u || y && f.asyncId) && d.push(
|
|
y2(++e._lastAsyncId, {
|
|
props: t,
|
|
state: f,
|
|
actions: {
|
|
pause: ld,
|
|
resume: ld,
|
|
start(m, p) {
|
|
y ? (_i(f, e._lastAsyncId), p(Ho(e))) : (m.onRest = s, p(
|
|
x2(
|
|
u,
|
|
m,
|
|
f,
|
|
e
|
|
)
|
|
));
|
|
}
|
|
}
|
|
})
|
|
), f.paused && await new Promise((m) => {
|
|
f.resumeQueue.add(m);
|
|
});
|
|
const x = _m(e, await Promise.all(d));
|
|
if (i && x.finished && !(r && x.noop)) {
|
|
const m = O2(t, i, o);
|
|
if (m)
|
|
return E2(e, [m]), S2(e, m, !0);
|
|
}
|
|
return c && me.batchedUpdates(() => c(x, e, e.item)), x;
|
|
}
|
|
function DN(e, t) {
|
|
const r = { ...e.springs };
|
|
return t && Se(Ot(t), (n) => {
|
|
re.und(n.keys) && (n = gl(n)), re.obj(n.to) || (n = { ...n, to: void 0 }), A2(r, n, (o) => P2(o));
|
|
}), LN(e, r), r;
|
|
}
|
|
function LN(e, t) {
|
|
dr(t, (r, n) => {
|
|
e.springs[n] || (e.springs[n] = r, ha(r, e));
|
|
});
|
|
}
|
|
function P2(e, t) {
|
|
const r = new zN();
|
|
return r.key = e, t && ha(r, t), r;
|
|
}
|
|
function A2(e, t, r) {
|
|
t.keys && Se(t.keys, (n) => {
|
|
(e[n] || (e[n] = r(n)))._prepareNode(t);
|
|
});
|
|
}
|
|
function E2(e, t) {
|
|
Se(t, (r) => {
|
|
A2(e.springs, r, (n) => P2(n, e));
|
|
});
|
|
}
|
|
var WN = D.createContext({
|
|
pause: !1,
|
|
immediate: !1
|
|
}), YN = () => {
|
|
const e = [], t = function(n) {
|
|
fN();
|
|
const o = [];
|
|
return Se(e, (a, i) => {
|
|
if (re.und(n))
|
|
o.push(a.start());
|
|
else {
|
|
const s = r(n, a, i);
|
|
s && o.push(a.start(s));
|
|
}
|
|
}), o;
|
|
};
|
|
t.current = e, t.add = function(n) {
|
|
e.includes(n) || e.push(n);
|
|
}, t.delete = function(n) {
|
|
const o = e.indexOf(n);
|
|
~o && e.splice(o, 1);
|
|
}, t.pause = function() {
|
|
return Se(e, (n) => n.pause(...arguments)), this;
|
|
}, t.resume = function() {
|
|
return Se(e, (n) => n.resume(...arguments)), this;
|
|
}, t.set = function(n) {
|
|
Se(e, (o, a) => {
|
|
const i = re.fun(n) ? n(a, o) : n;
|
|
i && o.set(i);
|
|
});
|
|
}, t.start = function(n) {
|
|
const o = [];
|
|
return Se(e, (a, i) => {
|
|
if (re.und(n))
|
|
o.push(a.start());
|
|
else {
|
|
const s = this._getProps(n, a, i);
|
|
s && o.push(a.start(s));
|
|
}
|
|
}), o;
|
|
}, t.stop = function() {
|
|
return Se(e, (n) => n.stop(...arguments)), this;
|
|
}, t.update = function(n) {
|
|
return Se(e, (o, a) => o.update(this._getProps(n, o, a))), this;
|
|
};
|
|
const r = function(n, o, a) {
|
|
return re.fun(n) ? n(a, o) : n;
|
|
};
|
|
return t._getProps = r, t;
|
|
};
|
|
function iy(e, t, r) {
|
|
const n = re.fun(t) && t, {
|
|
reset: o,
|
|
sort: a,
|
|
trail: i = 0,
|
|
expires: s = !0,
|
|
exitBeforeEnter: c = !1,
|
|
onDestroyed: l,
|
|
ref: u,
|
|
config: f
|
|
} = n ? n() : t, d = Hi(
|
|
() => n || arguments.length == 3 ? YN() : void 0,
|
|
[]
|
|
), y = Ot(e), x = [], m = pe(null), p = o ? null : m.current;
|
|
Io(() => {
|
|
m.current = x;
|
|
}), f2(() => (Se(x, (F) => {
|
|
d == null || d.add(F.ctrl), F.ctrl.ref = d;
|
|
}), () => {
|
|
Se(m.current, (F) => {
|
|
F.expired && clearTimeout(F.expirationId), Jh(F.ctrl, d), F.ctrl.stop(!0);
|
|
});
|
|
}));
|
|
const v = VN(y, n ? n() : t, p), k = o && m.current || [];
|
|
Io(
|
|
() => Se(k, ({ ctrl: F, item: R, key: _ }) => {
|
|
Jh(F, d), Et(l, R, _);
|
|
})
|
|
);
|
|
const $ = [];
|
|
if (p && Se(p, (F, R) => {
|
|
F.expired ? (clearTimeout(F.expirationId), k.push(F)) : (R = $[R] = v.indexOf(F.key), ~R && (x[R] = F));
|
|
}), Se(y, (F, R) => {
|
|
x[R] || (x[R] = {
|
|
key: v[R],
|
|
item: F,
|
|
phase: "mount",
|
|
ctrl: new _N()
|
|
}, x[R].ctrl.item = F);
|
|
}), $.length) {
|
|
let F = -1;
|
|
const { leave: R } = n ? n() : t;
|
|
Se($, (_, G) => {
|
|
const Y = p[G];
|
|
~_ ? (F = x.indexOf(Y), x[F] = { ...Y, item: y[_] }) : R && x.splice(++F, 0, Y);
|
|
});
|
|
}
|
|
re.fun(a) && x.sort((F, R) => a(F.item, R.item));
|
|
let O = -i;
|
|
const b = u2(), L = Mm(t), M = /* @__PURE__ */ new Map(), B = pe(/* @__PURE__ */ new Map()), H = pe(!1);
|
|
Se(x, (F, R) => {
|
|
const _ = F.key, G = F.phase, Y = n ? n() : t;
|
|
let V, g;
|
|
const h = Et(Y.delay || 0, _);
|
|
if (G == "mount")
|
|
V = Y.enter, g = "enter";
|
|
else {
|
|
const j = v.indexOf(_) < 0;
|
|
if (G != "leave")
|
|
if (j)
|
|
V = Y.leave, g = "leave";
|
|
else if (V = Y.update)
|
|
g = "update";
|
|
else return;
|
|
else if (!j)
|
|
V = Y.enter, g = "enter";
|
|
else return;
|
|
}
|
|
if (V = Et(V, F.item, R), V = re.obj(V) ? Rm(V) : { to: V }, !V.config) {
|
|
const j = f || L.config;
|
|
V.config = Et(j, F.item, R, g);
|
|
}
|
|
O += i;
|
|
const N = {
|
|
...L,
|
|
// we need to add our props.delay value you here.
|
|
delay: h + O,
|
|
ref: u,
|
|
immediate: Y.immediate,
|
|
// This prevents implied resets.
|
|
reset: !1,
|
|
// Merge any phase-specific props.
|
|
...V
|
|
};
|
|
if (g == "enter" && re.und(N.from)) {
|
|
const j = n ? n() : t, C = re.und(j.initial) || p ? j.from : j.initial;
|
|
N.from = Et(C, F.item, R);
|
|
}
|
|
const { onResolve: A } = N;
|
|
N.onResolve = (j) => {
|
|
Et(A, j);
|
|
const C = m.current, E = C.find((I) => I.key === _);
|
|
if (E && !(j.cancelled && E.phase != "update") && E.ctrl.idle) {
|
|
const I = C.every((z) => z.ctrl.idle);
|
|
if (E.phase == "leave") {
|
|
const z = Et(s, E.item);
|
|
if (z !== !1) {
|
|
const T = z === !0 ? 0 : z;
|
|
if (E.expired = !0, !I && T > 0) {
|
|
T <= 2147483647 && (E.expirationId = setTimeout(b, T));
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
I && C.some((z) => z.expired) && (B.current.delete(E), c && (H.current = !0), b());
|
|
}
|
|
};
|
|
const P = DN(F.ctrl, N);
|
|
g === "leave" && c ? B.current.set(F, { phase: g, springs: P, payload: N }) : M.set(F, { phase: g, springs: P, payload: N });
|
|
});
|
|
const U = pr(WN), X = mN(U), S = U !== X && PN(U);
|
|
Io(() => {
|
|
S && Se(x, (F) => {
|
|
F.ctrl.start({ default: U });
|
|
});
|
|
}, [U]), Se(M, (F, R) => {
|
|
if (B.current.size) {
|
|
const _ = x.findIndex((G) => G.key === R.key);
|
|
x.splice(_, 1);
|
|
}
|
|
}), Io(
|
|
() => {
|
|
Se(
|
|
B.current.size ? B.current : M,
|
|
({ phase: F, payload: R }, _) => {
|
|
const { ctrl: G } = _;
|
|
_.phase = F, d == null || d.add(G), S && F == "enter" && G.start({ default: U }), R && (AN(G, R.ref), (G.ref || d) && !H.current ? G.update(R) : (G.start(R), H.current && (H.current = !1)));
|
|
}
|
|
);
|
|
},
|
|
o ? void 0 : r
|
|
);
|
|
const ne = (F) => /* @__PURE__ */ D.createElement(D.Fragment, null, x.map((R, _) => {
|
|
const { springs: G } = M.get(R) || R.ctrl, Y = F({ ...G }, R.item, R, _);
|
|
return Y && Y.type ? /* @__PURE__ */ D.createElement(
|
|
Y.type,
|
|
{
|
|
...Y.props,
|
|
key: re.str(R.key) || re.num(R.key) ? R.key : R.ctrl.id,
|
|
ref: Y.ref
|
|
}
|
|
) : Y;
|
|
}));
|
|
return d ? [ne, d] : ne;
|
|
}
|
|
var GN = 1;
|
|
function VN(e, { key: t, keys: r = t }, n) {
|
|
if (r === null) {
|
|
const o = /* @__PURE__ */ new Set();
|
|
return e.map((a) => {
|
|
const i = n && n.find(
|
|
(s) => s.item === a && s.phase !== "leave" && !o.has(s)
|
|
);
|
|
return i ? (o.add(i), i.key) : GN++;
|
|
});
|
|
}
|
|
return re.und(r) ? e : re.fun(r) ? e.map(r) : Ot(r);
|
|
}
|
|
var UN = class extends Fm {
|
|
constructor(e, t) {
|
|
super(), this.source = e, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = ji(...t);
|
|
const r = this._get(), n = ud(r);
|
|
Tm(this, n.create(r));
|
|
}
|
|
advance(e) {
|
|
const t = this._get(), r = this.get();
|
|
Sr(t, r) || (qt(this).setValue(t), this._onChange(t, this.idle)), !this.idle && sy(this._active) && fu(this);
|
|
}
|
|
_get() {
|
|
const e = re.arr(this.source) ? this.source.map(At) : Ot(At(this.source));
|
|
return this.calc(...e);
|
|
}
|
|
_start() {
|
|
this.idle && !sy(this._active) && (this.idle = !1, Se(Hl(this), (e) => {
|
|
e.done = !1;
|
|
}), Vt.skipAnimation ? (me.batchedUpdates(() => this.advance()), fu(this)) : Gl.start(this));
|
|
}
|
|
// Observe our sources only when we're observed.
|
|
_attach() {
|
|
let e = 1;
|
|
Se(Ot(this.source), (t) => {
|
|
Lt(t) && ha(t, this), pd(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() {
|
|
Se(Ot(this.source), (e) => {
|
|
Lt(e) && Ti(e, this);
|
|
}), this._active.clear(), fu(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 = Ot(this.source).reduce(
|
|
(t, r) => Math.max(t, (pd(r) ? r.priority : 0) + 1),
|
|
0
|
|
));
|
|
}
|
|
};
|
|
function qN(e) {
|
|
return e.idle !== !1;
|
|
}
|
|
function sy(e) {
|
|
return !e.size || Array.from(e).every(qN);
|
|
}
|
|
function fu(e) {
|
|
e.idle || (e.idle = !0, Se(Hl(e), (t) => {
|
|
t.done = !0;
|
|
}), zi(e, {
|
|
type: "idle",
|
|
parent: e
|
|
}));
|
|
}
|
|
Vt.assign({
|
|
createStringInterpolator: l2,
|
|
to: (e, t) => new UN(e, t)
|
|
});
|
|
var C2 = /^--/;
|
|
function HN(e, t) {
|
|
return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !C2.test(e) && !(gi.hasOwnProperty(e) && gi[e]) ? t + "px" : ("" + t).trim();
|
|
}
|
|
var ly = {};
|
|
function BN(e, t) {
|
|
if (!e.nodeType || !e.setAttribute)
|
|
return !1;
|
|
const r = e.nodeName === "filter" || e.parentNode && e.parentNode.nodeName === "filter", {
|
|
className: n,
|
|
style: o,
|
|
children: a,
|
|
scrollTop: i,
|
|
scrollLeft: s,
|
|
viewBox: c,
|
|
...l
|
|
} = t, u = Object.values(l), f = Object.keys(l).map(
|
|
(d) => r || e.hasAttribute(d) ? d : ly[d] || (ly[d] = d.replace(
|
|
/([A-Z])/g,
|
|
// Attributes are written in dash case
|
|
(y) => "-" + y.toLowerCase()
|
|
))
|
|
);
|
|
a !== void 0 && (e.textContent = a);
|
|
for (const d in o)
|
|
if (o.hasOwnProperty(d)) {
|
|
const y = HN(d, o[d]);
|
|
C2.test(d) ? e.style.setProperty(d, y) : e.style[d] = y;
|
|
}
|
|
f.forEach((d, y) => {
|
|
e.setAttribute(d, u[y]);
|
|
}), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), c !== void 0 && e.setAttribute("viewBox", c);
|
|
}
|
|
var gi = {
|
|
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
|
|
}, XN = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), KN = ["Webkit", "Ms", "Moz", "O"];
|
|
gi = Object.keys(gi).reduce((e, t) => (KN.forEach((r) => e[XN(r, t)] = e[t]), e), gi);
|
|
var JN = /^(matrix|translate|scale|rotate|skew)/, QN = /^(translate)/, ZN = /^(rotate|skew)/, du = (e, t) => re.num(e) && e !== 0 ? e + t : e, Gs = (e, t) => re.arr(e) ? e.every((r) => Gs(r, t)) : re.num(e) ? e === t : parseFloat(e) === t, ej = class extends Xl {
|
|
constructor({ x: e, y: t, z: r, ...n }) {
|
|
const o = [], a = [];
|
|
(e || t || r) && (o.push([e || 0, t || 0, r || 0]), a.push((i) => [
|
|
`translate3d(${i.map((s) => du(s, "px")).join(",")})`,
|
|
// prettier-ignore
|
|
Gs(i, 0)
|
|
])), dr(n, (i, s) => {
|
|
if (s === "transform")
|
|
o.push([i || ""]), a.push((c) => [c, c === ""]);
|
|
else if (JN.test(s)) {
|
|
if (delete n[s], re.und(i)) return;
|
|
const c = QN.test(s) ? "px" : ZN.test(s) ? "deg" : "";
|
|
o.push(Ot(i)), a.push(
|
|
s === "rotate3d" ? ([l, u, f, d]) => [
|
|
`rotate3d(${l},${u},${f},${du(d, c)})`,
|
|
Gs(d, 0)
|
|
] : (l) => [
|
|
`${s}(${l.map((u) => du(u, c)).join(",")})`,
|
|
Gs(l, s.startsWith("scale") ? 1 : 0)
|
|
]
|
|
);
|
|
}
|
|
}), o.length && (n.transform = new tj(o, a)), super(n);
|
|
}
|
|
}, tj = class extends a2 {
|
|
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 Se(this.inputs, (r, n) => {
|
|
const o = At(r[0]), [a, i] = this.transforms[n](
|
|
re.arr(o) ? o : r.map(At)
|
|
);
|
|
e += " " + a, t = t && i;
|
|
}), t ? "none" : e;
|
|
}
|
|
// Start observing our inputs once we have an observer.
|
|
observerAdded(e) {
|
|
e == 1 && Se(
|
|
this.inputs,
|
|
(t) => Se(
|
|
t,
|
|
(r) => Lt(r) && ha(r, this)
|
|
)
|
|
);
|
|
}
|
|
// Stop observing our inputs once we have no observers.
|
|
observerRemoved(e) {
|
|
e == 0 && Se(
|
|
this.inputs,
|
|
(t) => Se(
|
|
t,
|
|
(r) => Lt(r) && Ti(r, this)
|
|
)
|
|
);
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && (this._value = null), zi(this, e);
|
|
}
|
|
}, rj = [
|
|
"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"
|
|
];
|
|
Vt.assign({
|
|
batchedUpdates: BO,
|
|
createStringInterpolator: l2,
|
|
colors: GC
|
|
});
|
|
var nj = wN(rj, {
|
|
applyAnimatedValues: BN,
|
|
createAnimatedStyle: (e) => new ej(e),
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r
|
|
}), N2 = nj.animated;
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const oj = {
|
|
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"]
|
|
}, aj = {
|
|
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 md = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(md || {}), ij = 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"
|
|
}), sj = "VisuallyHidden", j2 = D.forwardRef(
|
|
(e, t) => /* @__PURE__ */ W(
|
|
mr.span,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
style: { ...ij, ...e.style }
|
|
}
|
|
)
|
|
);
|
|
j2.displayName = sj;
|
|
var cy = j2;
|
|
const Fi = [], lj = (e) => {
|
|
Fi.push(e);
|
|
}, cj = (e) => {
|
|
const t = Fi.findIndex((r) => r.id === e);
|
|
t !== -1 && Fi.splice(t, 1);
|
|
}, uj = (e, t) => {
|
|
const r = Fi.find((n) => n.id === e);
|
|
r && Object.assign(r, t);
|
|
}, fj = () => Fi.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 = fj();
|
|
t && (e.preventDefault(), t.onClose());
|
|
}));
|
|
let _a = 70;
|
|
const dj = ({
|
|
styles: e,
|
|
backdropClassName: t,
|
|
disableHotkeyInput: r,
|
|
enableHotkeyInput: n
|
|
}) => (Xe(() => (r(md.DIALOGUE), () => {
|
|
n(md.DIALOGUE);
|
|
}), [r, n]), /* @__PURE__ */ W(N4, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ W(
|
|
N2.div,
|
|
{
|
|
className: si("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)"
|
|
}
|
|
}
|
|
) })), gd = ({ children: e }) => /* @__PURE__ */ W(bt, { children: e }), I2 = yo(
|
|
void 0
|
|
), Dm = ({ className: e, size: t = "md" }) => {
|
|
const r = pr(I2);
|
|
if (!r) return null;
|
|
const { expanded: n, toggleExpanded: o } = r;
|
|
return /* @__PURE__ */ W(
|
|
"button",
|
|
{
|
|
type: "button",
|
|
"aria-label": n ? "Restore modal size" : "Expand modal",
|
|
onClick: o,
|
|
className: si(
|
|
"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__ */ W(
|
|
Ei,
|
|
{
|
|
icon: n ? oj : aj
|
|
}
|
|
)
|
|
}
|
|
);
|
|
};
|
|
Dm.displayName = "ModalExpandButton";
|
|
const es = ({
|
|
isOpen: e,
|
|
title: t,
|
|
titleIcon: r,
|
|
onTitleIconClick: n,
|
|
onClose: o,
|
|
enableHotkeyInput: a = () => {
|
|
},
|
|
disableHotkeyInput: i = () => {
|
|
},
|
|
className: s,
|
|
backdropClassName: c,
|
|
width: l,
|
|
children: u,
|
|
childPadding: f = !0,
|
|
titleIconClassName: d,
|
|
showClose: y = !0,
|
|
draggable: x = !1,
|
|
resizable: m = !1,
|
|
initialPosition: p,
|
|
closeOnOutsideClick: v = !0,
|
|
closeOnEsc: k = !0,
|
|
allowBackgroundInteraction: $ = !1,
|
|
expandable: O = !1,
|
|
accessibleTitle: b,
|
|
accessibleDescription: L
|
|
}) => {
|
|
const [M, B] = Re(
|
|
null
|
|
), [H, U] = Re(!1), [X, S] = Re(!1), ne = pe({ x: 0, y: 0 }), F = pe({ x: 0, y: 0 }), R = pe(null), _ = pe(null), G = pe(null), [Y, V] = Re(() => ++_a), [g, h] = Re(!1), N = pe(null), A = iy(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
|
|
}
|
|
}), P = iy(e, {
|
|
from: { opacity: 0 },
|
|
enter: { opacity: 1 },
|
|
leave: { opacity: 0 },
|
|
config: {
|
|
tension: 280,
|
|
friction: 25
|
|
}
|
|
});
|
|
Xe(() => {
|
|
g ? (_.current && (N.current = { ..._.current }), B({ x: 0, y: 0 }), _.current = { x: 0, y: 0 }, R.current && (R.current.style.left = "0px", R.current.style.top = "0px", R.current.style.margin = "0", R.current.style.position = "fixed", R.current.style.zIndex = String(Y))) : N.current && (B({ ...N.current }), _.current = { ...N.current }, R.current && (R.current.style.left = N.current.x + "px", R.current.style.top = N.current.y + "px", R.current.style.margin = "0", R.current.style.position = "fixed", R.current.style.zIndex = String(Y)));
|
|
}, [g, Y]);
|
|
const j = () => h((fe) => !fe);
|
|
Xe(() => {
|
|
e ? G.current ? (B({ ...G.current }), _.current = { ...G.current }, R.current && (R.current.style.left = G.current.x + "px", R.current.style.top = G.current.y + "px", R.current.style.margin = "0", R.current.style.position = "fixed", R.current.style.zIndex = String(Y))) : p && (B({ ...p }), _.current = { ...p }, R.current && (R.current.style.left = p.x + "px", R.current.style.top = p.y + "px", R.current.style.margin = "0", R.current.style.position = "fixed", R.current.style.zIndex = String(Y))) : _.current && (G.current = { ..._.current });
|
|
}, [e, Y]), Xe(() => {
|
|
if (!H) return;
|
|
let fe = null;
|
|
const de = (Rt) => {
|
|
if (!R.current) return;
|
|
const _t = Rt.clientX - F.current.x, Ke = Rt.clientY - F.current.y, pt = ne.current.x + _t, gt = ne.current.y + Ke, Ft = R.current, { width: Dt, height: xo } = Ft.getBoundingClientRect(), Hg = window.innerWidth, Bg = window.innerHeight, Xg = 450, LO = -450, WO = 0, YO = Hg - Dt + Xg, GO = Bg - xo + Xg, VO = Math.max(LO, Math.min(pt, YO)), UO = Math.max(WO, Math.min(gt, GO));
|
|
_.current = { x: VO, y: UO }, R.current && (fe && cancelAnimationFrame(fe), fe = requestAnimationFrame(() => {
|
|
R.current && _.current && (R.current.style.left = _.current.x + "px", R.current.style.top = _.current.y + "px", R.current.style.margin = "0", R.current.style.position = "fixed", R.current.style.zIndex = String(Y));
|
|
}));
|
|
}, Te = () => {
|
|
U(!1), _.current && B({ ..._.current });
|
|
};
|
|
return window.addEventListener("mousemove", de), window.addEventListener("mouseup", Te), () => {
|
|
window.removeEventListener("mousemove", de), window.removeEventListener("mouseup", Te), fe && cancelAnimationFrame(fe);
|
|
};
|
|
}, [H, Y]);
|
|
const C = (fe) => {
|
|
var de, Te;
|
|
if (!R.current) return;
|
|
g && h(!1), fe.preventDefault(), fe.stopPropagation();
|
|
const Rt = R.current, { width: _t, height: Ke } = Rt.getBoundingClientRect(), pt = window.innerWidth, gt = window.innerHeight;
|
|
let Ft = ((de = _.current) == null ? void 0 : de.x) ?? (M == null ? void 0 : M.x), Dt = ((Te = _.current) == null ? void 0 : Te.y) ?? (M == null ? void 0 : M.y);
|
|
(Ft === void 0 || Dt === void 0) && (p ? (Ft = p.x, Dt = p.y) : (Ft = (pt - _t) / 2, Dt = (gt - Ke) / 2)), ne.current = { x: Ft, y: Dt }, F.current = { x: fe.clientX, y: fe.clientY }, U(!0), !M && !_.current && (B({ x: Ft, y: Dt }), _.current = { x: Ft, y: Dt }, R.current && (R.current.style.left = Ft + "px", R.current.style.top = Dt + "px", R.current.style.margin = "0", R.current.style.position = "fixed", R.current.style.zIndex = String(Y)));
|
|
};
|
|
let E = u;
|
|
if (x) {
|
|
let fe = !1;
|
|
E = Array.isArray(u) ? u.map((de) => {
|
|
if (!fe && rl(de) && (de.type === gd || de.type.displayName === "ModalDragHandle")) {
|
|
fe = !0;
|
|
const Te = de;
|
|
return nl(Te, {
|
|
children: /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: C,
|
|
children: Te.props.children
|
|
}
|
|
)
|
|
});
|
|
}
|
|
return de;
|
|
}) : rl(u) && (u.type === gd || u.type.displayName === "ModalDragHandle") ? (() => {
|
|
const de = u;
|
|
return nl(de, {
|
|
children: /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: C,
|
|
children: de.props.children
|
|
}
|
|
)
|
|
});
|
|
})() : u;
|
|
}
|
|
const I = pe(null), z = pe(null), T = (fe, de) => {
|
|
if (!R.current || (fe.preventDefault(), fe.stopPropagation(), g)) return;
|
|
const Te = R.current.getBoundingClientRect();
|
|
I.current = de, z.current = {
|
|
mouseX: fe.clientX,
|
|
mouseY: fe.clientY,
|
|
width: Te.width,
|
|
height: Te.height,
|
|
x: Te.left,
|
|
y: Te.top
|
|
}, S(!0);
|
|
};
|
|
Xe(() => {
|
|
if (!X) return;
|
|
let fe = null;
|
|
const de = (Rt) => {
|
|
if (!R.current || !z.current || !I.current)
|
|
return;
|
|
const _t = Rt.clientX - z.current.mouseX, Ke = Rt.clientY - z.current.mouseY;
|
|
let pt = z.current.width, gt = z.current.height, Ft = z.current.x, Dt = z.current.y;
|
|
const xo = I.current;
|
|
xo.includes("right") && (pt = z.current.width + _t), xo.includes("left") && (pt = z.current.width - _t, Ft = z.current.x + _t), xo.includes("bottom") && (gt = z.current.height + Ke), xo.includes("top") && (gt = z.current.height - Ke, Dt = z.current.y + Ke), pt = Math.max(320, pt), gt = Math.max(240, gt), _.current = { x: Ft, y: Dt }, Ae.current = { width: pt, height: gt }, fe && cancelAnimationFrame(fe), fe = requestAnimationFrame(() => {
|
|
R.current && _.current && (R.current.style.width = pt + "px", R.current.style.height = gt + "px", R.current.style.left = _.current.x + "px", R.current.style.top = _.current.y + "px", R.current.style.margin = "0", R.current.style.position = "fixed", R.current.style.zIndex = String(Y));
|
|
});
|
|
}, Te = () => {
|
|
S(!1), _.current && B({ ..._.current }), Ae.current && oe({ ...Ae.current });
|
|
};
|
|
return window.addEventListener("mousemove", de), window.addEventListener("mouseup", Te), () => {
|
|
window.removeEventListener("mousemove", de), window.removeEventListener("mouseup", Te), fe && cancelAnimationFrame(fe);
|
|
};
|
|
}, [X, Y]);
|
|
const q = () => {
|
|
if (!m || g) return null;
|
|
const fe = "absolute z-[75] bg-transparent select-none", de = 5, Te = 2, Rt = [
|
|
{ dir: "top", className: `top-0 left-0 w-full h-${Te}` },
|
|
{ dir: "bottom", className: `bottom-0 left-0 w-full h-${Te}` },
|
|
{ dir: "left", className: `left-0 top-0 h-full w-${Te}` },
|
|
{ dir: "right", className: `right-0 top-0 h-full w-${Te}` },
|
|
{
|
|
dir: "top-left",
|
|
className: `top-0 left-0 w-${de} h-${de}`
|
|
},
|
|
{
|
|
dir: "top-right",
|
|
className: `top-0 right-0 w-${de} h-${de}`
|
|
},
|
|
{
|
|
dir: "bottom-left",
|
|
className: `bottom-0 left-0 w-${de} h-${de}`
|
|
},
|
|
{
|
|
dir: "bottom-right",
|
|
className: `bottom-0 right-0 w-${de} h-${de}`
|
|
}
|
|
], _t = {
|
|
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 Rt.map((Ke) => /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
className: `${fe} ${Ke.className}`,
|
|
style: { cursor: _t[Ke.dir] },
|
|
onMouseDown: (pt) => T(pt, Ke.dir)
|
|
},
|
|
Ke.dir
|
|
));
|
|
}, [w, oe] = Re(
|
|
null
|
|
), Ae = pe(null), mt = pe(null);
|
|
Xe(() => {
|
|
if (e && !w && R.current && m) {
|
|
const { width: fe, height: de } = R.current.getBoundingClientRect();
|
|
oe({ width: fe, height: de }), Ae.current = { width: fe, height: de };
|
|
}
|
|
}, [e, w, m]), Xe(() => {
|
|
if (m) {
|
|
if (!e)
|
|
Ae.current && (mt.current = { ...Ae.current });
|
|
else if (mt.current && R.current) {
|
|
const { width: fe, height: de } = mt.current;
|
|
R.current.style.width = fe + "px", R.current.style.height = de + "px", oe({ width: fe, height: de }), Ae.current = { width: fe, height: de };
|
|
}
|
|
}
|
|
}, [e, m]), Xe(() => {
|
|
const fe = () => {
|
|
R.current && Y < _a && (_a += 1, V(_a), R.current.style.zIndex = String(_a));
|
|
}, de = R.current;
|
|
return de && de.addEventListener("mousedown", fe), () => {
|
|
de && de.removeEventListener("mousedown", fe);
|
|
};
|
|
}, [Y]), Xe(() => {
|
|
if (!e || $) return;
|
|
const fe = (de) => {
|
|
if (de.key === "Escape" || de.key === "Esc") return;
|
|
const Te = de.target;
|
|
Te && (Te.closest(
|
|
'[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]'
|
|
) || Te.matches("input, textarea, select, button, [contenteditable]")) || de.stopPropagation();
|
|
};
|
|
return window.addEventListener("keydown", fe, !0), () => {
|
|
window.removeEventListener("keydown", fe, !0);
|
|
};
|
|
}, [e, $]), Xe(() => {
|
|
if (!$) return;
|
|
const fe = R.current;
|
|
if (!fe) return;
|
|
const de = (Ke) => {
|
|
Ke && (Ke.hasAttribute("inert") && Ke.removeAttribute("inert"), Ke.inert && (Ke.inert = !1), Ke.getAttribute("aria-hidden") === "true" && Ke.removeAttribute("aria-hidden"));
|
|
};
|
|
let Te = fe;
|
|
for (; Te; )
|
|
de(Te), Te = Te.parentElement;
|
|
const Rt = new MutationObserver((Ke) => {
|
|
Ke.forEach((pt) => {
|
|
if (pt.type === "attributes" && pt.attributeName === "inert" && pt.target instanceof HTMLElement) {
|
|
const gt = pt.target;
|
|
(gt === fe || fe.contains(gt)) && de(gt);
|
|
}
|
|
});
|
|
});
|
|
Rt.observe(fe, {
|
|
attributes: !0,
|
|
subtree: !1,
|
|
attributeFilter: ["inert"]
|
|
}), document.querySelectorAll(
|
|
"[data-radix-portal][inert], [data-headlessui-portal][inert]"
|
|
).forEach((Ke) => Ke.removeAttribute("inert"));
|
|
const _t = new MutationObserver((Ke) => {
|
|
Ke.forEach((pt) => {
|
|
if (pt.type === "attributes" && pt.attributeName === "inert" && pt.target.hasAttribute("inert")) {
|
|
const gt = pt.target;
|
|
(gt.hasAttribute("data-radix-portal") || gt.hasAttribute("data-headlessui-portal")) && de(gt);
|
|
}
|
|
});
|
|
});
|
|
return _t.observe(document.body, {
|
|
attributes: !0,
|
|
subtree: !0,
|
|
attributeFilter: ["inert"]
|
|
}), () => {
|
|
Rt.disconnect(), _t.disconnect();
|
|
};
|
|
}, [$]);
|
|
const Pc = pe(Math.floor(Math.random() * 1e9));
|
|
Xe(() => {
|
|
if (e)
|
|
return lj({
|
|
id: Pc.current,
|
|
zIndex: Y,
|
|
onClose: o,
|
|
closeOnEsc: k
|
|
}), () => {
|
|
cj(Pc.current);
|
|
};
|
|
}, [e]), Xe(() => {
|
|
e && uj(Pc.current, { zIndex: Y, onClose: o, closeOnEsc: k });
|
|
}, [e, Y, o, k]);
|
|
const DO = () => g ? {
|
|
position: "fixed",
|
|
left: 0,
|
|
top: 0,
|
|
margin: 0,
|
|
zIndex: Y,
|
|
width: "100vw",
|
|
height: "100vh",
|
|
...$ ? { pointerEvents: "auto" } : {}
|
|
} : !x || !M ? {
|
|
...m && w ? { width: w.width, height: w.height } : {},
|
|
...$ ? { pointerEvents: "auto" } : {}
|
|
} : {
|
|
position: "fixed",
|
|
left: M.x,
|
|
top: M.y,
|
|
margin: 0,
|
|
zIndex: Y,
|
|
...m && w ? { width: w.width, height: w.height } : {},
|
|
...$ ? { pointerEvents: "auto" } : {}
|
|
};
|
|
return /* @__PURE__ */ W(
|
|
E4,
|
|
{
|
|
open: e,
|
|
onOpenChange: (fe) => !fe && v && o(),
|
|
modal: !$,
|
|
children: /* @__PURE__ */ W(C4, { children: /* @__PURE__ */ Me(
|
|
"div",
|
|
{
|
|
className: "fixed inset-0 z-[70]",
|
|
style: $ ? { pointerEvents: "none" } : void 0,
|
|
children: [
|
|
!$ && P(
|
|
(fe, de) => de ? /* @__PURE__ */ W(
|
|
dj,
|
|
{
|
|
styles: fe,
|
|
backdropClassName: c,
|
|
disableHotkeyInput: i,
|
|
enableHotkeyInput: a
|
|
},
|
|
"backdrop"
|
|
) : null
|
|
),
|
|
$ && /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
className: si("fixed inset-0 z-[69]", c),
|
|
style: { pointerEvents: "none" }
|
|
}
|
|
),
|
|
/* @__PURE__ */ W(I2.Provider, { value: { expanded: g, toggleExpanded: j }, children: /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
className: "flex min-h-full items-center justify-center p-4 text-center",
|
|
style: $ ? { pointerEvents: "none" } : void 0,
|
|
children: A((fe, de) => de ? /* @__PURE__ */ W(
|
|
j4,
|
|
{
|
|
forceMount: !0,
|
|
asChild: !0,
|
|
...L ? {} : { "aria-describedby": void 0 },
|
|
onPointerDownOutside: (Te) => {
|
|
(!v || $) && Te.preventDefault();
|
|
},
|
|
onEscapeKeyDown: (Te) => {
|
|
k || Te.preventDefault();
|
|
},
|
|
onInteractOutside: (Te) => {
|
|
$ && Te.preventDefault();
|
|
},
|
|
children: /* @__PURE__ */ Me(
|
|
N2.div,
|
|
{
|
|
className: si(
|
|
"w-full max-w-lg rounded-xl relative border border-ui-panel-border bg-ui-modal text-left align-middle shadow-2xl z-[70]",
|
|
f && !g ? "p-4" : "",
|
|
s,
|
|
"!transition-none",
|
|
// Always disable CSS transitions for spring animations
|
|
g && "w-screen h-screen max-w-screen max-h-screen rounded-none"
|
|
),
|
|
ref: R,
|
|
style: {
|
|
...DO(),
|
|
opacity: fe.opacity,
|
|
transform: fe.transform,
|
|
transformOrigin: "center center",
|
|
willChange: "transform, opacity"
|
|
// Optimize for animations
|
|
},
|
|
children: [
|
|
/* @__PURE__ */ Me("div", { className: "w-full h-full", children: [
|
|
L && /* @__PURE__ */ W(cy, { asChild: !0, children: /* @__PURE__ */ W(I4, { children: L }) }),
|
|
t ? /* @__PURE__ */ W(
|
|
cb,
|
|
{
|
|
className: si(
|
|
"mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg"
|
|
),
|
|
children: /* @__PURE__ */ W(bt, { children: n ? /* @__PURE__ */ Me(
|
|
"button",
|
|
{
|
|
className: "flex items-center gap-3",
|
|
onClick: n,
|
|
children: [
|
|
r && /* @__PURE__ */ W(
|
|
Ei,
|
|
{
|
|
icon: r,
|
|
className: d
|
|
}
|
|
),
|
|
t
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Me("div", { className: "flex items-center gap-3", children: [
|
|
r && /* @__PURE__ */ W(
|
|
Ei,
|
|
{
|
|
icon: r,
|
|
className: d
|
|
}
|
|
),
|
|
t
|
|
] }) })
|
|
}
|
|
) : /* @__PURE__ */ W(cy, { asChild: !0, children: /* @__PURE__ */ W(cb, { children: b ?? "Dialog" }) }),
|
|
/* @__PURE__ */ W("div", { className: "h-full".trim(), children: E }),
|
|
q()
|
|
] }),
|
|
(y || O) && /* @__PURE__ */ Me("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [
|
|
O && /* @__PURE__ */ W(es.ExpandButton, {}),
|
|
y && /* @__PURE__ */ W(MC, { onClick: o })
|
|
] })
|
|
]
|
|
}
|
|
)
|
|
}
|
|
) : null)
|
|
}
|
|
) })
|
|
]
|
|
}
|
|
) })
|
|
}
|
|
);
|
|
};
|
|
es.DragHandle = gd;
|
|
es.DragHandle.displayName = "ModalDragHandle";
|
|
es.ExpandButton = Dm;
|
|
Dm.displayName = "ModalExpandButton";
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const pj = {
|
|
prefix: "fas",
|
|
iconName: "trash-can",
|
|
icon: [448, 512, [61460, "trash-alt"], "f2ed", "M135.2 17.7C140.6 6.8 151.7 0 163.8 0L284.2 0c12.1 0 23.2 6.8 28.6 17.7L320 32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l96 0 7.2-14.3zM32 128l384 0 0 320c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-320zm96 64c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224c0-8.8-7.2-16-16-16z"]
|
|
}, mj = pj, gj = {
|
|
prefix: "fas",
|
|
iconName: "plus",
|
|
icon: [448, 512, [10133, 61543, "add"], "2b", "M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"]
|
|
};
|
|
/*!
|
|
* 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 bj(e, t, r) {
|
|
return (t = yj(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function uy(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Q(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? uy(Object(r), !0).forEach(function(n) {
|
|
bj(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : uy(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function hj(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 yj(e) {
|
|
var t = hj(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const fy = () => {
|
|
};
|
|
let Lm = {}, z2 = {}, T2 = null, M2 = {
|
|
mark: fy,
|
|
measure: fy
|
|
};
|
|
try {
|
|
typeof window < "u" && (Lm = window), typeof document < "u" && (z2 = document), typeof MutationObserver < "u" && (T2 = MutationObserver), typeof performance < "u" && (M2 = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: dy = ""
|
|
} = Lm.navigator || {}, Mn = Lm, ct = z2, py = T2, ws = M2;
|
|
Mn.document;
|
|
const Yr = !!ct.documentElement && !!ct.head && typeof ct.addEventListener == "function" && typeof ct.createElement == "function", R2 = ~dy.indexOf("MSIE") || ~dy.indexOf("Trident/");
|
|
var vj = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, xj = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, _2 = {
|
|
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"
|
|
}
|
|
}, wj = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, F2 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], vt = "classic", Kl = "duotone", kj = "sharp", $j = "sharp-duotone", D2 = [vt, Kl, kj, $j], Oj = {
|
|
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"
|
|
}
|
|
}, Sj = {
|
|
"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"
|
|
}
|
|
}, Pj = /* @__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
|
|
}]]), Aj = {
|
|
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"
|
|
}
|
|
}, Ej = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], my = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, Cj = ["kit"], Nj = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, jj = ["fak", "fakd"], Ij = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, gy = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, ks = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, zj = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Tj = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Mj = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, Rj = {
|
|
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"
|
|
}
|
|
}, _j = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, bd = {
|
|
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"
|
|
}
|
|
}, Fj = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], hd = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...zj, ...Fj], Dj = ["solid", "regular", "light", "thin", "duotone", "brands"], L2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Lj = L2.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Wj = [...Object.keys(_j), ...Dj, "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", ks.GROUP, ks.SWAP_OPACITY, ks.PRIMARY, ks.SECONDARY].concat(L2.map((e) => "".concat(e, "x"))).concat(Lj.map((e) => "w-".concat(e))), Yj = {
|
|
"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 Ir = "___FONT_AWESOME___", yd = 16, W2 = "fa", Y2 = "svg-inline--fa", co = "data-fa-i2svg", vd = "data-fa-pseudo-element", Gj = "data-fa-pseudo-element-pending", Wm = "data-prefix", Ym = "data-icon", by = "fontawesome-i2svg", Vj = "async", Uj = ["HTML", "HEAD", "STYLE", "SCRIPT"], G2 = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function ts(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[vt];
|
|
}
|
|
});
|
|
}
|
|
const V2 = Q({}, _2);
|
|
V2[vt] = Q(Q(Q(Q({}, {
|
|
"fa-duotone": "duotone"
|
|
}), _2[vt]), my.kit), my["kit-duotone"]);
|
|
const qj = ts(V2), xd = Q({}, Aj);
|
|
xd[vt] = Q(Q(Q(Q({}, {
|
|
duotone: "fad"
|
|
}), xd[vt]), gy.kit), gy["kit-duotone"]);
|
|
const hy = ts(xd), wd = Q({}, bd);
|
|
wd[vt] = Q(Q({}, wd[vt]), Ij.kit);
|
|
const Gm = ts(wd), kd = Q({}, Rj);
|
|
kd[vt] = Q(Q({}, kd[vt]), Nj.kit);
|
|
ts(kd);
|
|
const Hj = vj, U2 = "fa-layers-text", Bj = xj, Xj = Q({}, Oj);
|
|
ts(Xj);
|
|
const Kj = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], pu = wj, Jj = [...Cj, ...Wj], bi = Mn.FontAwesomeConfig || {};
|
|
function Qj(e) {
|
|
var t = ct.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function Zj(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((t) => {
|
|
let [r, n] = t;
|
|
const o = Zj(Qj(r));
|
|
o != null && (bi[n] = o);
|
|
});
|
|
const q2 = {
|
|
styleDefault: "solid",
|
|
familyDefault: vt,
|
|
cssPrefix: W2,
|
|
replacementClass: Y2,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
bi.familyPrefix && (bi.cssPrefix = bi.familyPrefix);
|
|
const ca = Q(Q({}, q2), bi);
|
|
ca.autoReplaceSvg || (ca.observeMutations = !1);
|
|
const se = {};
|
|
Object.keys(q2).forEach((e) => {
|
|
Object.defineProperty(se, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
ca[e] = t, hi.forEach((r) => r(se));
|
|
},
|
|
get: function() {
|
|
return ca[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(se, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
ca.cssPrefix = e, hi.forEach((t) => t(se));
|
|
},
|
|
get: function() {
|
|
return ca.cssPrefix;
|
|
}
|
|
});
|
|
Mn.FontAwesomeConfig = se;
|
|
const hi = [];
|
|
function e9(e) {
|
|
return hi.push(e), () => {
|
|
hi.splice(hi.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Zr = yd, or = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function t9(e) {
|
|
if (!e || !Yr)
|
|
return;
|
|
const t = ct.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = ct.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return ct.head.insertBefore(t, n), e;
|
|
}
|
|
const r9 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Di() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += r9[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function ya(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function Vm(e) {
|
|
return e.classList ? ya(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function H2(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function n9(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(H2(e[r]), '" '), "").trim();
|
|
}
|
|
function Jl(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function Um(e) {
|
|
return e.size !== or.size || e.x !== or.x || e.y !== or.y || e.rotate !== or.rotate || e.flipX || e.flipY;
|
|
}
|
|
function o9(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), c = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, l = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: c,
|
|
path: l
|
|
};
|
|
}
|
|
function a9(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = yd,
|
|
height: n = yd,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && R2 ? a += "translate(".concat(t.x / Zr - r / 2, "em, ").concat(t.y / Zr - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Zr, "em), calc(-50% + ").concat(t.y / Zr, "em)) ") : a += "translate(".concat(t.x / Zr, "em, ").concat(t.y / Zr, "em) "), a += "scale(".concat(t.size / Zr * (t.flipX ? -1 : 1), ", ").concat(t.size / Zr * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var i9 = `: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 B2() {
|
|
const e = W2, t = Y2, r = se.cssPrefix, n = se.replacementClass;
|
|
let o = i9;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let yy = !1;
|
|
function mu() {
|
|
se.autoAddCss && !yy && (t9(B2()), yy = !0);
|
|
}
|
|
var s9 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: B2,
|
|
insertCss: mu
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
mu();
|
|
},
|
|
beforeI2svg() {
|
|
mu();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const zr = Mn || {};
|
|
zr[Ir] || (zr[Ir] = {});
|
|
zr[Ir].styles || (zr[Ir].styles = {});
|
|
zr[Ir].hooks || (zr[Ir].hooks = {});
|
|
zr[Ir].shims || (zr[Ir].shims = []);
|
|
var ar = zr[Ir];
|
|
const X2 = [], K2 = function() {
|
|
ct.removeEventListener("DOMContentLoaded", K2), bl = 1, X2.map((e) => e());
|
|
};
|
|
let bl = !1;
|
|
Yr && (bl = (ct.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ct.readyState), bl || ct.addEventListener("DOMContentLoaded", K2));
|
|
function l9(e) {
|
|
Yr && (bl ? setTimeout(e, 0) : X2.push(e));
|
|
}
|
|
function rs(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? H2(e) : "<".concat(t, " ").concat(n9(r), ">").concat(n.map(rs).join(""), "</").concat(t, ">");
|
|
}
|
|
function vy(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var gu = function(t, r, n, o) {
|
|
var a = Object.keys(t), i = a.length, s = r, c, l, u;
|
|
for (n === void 0 ? (c = 1, u = t[a[0]]) : (c = 0, u = n); c < i; c++)
|
|
l = a[c], u = s(u, t[l], l, t);
|
|
return u;
|
|
};
|
|
function c9(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function $d(e) {
|
|
const t = c9(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function u9(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function xy(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 Od(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = xy(t);
|
|
typeof ar.hooks.addPack == "function" && !n ? ar.hooks.addPack(e, xy(t)) : ar.styles[e] = Q(Q({}, ar.styles[e] || {}), o), e === "fas" && Od("fa", t);
|
|
}
|
|
const {
|
|
styles: Li,
|
|
shims: f9
|
|
} = ar, J2 = Object.keys(Gm), d9 = J2.reduce((e, t) => (e[t] = Object.keys(Gm[t]), e), {});
|
|
let qm = null, Q2 = {}, Z2 = {}, ek = {}, tk = {}, rk = {};
|
|
function p9(e) {
|
|
return ~Jj.indexOf(e);
|
|
}
|
|
function m9(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !p9(o) ? o : null;
|
|
}
|
|
const nk = () => {
|
|
const e = (n) => gu(Li, (o, a, i) => (o[i] = gu(a, n, {}), o), {});
|
|
Q2 = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((s) => typeof s == "number").forEach((s) => {
|
|
n[s.toString(16)] = a;
|
|
}), n)), Z2 = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((s) => typeof s == "string").forEach((s) => {
|
|
n[s] = a;
|
|
}), n)), rk = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Li || se.autoFetchSvg, r = gu(f9, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
ek = r.names, tk = r.unicodes, qm = Ql(se.styleDefault, {
|
|
family: se.familyDefault
|
|
});
|
|
};
|
|
e9((e) => {
|
|
qm = Ql(e.styleDefault, {
|
|
family: se.familyDefault
|
|
});
|
|
});
|
|
nk();
|
|
function Hm(e, t) {
|
|
return (Q2[e] || {})[t];
|
|
}
|
|
function g9(e, t) {
|
|
return (Z2[e] || {})[t];
|
|
}
|
|
function Jn(e, t) {
|
|
return (rk[e] || {})[t];
|
|
}
|
|
function ok(e) {
|
|
return ek[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function b9(e) {
|
|
const t = tk[e], r = Hm("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Rn() {
|
|
return qm;
|
|
}
|
|
const ak = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function h9(e) {
|
|
let t = vt;
|
|
const r = J2.reduce((n, o) => (n[o] = "".concat(se.cssPrefix, "-").concat(o), n), {});
|
|
return D2.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => d9[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Ql(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = vt
|
|
} = t, n = qj[r][e];
|
|
if (r === Kl && !e)
|
|
return "fad";
|
|
const o = hy[r][e] || hy[r][n], a = e in ar.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function y9(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = m9(se.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function wy(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Zl(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = hd.concat(Tj), a = wy(e.filter((f) => o.includes(f))), i = wy(e.filter((f) => !hd.includes(f))), s = a.filter((f) => (n = f, !F2.includes(f))), [c = null] = s, l = h9(a), u = Q(Q({}, y9(i)), {}, {
|
|
prefix: Ql(c, {
|
|
family: l
|
|
})
|
|
});
|
|
return Q(Q(Q({}, u), k9({
|
|
values: e,
|
|
family: l,
|
|
styles: Li,
|
|
config: se,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), v9(r, n, u));
|
|
}
|
|
function v9(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? ok(o) : {}, i = Jn(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Li.far && Li.fas && !se.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const x9 = D2.filter((e) => e !== vt || e !== Kl), w9 = Object.keys(bd).filter((e) => e !== vt).map((e) => Object.keys(bd[e])).flat();
|
|
function k9(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Kl, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (c || l || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && x9.includes(r) && (Object.keys(a).find((d) => w9.includes(d)) || i.autoFetchSvg)) {
|
|
const d = Pj.get(r).defaultShortPrefixId;
|
|
n.prefix = d, n.iconName = Jn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Rn() || "fas"), n;
|
|
}
|
|
class $9 {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = Q(Q({}, this.definitions[a] || {}), o[a]), Od(a, o[a]);
|
|
const i = Gm[vt][a];
|
|
i && Od(i, o[a]), nk();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], c = s[2];
|
|
t[a] || (t[a] = {}), c.length > 0 && c.forEach((l) => {
|
|
typeof l == "string" && (t[a][l] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let ky = [], zo = {};
|
|
const Bo = {}, O9 = Object.keys(Bo);
|
|
function S9(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return ky = e, zo = {}, Object.keys(Bo).forEach((n) => {
|
|
O9.indexOf(n) === -1 && delete Bo[n];
|
|
}), ky.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
zo[i] || (zo[i] = []), zo[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Bo);
|
|
}), r;
|
|
}
|
|
function Sd(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (zo[e] || []).forEach((i) => {
|
|
t = i.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function uo(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(zo[e] || []).forEach((a) => {
|
|
a.apply(null, r);
|
|
});
|
|
}
|
|
function _n() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Bo[e] ? Bo[e].apply(null, t) : void 0;
|
|
}
|
|
function Pd(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Rn();
|
|
if (t)
|
|
return t = Jn(r, t) || t, vy(ik.definitions, r, t) || vy(ar.styles, r, t);
|
|
}
|
|
const ik = new $9(), P9 = () => {
|
|
se.autoReplaceSvg = !1, se.observeMutations = !1, uo("noAuto");
|
|
}, A9 = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Yr ? (uo("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;
|
|
se.autoReplaceSvg === !1 && (se.autoReplaceSvg = !0), se.observeMutations = !0, l9(() => {
|
|
C9({
|
|
autoReplaceSvgRoot: t
|
|
}), uo("watch", e);
|
|
});
|
|
}
|
|
}, E9 = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Jn(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 = Ql(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Jn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(se.cssPrefix, "-")) > -1 || e.match(Hj))) {
|
|
const t = Zl(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Rn(),
|
|
iconName: Jn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Rn();
|
|
return {
|
|
prefix: t,
|
|
iconName: Jn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, It = {
|
|
noAuto: P9,
|
|
config: se,
|
|
dom: A9,
|
|
parse: E9,
|
|
library: ik,
|
|
findIconDefinition: Pd,
|
|
toHtml: rs
|
|
}, C9 = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = ct
|
|
} = e;
|
|
(Object.keys(ar.styles).length > 0 || se.autoFetchSvg) && Yr && se.autoReplaceSvg && It.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function ec(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => rs(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Yr) return;
|
|
const r = ct.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function N9(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (Um(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: c
|
|
} = r, l = {
|
|
x: s / c / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Jl(Q(Q({}, a), {}, {
|
|
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function j9(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(se.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: Q(Q({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function Bm(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: c,
|
|
titleId: l,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: y
|
|
} = r.found ? r : t, x = jj.includes(n), m = [se.replacementClass, o ? "".concat(se.cssPrefix, "-").concat(o) : ""].filter((b) => u.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(u.classes).join(" ");
|
|
let p = {
|
|
children: [],
|
|
attributes: Q(Q({}, u.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: u.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(d, " ").concat(y)
|
|
})
|
|
};
|
|
const v = x && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / y * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (p.attributes[co] = ""), s && (p.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: p.attributes["aria-labelledby"] || "title-".concat(l || Di())
|
|
},
|
|
children: [s]
|
|
}), delete p.attributes.title);
|
|
const k = Q(Q({}, p), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: c,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: Q(Q({}, v), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: O
|
|
} = r.found && t.found ? _n("generateAbstractMask", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : _n("generateAbstractIcon", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return k.children = $, k.attributes = O, i ? j9(k) : N9(k);
|
|
}
|
|
function $y(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, c = Q(Q(Q({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (c[co] = "");
|
|
const l = Q({}, i.styles);
|
|
Um(o) && (l.transform = a9({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), l["-webkit-transform"] = l.transform);
|
|
const u = Jl(l);
|
|
u.length > 0 && (c.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: c,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function I9(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = Q(Q(Q({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Jl(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: bu
|
|
} = ar;
|
|
function Ad(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(se.cssPrefix, "-").concat(pu.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(se.cssPrefix, "-").concat(pu.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(se.cssPrefix, "-").concat(pu.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const z9 = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function T9(e, t) {
|
|
!G2 && !se.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Ed(e, t) {
|
|
let r = t;
|
|
return t === "fa" && se.styleDefault !== null && (t = Rn()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = ok(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && bu[t] && bu[t][e]) {
|
|
const a = bu[t][e];
|
|
return n(Ad(a));
|
|
}
|
|
T9(e, t), n(Q(Q({}, z9), {}, {
|
|
icon: se.showMissingIcons && e ? _n("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Oy = () => {
|
|
}, Cd = se.measurePerformance && ws && ws.mark && ws.measure ? ws : {
|
|
mark: Oy,
|
|
measure: Oy
|
|
}, ni = 'FA "6.7.2"', M9 = (e) => (Cd.mark("".concat(ni, " ").concat(e, " begins")), () => sk(e)), sk = (e) => {
|
|
Cd.mark("".concat(ni, " ").concat(e, " ends")), Cd.measure("".concat(ni, " ").concat(e), "".concat(ni, " ").concat(e, " begins"), "".concat(ni, " ").concat(e, " ends"));
|
|
};
|
|
var Xm = {
|
|
begin: M9,
|
|
end: sk
|
|
};
|
|
const Vs = () => {
|
|
};
|
|
function Sy(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(co) : null) == "string";
|
|
}
|
|
function R9(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Wm) : null, r = e.getAttribute ? e.getAttribute(Ym) : null;
|
|
return t && r;
|
|
}
|
|
function _9(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(se.replacementClass);
|
|
}
|
|
function F9() {
|
|
return se.autoReplaceSvg === !0 ? Us.replace : Us[se.autoReplaceSvg] || Us.replace;
|
|
}
|
|
function D9(e) {
|
|
return ct.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function L9(e) {
|
|
return ct.createElement(e);
|
|
}
|
|
function lk(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? D9 : L9
|
|
} = 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(lk(a, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function W9(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Us = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(lk(r), t);
|
|
}), t.getAttribute(co) === null && se.keepOriginalSource) {
|
|
let r = ct.createComment(W9(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~Vm(t).indexOf(se.replacementClass))
|
|
return Us.replace(e);
|
|
const n = new RegExp("".concat(se.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === se.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => rs(a)).join(`
|
|
`);
|
|
t.setAttribute(co, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function Py(e) {
|
|
e();
|
|
}
|
|
function ck(e, t) {
|
|
const r = typeof t == "function" ? t : Vs;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Py;
|
|
se.mutateApproach === Vj && (n = Mn.requestAnimationFrame || Py), n(() => {
|
|
const o = F9(), a = Xm.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Km = !1;
|
|
function uk() {
|
|
Km = !0;
|
|
}
|
|
function Nd() {
|
|
Km = !1;
|
|
}
|
|
let hl = null;
|
|
function Ay(e) {
|
|
if (!py || !se.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Vs,
|
|
nodeCallback: r = Vs,
|
|
pseudoElementsCallback: n = Vs,
|
|
observeMutationsRoot: o = ct
|
|
} = e;
|
|
hl = new py((a) => {
|
|
if (Km) return;
|
|
const i = Rn();
|
|
ya(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !Sy(s.addedNodes[0]) && (se.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && se.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && Sy(s.target) && ~Kj.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && R9(s.target)) {
|
|
const {
|
|
prefix: c,
|
|
iconName: l
|
|
} = Zl(Vm(s.target));
|
|
s.target.setAttribute(Wm, c || i), l && s.target.setAttribute(Ym, l);
|
|
} else _9(s.target) && r(s.target);
|
|
});
|
|
}), Yr && hl.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function Y9() {
|
|
hl && hl.disconnect();
|
|
}
|
|
function G9(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function V9(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Zl(Vm(e));
|
|
return o.prefix || (o.prefix = Rn()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = g9(o.prefix, e.innerText) || Hm(o.prefix, $d(e.innerText))), !o.iconName && se.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function U9(e) {
|
|
const t = ya(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return se.autoA11y && (r ? t["aria-labelledby"] = "".concat(se.replacementClass, "-title-").concat(n || Di()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function q9() {
|
|
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 Ey(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = V9(e), a = U9(e), i = Sd("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? G9(e) : [];
|
|
return Q({
|
|
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: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: H9
|
|
} = ar;
|
|
function fk(e) {
|
|
const t = se.autoReplaceSvg === "nest" ? Ey(e, {
|
|
styleParser: !1
|
|
}) : Ey(e);
|
|
return ~t.extra.classes.indexOf(U2) ? _n("generateLayersText", e, t) : _n("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function B9() {
|
|
return [...Ej, ...hd];
|
|
}
|
|
function Cy(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Yr) return Promise.resolve();
|
|
const r = ct.documentElement.classList, n = (u) => r.add("".concat(by, "-").concat(u)), o = (u) => r.remove("".concat(by, "-").concat(u)), a = se.autoFetchSvg ? B9() : F2.concat(Object.keys(H9));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(U2, ":not([").concat(co, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(co, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = ya(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const c = Xm.begin("onTree"), l = s.reduce((u, f) => {
|
|
try {
|
|
const d = fk(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
G2 || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(l).then((d) => {
|
|
ck(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), c(), u();
|
|
});
|
|
}).catch((d) => {
|
|
c(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function X9(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
fk(e).then((r) => {
|
|
r && ck([r], t);
|
|
});
|
|
}
|
|
function K9(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Pd(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : Pd(o || {})), e(n, Q(Q({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const J9 = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = or,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: c = [],
|
|
attributes: l = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: y
|
|
} = e;
|
|
return ec(Q({
|
|
type: "icon"
|
|
}, e), () => (uo("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), se.autoA11y && (i ? l["aria-labelledby"] = "".concat(se.replacementClass, "-title-").concat(s || Di()) : (l["aria-hidden"] = "true", l.focusable = "false")), Bm({
|
|
icons: {
|
|
main: Ad(y),
|
|
mask: o ? Ad(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: Q(Q({}, or), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: l,
|
|
styles: u,
|
|
classes: c
|
|
}
|
|
})));
|
|
};
|
|
var Q9 = {
|
|
mixout() {
|
|
return {
|
|
icon: K9(J9)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Cy, e.nodeCallback = X9, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = ct,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Cy(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: c,
|
|
mask: l,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, y) => {
|
|
Promise.all([Ed(n, i), l.iconName ? Ed(l.iconName, l.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((x) => {
|
|
let [m, p] = x;
|
|
d([t, Bm({
|
|
icons: {
|
|
main: m,
|
|
mask: p
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: c,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(y);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Jl(i);
|
|
s.length > 0 && (n.style = s);
|
|
let c;
|
|
return Um(a) && (c = _n("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(c || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Z9 = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return ec({
|
|
type: "layer"
|
|
}, () => {
|
|
uo("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(se.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, e7 = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return ec({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (uo("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), I9({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(se.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, t7 = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = or,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return ec({
|
|
type: "text",
|
|
content: e
|
|
}, () => (uo("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), $y({
|
|
content: e,
|
|
transform: Q(Q({}, or), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(se.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (R2) {
|
|
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
|
|
i = l.width / c, s = l.height / c;
|
|
}
|
|
return se.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, $y({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const r7 = new RegExp('"', "ug"), Ny = [1105920, 1112319], jy = Q(Q(Q(Q({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), Sj), Yj), Mj), jd = Object.keys(jy).reduce((e, t) => (e[t.toLowerCase()] = jy[t], e), {}), n7 = Object.keys(jd).reduce((e, t) => {
|
|
const r = jd[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function o7(e) {
|
|
const t = e.replace(r7, ""), r = u9(t, 0), n = r >= Ny[0] && r <= Ny[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: $d(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function a7(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (jd[r] || {})[o] || n7[r];
|
|
}
|
|
function Iy(e, t) {
|
|
const r = "".concat(Gj).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const i = ya(e.children).filter((d) => d.getAttribute(vd) === t)[0], s = Mn.getComputedStyle(e, t), c = s.getPropertyValue("font-family"), l = c.match(Bj), u = s.getPropertyValue("font-weight"), f = s.getPropertyValue("content");
|
|
if (i && !l)
|
|
return e.removeChild(i), n();
|
|
if (l && f !== "none" && f !== "") {
|
|
const d = s.getPropertyValue("content");
|
|
let y = a7(c, u);
|
|
const {
|
|
value: x,
|
|
isSecondary: m
|
|
} = o7(d), p = l[0].startsWith("FontAwesome");
|
|
let v = Hm(y, x), k = v;
|
|
if (p) {
|
|
const $ = b9(x);
|
|
$.iconName && $.prefix && (v = $.iconName, y = $.prefix);
|
|
}
|
|
if (v && !m && (!i || i.getAttribute(Wm) !== y || i.getAttribute(Ym) !== k)) {
|
|
e.setAttribute(r, k), i && e.removeChild(i);
|
|
const $ = q9(), {
|
|
extra: O
|
|
} = $;
|
|
O.attributes[vd] = t, Ed(v, y).then((b) => {
|
|
const L = Bm(Q(Q({}, $), {}, {
|
|
icons: {
|
|
main: b,
|
|
mask: ak()
|
|
},
|
|
prefix: y,
|
|
iconName: k,
|
|
extra: O,
|
|
watchable: !0
|
|
})), M = ct.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(M, e.firstChild) : e.appendChild(M), M.outerHTML = L.map((B) => rs(B)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function i7(e) {
|
|
return Promise.all([Iy(e, "::before"), Iy(e, "::after")]);
|
|
}
|
|
function s7(e) {
|
|
return e.parentNode !== document.head && !~Uj.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(vd) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function zy(e) {
|
|
if (Yr)
|
|
return new Promise((t, r) => {
|
|
const n = ya(e.querySelectorAll("*")).filter(s7).map(i7), o = Xm.begin("searchPseudoElements");
|
|
uk(), Promise.all(n).then(() => {
|
|
o(), Nd(), t();
|
|
}).catch(() => {
|
|
o(), Nd(), r();
|
|
});
|
|
});
|
|
}
|
|
var l7 = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = zy, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = ct
|
|
} = t;
|
|
se.searchPseudoElements && zy(r);
|
|
};
|
|
}
|
|
};
|
|
let Ty = !1;
|
|
var c7 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
uk(), Ty = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Ay(Sd("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
Y9();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
Ty ? Nd() : Ay(Sd("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const My = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var u7 = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => My(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = My(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), c = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), l = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(c, " ").concat(l)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: Q({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: Q({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: Q(Q({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const hu = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function Ry(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 f7(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var d7 = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Zl(r.split(" ").map((o) => o.trim())) : ak();
|
|
return n.prefix || (n.prefix = Rn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: c,
|
|
icon: l
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = o9({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: c
|
|
}), y = {
|
|
tag: "rect",
|
|
attributes: Q(Q({}, hu), {}, {
|
|
fill: "white"
|
|
})
|
|
}, x = l.children ? {
|
|
children: l.children.map(Ry)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: Q({}, d.inner),
|
|
children: [Ry(Q({
|
|
tag: l.tag,
|
|
attributes: Q(Q({}, l.attributes), d.path)
|
|
}, x))]
|
|
}, p = {
|
|
tag: "g",
|
|
attributes: Q({}, d.outer),
|
|
children: [m]
|
|
}, v = "mask-".concat(i || Di()), k = "clip-".concat(i || Di()), $ = {
|
|
tag: "mask",
|
|
attributes: Q(Q({}, hu), {}, {
|
|
id: v,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [y, p]
|
|
}, O = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: k
|
|
},
|
|
children: f7(f)
|
|
}, $]
|
|
};
|
|
return r.push(O, {
|
|
tag: "rect",
|
|
attributes: Q({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(k, ")"),
|
|
mask: "url(#".concat(v, ")")
|
|
}, hu)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, p7 = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Mn.matchMedia && (t = Mn.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: Q(Q({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = Q(Q({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: Q(Q({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: Q(Q({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: Q(Q({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: Q(Q({}, 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: Q(Q({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: Q(Q({}, 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: Q(Q({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, m7 = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, g7 = [s9, Q9, Z9, e7, t7, l7, c7, u7, d7, p7, m7];
|
|
S9(g7, {
|
|
mixoutsTo: It
|
|
});
|
|
It.noAuto;
|
|
It.config;
|
|
It.library;
|
|
It.dom;
|
|
const Id = It.parse;
|
|
It.findIconDefinition;
|
|
It.toHtml;
|
|
const b7 = It.icon;
|
|
It.layer;
|
|
It.text;
|
|
It.counter;
|
|
function h7(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var $s = { exports: {} }, Os = { exports: {} }, De = {};
|
|
/** @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 _y;
|
|
function y7() {
|
|
if (_y) return De;
|
|
_y = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var L = b.$$typeof;
|
|
switch (L) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return L;
|
|
}
|
|
}
|
|
case r:
|
|
return L;
|
|
}
|
|
}
|
|
}
|
|
function O(b) {
|
|
return $(b) === l;
|
|
}
|
|
return De.AsyncMode = c, De.ConcurrentMode = l, De.ContextConsumer = s, De.ContextProvider = i, De.Element = t, De.ForwardRef = u, De.Fragment = n, De.Lazy = x, De.Memo = y, De.Portal = r, De.Profiler = a, De.StrictMode = o, De.Suspense = f, De.isAsyncMode = function(b) {
|
|
return O(b) || $(b) === c;
|
|
}, De.isConcurrentMode = O, De.isContextConsumer = function(b) {
|
|
return $(b) === s;
|
|
}, De.isContextProvider = function(b) {
|
|
return $(b) === i;
|
|
}, De.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, De.isForwardRef = function(b) {
|
|
return $(b) === u;
|
|
}, De.isFragment = function(b) {
|
|
return $(b) === n;
|
|
}, De.isLazy = function(b) {
|
|
return $(b) === x;
|
|
}, De.isMemo = function(b) {
|
|
return $(b) === y;
|
|
}, De.isPortal = function(b) {
|
|
return $(b) === r;
|
|
}, De.isProfiler = function(b) {
|
|
return $(b) === a;
|
|
}, De.isStrictMode = function(b) {
|
|
return $(b) === o;
|
|
}, De.isSuspense = function(b) {
|
|
return $(b) === f;
|
|
}, De.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === l || b === a || b === o || b === f || b === d || typeof b == "object" && b !== null && (b.$$typeof === x || b.$$typeof === y || b.$$typeof === i || b.$$typeof === s || b.$$typeof === u || b.$$typeof === p || b.$$typeof === v || b.$$typeof === k || b.$$typeof === m);
|
|
}, De.typeOf = $, De;
|
|
}
|
|
var Le = {};
|
|
/** @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 Fy;
|
|
function v7() {
|
|
return Fy || (Fy = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(w) {
|
|
return typeof w == "string" || typeof w == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
w === n || w === l || w === a || w === o || w === f || w === d || typeof w == "object" && w !== null && (w.$$typeof === x || w.$$typeof === y || w.$$typeof === i || w.$$typeof === s || w.$$typeof === u || w.$$typeof === p || w.$$typeof === v || w.$$typeof === k || w.$$typeof === m);
|
|
}
|
|
function O(w) {
|
|
if (typeof w == "object" && w !== null) {
|
|
var oe = w.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var Ae = w.type;
|
|
switch (Ae) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ae;
|
|
default:
|
|
var mt = Ae && Ae.$$typeof;
|
|
switch (mt) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return mt;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = c, L = l, M = s, B = i, H = t, U = u, X = n, S = x, ne = y, F = r, R = a, _ = o, G = f, Y = !1;
|
|
function V(w) {
|
|
return Y || (Y = !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.")), g(w) || O(w) === c;
|
|
}
|
|
function g(w) {
|
|
return O(w) === l;
|
|
}
|
|
function h(w) {
|
|
return O(w) === s;
|
|
}
|
|
function N(w) {
|
|
return O(w) === i;
|
|
}
|
|
function A(w) {
|
|
return typeof w == "object" && w !== null && w.$$typeof === t;
|
|
}
|
|
function P(w) {
|
|
return O(w) === u;
|
|
}
|
|
function j(w) {
|
|
return O(w) === n;
|
|
}
|
|
function C(w) {
|
|
return O(w) === x;
|
|
}
|
|
function E(w) {
|
|
return O(w) === y;
|
|
}
|
|
function I(w) {
|
|
return O(w) === r;
|
|
}
|
|
function z(w) {
|
|
return O(w) === a;
|
|
}
|
|
function T(w) {
|
|
return O(w) === o;
|
|
}
|
|
function q(w) {
|
|
return O(w) === f;
|
|
}
|
|
Le.AsyncMode = b, Le.ConcurrentMode = L, Le.ContextConsumer = M, Le.ContextProvider = B, Le.Element = H, Le.ForwardRef = U, Le.Fragment = X, Le.Lazy = S, Le.Memo = ne, Le.Portal = F, Le.Profiler = R, Le.StrictMode = _, Le.Suspense = G, Le.isAsyncMode = V, Le.isConcurrentMode = g, Le.isContextConsumer = h, Le.isContextProvider = N, Le.isElement = A, Le.isForwardRef = P, Le.isFragment = j, Le.isLazy = C, Le.isMemo = E, Le.isPortal = I, Le.isProfiler = z, Le.isStrictMode = T, Le.isSuspense = q, Le.isValidElementType = $, Le.typeOf = O;
|
|
}()), Le;
|
|
}
|
|
var Dy;
|
|
function dk() {
|
|
return Dy || (Dy = 1, process.env.NODE_ENV === "production" ? Os.exports = y7() : Os.exports = v7()), Os.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var yu, Ly;
|
|
function x7() {
|
|
if (Ly) return yu;
|
|
Ly = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var c = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (c.join("") !== "0123456789")
|
|
return !1;
|
|
var l = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
l[u] = u;
|
|
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return yu = o() ? Object.assign : function(a, i) {
|
|
for (var s, c = n(a), l, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (c[f] = s[f]);
|
|
if (e) {
|
|
l = e(s);
|
|
for (var d = 0; d < l.length; d++)
|
|
r.call(s, l[d]) && (c[l[d]] = s[l[d]]);
|
|
}
|
|
}
|
|
return c;
|
|
}, yu;
|
|
}
|
|
var vu, Wy;
|
|
function Jm() {
|
|
if (Wy) return vu;
|
|
Wy = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return vu = e, vu;
|
|
}
|
|
var xu, Yy;
|
|
function pk() {
|
|
return Yy || (Yy = 1, xu = Function.call.bind(Object.prototype.hasOwnProperty)), xu;
|
|
}
|
|
var wu, Gy;
|
|
function w7() {
|
|
if (Gy) return wu;
|
|
Gy = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Jm(), r = {}, n = /* @__PURE__ */ pk();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, c, l) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var u in a)
|
|
if (n(a, u)) {
|
|
var f;
|
|
try {
|
|
if (typeof a[u] != "function") {
|
|
var d = Error(
|
|
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw d.name = "Invariant Violation", d;
|
|
}
|
|
f = a[u](i, u, c, s, null, t);
|
|
} catch (x) {
|
|
f = x;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), f instanceof Error && !(f.message in r)) {
|
|
r[f.message] = !0;
|
|
var y = l ? l() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (y ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, wu = o, wu;
|
|
}
|
|
var ku, Vy;
|
|
function k7() {
|
|
if (Vy) return ku;
|
|
Vy = 1;
|
|
var e = dk(), t = x7(), r = /* @__PURE__ */ Jm(), n = /* @__PURE__ */ pk(), o = /* @__PURE__ */ w7(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var c = "Warning: " + s;
|
|
typeof console < "u" && console.error(c);
|
|
try {
|
|
throw new Error(c);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return ku = function(s, c) {
|
|
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(g) {
|
|
var h = g && (l && g[l] || g[u]);
|
|
if (typeof h == "function")
|
|
return h;
|
|
}
|
|
var d = "<<anonymous>>", y = {
|
|
array: v("array"),
|
|
bigint: v("bigint"),
|
|
bool: v("boolean"),
|
|
func: v("function"),
|
|
number: v("number"),
|
|
object: v("object"),
|
|
string: v("string"),
|
|
symbol: v("symbol"),
|
|
any: k(),
|
|
arrayOf: $,
|
|
element: O(),
|
|
elementType: b(),
|
|
instanceOf: L,
|
|
node: U(),
|
|
objectOf: B,
|
|
oneOf: M,
|
|
oneOfType: H,
|
|
shape: S,
|
|
exact: ne
|
|
};
|
|
function x(g, h) {
|
|
return g === h ? g !== 0 || 1 / g === 1 / h : g !== g && h !== h;
|
|
}
|
|
function m(g, h) {
|
|
this.message = g, this.data = h && typeof h == "object" ? h : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function p(g) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var h = {}, N = 0;
|
|
function A(j, C, E, I, z, T, q) {
|
|
if (I = I || d, T = T || E, q !== r) {
|
|
if (c) {
|
|
var w = 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 w.name = "Invariant Violation", w;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + E;
|
|
!h[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
N < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), h[oe] = !0, N++);
|
|
}
|
|
}
|
|
return C[E] == null ? j ? C[E] === null ? new m("The " + z + " `" + T + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + z + " `" + T + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : g(C, E, I, z, T);
|
|
}
|
|
var P = A.bind(null, !1);
|
|
return P.isRequired = A.bind(null, !0), P;
|
|
}
|
|
function v(g) {
|
|
function h(N, A, P, j, C, E) {
|
|
var I = N[A], z = _(I);
|
|
if (z !== g) {
|
|
var T = G(I);
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."),
|
|
{ expectedType: g }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function k() {
|
|
return p(i);
|
|
}
|
|
function $(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside arrayOf.");
|
|
var E = N[A];
|
|
if (!Array.isArray(E)) {
|
|
var I = _(E);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an array."));
|
|
}
|
|
for (var z = 0; z < E.length; z++) {
|
|
var T = g(E, z, P, j, C + "[" + z + "]", r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function O() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!s(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function b() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!e.isValidElementType(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function L(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (!(N[A] instanceof g)) {
|
|
var E = g.name || d, I = V(N[A]);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected ") + ("instance of `" + E + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function M(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function h(N, A, P, j, C) {
|
|
for (var E = N[A], I = 0; I < g.length; I++)
|
|
if (x(E, g[I]))
|
|
return null;
|
|
var z = JSON.stringify(g, function(q, w) {
|
|
var oe = G(w);
|
|
return oe === "symbol" ? String(w) : w;
|
|
});
|
|
return new m("Invalid " + j + " `" + C + "` of value `" + String(E) + "` " + ("supplied to `" + P + "`, expected one of " + z + "."));
|
|
}
|
|
return p(h);
|
|
}
|
|
function B(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside objectOf.");
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an object."));
|
|
for (var z in E)
|
|
if (n(E, z)) {
|
|
var T = g(E, z, P, j, C + "." + z, r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function H(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var h = 0; h < g.length; h++) {
|
|
var N = g[h];
|
|
if (typeof N != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(N) + " at index " + h + "."
|
|
), i;
|
|
}
|
|
function A(P, j, C, E, I) {
|
|
for (var z = [], T = 0; T < g.length; T++) {
|
|
var q = g[T], w = q(P, j, C, E, I, r);
|
|
if (w == null)
|
|
return null;
|
|
w.data && n(w.data, "expectedType") && z.push(w.data.expectedType);
|
|
}
|
|
var oe = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
|
|
return new m("Invalid " + E + " `" + I + "` supplied to " + ("`" + C + "`" + oe + "."));
|
|
}
|
|
return p(A);
|
|
}
|
|
function U() {
|
|
function g(h, N, A, P, j) {
|
|
return F(h[N]) ? null : new m("Invalid " + P + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return p(g);
|
|
}
|
|
function X(g, h, N, A, P) {
|
|
return new m(
|
|
(g || "React class") + ": " + h + " type `" + N + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`."
|
|
);
|
|
}
|
|
function S(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
for (var z in g) {
|
|
var T = g[z];
|
|
if (typeof T != "function")
|
|
return X(P, j, C, z, G(T));
|
|
var q = T(E, z, P, j, C + "." + z, r);
|
|
if (q)
|
|
return q;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function ne(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
var z = t({}, N[A], g);
|
|
for (var T in z) {
|
|
var q = g[T];
|
|
if (n(g, T) && typeof q != "function")
|
|
return X(P, j, C, T, G(q));
|
|
if (!q)
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(N[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
|
|
);
|
|
var w = q(E, T, P, j, C + "." + T, r);
|
|
if (w)
|
|
return w;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function F(g) {
|
|
switch (typeof g) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !g;
|
|
case "object":
|
|
if (Array.isArray(g))
|
|
return g.every(F);
|
|
if (g === null || s(g))
|
|
return !0;
|
|
var h = f(g);
|
|
if (h) {
|
|
var N = h.call(g), A;
|
|
if (h !== g.entries) {
|
|
for (; !(A = N.next()).done; )
|
|
if (!F(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = N.next()).done; ) {
|
|
var P = A.value;
|
|
if (P && !F(P[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function R(g, h) {
|
|
return g === "symbol" ? !0 : h ? h["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && h instanceof Symbol : !1;
|
|
}
|
|
function _(g) {
|
|
var h = typeof g;
|
|
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : R(h, g) ? "symbol" : h;
|
|
}
|
|
function G(g) {
|
|
if (typeof g > "u" || g === null)
|
|
return "" + g;
|
|
var h = _(g);
|
|
if (h === "object") {
|
|
if (g instanceof Date)
|
|
return "date";
|
|
if (g instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return h;
|
|
}
|
|
function Y(g) {
|
|
var h = G(g);
|
|
switch (h) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + h;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + h;
|
|
default:
|
|
return h;
|
|
}
|
|
}
|
|
function V(g) {
|
|
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
|
|
}
|
|
return y.checkPropTypes = o, y.resetWarningCache = o.resetWarningCache, y.PropTypes = y, y;
|
|
}, ku;
|
|
}
|
|
var $u, Uy;
|
|
function $7() {
|
|
if (Uy) return $u;
|
|
Uy = 1;
|
|
var e = /* @__PURE__ */ Jm();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, $u = function() {
|
|
function n(i, s, c, l, u, f) {
|
|
if (f !== e) {
|
|
var d = 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 d.name = "Invariant Violation", d;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, $u;
|
|
}
|
|
var qy;
|
|
function O7() {
|
|
if (qy) return $s.exports;
|
|
if (qy = 1, process.env.NODE_ENV !== "production") {
|
|
var e = dk(), t = !0;
|
|
$s.exports = /* @__PURE__ */ k7()(e.isElement, t);
|
|
} else
|
|
$s.exports = /* @__PURE__ */ $7()();
|
|
return $s.exports;
|
|
}
|
|
var S7 = /* @__PURE__ */ O7();
|
|
const Ne = /* @__PURE__ */ h7(S7);
|
|
function Hy(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Xt(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Hy(Object(r), !0).forEach(function(n) {
|
|
To(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Hy(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function yl(e) {
|
|
"@babel/helpers - typeof";
|
|
return yl = 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;
|
|
}, yl(e);
|
|
}
|
|
function To(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function P7(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function A7(e, t) {
|
|
if (e == null) return {};
|
|
var r = P7(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function zd(e) {
|
|
return E7(e) || C7(e) || N7(e) || j7();
|
|
}
|
|
function E7(e) {
|
|
if (Array.isArray(e)) return Td(e);
|
|
}
|
|
function C7(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function N7(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Td(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 Td(e, t);
|
|
}
|
|
}
|
|
function Td(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 j7() {
|
|
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 I7(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, x = e.border, m = e.listItem, p = e.flip, v = e.size, k = e.rotation, $ = e.pull, O = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": c,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": l,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": y,
|
|
"fa-border": x,
|
|
"fa-li": m,
|
|
"fa-flip": p === !0,
|
|
"fa-flip-horizontal": p === "horizontal" || p === "both",
|
|
"fa-flip-vertical": p === "vertical" || p === "both"
|
|
}, To(t, "fa-".concat(v), typeof v < "u" && v !== null), To(t, "fa-rotate-".concat(k), typeof k < "u" && k !== null && k !== 0), To(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), To(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(O).map(function(b) {
|
|
return O[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function z7(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function mk(e) {
|
|
return z7(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var T7 = ["style"];
|
|
function M7(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function R7(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = mk(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[M7(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function gk(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(c) {
|
|
return gk(e, c);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(c, l) {
|
|
var u = t.attributes[l];
|
|
switch (l) {
|
|
case "class":
|
|
c.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
c.attrs.style = R7(u);
|
|
break;
|
|
default:
|
|
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[mk(l)] = u;
|
|
}
|
|
return c;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = A7(r, T7);
|
|
return o.attrs.style = Xt(Xt({}, o.attrs.style), i), e.apply(void 0, [t.tag, Xt(Xt({}, o.attrs), s)].concat(zd(n)));
|
|
}
|
|
var bk = !1;
|
|
try {
|
|
bk = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function _7() {
|
|
if (!bk && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function By(e) {
|
|
if (e && yl(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Id.icon)
|
|
return Id.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && yl(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 Ou(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? To({}, e, t) : {};
|
|
}
|
|
var Xy = {
|
|
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
|
|
}, vl = /* @__PURE__ */ Pe.forwardRef(function(e, t) {
|
|
var r = Xt(Xt({}, Xy), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, c = r.titleId, l = r.maskId, u = By(n), f = Ou("classes", [].concat(zd(I7(r)), zd((i || "").split(" ")))), d = Ou("transform", typeof r.transform == "string" ? Id.transform(r.transform) : r.transform), y = Ou("mask", By(o)), x = b7(u, Xt(Xt(Xt(Xt({}, f), d), y), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: c,
|
|
maskId: l
|
|
}));
|
|
if (!x)
|
|
return _7("Could not find icon", u), null;
|
|
var m = x.abstract, p = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(v) {
|
|
Xy.hasOwnProperty(v) || (p[v] = r[v]);
|
|
}), F7(m[0], p);
|
|
});
|
|
vl.displayName = "FontAwesomeIcon";
|
|
vl.propTypes = {
|
|
beat: Ne.bool,
|
|
border: Ne.bool,
|
|
beatFade: Ne.bool,
|
|
bounce: Ne.bool,
|
|
className: Ne.string,
|
|
fade: Ne.bool,
|
|
flash: Ne.bool,
|
|
mask: Ne.oneOfType([Ne.object, Ne.array, Ne.string]),
|
|
maskId: Ne.string,
|
|
fixedWidth: Ne.bool,
|
|
inverse: Ne.bool,
|
|
flip: Ne.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ne.oneOfType([Ne.object, Ne.array, Ne.string]),
|
|
listItem: Ne.bool,
|
|
pull: Ne.oneOf(["right", "left"]),
|
|
pulse: Ne.bool,
|
|
rotation: Ne.oneOf([0, 90, 180, 270]),
|
|
shake: Ne.bool,
|
|
size: Ne.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ne.bool,
|
|
spinPulse: Ne.bool,
|
|
spinReverse: Ne.bool,
|
|
symbol: Ne.oneOfType([Ne.bool, Ne.string]),
|
|
title: Ne.string,
|
|
titleId: Ne.string,
|
|
transform: Ne.oneOfType([Ne.string, Ne.object]),
|
|
swapOpacity: Ne.bool
|
|
};
|
|
var F7 = gk.bind(null, Pe.createElement);
|
|
/*!
|
|
* 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 D7(e, t, r) {
|
|
return (t = W7(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Ky(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Z(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Ky(Object(r), !0).forEach(function(n) {
|
|
D7(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Ky(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function L7(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 W7(e) {
|
|
var t = L7(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const Jy = () => {
|
|
};
|
|
let Qm = {}, hk = {}, yk = null, vk = {
|
|
mark: Jy,
|
|
measure: Jy
|
|
};
|
|
try {
|
|
typeof window < "u" && (Qm = window), typeof document < "u" && (hk = document), typeof MutationObserver < "u" && (yk = MutationObserver), typeof performance < "u" && (vk = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: Qy = ""
|
|
} = Qm.navigator || {}, Fn = Qm, ut = hk, Zy = yk, Ss = vk;
|
|
Fn.document;
|
|
const Gr = !!ut.documentElement && !!ut.head && typeof ut.addEventListener == "function" && typeof ut.createElement == "function", xk = ~Qy.indexOf("MSIE") || ~Qy.indexOf("Trident/");
|
|
var Y7 = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, G7 = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, wk = {
|
|
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"
|
|
}
|
|
}, V7 = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, kk = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xt = "classic", tc = "duotone", U7 = "sharp", q7 = "sharp-duotone", $k = [xt, tc, U7, q7], H7 = {
|
|
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"
|
|
}
|
|
}, B7 = {
|
|
"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"
|
|
}
|
|
}, X7 = /* @__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
|
|
}]]), K7 = {
|
|
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"
|
|
}
|
|
}, J7 = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], ev = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, Q7 = ["kit"], Z7 = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, eI = ["fak", "fakd"], tI = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, tv = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Ps = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, rI = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], nI = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], oI = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, aI = {
|
|
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"
|
|
}
|
|
}, iI = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Md = {
|
|
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"
|
|
}
|
|
}, sI = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Rd = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...rI, ...sI], lI = ["solid", "regular", "light", "thin", "duotone", "brands"], Ok = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], cI = Ok.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), uI = [...Object.keys(iI), ...lI, "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", Ps.GROUP, Ps.SWAP_OPACITY, Ps.PRIMARY, Ps.SECONDARY].concat(Ok.map((e) => "".concat(e, "x"))).concat(cI.map((e) => "w-".concat(e))), fI = {
|
|
"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___", _d = 16, Sk = "fa", Pk = "svg-inline--fa", fo = "data-fa-i2svg", Fd = "data-fa-pseudo-element", dI = "data-fa-pseudo-element-pending", Zm = "data-prefix", eg = "data-icon", rv = "fontawesome-i2svg", pI = "async", mI = ["HTML", "HEAD", "STYLE", "SCRIPT"], Ak = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function ns(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[xt];
|
|
}
|
|
});
|
|
}
|
|
const Ek = Z({}, wk);
|
|
Ek[xt] = Z(Z(Z(Z({}, {
|
|
"fa-duotone": "duotone"
|
|
}), wk[xt]), ev.kit), ev["kit-duotone"]);
|
|
const gI = ns(Ek), Dd = Z({}, K7);
|
|
Dd[xt] = Z(Z(Z(Z({}, {
|
|
duotone: "fad"
|
|
}), Dd[xt]), tv.kit), tv["kit-duotone"]);
|
|
const nv = ns(Dd), Ld = Z({}, Md);
|
|
Ld[xt] = Z(Z({}, Ld[xt]), tI.kit);
|
|
const tg = ns(Ld), Wd = Z({}, aI);
|
|
Wd[xt] = Z(Z({}, Wd[xt]), Z7.kit);
|
|
ns(Wd);
|
|
const bI = Y7, Ck = "fa-layers-text", hI = G7, yI = Z({}, H7);
|
|
ns(yI);
|
|
const vI = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Su = V7, xI = [...Q7, ...uI], yi = Fn.FontAwesomeConfig || {};
|
|
function wI(e) {
|
|
var t = ut.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function kI(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 = kI(wI(t));
|
|
n != null && (yi[r] = n);
|
|
});
|
|
const Nk = {
|
|
styleDefault: "solid",
|
|
familyDefault: xt,
|
|
cssPrefix: Sk,
|
|
replacementClass: Pk,
|
|
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 = Z(Z({}, Nk), yi);
|
|
ua.autoReplaceSvg || (ua.observeMutations = !1);
|
|
const le = {};
|
|
Object.keys(Nk).forEach((e) => {
|
|
Object.defineProperty(le, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
ua[e] = t, vi.forEach((r) => r(le));
|
|
},
|
|
get: function() {
|
|
return ua[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(le, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
ua.cssPrefix = e, vi.forEach((t) => t(le));
|
|
},
|
|
get: function() {
|
|
return ua.cssPrefix;
|
|
}
|
|
});
|
|
Fn.FontAwesomeConfig = le;
|
|
const vi = [];
|
|
function $I(e) {
|
|
return vi.push(e), () => {
|
|
vi.splice(vi.indexOf(e), 1);
|
|
};
|
|
}
|
|
const en = _d, ir = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function OI(e) {
|
|
if (!e || !Gr)
|
|
return;
|
|
const t = ut.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = ut.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return ut.head.insertBefore(t, n), e;
|
|
}
|
|
const SI = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Wi() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += SI[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function va(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function rg(e) {
|
|
return e.classList ? va(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function jk(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function PI(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(jk(e[r]), '" '), "").trim();
|
|
}
|
|
function rc(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function ng(e) {
|
|
return e.size !== ir.size || e.x !== ir.x || e.y !== ir.y || e.rotate !== ir.rotate || e.flipX || e.flipY;
|
|
}
|
|
function AI(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), c = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, l = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: c,
|
|
path: l
|
|
};
|
|
}
|
|
function EI(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = _d,
|
|
height: n = _d,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && xk ? a += "translate(".concat(t.x / en - r / 2, "em, ").concat(t.y / en - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / en, "em), calc(-50% + ").concat(t.y / en, "em)) ") : a += "translate(".concat(t.x / en, "em, ").concat(t.y / en, "em) "), a += "scale(".concat(t.size / en * (t.flipX ? -1 : 1), ", ").concat(t.size / en * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var CI = `: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 Ik() {
|
|
const e = Sk, t = Pk, r = le.cssPrefix, n = le.replacementClass;
|
|
let o = CI;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let ov = !1;
|
|
function Pu() {
|
|
le.autoAddCss && !ov && (OI(Ik()), ov = !0);
|
|
}
|
|
var NI = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: Ik,
|
|
insertCss: Pu
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Pu();
|
|
},
|
|
beforeI2svg() {
|
|
Pu();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Mr = Fn || {};
|
|
Mr[Tr] || (Mr[Tr] = {});
|
|
Mr[Tr].styles || (Mr[Tr].styles = {});
|
|
Mr[Tr].hooks || (Mr[Tr].hooks = {});
|
|
Mr[Tr].shims || (Mr[Tr].shims = []);
|
|
var sr = Mr[Tr];
|
|
const zk = [], Tk = function() {
|
|
ut.removeEventListener("DOMContentLoaded", Tk), xl = 1, zk.map((e) => e());
|
|
};
|
|
let xl = !1;
|
|
Gr && (xl = (ut.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ut.readyState), xl || ut.addEventListener("DOMContentLoaded", Tk));
|
|
function jI(e) {
|
|
Gr && (xl ? setTimeout(e, 0) : zk.push(e));
|
|
}
|
|
function os(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? jk(e) : "<".concat(t, " ").concat(PI(r), ">").concat(n.map(os).join(""), "</").concat(t, ">");
|
|
}
|
|
function av(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Au = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, c, l;
|
|
for (r === void 0 ? (s = 1, l = e[o[0]]) : (s = 0, l = r); s < a; s++)
|
|
c = o[s], l = i(l, e[c], c, e);
|
|
return l;
|
|
};
|
|
function II(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function Mk(e) {
|
|
const t = II(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function zI(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function iv(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 Yd(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = iv(t);
|
|
typeof sr.hooks.addPack == "function" && !n ? sr.hooks.addPack(e, iv(t)) : sr.styles[e] = Z(Z({}, sr.styles[e] || {}), o), e === "fas" && Yd("fa", t);
|
|
}
|
|
const {
|
|
styles: Yi,
|
|
shims: TI
|
|
} = sr, Rk = Object.keys(tg), MI = Rk.reduce((e, t) => (e[t] = Object.keys(tg[t]), e), {});
|
|
let og = null, _k = {}, Fk = {}, Dk = {}, Lk = {}, Wk = {};
|
|
function RI(e) {
|
|
return ~xI.indexOf(e);
|
|
}
|
|
function _I(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !RI(o) ? o : null;
|
|
}
|
|
const Yk = () => {
|
|
const e = (n) => Au(Yi, (o, a, i) => (o[i] = Au(a, n, {}), o), {});
|
|
_k = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), Fk = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), Wk = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Yi || le.autoFetchSvg, r = Au(TI, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
Dk = r.names, Lk = r.unicodes, og = nc(le.styleDefault, {
|
|
family: le.familyDefault
|
|
});
|
|
};
|
|
$I((e) => {
|
|
og = nc(e.styleDefault, {
|
|
family: le.familyDefault
|
|
});
|
|
});
|
|
Yk();
|
|
function ag(e, t) {
|
|
return (_k[e] || {})[t];
|
|
}
|
|
function FI(e, t) {
|
|
return (Fk[e] || {})[t];
|
|
}
|
|
function Qn(e, t) {
|
|
return (Wk[e] || {})[t];
|
|
}
|
|
function Gk(e) {
|
|
return Dk[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function DI(e) {
|
|
const t = Lk[e], r = ag("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Dn() {
|
|
return og;
|
|
}
|
|
const Vk = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function LI(e) {
|
|
let t = xt;
|
|
const r = Rk.reduce((n, o) => (n[o] = "".concat(le.cssPrefix, "-").concat(o), n), {});
|
|
return $k.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => MI[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function nc(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = xt
|
|
} = t, n = gI[r][e];
|
|
if (r === tc && !e)
|
|
return "fad";
|
|
const o = nv[r][e] || nv[r][n], a = e in sr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function WI(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = _I(le.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function sv(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function oc(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Rd.concat(nI), a = sv(e.filter((f) => o.includes(f))), i = sv(e.filter((f) => !Rd.includes(f))), s = a.filter((f) => (n = f, !kk.includes(f))), [c = null] = s, l = LI(a), u = Z(Z({}, WI(i)), {}, {
|
|
prefix: nc(c, {
|
|
family: l
|
|
})
|
|
});
|
|
return Z(Z(Z({}, u), UI({
|
|
values: e,
|
|
family: l,
|
|
styles: Yi,
|
|
config: le,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), YI(r, n, u));
|
|
}
|
|
function YI(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? Gk(o) : {}, i = Qn(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Yi.far && Yi.fas && !le.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const GI = $k.filter((e) => e !== xt || e !== tc), VI = Object.keys(Md).filter((e) => e !== xt).map((e) => Object.keys(Md[e])).flat();
|
|
function UI(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === tc, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (c || l || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && GI.includes(r) && (Object.keys(a).find((f) => VI.includes(f)) || i.autoFetchSvg)) {
|
|
const f = X7.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Qn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Dn() || "fas"), n;
|
|
}
|
|
let qI = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = Z(Z({}, this.definitions[a] || {}), o[a]), Yd(a, o[a]);
|
|
const i = tg[xt][a];
|
|
i && Yd(i, o[a]), Yk();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], c = s[2];
|
|
t[a] || (t[a] = {}), c.length > 0 && c.forEach((l) => {
|
|
typeof l == "string" && (t[a][l] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, lv = [], Mo = {};
|
|
const Xo = {}, HI = Object.keys(Xo);
|
|
function BI(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return lv = e, Mo = {}, Object.keys(Xo).forEach((n) => {
|
|
HI.indexOf(n) === -1 && delete Xo[n];
|
|
}), lv.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Mo[i] || (Mo[i] = []), Mo[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Xo);
|
|
}), r;
|
|
}
|
|
function Gd(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Mo[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function po(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Mo[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Ln() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Xo[e] ? Xo[e].apply(null, t) : void 0;
|
|
}
|
|
function Vd(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Dn();
|
|
if (t)
|
|
return t = Qn(r, t) || t, av(Uk.definitions, r, t) || av(sr.styles, r, t);
|
|
}
|
|
const Uk = new qI(), XI = () => {
|
|
le.autoReplaceSvg = !1, le.observeMutations = !1, po("noAuto");
|
|
}, KI = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Gr ? (po("beforeI2svg", e), Ln("pseudoElements2svg", e), Ln("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;
|
|
le.autoReplaceSvg === !1 && (le.autoReplaceSvg = !0), le.observeMutations = !0, jI(() => {
|
|
QI({
|
|
autoReplaceSvgRoot: t
|
|
}), po("watch", e);
|
|
});
|
|
}
|
|
}, JI = {
|
|
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 = nc(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Qn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(le.cssPrefix, "-")) > -1 || e.match(bI))) {
|
|
const t = oc(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Dn(),
|
|
iconName: Qn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Dn();
|
|
return {
|
|
prefix: t,
|
|
iconName: Qn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, zt = {
|
|
noAuto: XI,
|
|
config: le,
|
|
dom: KI,
|
|
parse: JI,
|
|
library: Uk,
|
|
findIconDefinition: Vd,
|
|
toHtml: os
|
|
}, QI = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = ut
|
|
} = e;
|
|
(Object.keys(sr.styles).length > 0 || le.autoFetchSvg) && Gr && le.autoReplaceSvg && zt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function ac(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => os(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Gr) return;
|
|
const r = ut.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function ZI(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (ng(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: c
|
|
} = r, l = {
|
|
x: s / c / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = rc(Z(Z({}, a), {}, {
|
|
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function ez(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(le.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: Z(Z({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function ig(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: c,
|
|
titleId: l,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: y
|
|
} = r.found ? r : t, x = eI.includes(n), m = [le.replacementClass, o ? "".concat(le.cssPrefix, "-").concat(o) : ""].filter((b) => u.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(u.classes).join(" ");
|
|
let p = {
|
|
children: [],
|
|
attributes: Z(Z({}, u.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: u.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(d, " ").concat(y)
|
|
})
|
|
};
|
|
const v = x && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / y * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (p.attributes[fo] = ""), s && (p.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: p.attributes["aria-labelledby"] || "title-".concat(l || Wi())
|
|
},
|
|
children: [s]
|
|
}), delete p.attributes.title);
|
|
const k = Z(Z({}, p), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: c,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: Z(Z({}, v), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: O
|
|
} = r.found && t.found ? Ln("generateAbstractMask", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Ln("generateAbstractIcon", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return k.children = $, k.attributes = O, i ? ez(k) : ZI(k);
|
|
}
|
|
function cv(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, c = Z(Z(Z({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (c[fo] = "");
|
|
const l = Z({}, i.styles);
|
|
ng(o) && (l.transform = EI({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), l["-webkit-transform"] = l.transform);
|
|
const u = rc(l);
|
|
u.length > 0 && (c.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: c,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function tz(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = Z(Z(Z({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = rc(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Eu
|
|
} = sr;
|
|
function Ud(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(le.cssPrefix, "-").concat(Su.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(le.cssPrefix, "-").concat(Su.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(le.cssPrefix, "-").concat(Su.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const rz = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function nz(e, t) {
|
|
!Ak && !le.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function qd(e, t) {
|
|
let r = t;
|
|
return t === "fa" && le.styleDefault !== null && (t = Dn()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = Gk(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Eu[t] && Eu[t][e]) {
|
|
const a = Eu[t][e];
|
|
return n(Ud(a));
|
|
}
|
|
nz(e, t), n(Z(Z({}, rz), {}, {
|
|
icon: le.showMissingIcons && e ? Ln("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const uv = () => {
|
|
}, Hd = le.measurePerformance && Ss && Ss.mark && Ss.measure ? Ss : {
|
|
mark: uv,
|
|
measure: uv
|
|
}, oi = 'FA "6.7.2"', oz = (e) => (Hd.mark("".concat(oi, " ").concat(e, " begins")), () => qk(e)), qk = (e) => {
|
|
Hd.mark("".concat(oi, " ").concat(e, " ends")), Hd.measure("".concat(oi, " ").concat(e), "".concat(oi, " ").concat(e, " begins"), "".concat(oi, " ").concat(e, " ends"));
|
|
};
|
|
var sg = {
|
|
begin: oz,
|
|
end: qk
|
|
};
|
|
const qs = () => {
|
|
};
|
|
function fv(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(fo) : null) == "string";
|
|
}
|
|
function az(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Zm) : null, r = e.getAttribute ? e.getAttribute(eg) : null;
|
|
return t && r;
|
|
}
|
|
function iz(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(le.replacementClass);
|
|
}
|
|
function sz() {
|
|
return le.autoReplaceSvg === !0 ? Hs.replace : Hs[le.autoReplaceSvg] || Hs.replace;
|
|
}
|
|
function lz(e) {
|
|
return ut.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function cz(e) {
|
|
return ut.createElement(e);
|
|
}
|
|
function Hk(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? lz : cz
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return ut.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(Hk(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function uz(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Hs = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(Hk(r), t);
|
|
}), t.getAttribute(fo) === null && le.keepOriginalSource) {
|
|
let r = ut.createComment(uz(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~rg(t).indexOf(le.replacementClass))
|
|
return Hs.replace(e);
|
|
const n = new RegExp("".concat(le.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === le.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => os(a)).join(`
|
|
`);
|
|
t.setAttribute(fo, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function dv(e) {
|
|
e();
|
|
}
|
|
function Bk(e, t) {
|
|
const r = typeof t == "function" ? t : qs;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = dv;
|
|
le.mutateApproach === pI && (n = Fn.requestAnimationFrame || dv), n(() => {
|
|
const o = sz(), a = sg.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let lg = !1;
|
|
function Xk() {
|
|
lg = !0;
|
|
}
|
|
function Bd() {
|
|
lg = !1;
|
|
}
|
|
let wl = null;
|
|
function pv(e) {
|
|
if (!Zy || !le.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = qs,
|
|
nodeCallback: r = qs,
|
|
pseudoElementsCallback: n = qs,
|
|
observeMutationsRoot: o = ut
|
|
} = e;
|
|
wl = new Zy((a) => {
|
|
if (lg) return;
|
|
const i = Dn();
|
|
va(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !fv(s.addedNodes[0]) && (le.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && le.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && fv(s.target) && ~vI.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && az(s.target)) {
|
|
const {
|
|
prefix: c,
|
|
iconName: l
|
|
} = oc(rg(s.target));
|
|
s.target.setAttribute(Zm, c || i), l && s.target.setAttribute(eg, l);
|
|
} else iz(s.target) && r(s.target);
|
|
});
|
|
}), Gr && wl.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function fz() {
|
|
wl && wl.disconnect();
|
|
}
|
|
function dz(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function pz(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = oc(rg(e));
|
|
return o.prefix || (o.prefix = Dn()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = FI(o.prefix, e.innerText) || ag(o.prefix, Mk(e.innerText))), !o.iconName && le.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function mz(e) {
|
|
const t = va(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return le.autoA11y && (r ? t["aria-labelledby"] = "".concat(le.replacementClass, "-title-").concat(n || Wi()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function gz() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: ir,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function mv(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = pz(e), a = mz(e), i = Gd("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? dz(e) : [];
|
|
return Z({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: ir,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: bz
|
|
} = sr;
|
|
function Kk(e) {
|
|
const t = le.autoReplaceSvg === "nest" ? mv(e, {
|
|
styleParser: !1
|
|
}) : mv(e);
|
|
return ~t.extra.classes.indexOf(Ck) ? Ln("generateLayersText", e, t) : Ln("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function hz() {
|
|
return [...J7, ...Rd];
|
|
}
|
|
function gv(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Gr) return Promise.resolve();
|
|
const r = ut.documentElement.classList, n = (u) => r.add("".concat(rv, "-").concat(u)), o = (u) => r.remove("".concat(rv, "-").concat(u)), a = le.autoFetchSvg ? hz() : kk.concat(Object.keys(bz));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(Ck, ":not([").concat(fo, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(fo, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = va(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const c = sg.begin("onTree"), l = s.reduce((u, f) => {
|
|
try {
|
|
const d = Kk(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
Ak || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(l).then((d) => {
|
|
Bk(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), c(), u();
|
|
});
|
|
}).catch((d) => {
|
|
c(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function yz(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
Kk(e).then((r) => {
|
|
r && Bk([r], t);
|
|
});
|
|
}
|
|
function vz(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Vd(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : Vd(o || {})), e(n, Z(Z({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const xz = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ir,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: c = [],
|
|
attributes: l = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: y
|
|
} = e;
|
|
return ac(Z({
|
|
type: "icon"
|
|
}, e), () => (po("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), le.autoA11y && (i ? l["aria-labelledby"] = "".concat(le.replacementClass, "-title-").concat(s || Wi()) : (l["aria-hidden"] = "true", l.focusable = "false")), ig({
|
|
icons: {
|
|
main: Ud(y),
|
|
mask: o ? Ud(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: Z(Z({}, ir), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: l,
|
|
styles: u,
|
|
classes: c
|
|
}
|
|
})));
|
|
};
|
|
var wz = {
|
|
mixout() {
|
|
return {
|
|
icon: vz(xz)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = gv, e.nodeCallback = yz, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = ut,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return gv(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: c,
|
|
mask: l,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, y) => {
|
|
Promise.all([qd(n, i), l.iconName ? qd(l.iconName, l.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((x) => {
|
|
let [m, p] = x;
|
|
d([t, ig({
|
|
icons: {
|
|
main: m,
|
|
mask: p
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: c,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(y);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = rc(i);
|
|
s.length > 0 && (n.style = s);
|
|
let c;
|
|
return ng(a) && (c = Ln("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(c || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, kz = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return ac({
|
|
type: "layer"
|
|
}, () => {
|
|
po("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(le.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, $z = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return ac({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (po("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), tz({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(le.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, Oz = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ir,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return ac({
|
|
type: "text",
|
|
content: e
|
|
}, () => (po("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), cv({
|
|
content: e,
|
|
transform: Z(Z({}, ir), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(le.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (xk) {
|
|
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
|
|
i = l.width / c, s = l.height / c;
|
|
}
|
|
return le.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, cv({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const Sz = new RegExp('"', "ug"), bv = [1105920, 1112319], hv = Z(Z(Z(Z({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), B7), fI), oI), Xd = Object.keys(hv).reduce((e, t) => (e[t.toLowerCase()] = hv[t], e), {}), Pz = Object.keys(Xd).reduce((e, t) => {
|
|
const r = Xd[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function Az(e) {
|
|
const t = e.replace(Sz, ""), r = zI(t, 0), n = r >= bv[0] && r <= bv[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: Mk(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function Ez(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (Xd[r] || {})[o] || Pz[r];
|
|
}
|
|
function yv(e, t) {
|
|
const r = "".concat(dI).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = va(e.children).filter((f) => f.getAttribute(Fd) === t)[0], i = Fn.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), c = s.match(hI), l = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !c)
|
|
return e.removeChild(a), n();
|
|
if (c && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = Ez(s, l);
|
|
const {
|
|
value: y,
|
|
isSecondary: x
|
|
} = Az(f), m = c[0].startsWith("FontAwesome");
|
|
let p = ag(d, y), v = p;
|
|
if (m) {
|
|
const k = DI(y);
|
|
k.iconName && k.prefix && (p = k.iconName, d = k.prefix);
|
|
}
|
|
if (p && !x && (!a || a.getAttribute(Zm) !== d || a.getAttribute(eg) !== v)) {
|
|
e.setAttribute(r, v), a && e.removeChild(a);
|
|
const k = gz(), {
|
|
extra: $
|
|
} = k;
|
|
$.attributes[Fd] = t, qd(p, d).then((O) => {
|
|
const b = ig(Z(Z({}, k), {}, {
|
|
icons: {
|
|
main: O,
|
|
mask: Vk()
|
|
},
|
|
prefix: d,
|
|
iconName: v,
|
|
extra: $,
|
|
watchable: !0
|
|
})), L = ut.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(L, e.firstChild) : e.appendChild(L), L.outerHTML = b.map((M) => os(M)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function Cz(e) {
|
|
return Promise.all([yv(e, "::before"), yv(e, "::after")]);
|
|
}
|
|
function Nz(e) {
|
|
return e.parentNode !== document.head && !~mI.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Fd) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function vv(e) {
|
|
if (Gr)
|
|
return new Promise((t, r) => {
|
|
const n = va(e.querySelectorAll("*")).filter(Nz).map(Cz), o = sg.begin("searchPseudoElements");
|
|
Xk(), Promise.all(n).then(() => {
|
|
o(), Bd(), t();
|
|
}).catch(() => {
|
|
o(), Bd(), r();
|
|
});
|
|
});
|
|
}
|
|
var jz = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = vv, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = ut
|
|
} = t;
|
|
le.searchPseudoElements && vv(r);
|
|
};
|
|
}
|
|
};
|
|
let xv = !1;
|
|
var Iz = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
Xk(), xv = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
pv(Gd("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
fz();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
xv ? Bd() : pv(Gd("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const wv = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var zz = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => wv(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = wv(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), c = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), l = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(c, " ").concat(l)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: Z({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: Z({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: Z(Z({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Cu = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function kv(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 Tz(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var Mz = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? oc(r.split(" ").map((o) => o.trim())) : Vk();
|
|
return n.prefix || (n.prefix = Dn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: c,
|
|
icon: l
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = AI({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: c
|
|
}), y = {
|
|
tag: "rect",
|
|
attributes: Z(Z({}, Cu), {}, {
|
|
fill: "white"
|
|
})
|
|
}, x = l.children ? {
|
|
children: l.children.map(kv)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: Z({}, d.inner),
|
|
children: [kv(Z({
|
|
tag: l.tag,
|
|
attributes: Z(Z({}, l.attributes), d.path)
|
|
}, x))]
|
|
}, p = {
|
|
tag: "g",
|
|
attributes: Z({}, d.outer),
|
|
children: [m]
|
|
}, v = "mask-".concat(i || Wi()), k = "clip-".concat(i || Wi()), $ = {
|
|
tag: "mask",
|
|
attributes: Z(Z({}, Cu), {}, {
|
|
id: v,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [y, p]
|
|
}, O = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: k
|
|
},
|
|
children: Tz(f)
|
|
}, $]
|
|
};
|
|
return r.push(O, {
|
|
tag: "rect",
|
|
attributes: Z({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(k, ")"),
|
|
mask: "url(#".concat(v, ")")
|
|
}, Cu)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Rz = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Fn.matchMedia && (t = Fn.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: Z(Z({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = Z(Z({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: Z(Z({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: Z(Z({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: Z(Z({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: Z(Z({}, 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: Z(Z({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: Z(Z({}, 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: Z(Z({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, _z = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, Fz = [NI, wz, kz, $z, Oz, jz, Iz, zz, Mz, Rz, _z];
|
|
BI(Fz, {
|
|
mixoutsTo: zt
|
|
});
|
|
zt.noAuto;
|
|
zt.config;
|
|
zt.library;
|
|
zt.dom;
|
|
const Kd = zt.parse;
|
|
zt.findIconDefinition;
|
|
zt.toHtml;
|
|
const Dz = zt.icon;
|
|
zt.layer;
|
|
zt.text;
|
|
zt.counter;
|
|
function Lz(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var As = { exports: {} }, Nu = { exports: {} }, We = {};
|
|
/** @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 $v;
|
|
function Wz() {
|
|
if ($v) return We;
|
|
$v = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var L = b.$$typeof;
|
|
switch (L) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return L;
|
|
}
|
|
}
|
|
case r:
|
|
return L;
|
|
}
|
|
}
|
|
}
|
|
function O(b) {
|
|
return $(b) === l;
|
|
}
|
|
return We.AsyncMode = c, We.ConcurrentMode = l, We.ContextConsumer = s, We.ContextProvider = i, We.Element = t, We.ForwardRef = u, We.Fragment = n, We.Lazy = x, We.Memo = y, We.Portal = r, We.Profiler = a, We.StrictMode = o, We.Suspense = f, We.isAsyncMode = function(b) {
|
|
return O(b) || $(b) === c;
|
|
}, We.isConcurrentMode = O, We.isContextConsumer = function(b) {
|
|
return $(b) === s;
|
|
}, We.isContextProvider = function(b) {
|
|
return $(b) === i;
|
|
}, We.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, We.isForwardRef = function(b) {
|
|
return $(b) === u;
|
|
}, We.isFragment = function(b) {
|
|
return $(b) === n;
|
|
}, We.isLazy = function(b) {
|
|
return $(b) === x;
|
|
}, We.isMemo = function(b) {
|
|
return $(b) === y;
|
|
}, We.isPortal = function(b) {
|
|
return $(b) === r;
|
|
}, We.isProfiler = function(b) {
|
|
return $(b) === a;
|
|
}, We.isStrictMode = function(b) {
|
|
return $(b) === o;
|
|
}, We.isSuspense = function(b) {
|
|
return $(b) === f;
|
|
}, We.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === l || b === a || b === o || b === f || b === d || typeof b == "object" && b !== null && (b.$$typeof === x || b.$$typeof === y || b.$$typeof === i || b.$$typeof === s || b.$$typeof === u || b.$$typeof === p || b.$$typeof === v || b.$$typeof === k || b.$$typeof === m);
|
|
}, We.typeOf = $, We;
|
|
}
|
|
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 Ov;
|
|
function Yz() {
|
|
return Ov || (Ov = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(w) {
|
|
return typeof w == "string" || typeof w == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
w === n || w === l || w === a || w === o || w === f || w === d || typeof w == "object" && w !== null && (w.$$typeof === x || w.$$typeof === y || w.$$typeof === i || w.$$typeof === s || w.$$typeof === u || w.$$typeof === p || w.$$typeof === v || w.$$typeof === k || w.$$typeof === m);
|
|
}
|
|
function O(w) {
|
|
if (typeof w == "object" && w !== null) {
|
|
var oe = w.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var Ae = w.type;
|
|
switch (Ae) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ae;
|
|
default:
|
|
var mt = Ae && Ae.$$typeof;
|
|
switch (mt) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return mt;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = c, L = l, M = s, B = i, H = t, U = u, X = n, S = x, ne = y, F = r, R = a, _ = o, G = f, Y = !1;
|
|
function V(w) {
|
|
return Y || (Y = !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.")), g(w) || O(w) === c;
|
|
}
|
|
function g(w) {
|
|
return O(w) === l;
|
|
}
|
|
function h(w) {
|
|
return O(w) === s;
|
|
}
|
|
function N(w) {
|
|
return O(w) === i;
|
|
}
|
|
function A(w) {
|
|
return typeof w == "object" && w !== null && w.$$typeof === t;
|
|
}
|
|
function P(w) {
|
|
return O(w) === u;
|
|
}
|
|
function j(w) {
|
|
return O(w) === n;
|
|
}
|
|
function C(w) {
|
|
return O(w) === x;
|
|
}
|
|
function E(w) {
|
|
return O(w) === y;
|
|
}
|
|
function I(w) {
|
|
return O(w) === r;
|
|
}
|
|
function z(w) {
|
|
return O(w) === a;
|
|
}
|
|
function T(w) {
|
|
return O(w) === o;
|
|
}
|
|
function q(w) {
|
|
return O(w) === f;
|
|
}
|
|
qe.AsyncMode = b, qe.ConcurrentMode = L, qe.ContextConsumer = M, qe.ContextProvider = B, qe.Element = H, qe.ForwardRef = U, qe.Fragment = X, qe.Lazy = S, qe.Memo = ne, qe.Portal = F, qe.Profiler = R, qe.StrictMode = _, qe.Suspense = G, qe.isAsyncMode = V, qe.isConcurrentMode = g, qe.isContextConsumer = h, qe.isContextProvider = N, qe.isElement = A, qe.isForwardRef = P, qe.isFragment = j, qe.isLazy = C, qe.isMemo = E, qe.isPortal = I, qe.isProfiler = z, qe.isStrictMode = T, qe.isSuspense = q, qe.isValidElementType = $, qe.typeOf = O;
|
|
}()), qe;
|
|
}
|
|
var Sv;
|
|
function Jk() {
|
|
return Sv || (Sv = 1, process.env.NODE_ENV === "production" ? Nu.exports = Wz() : Nu.exports = Yz()), Nu.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var ju, Pv;
|
|
function Gz() {
|
|
if (Pv) return ju;
|
|
Pv = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var c = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (c.join("") !== "0123456789")
|
|
return !1;
|
|
var l = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
l[u] = u;
|
|
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return ju = o() ? Object.assign : function(a, i) {
|
|
for (var s, c = n(a), l, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (c[f] = s[f]);
|
|
if (e) {
|
|
l = e(s);
|
|
for (var d = 0; d < l.length; d++)
|
|
r.call(s, l[d]) && (c[l[d]] = s[l[d]]);
|
|
}
|
|
}
|
|
return c;
|
|
}, ju;
|
|
}
|
|
var Iu, Av;
|
|
function cg() {
|
|
if (Av) return Iu;
|
|
Av = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Iu = e, Iu;
|
|
}
|
|
var Ev, Cv;
|
|
function Qk() {
|
|
return Cv || (Cv = 1, Ev = Function.call.bind(Object.prototype.hasOwnProperty)), Ev;
|
|
}
|
|
var zu, Nv;
|
|
function Vz() {
|
|
if (Nv) return zu;
|
|
Nv = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ cg(), r = {}, n = /* @__PURE__ */ Qk();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, c, l) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var u in a)
|
|
if (n(a, u)) {
|
|
var f;
|
|
try {
|
|
if (typeof a[u] != "function") {
|
|
var d = Error(
|
|
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw d.name = "Invariant Violation", d;
|
|
}
|
|
f = a[u](i, u, c, s, null, t);
|
|
} catch (x) {
|
|
f = x;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), f instanceof Error && !(f.message in r)) {
|
|
r[f.message] = !0;
|
|
var y = l ? l() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (y ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, zu = o, zu;
|
|
}
|
|
var Tu, jv;
|
|
function Uz() {
|
|
if (jv) return Tu;
|
|
jv = 1;
|
|
var e = Jk(), t = Gz(), r = /* @__PURE__ */ cg(), n = /* @__PURE__ */ Qk(), o = /* @__PURE__ */ Vz(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var c = "Warning: " + s;
|
|
typeof console < "u" && console.error(c);
|
|
try {
|
|
throw new Error(c);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Tu = function(s, c) {
|
|
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(g) {
|
|
var h = g && (l && g[l] || g[u]);
|
|
if (typeof h == "function")
|
|
return h;
|
|
}
|
|
var d = "<<anonymous>>", y = {
|
|
array: v("array"),
|
|
bigint: v("bigint"),
|
|
bool: v("boolean"),
|
|
func: v("function"),
|
|
number: v("number"),
|
|
object: v("object"),
|
|
string: v("string"),
|
|
symbol: v("symbol"),
|
|
any: k(),
|
|
arrayOf: $,
|
|
element: O(),
|
|
elementType: b(),
|
|
instanceOf: L,
|
|
node: U(),
|
|
objectOf: B,
|
|
oneOf: M,
|
|
oneOfType: H,
|
|
shape: S,
|
|
exact: ne
|
|
};
|
|
function x(g, h) {
|
|
return g === h ? g !== 0 || 1 / g === 1 / h : g !== g && h !== h;
|
|
}
|
|
function m(g, h) {
|
|
this.message = g, this.data = h && typeof h == "object" ? h : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function p(g) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var h = {}, N = 0;
|
|
function A(j, C, E, I, z, T, q) {
|
|
if (I = I || d, T = T || E, q !== r) {
|
|
if (c) {
|
|
var w = 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 w.name = "Invariant Violation", w;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + E;
|
|
!h[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
N < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), h[oe] = !0, N++);
|
|
}
|
|
}
|
|
return C[E] == null ? j ? C[E] === null ? new m("The " + z + " `" + T + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + z + " `" + T + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : g(C, E, I, z, T);
|
|
}
|
|
var P = A.bind(null, !1);
|
|
return P.isRequired = A.bind(null, !0), P;
|
|
}
|
|
function v(g) {
|
|
function h(N, A, P, j, C, E) {
|
|
var I = N[A], z = _(I);
|
|
if (z !== g) {
|
|
var T = G(I);
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."),
|
|
{ expectedType: g }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function k() {
|
|
return p(i);
|
|
}
|
|
function $(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside arrayOf.");
|
|
var E = N[A];
|
|
if (!Array.isArray(E)) {
|
|
var I = _(E);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an array."));
|
|
}
|
|
for (var z = 0; z < E.length; z++) {
|
|
var T = g(E, z, P, j, C + "[" + z + "]", r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function O() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!s(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function b() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!e.isValidElementType(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function L(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (!(N[A] instanceof g)) {
|
|
var E = g.name || d, I = V(N[A]);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected ") + ("instance of `" + E + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function M(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function h(N, A, P, j, C) {
|
|
for (var E = N[A], I = 0; I < g.length; I++)
|
|
if (x(E, g[I]))
|
|
return null;
|
|
var z = JSON.stringify(g, function(T, q) {
|
|
var w = G(q);
|
|
return w === "symbol" ? String(q) : q;
|
|
});
|
|
return new m("Invalid " + j + " `" + C + "` of value `" + String(E) + "` " + ("supplied to `" + P + "`, expected one of " + z + "."));
|
|
}
|
|
return p(h);
|
|
}
|
|
function B(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside objectOf.");
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an object."));
|
|
for (var z in E)
|
|
if (n(E, z)) {
|
|
var T = g(E, z, P, j, C + "." + z, r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function H(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var h = 0; h < g.length; h++) {
|
|
var N = g[h];
|
|
if (typeof N != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(N) + " at index " + h + "."
|
|
), i;
|
|
}
|
|
function A(P, j, C, E, I) {
|
|
for (var z = [], T = 0; T < g.length; T++) {
|
|
var q = g[T], w = q(P, j, C, E, I, r);
|
|
if (w == null)
|
|
return null;
|
|
w.data && n(w.data, "expectedType") && z.push(w.data.expectedType);
|
|
}
|
|
var oe = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
|
|
return new m("Invalid " + E + " `" + I + "` supplied to " + ("`" + C + "`" + oe + "."));
|
|
}
|
|
return p(A);
|
|
}
|
|
function U() {
|
|
function g(h, N, A, P, j) {
|
|
return F(h[N]) ? null : new m("Invalid " + P + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return p(g);
|
|
}
|
|
function X(g, h, N, A, P) {
|
|
return new m(
|
|
(g || "React class") + ": " + h + " type `" + N + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`."
|
|
);
|
|
}
|
|
function S(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
for (var z in g) {
|
|
var T = g[z];
|
|
if (typeof T != "function")
|
|
return X(P, j, C, z, G(T));
|
|
var q = T(E, z, P, j, C + "." + z, r);
|
|
if (q)
|
|
return q;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function ne(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
var z = t({}, N[A], g);
|
|
for (var T in z) {
|
|
var q = g[T];
|
|
if (n(g, T) && typeof q != "function")
|
|
return X(P, j, C, T, G(q));
|
|
if (!q)
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(N[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
|
|
);
|
|
var w = q(E, T, P, j, C + "." + T, r);
|
|
if (w)
|
|
return w;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function F(g) {
|
|
switch (typeof g) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !g;
|
|
case "object":
|
|
if (Array.isArray(g))
|
|
return g.every(F);
|
|
if (g === null || s(g))
|
|
return !0;
|
|
var h = f(g);
|
|
if (h) {
|
|
var N = h.call(g), A;
|
|
if (h !== g.entries) {
|
|
for (; !(A = N.next()).done; )
|
|
if (!F(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = N.next()).done; ) {
|
|
var P = A.value;
|
|
if (P && !F(P[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function R(g, h) {
|
|
return g === "symbol" ? !0 : h ? h["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && h instanceof Symbol : !1;
|
|
}
|
|
function _(g) {
|
|
var h = typeof g;
|
|
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : R(h, g) ? "symbol" : h;
|
|
}
|
|
function G(g) {
|
|
if (typeof g > "u" || g === null)
|
|
return "" + g;
|
|
var h = _(g);
|
|
if (h === "object") {
|
|
if (g instanceof Date)
|
|
return "date";
|
|
if (g instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return h;
|
|
}
|
|
function Y(g) {
|
|
var h = G(g);
|
|
switch (h) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + h;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + h;
|
|
default:
|
|
return h;
|
|
}
|
|
}
|
|
function V(g) {
|
|
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
|
|
}
|
|
return y.checkPropTypes = o, y.resetWarningCache = o.resetWarningCache, y.PropTypes = y, y;
|
|
}, Tu;
|
|
}
|
|
var Mu, Iv;
|
|
function qz() {
|
|
if (Iv) return Mu;
|
|
Iv = 1;
|
|
var e = /* @__PURE__ */ cg();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Mu = function() {
|
|
function n(i, s, c, l, u, f) {
|
|
if (f !== e) {
|
|
var d = 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 d.name = "Invariant Violation", d;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, Mu;
|
|
}
|
|
var zv;
|
|
function Hz() {
|
|
if (zv) return As.exports;
|
|
if (zv = 1, process.env.NODE_ENV !== "production") {
|
|
var e = Jk(), t = !0;
|
|
As.exports = /* @__PURE__ */ Uz()(e.isElement, t);
|
|
} else
|
|
As.exports = /* @__PURE__ */ qz()();
|
|
return As.exports;
|
|
}
|
|
var Bz = /* @__PURE__ */ Hz();
|
|
const je = /* @__PURE__ */ Lz(Bz);
|
|
function Tv(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Kt(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Tv(Object(r), !0).forEach(function(n) {
|
|
Ro(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Tv(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function kl(e) {
|
|
"@babel/helpers - typeof";
|
|
return kl = 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;
|
|
}, kl(e);
|
|
}
|
|
function Ro(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Xz(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function Kz(e, t) {
|
|
if (e == null) return {};
|
|
var r = Xz(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function Jd(e) {
|
|
return Jz(e) || Qz(e) || Zz(e) || eT();
|
|
}
|
|
function Jz(e) {
|
|
if (Array.isArray(e)) return Qd(e);
|
|
}
|
|
function Qz(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function Zz(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Qd(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 Qd(e, t);
|
|
}
|
|
}
|
|
function Qd(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 eT() {
|
|
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 tT(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, x = e.border, m = e.listItem, p = e.flip, v = e.size, k = e.rotation, $ = e.pull, O = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": c,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": l,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": y,
|
|
"fa-border": x,
|
|
"fa-li": m,
|
|
"fa-flip": p === !0,
|
|
"fa-flip-horizontal": p === "horizontal" || p === "both",
|
|
"fa-flip-vertical": p === "vertical" || p === "both"
|
|
}, Ro(t, "fa-".concat(v), typeof v < "u" && v !== null), Ro(t, "fa-rotate-".concat(k), typeof k < "u" && k !== null && k !== 0), Ro(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Ro(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(O).map(function(b) {
|
|
return O[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function rT(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function Zk(e) {
|
|
return rT(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var nT = ["style"];
|
|
function oT(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function aT(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = Zk(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[oT(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function e$(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(c) {
|
|
return e$(e, c);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(c, l) {
|
|
var u = t.attributes[l];
|
|
switch (l) {
|
|
case "class":
|
|
c.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
c.attrs.style = aT(u);
|
|
break;
|
|
default:
|
|
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[Zk(l)] = u;
|
|
}
|
|
return c;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = Kz(r, nT);
|
|
return o.attrs.style = Kt(Kt({}, o.attrs.style), i), e.apply(void 0, [t.tag, Kt(Kt({}, o.attrs), s)].concat(Jd(n)));
|
|
}
|
|
var t$ = !1;
|
|
try {
|
|
t$ = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function iT() {
|
|
if (!t$ && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function Mv(e) {
|
|
if (e && kl(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Kd.icon)
|
|
return Kd.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && kl(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 ? Ro({}, e, t) : {};
|
|
}
|
|
var Rv = {
|
|
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
|
|
}, St = /* @__PURE__ */ Pe.forwardRef(function(e, t) {
|
|
var r = Kt(Kt({}, Rv), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, c = r.titleId, l = r.maskId, u = Mv(n), f = Ru("classes", [].concat(Jd(tT(r)), Jd((i || "").split(" ")))), d = Ru("transform", typeof r.transform == "string" ? Kd.transform(r.transform) : r.transform), y = Ru("mask", Mv(o)), x = Dz(u, Kt(Kt(Kt(Kt({}, f), d), y), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: c,
|
|
maskId: l
|
|
}));
|
|
if (!x)
|
|
return iT("Could not find icon", u), null;
|
|
var m = x.abstract, p = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(v) {
|
|
Rv.hasOwnProperty(v) || (p[v] = r[v]);
|
|
}), sT(m[0], p);
|
|
});
|
|
St.displayName = "FontAwesomeIcon";
|
|
St.propTypes = {
|
|
beat: je.bool,
|
|
border: je.bool,
|
|
beatFade: je.bool,
|
|
bounce: je.bool,
|
|
className: je.string,
|
|
fade: je.bool,
|
|
flash: je.bool,
|
|
mask: je.oneOfType([je.object, je.array, je.string]),
|
|
maskId: je.string,
|
|
fixedWidth: je.bool,
|
|
inverse: je.bool,
|
|
flip: je.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: je.oneOfType([je.object, je.array, je.string]),
|
|
listItem: je.bool,
|
|
pull: je.oneOf(["right", "left"]),
|
|
pulse: je.bool,
|
|
rotation: je.oneOf([0, 90, 180, 270]),
|
|
shake: je.bool,
|
|
size: je.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: je.bool,
|
|
spinPulse: je.bool,
|
|
spinReverse: je.bool,
|
|
symbol: je.oneOfType([je.bool, je.string]),
|
|
title: je.string,
|
|
titleId: je.string,
|
|
transform: je.oneOfType([je.string, je.object]),
|
|
swapOpacity: je.bool
|
|
};
|
|
var sT = e$.bind(null, Pe.createElement);
|
|
const ug = "-", lT = (e) => {
|
|
const t = uT(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(ug);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), r$(a, t) || cT(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, r$ = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? r$(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(ug);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, _v = /^\[(.+)\]$/, cT = (e) => {
|
|
if (_v.test(e)) {
|
|
const t = _v.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, uT = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return dT(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
Zd(a, n, o, t);
|
|
}), n;
|
|
}, Zd = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : Fv(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (fT(o)) {
|
|
Zd(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
Zd(i, Fv(t, a), r, n);
|
|
});
|
|
});
|
|
}, Fv = (e, t) => {
|
|
let r = e;
|
|
return t.split(ug).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, fT = (e) => e.isThemeGetter, dT = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, pT = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, n$ = "!", mT = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(n$), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, gT = (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;
|
|
}, bT = (e) => ({
|
|
cache: pT(e.cacheSize),
|
|
parseClassName: mT(e),
|
|
...lT(e)
|
|
}), hT = /\s+/, yT = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(hT);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = gT(u).join(":"), v = f ? p + n$ : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function vT() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = o$(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const o$ = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = o$(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function xT(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = bT(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = yT(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(vT.apply(null, arguments));
|
|
};
|
|
}
|
|
const Ze = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, a$ = /^\[(?:([a-z-]+):)?(.+)\]$/i, wT = /^\d+\/\d+$/, kT = /* @__PURE__ */ new Set(["px", "full", "screen"]), $T = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, OT = /\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$/, ST = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, PT = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, AT = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, hr = (e) => Ko(e) || kT.has(e) || wT.test(e), tn = (e) => xa(e, "length", MT), Ko = (e) => !!e && !Number.isNaN(Number(e)), _u = (e) => xa(e, "number", Ko), Fa = (e) => !!e && Number.isInteger(Number(e)), ET = (e) => e.endsWith("%") && Ko(e.slice(0, -1)), he = (e) => a$.test(e), rn = (e) => $T.test(e), CT = /* @__PURE__ */ new Set(["length", "size", "percentage"]), NT = (e) => xa(e, CT, i$), jT = (e) => xa(e, "position", i$), IT = /* @__PURE__ */ new Set(["image", "url"]), zT = (e) => xa(e, IT, _T), TT = (e) => xa(e, "", RT), Da = () => !0, xa = (e, t, r) => {
|
|
const n = a$.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, MT = (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.
|
|
OT.test(e) && !ST.test(e)
|
|
), i$ = () => !1, RT = (e) => PT.test(e), _T = (e) => AT.test(e), FT = () => {
|
|
const e = Ze("colors"), t = Ze("spacing"), r = Ze("blur"), n = Ze("brightness"), o = Ze("borderColor"), a = Ze("borderRadius"), i = Ze("borderSpacing"), s = Ze("borderWidth"), c = Ze("contrast"), l = Ze("grayscale"), u = Ze("hueRotate"), f = Ze("invert"), d = Ze("gap"), y = Ze("gradientColorStops"), x = Ze("gradientColorStopPositions"), m = Ze("inset"), p = Ze("margin"), v = Ze("opacity"), k = Ze("padding"), $ = Ze("saturate"), O = Ze("scale"), b = Ze("sepia"), L = Ze("skew"), M = Ze("space"), B = Ze("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", he, t], S = () => [he, t], ne = () => ["", hr, tn], F = () => ["auto", Ko, he], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", he], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [Ko, he];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Da],
|
|
spacing: [hr, tn],
|
|
blur: ["none", "", rn, he],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", rn, he],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [ET, tn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", he]
|
|
}],
|
|
/**
|
|
* 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": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), he]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Fa, he]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", he]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Fa, he]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Da]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Fa, he]
|
|
}, he]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Da]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Fa, he]
|
|
}, he]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", he]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", he]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", he, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [he, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [he, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [rn]
|
|
}, rn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [he, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [he, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [he, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [he, 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", _u]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Da]
|
|
}],
|
|
/**
|
|
* 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", he]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Ko, _u]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", hr, he]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", he]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", he]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", hr, tn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", hr, he]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", he]
|
|
}],
|
|
/**
|
|
* 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", he]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), jT]
|
|
}],
|
|
/**
|
|
* 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", NT]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, zT]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [hr, he]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [hr, 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [hr, 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, TT]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Da]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", rn, he]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", he]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", he]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", he]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Fa, he]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", he]
|
|
}],
|
|
// 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", he]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", he]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [hr, tn, _u]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, Dv = /* @__PURE__ */ xT(FT);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const So = {
|
|
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"]
|
|
}, DT = ({
|
|
icon: e,
|
|
iconClassName: t,
|
|
children: r,
|
|
className: n,
|
|
htmlFor: o,
|
|
variant: a = "primary",
|
|
disabled: i,
|
|
iconFlip: s = !1,
|
|
loading: c,
|
|
as: l = "button",
|
|
href: u,
|
|
target: f,
|
|
...d
|
|
}) => {
|
|
function y(p) {
|
|
switch (p) {
|
|
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 x = Dv(
|
|
i || c ? "opacity-50 pointer-events-none" : ""
|
|
), m = Dv(
|
|
"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",
|
|
y(a),
|
|
n,
|
|
x
|
|
);
|
|
return o ? /* @__PURE__ */ Me("label", { className: m, htmlFor: o, style: d.style, children: [
|
|
c && !s ? /* @__PURE__ */ W(St, { icon: So, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && !s ? /* @__PURE__ */ W(St, { icon: e, className: t }) : null }),
|
|
r,
|
|
c && s ? /* @__PURE__ */ W(St, { icon: So, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && s ? /* @__PURE__ */ W(St, { icon: e, className: t }) : null })
|
|
] }) : l === "link" && u ? /* @__PURE__ */ Me(
|
|
"a",
|
|
{
|
|
href: u,
|
|
className: m,
|
|
style: d.style,
|
|
...d,
|
|
target: f,
|
|
children: [
|
|
c && !s ? /* @__PURE__ */ W(St, { icon: So, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && !s ? /* @__PURE__ */ W(St, { icon: e, className: t }) : null }),
|
|
r,
|
|
c && s ? /* @__PURE__ */ W(St, { icon: So, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && s ? /* @__PURE__ */ W(St, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Me(
|
|
"button",
|
|
{
|
|
className: m,
|
|
disabled: i || c,
|
|
...d,
|
|
htmlFor: o,
|
|
children: [
|
|
c && !s ? /* @__PURE__ */ W(St, { icon: So, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && !s ? /* @__PURE__ */ W(St, { icon: e, className: t }) : null }),
|
|
r,
|
|
c && s ? /* @__PURE__ */ W(St, { icon: So, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && s ? /* @__PURE__ */ W(St, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
);
|
|
};
|
|
var Bs = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Bs || {});
|
|
Bs.FEATURED, Bs.MINE, Bs.BOOKMARKED;
|
|
const fg = "-", LT = (e) => {
|
|
const t = YT(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(fg);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), s$(a, t) || WT(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, s$ = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? s$(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(fg);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, Lv = /^\[(.+)\]$/, WT = (e) => {
|
|
if (Lv.test(e)) {
|
|
const t = Lv.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, YT = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return VT(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
ep(a, n, o, t);
|
|
}), n;
|
|
}, ep = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : Wv(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (GT(o)) {
|
|
ep(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
ep(i, Wv(t, a), r, n);
|
|
});
|
|
});
|
|
}, Wv = (e, t) => {
|
|
let r = e;
|
|
return t.split(fg).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, GT = (e) => e.isThemeGetter, VT = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, UT = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, l$ = "!", qT = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(l$), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, HT = (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;
|
|
}, BT = (e) => ({
|
|
cache: UT(e.cacheSize),
|
|
parseClassName: qT(e),
|
|
...LT(e)
|
|
}), XT = /\s+/, KT = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(XT);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = HT(u).join(":"), v = f ? p + l$ : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function JT() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = c$(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const c$ = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = c$(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function QT(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = BT(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = KT(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(JT.apply(null, arguments));
|
|
};
|
|
}
|
|
const et = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, u$ = /^\[(?:([a-z-]+):)?(.+)\]$/i, ZT = /^\d+\/\d+$/, eM = /* @__PURE__ */ new Set(["px", "full", "screen"]), tM = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, rM = /\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$/, nM = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, oM = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, aM = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, yr = (e) => Jo(e) || eM.has(e) || ZT.test(e), nn = (e) => wa(e, "length", pM), Jo = (e) => !!e && !Number.isNaN(Number(e)), Fu = (e) => wa(e, "number", Jo), La = (e) => !!e && Number.isInteger(Number(e)), iM = (e) => e.endsWith("%") && Jo(e.slice(0, -1)), ye = (e) => u$.test(e), on = (e) => tM.test(e), sM = /* @__PURE__ */ new Set(["length", "size", "percentage"]), lM = (e) => wa(e, sM, f$), cM = (e) => wa(e, "position", f$), uM = /* @__PURE__ */ new Set(["image", "url"]), fM = (e) => wa(e, uM, gM), dM = (e) => wa(e, "", mM), Wa = () => !0, wa = (e, t, r) => {
|
|
const n = u$.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, pM = (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.
|
|
rM.test(e) && !nM.test(e)
|
|
), f$ = () => !1, mM = (e) => oM.test(e), gM = (e) => aM.test(e), bM = () => {
|
|
const e = et("colors"), t = et("spacing"), r = et("blur"), n = et("brightness"), o = et("borderColor"), a = et("borderRadius"), i = et("borderSpacing"), s = et("borderWidth"), c = et("contrast"), l = et("grayscale"), u = et("hueRotate"), f = et("invert"), d = et("gap"), y = et("gradientColorStops"), x = et("gradientColorStopPositions"), m = et("inset"), p = et("margin"), v = et("opacity"), k = et("padding"), $ = et("saturate"), O = et("scale"), b = et("sepia"), L = et("skew"), M = et("space"), B = et("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", ye, t], S = () => [ye, t], ne = () => ["", yr, nn], F = () => ["auto", Jo, ye], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", ye], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [Jo, ye];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Wa],
|
|
spacing: [yr, nn],
|
|
blur: ["none", "", on, ye],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", on, ye],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [iM, nn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ye]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [on]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), ye]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", La, ye]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", ye]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", La, ye]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Wa]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", La, ye]
|
|
}, ye]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Wa]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [La, ye]
|
|
}, ye]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", ye]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ye]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", ye, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ye, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ye, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [on]
|
|
}, on]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ye, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ye, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ye, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ye, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", on, 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", Fu]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Wa]
|
|
}],
|
|
/**
|
|
* 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", ye]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Jo, Fu]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", yr, ye]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ye]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ye]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", yr, nn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", yr, ye]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ye]
|
|
}],
|
|
/**
|
|
* 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", ye]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), cM]
|
|
}],
|
|
/**
|
|
* 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", lM]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, fM]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [yr, ye]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [yr, 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [yr, 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", on, dM]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Wa]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", on, ye]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ye]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ye]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ye]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [La, ye]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", ye]
|
|
}],
|
|
// 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", ye]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", ye]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [yr, nn, Fu]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, Du = /* @__PURE__ */ QT(bM);
|
|
/*!
|
|
* 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 hM(e, t, r) {
|
|
return (t = vM(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function Yv(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function ee(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? Yv(Object(r), !0).forEach(function(n) {
|
|
hM(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Yv(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function yM(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 vM(e) {
|
|
var t = yM(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const Gv = () => {
|
|
};
|
|
let dg = {}, d$ = {}, p$ = null, m$ = {
|
|
mark: Gv,
|
|
measure: Gv
|
|
};
|
|
try {
|
|
typeof window < "u" && (dg = window), typeof document < "u" && (d$ = document), typeof MutationObserver < "u" && (p$ = MutationObserver), typeof performance < "u" && (m$ = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: Vv = ""
|
|
} = dg.navigator || {}, Wn = dg, ft = d$, Uv = p$, Es = m$;
|
|
Wn.document;
|
|
const Vr = !!ft.documentElement && !!ft.head && typeof ft.addEventListener == "function" && typeof ft.createElement == "function", g$ = ~Vv.indexOf("MSIE") || ~Vv.indexOf("Trident/");
|
|
var xM = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, wM = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, b$ = {
|
|
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"
|
|
}
|
|
}, kM = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, h$ = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], wt = "classic", ic = "duotone", $M = "sharp", OM = "sharp-duotone", y$ = [wt, ic, $M, OM], SM = {
|
|
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"
|
|
}
|
|
}, PM = {
|
|
"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"
|
|
}
|
|
}, AM = /* @__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
|
|
}]]), EM = {
|
|
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"
|
|
}
|
|
}, CM = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], qv = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, NM = ["kit"], jM = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, IM = ["fak", "fakd"], zM = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, Hv = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Cs = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, TM = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], MM = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], RM = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, _M = {
|
|
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"
|
|
}
|
|
}, FM = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, tp = {
|
|
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"
|
|
}
|
|
}, DM = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], rp = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...TM, ...DM], LM = ["solid", "regular", "light", "thin", "duotone", "brands"], v$ = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], WM = v$.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), YM = [...Object.keys(FM), ...LM, "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", Cs.GROUP, Cs.SWAP_OPACITY, Cs.PRIMARY, Cs.SECONDARY].concat(v$.map((e) => "".concat(e, "x"))).concat(WM.map((e) => "w-".concat(e))), GM = {
|
|
"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 Rr = "___FONT_AWESOME___", np = 16, x$ = "fa", w$ = "svg-inline--fa", mo = "data-fa-i2svg", op = "data-fa-pseudo-element", VM = "data-fa-pseudo-element-pending", pg = "data-prefix", mg = "data-icon", Bv = "fontawesome-i2svg", UM = "async", qM = ["HTML", "HEAD", "STYLE", "SCRIPT"], k$ = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function as(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[wt];
|
|
}
|
|
});
|
|
}
|
|
const $$ = ee({}, b$);
|
|
$$[wt] = ee(ee(ee(ee({}, {
|
|
"fa-duotone": "duotone"
|
|
}), b$[wt]), qv.kit), qv["kit-duotone"]);
|
|
const HM = as($$), ap = ee({}, EM);
|
|
ap[wt] = ee(ee(ee(ee({}, {
|
|
duotone: "fad"
|
|
}), ap[wt]), Hv.kit), Hv["kit-duotone"]);
|
|
const Xv = as(ap), ip = ee({}, tp);
|
|
ip[wt] = ee(ee({}, ip[wt]), zM.kit);
|
|
const gg = as(ip), sp = ee({}, _M);
|
|
sp[wt] = ee(ee({}, sp[wt]), jM.kit);
|
|
as(sp);
|
|
const BM = xM, O$ = "fa-layers-text", XM = wM, KM = ee({}, SM);
|
|
as(KM);
|
|
const JM = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Lu = kM, QM = [...NM, ...YM], xi = Wn.FontAwesomeConfig || {};
|
|
function ZM(e) {
|
|
var t = ft.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function e8(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((e) => {
|
|
let [t, r] = e;
|
|
const n = e8(ZM(t));
|
|
n != null && (xi[r] = n);
|
|
});
|
|
const S$ = {
|
|
styleDefault: "solid",
|
|
familyDefault: wt,
|
|
cssPrefix: x$,
|
|
replacementClass: w$,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
xi.familyPrefix && (xi.cssPrefix = xi.familyPrefix);
|
|
const fa = ee(ee({}, S$), xi);
|
|
fa.autoReplaceSvg || (fa.observeMutations = !1);
|
|
const ce = {};
|
|
Object.keys(S$).forEach((e) => {
|
|
Object.defineProperty(ce, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
fa[e] = t, wi.forEach((r) => r(ce));
|
|
},
|
|
get: function() {
|
|
return fa[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ce, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
fa.cssPrefix = e, wi.forEach((t) => t(ce));
|
|
},
|
|
get: function() {
|
|
return fa.cssPrefix;
|
|
}
|
|
});
|
|
Wn.FontAwesomeConfig = ce;
|
|
const wi = [];
|
|
function t8(e) {
|
|
return wi.push(e), () => {
|
|
wi.splice(wi.indexOf(e), 1);
|
|
};
|
|
}
|
|
const an = np, lr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function r8(e) {
|
|
if (!e || !Vr)
|
|
return;
|
|
const t = ft.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = ft.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return ft.head.insertBefore(t, n), e;
|
|
}
|
|
const n8 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Gi() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += n8[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 bg(e) {
|
|
return e.classList ? ka(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function P$(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function o8(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(P$(e[r]), '" '), "").trim();
|
|
}
|
|
function sc(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function hg(e) {
|
|
return e.size !== lr.size || e.x !== lr.x || e.y !== lr.y || e.rotate !== lr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function a8(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), c = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, l = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: c,
|
|
path: l
|
|
};
|
|
}
|
|
function i8(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = np,
|
|
height: n = np,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && g$ ? a += "translate(".concat(t.x / an - r / 2, "em, ").concat(t.y / an - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / an, "em), calc(-50% + ").concat(t.y / an, "em)) ") : a += "translate(".concat(t.x / an, "em, ").concat(t.y / an, "em) "), a += "scale(".concat(t.size / an * (t.flipX ? -1 : 1), ", ").concat(t.size / an * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var s8 = `: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 A$() {
|
|
const e = x$, t = w$, r = ce.cssPrefix, n = ce.replacementClass;
|
|
let o = s8;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let Kv = !1;
|
|
function Wu() {
|
|
ce.autoAddCss && !Kv && (r8(A$()), Kv = !0);
|
|
}
|
|
var l8 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: A$,
|
|
insertCss: Wu
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Wu();
|
|
},
|
|
beforeI2svg() {
|
|
Wu();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const _r = Wn || {};
|
|
_r[Rr] || (_r[Rr] = {});
|
|
_r[Rr].styles || (_r[Rr].styles = {});
|
|
_r[Rr].hooks || (_r[Rr].hooks = {});
|
|
_r[Rr].shims || (_r[Rr].shims = []);
|
|
var cr = _r[Rr];
|
|
const E$ = [], C$ = function() {
|
|
ft.removeEventListener("DOMContentLoaded", C$), $l = 1, E$.map((e) => e());
|
|
};
|
|
let $l = !1;
|
|
Vr && ($l = (ft.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ft.readyState), $l || ft.addEventListener("DOMContentLoaded", C$));
|
|
function c8(e) {
|
|
Vr && ($l ? setTimeout(e, 0) : E$.push(e));
|
|
}
|
|
function is(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? P$(e) : "<".concat(t, " ").concat(o8(r), ">").concat(n.map(is).join(""), "</").concat(t, ">");
|
|
}
|
|
function Jv(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Yu = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, c, l;
|
|
for (r === void 0 ? (s = 1, l = e[o[0]]) : (s = 0, l = r); s < a; s++)
|
|
c = o[s], l = i(l, e[c], c, e);
|
|
return l;
|
|
};
|
|
function u8(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function N$(e) {
|
|
const t = u8(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function f8(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function Qv(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 lp(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = Qv(t);
|
|
typeof cr.hooks.addPack == "function" && !n ? cr.hooks.addPack(e, Qv(t)) : cr.styles[e] = ee(ee({}, cr.styles[e] || {}), o), e === "fas" && lp("fa", t);
|
|
}
|
|
const {
|
|
styles: Vi,
|
|
shims: d8
|
|
} = cr, j$ = Object.keys(gg), p8 = j$.reduce((e, t) => (e[t] = Object.keys(gg[t]), e), {});
|
|
let yg = null, I$ = {}, z$ = {}, T$ = {}, M$ = {}, R$ = {};
|
|
function m8(e) {
|
|
return ~QM.indexOf(e);
|
|
}
|
|
function g8(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !m8(o) ? o : null;
|
|
}
|
|
const _$ = () => {
|
|
const e = (n) => Yu(Vi, (o, a, i) => (o[i] = Yu(a, n, {}), o), {});
|
|
I$ = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), z$ = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), R$ = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Vi || ce.autoFetchSvg, r = Yu(d8, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
T$ = r.names, M$ = r.unicodes, yg = lc(ce.styleDefault, {
|
|
family: ce.familyDefault
|
|
});
|
|
};
|
|
t8((e) => {
|
|
yg = lc(e.styleDefault, {
|
|
family: ce.familyDefault
|
|
});
|
|
});
|
|
_$();
|
|
function vg(e, t) {
|
|
return (I$[e] || {})[t];
|
|
}
|
|
function b8(e, t) {
|
|
return (z$[e] || {})[t];
|
|
}
|
|
function Zn(e, t) {
|
|
return (R$[e] || {})[t];
|
|
}
|
|
function F$(e) {
|
|
return T$[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function h8(e) {
|
|
const t = M$[e], r = vg("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Yn() {
|
|
return yg;
|
|
}
|
|
const D$ = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function y8(e) {
|
|
let t = wt;
|
|
const r = j$.reduce((n, o) => (n[o] = "".concat(ce.cssPrefix, "-").concat(o), n), {});
|
|
return y$.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => p8[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function lc(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = wt
|
|
} = t, n = HM[r][e];
|
|
if (r === ic && !e)
|
|
return "fad";
|
|
const o = Xv[r][e] || Xv[r][n], a = e in cr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function v8(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = g8(ce.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Zv(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function cc(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = rp.concat(MM), a = Zv(e.filter((f) => o.includes(f))), i = Zv(e.filter((f) => !rp.includes(f))), s = a.filter((f) => (n = f, !h$.includes(f))), [c = null] = s, l = y8(a), u = ee(ee({}, v8(i)), {}, {
|
|
prefix: lc(c, {
|
|
family: l
|
|
})
|
|
});
|
|
return ee(ee(ee({}, u), $8({
|
|
values: e,
|
|
family: l,
|
|
styles: Vi,
|
|
config: ce,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), x8(r, n, u));
|
|
}
|
|
function x8(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? F$(o) : {}, i = Zn(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Vi.far && Vi.fas && !ce.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const w8 = y$.filter((e) => e !== wt || e !== ic), k8 = Object.keys(tp).filter((e) => e !== wt).map((e) => Object.keys(tp[e])).flat();
|
|
function $8(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === ic, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (c || l || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && w8.includes(r) && (Object.keys(a).find((f) => k8.includes(f)) || i.autoFetchSvg)) {
|
|
const f = AM.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Zn(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Yn() || "fas"), n;
|
|
}
|
|
let O8 = class {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = ee(ee({}, this.definitions[a] || {}), o[a]), lp(a, o[a]);
|
|
const i = gg[wt][a];
|
|
i && lp(i, o[a]), _$();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], c = s[2];
|
|
t[a] || (t[a] = {}), c.length > 0 && c.forEach((l) => {
|
|
typeof l == "string" && (t[a][l] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, e1 = [], _o = {};
|
|
const Qo = {}, S8 = Object.keys(Qo);
|
|
function P8(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return e1 = e, _o = {}, Object.keys(Qo).forEach((n) => {
|
|
S8.indexOf(n) === -1 && delete Qo[n];
|
|
}), e1.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
_o[i] || (_o[i] = []), _o[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Qo);
|
|
}), r;
|
|
}
|
|
function cp(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (_o[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function go(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(_o[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Gn() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Qo[e] ? Qo[e].apply(null, t) : void 0;
|
|
}
|
|
function up(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Yn();
|
|
if (t)
|
|
return t = Zn(r, t) || t, Jv(L$.definitions, r, t) || Jv(cr.styles, r, t);
|
|
}
|
|
const L$ = new O8(), A8 = () => {
|
|
ce.autoReplaceSvg = !1, ce.observeMutations = !1, go("noAuto");
|
|
}, E8 = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Vr ? (go("beforeI2svg", e), Gn("pseudoElements2svg", e), Gn("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;
|
|
ce.autoReplaceSvg === !1 && (ce.autoReplaceSvg = !0), ce.observeMutations = !0, c8(() => {
|
|
N8({
|
|
autoReplaceSvgRoot: t
|
|
}), go("watch", e);
|
|
});
|
|
}
|
|
}, C8 = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Zn(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 = lc(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Zn(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ce.cssPrefix, "-")) > -1 || e.match(BM))) {
|
|
const t = cc(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Yn(),
|
|
iconName: Zn(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Yn();
|
|
return {
|
|
prefix: t,
|
|
iconName: Zn(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, Tt = {
|
|
noAuto: A8,
|
|
config: ce,
|
|
dom: E8,
|
|
parse: C8,
|
|
library: L$,
|
|
findIconDefinition: up,
|
|
toHtml: is
|
|
}, N8 = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = ft
|
|
} = e;
|
|
(Object.keys(cr.styles).length > 0 || ce.autoFetchSvg) && Vr && ce.autoReplaceSvg && Tt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function uc(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => is(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Vr) return;
|
|
const r = ft.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function j8(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (hg(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: c
|
|
} = r, l = {
|
|
x: s / c / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = sc(ee(ee({}, a), {}, {
|
|
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function I8(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ce.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ee(ee({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function xg(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: c,
|
|
titleId: l,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: y
|
|
} = r.found ? r : t, x = IM.includes(n), m = [ce.replacementClass, o ? "".concat(ce.cssPrefix, "-").concat(o) : ""].filter((b) => u.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(u.classes).join(" ");
|
|
let p = {
|
|
children: [],
|
|
attributes: ee(ee({}, u.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: u.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(d, " ").concat(y)
|
|
})
|
|
};
|
|
const v = x && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / y * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (p.attributes[mo] = ""), s && (p.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: p.attributes["aria-labelledby"] || "title-".concat(l || Gi())
|
|
},
|
|
children: [s]
|
|
}), delete p.attributes.title);
|
|
const k = ee(ee({}, p), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: c,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ee(ee({}, v), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: O
|
|
} = r.found && t.found ? Gn("generateAbstractMask", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Gn("generateAbstractIcon", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return k.children = $, k.attributes = O, i ? I8(k) : j8(k);
|
|
}
|
|
function t1(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, c = ee(ee(ee({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (c[mo] = "");
|
|
const l = ee({}, i.styles);
|
|
hg(o) && (l.transform = i8({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), l["-webkit-transform"] = l.transform);
|
|
const u = sc(l);
|
|
u.length > 0 && (c.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: c,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function z8(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ee(ee(ee({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = sc(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: Gu
|
|
} = cr;
|
|
function fp(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ce.cssPrefix, "-").concat(Lu.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ce.cssPrefix, "-").concat(Lu.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ce.cssPrefix, "-").concat(Lu.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const T8 = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function M8(e, t) {
|
|
!k$ && !ce.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function dp(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ce.styleDefault !== null && (t = Yn()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = F$(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Gu[t] && Gu[t][e]) {
|
|
const a = Gu[t][e];
|
|
return n(fp(a));
|
|
}
|
|
M8(e, t), n(ee(ee({}, T8), {}, {
|
|
icon: ce.showMissingIcons && e ? Gn("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const r1 = () => {
|
|
}, pp = ce.measurePerformance && Es && Es.mark && Es.measure ? Es : {
|
|
mark: r1,
|
|
measure: r1
|
|
}, ai = 'FA "6.7.2"', R8 = (e) => (pp.mark("".concat(ai, " ").concat(e, " begins")), () => W$(e)), W$ = (e) => {
|
|
pp.mark("".concat(ai, " ").concat(e, " ends")), pp.measure("".concat(ai, " ").concat(e), "".concat(ai, " ").concat(e, " begins"), "".concat(ai, " ").concat(e, " ends"));
|
|
};
|
|
var wg = {
|
|
begin: R8,
|
|
end: W$
|
|
};
|
|
const Xs = () => {
|
|
};
|
|
function n1(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(mo) : null) == "string";
|
|
}
|
|
function _8(e) {
|
|
const t = e.getAttribute ? e.getAttribute(pg) : null, r = e.getAttribute ? e.getAttribute(mg) : null;
|
|
return t && r;
|
|
}
|
|
function F8(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ce.replacementClass);
|
|
}
|
|
function D8() {
|
|
return ce.autoReplaceSvg === !0 ? Ks.replace : Ks[ce.autoReplaceSvg] || Ks.replace;
|
|
}
|
|
function L8(e) {
|
|
return ft.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function W8(e) {
|
|
return ft.createElement(e);
|
|
}
|
|
function Y$(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? L8 : W8
|
|
} = 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(Y$(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function Y8(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Ks = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(Y$(r), t);
|
|
}), t.getAttribute(mo) === null && ce.keepOriginalSource) {
|
|
let r = ft.createComment(Y8(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~bg(t).indexOf(ce.replacementClass))
|
|
return Ks.replace(e);
|
|
const n = new RegExp("".concat(ce.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ce.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => is(a)).join(`
|
|
`);
|
|
t.setAttribute(mo, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function o1(e) {
|
|
e();
|
|
}
|
|
function G$(e, t) {
|
|
const r = typeof t == "function" ? t : Xs;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = o1;
|
|
ce.mutateApproach === UM && (n = Wn.requestAnimationFrame || o1), n(() => {
|
|
const o = D8(), a = wg.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let kg = !1;
|
|
function V$() {
|
|
kg = !0;
|
|
}
|
|
function mp() {
|
|
kg = !1;
|
|
}
|
|
let Ol = null;
|
|
function a1(e) {
|
|
if (!Uv || !ce.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Xs,
|
|
nodeCallback: r = Xs,
|
|
pseudoElementsCallback: n = Xs,
|
|
observeMutationsRoot: o = ft
|
|
} = e;
|
|
Ol = new Uv((a) => {
|
|
if (kg) return;
|
|
const i = Yn();
|
|
ka(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !n1(s.addedNodes[0]) && (ce.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ce.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && n1(s.target) && ~JM.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && _8(s.target)) {
|
|
const {
|
|
prefix: c,
|
|
iconName: l
|
|
} = cc(bg(s.target));
|
|
s.target.setAttribute(pg, c || i), l && s.target.setAttribute(mg, l);
|
|
} else F8(s.target) && r(s.target);
|
|
});
|
|
}), Vr && Ol.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function G8() {
|
|
Ol && Ol.disconnect();
|
|
}
|
|
function V8(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function U8(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = cc(bg(e));
|
|
return o.prefix || (o.prefix = Yn()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = b8(o.prefix, e.innerText) || vg(o.prefix, N$(e.innerText))), !o.iconName && ce.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function q8(e) {
|
|
const t = ka(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ce.autoA11y && (r ? t["aria-labelledby"] = "".concat(ce.replacementClass, "-title-").concat(n || Gi()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function H8() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: lr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function i1(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = U8(e), a = q8(e), i = cp("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? V8(e) : [];
|
|
return ee({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: lr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: B8
|
|
} = cr;
|
|
function U$(e) {
|
|
const t = ce.autoReplaceSvg === "nest" ? i1(e, {
|
|
styleParser: !1
|
|
}) : i1(e);
|
|
return ~t.extra.classes.indexOf(O$) ? Gn("generateLayersText", e, t) : Gn("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function X8() {
|
|
return [...CM, ...rp];
|
|
}
|
|
function s1(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Vr) return Promise.resolve();
|
|
const r = ft.documentElement.classList, n = (u) => r.add("".concat(Bv, "-").concat(u)), o = (u) => r.remove("".concat(Bv, "-").concat(u)), a = ce.autoFetchSvg ? X8() : h$.concat(Object.keys(B8));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(O$, ":not([").concat(mo, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(mo, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = ka(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const c = wg.begin("onTree"), l = s.reduce((u, f) => {
|
|
try {
|
|
const d = U$(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
k$ || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(l).then((d) => {
|
|
G$(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), c(), u();
|
|
});
|
|
}).catch((d) => {
|
|
c(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function K8(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
U$(e).then((r) => {
|
|
r && G$([r], t);
|
|
});
|
|
}
|
|
function J8(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : up(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : up(o || {})), e(n, ee(ee({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const Q8 = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = lr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: c = [],
|
|
attributes: l = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: y
|
|
} = e;
|
|
return uc(ee({
|
|
type: "icon"
|
|
}, e), () => (go("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ce.autoA11y && (i ? l["aria-labelledby"] = "".concat(ce.replacementClass, "-title-").concat(s || Gi()) : (l["aria-hidden"] = "true", l.focusable = "false")), xg({
|
|
icons: {
|
|
main: fp(y),
|
|
mask: o ? fp(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: ee(ee({}, lr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: l,
|
|
styles: u,
|
|
classes: c
|
|
}
|
|
})));
|
|
};
|
|
var Z8 = {
|
|
mixout() {
|
|
return {
|
|
icon: J8(Q8)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = s1, e.nodeCallback = K8, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = ft,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return s1(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: c,
|
|
mask: l,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, y) => {
|
|
Promise.all([dp(n, i), l.iconName ? dp(l.iconName, l.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((x) => {
|
|
let [m, p] = x;
|
|
d([t, xg({
|
|
icons: {
|
|
main: m,
|
|
mask: p
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: c,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(y);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = sc(i);
|
|
s.length > 0 && (n.style = s);
|
|
let c;
|
|
return hg(a) && (c = Gn("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(c || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, eR = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return uc({
|
|
type: "layer"
|
|
}, () => {
|
|
go("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ce.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, tR = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return uc({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (go("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), z8({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ce.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, rR = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = lr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return uc({
|
|
type: "text",
|
|
content: e
|
|
}, () => (go("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), t1({
|
|
content: e,
|
|
transform: ee(ee({}, lr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ce.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (g$) {
|
|
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
|
|
i = l.width / c, s = l.height / c;
|
|
}
|
|
return ce.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, t1({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const nR = new RegExp('"', "ug"), l1 = [1105920, 1112319], c1 = ee(ee(ee(ee({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), PM), GM), RM), gp = Object.keys(c1).reduce((e, t) => (e[t.toLowerCase()] = c1[t], e), {}), oR = Object.keys(gp).reduce((e, t) => {
|
|
const r = gp[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function aR(e) {
|
|
const t = e.replace(nR, ""), r = f8(t, 0), n = r >= l1[0] && r <= l1[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: N$(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function iR(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (gp[r] || {})[o] || oR[r];
|
|
}
|
|
function u1(e, t) {
|
|
const r = "".concat(VM).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = ka(e.children).filter((f) => f.getAttribute(op) === t)[0], i = Wn.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), c = s.match(XM), l = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !c)
|
|
return e.removeChild(a), n();
|
|
if (c && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = iR(s, l);
|
|
const {
|
|
value: y,
|
|
isSecondary: x
|
|
} = aR(f), m = c[0].startsWith("FontAwesome");
|
|
let p = vg(d, y), v = p;
|
|
if (m) {
|
|
const k = h8(y);
|
|
k.iconName && k.prefix && (p = k.iconName, d = k.prefix);
|
|
}
|
|
if (p && !x && (!a || a.getAttribute(pg) !== d || a.getAttribute(mg) !== v)) {
|
|
e.setAttribute(r, v), a && e.removeChild(a);
|
|
const k = H8(), {
|
|
extra: $
|
|
} = k;
|
|
$.attributes[op] = t, dp(p, d).then((O) => {
|
|
const b = xg(ee(ee({}, k), {}, {
|
|
icons: {
|
|
main: O,
|
|
mask: D$()
|
|
},
|
|
prefix: d,
|
|
iconName: v,
|
|
extra: $,
|
|
watchable: !0
|
|
})), L = ft.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(L, e.firstChild) : e.appendChild(L), L.outerHTML = b.map((M) => is(M)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function sR(e) {
|
|
return Promise.all([u1(e, "::before"), u1(e, "::after")]);
|
|
}
|
|
function lR(e) {
|
|
return e.parentNode !== document.head && !~qM.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(op) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function f1(e) {
|
|
if (Vr)
|
|
return new Promise((t, r) => {
|
|
const n = ka(e.querySelectorAll("*")).filter(lR).map(sR), o = wg.begin("searchPseudoElements");
|
|
V$(), Promise.all(n).then(() => {
|
|
o(), mp(), t();
|
|
}).catch(() => {
|
|
o(), mp(), r();
|
|
});
|
|
});
|
|
}
|
|
var cR = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = f1, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = ft
|
|
} = t;
|
|
ce.searchPseudoElements && f1(r);
|
|
};
|
|
}
|
|
};
|
|
let d1 = !1;
|
|
var uR = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
V$(), d1 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
a1(cp("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
G8();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
d1 ? mp() : a1(cp("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const p1 = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var fR = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => p1(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = p1(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), c = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), l = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(c, " ").concat(l)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ee({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ee({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ee(ee({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Vu = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function m1(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 dR(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var pR = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? cc(r.split(" ").map((o) => o.trim())) : D$();
|
|
return n.prefix || (n.prefix = Yn()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: c,
|
|
icon: l
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = a8({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: c
|
|
}), y = {
|
|
tag: "rect",
|
|
attributes: ee(ee({}, Vu), {}, {
|
|
fill: "white"
|
|
})
|
|
}, x = l.children ? {
|
|
children: l.children.map(m1)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ee({}, d.inner),
|
|
children: [m1(ee({
|
|
tag: l.tag,
|
|
attributes: ee(ee({}, l.attributes), d.path)
|
|
}, x))]
|
|
}, p = {
|
|
tag: "g",
|
|
attributes: ee({}, d.outer),
|
|
children: [m]
|
|
}, v = "mask-".concat(i || Gi()), k = "clip-".concat(i || Gi()), $ = {
|
|
tag: "mask",
|
|
attributes: ee(ee({}, Vu), {}, {
|
|
id: v,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [y, p]
|
|
}, O = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: k
|
|
},
|
|
children: dR(f)
|
|
}, $]
|
|
};
|
|
return r.push(O, {
|
|
tag: "rect",
|
|
attributes: ee({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(k, ")"),
|
|
mask: "url(#".concat(v, ")")
|
|
}, Vu)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, mR = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Wn.matchMedia && (t = Wn.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: ee(ee({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = ee(ee({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ee(ee({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ee(ee({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ee(ee({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ee(ee({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: ee(ee({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ee(ee({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: ee(ee({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, gR = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, bR = [l8, Z8, eR, tR, rR, cR, uR, fR, pR, mR, gR];
|
|
P8(bR, {
|
|
mixoutsTo: Tt
|
|
});
|
|
Tt.noAuto;
|
|
Tt.config;
|
|
Tt.library;
|
|
Tt.dom;
|
|
const bp = Tt.parse;
|
|
Tt.findIconDefinition;
|
|
Tt.toHtml;
|
|
const hR = Tt.icon;
|
|
Tt.layer;
|
|
Tt.text;
|
|
Tt.counter;
|
|
function yR(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Ns = { exports: {} }, Uu = { 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 g1;
|
|
function vR() {
|
|
if (g1) return Ye;
|
|
g1 = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var L = b.$$typeof;
|
|
switch (L) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return L;
|
|
}
|
|
}
|
|
case r:
|
|
return L;
|
|
}
|
|
}
|
|
}
|
|
function O(b) {
|
|
return $(b) === l;
|
|
}
|
|
return Ye.AsyncMode = c, Ye.ConcurrentMode = l, Ye.ContextConsumer = s, Ye.ContextProvider = i, Ye.Element = t, Ye.ForwardRef = u, Ye.Fragment = n, Ye.Lazy = x, Ye.Memo = y, Ye.Portal = r, Ye.Profiler = a, Ye.StrictMode = o, Ye.Suspense = f, Ye.isAsyncMode = function(b) {
|
|
return O(b) || $(b) === c;
|
|
}, Ye.isConcurrentMode = O, Ye.isContextConsumer = function(b) {
|
|
return $(b) === s;
|
|
}, Ye.isContextProvider = function(b) {
|
|
return $(b) === i;
|
|
}, Ye.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Ye.isForwardRef = function(b) {
|
|
return $(b) === u;
|
|
}, Ye.isFragment = function(b) {
|
|
return $(b) === n;
|
|
}, Ye.isLazy = function(b) {
|
|
return $(b) === x;
|
|
}, Ye.isMemo = function(b) {
|
|
return $(b) === y;
|
|
}, Ye.isPortal = function(b) {
|
|
return $(b) === r;
|
|
}, Ye.isProfiler = function(b) {
|
|
return $(b) === a;
|
|
}, Ye.isStrictMode = function(b) {
|
|
return $(b) === o;
|
|
}, Ye.isSuspense = function(b) {
|
|
return $(b) === f;
|
|
}, Ye.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === l || b === a || b === o || b === f || b === d || typeof b == "object" && b !== null && (b.$$typeof === x || b.$$typeof === y || b.$$typeof === i || b.$$typeof === s || b.$$typeof === u || b.$$typeof === p || b.$$typeof === v || b.$$typeof === k || b.$$typeof === m);
|
|
}, Ye.typeOf = $, Ye;
|
|
}
|
|
var He = {};
|
|
/** @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 b1;
|
|
function xR() {
|
|
return b1 || (b1 = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(w) {
|
|
return typeof w == "string" || typeof w == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
w === n || w === l || w === a || w === o || w === f || w === d || typeof w == "object" && w !== null && (w.$$typeof === x || w.$$typeof === y || w.$$typeof === i || w.$$typeof === s || w.$$typeof === u || w.$$typeof === p || w.$$typeof === v || w.$$typeof === k || w.$$typeof === m);
|
|
}
|
|
function O(w) {
|
|
if (typeof w == "object" && w !== null) {
|
|
var oe = w.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var Ae = w.type;
|
|
switch (Ae) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ae;
|
|
default:
|
|
var mt = Ae && Ae.$$typeof;
|
|
switch (mt) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return mt;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = c, L = l, M = s, B = i, H = t, U = u, X = n, S = x, ne = y, F = r, R = a, _ = o, G = f, Y = !1;
|
|
function V(w) {
|
|
return Y || (Y = !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.")), g(w) || O(w) === c;
|
|
}
|
|
function g(w) {
|
|
return O(w) === l;
|
|
}
|
|
function h(w) {
|
|
return O(w) === s;
|
|
}
|
|
function N(w) {
|
|
return O(w) === i;
|
|
}
|
|
function A(w) {
|
|
return typeof w == "object" && w !== null && w.$$typeof === t;
|
|
}
|
|
function P(w) {
|
|
return O(w) === u;
|
|
}
|
|
function j(w) {
|
|
return O(w) === n;
|
|
}
|
|
function C(w) {
|
|
return O(w) === x;
|
|
}
|
|
function E(w) {
|
|
return O(w) === y;
|
|
}
|
|
function I(w) {
|
|
return O(w) === r;
|
|
}
|
|
function z(w) {
|
|
return O(w) === a;
|
|
}
|
|
function T(w) {
|
|
return O(w) === o;
|
|
}
|
|
function q(w) {
|
|
return O(w) === f;
|
|
}
|
|
He.AsyncMode = b, He.ConcurrentMode = L, He.ContextConsumer = M, He.ContextProvider = B, He.Element = H, He.ForwardRef = U, He.Fragment = X, He.Lazy = S, He.Memo = ne, He.Portal = F, He.Profiler = R, He.StrictMode = _, He.Suspense = G, He.isAsyncMode = V, He.isConcurrentMode = g, He.isContextConsumer = h, He.isContextProvider = N, He.isElement = A, He.isForwardRef = P, He.isFragment = j, He.isLazy = C, He.isMemo = E, He.isPortal = I, He.isProfiler = z, He.isStrictMode = T, He.isSuspense = q, He.isValidElementType = $, He.typeOf = O;
|
|
}()), He;
|
|
}
|
|
var h1;
|
|
function q$() {
|
|
return h1 || (h1 = 1, process.env.NODE_ENV === "production" ? Uu.exports = vR() : Uu.exports = xR()), Uu.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var qu, y1;
|
|
function wR() {
|
|
if (y1) return qu;
|
|
y1 = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var c = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (c.join("") !== "0123456789")
|
|
return !1;
|
|
var l = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
l[u] = u;
|
|
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return qu = o() ? Object.assign : function(a, i) {
|
|
for (var s, c = n(a), l, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (c[f] = s[f]);
|
|
if (e) {
|
|
l = e(s);
|
|
for (var d = 0; d < l.length; d++)
|
|
r.call(s, l[d]) && (c[l[d]] = s[l[d]]);
|
|
}
|
|
}
|
|
return c;
|
|
}, qu;
|
|
}
|
|
var Hu, v1;
|
|
function $g() {
|
|
if (v1) return Hu;
|
|
v1 = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Hu = e, Hu;
|
|
}
|
|
var x1, w1;
|
|
function H$() {
|
|
return w1 || (w1 = 1, x1 = Function.call.bind(Object.prototype.hasOwnProperty)), x1;
|
|
}
|
|
var Bu, k1;
|
|
function kR() {
|
|
if (k1) return Bu;
|
|
k1 = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ $g(), r = {}, n = /* @__PURE__ */ H$();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, c, l) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var u in a)
|
|
if (n(a, u)) {
|
|
var f;
|
|
try {
|
|
if (typeof a[u] != "function") {
|
|
var d = Error(
|
|
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw d.name = "Invariant Violation", d;
|
|
}
|
|
f = a[u](i, u, c, s, null, t);
|
|
} catch (x) {
|
|
f = x;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), f instanceof Error && !(f.message in r)) {
|
|
r[f.message] = !0;
|
|
var y = l ? l() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (y ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Bu = o, Bu;
|
|
}
|
|
var Xu, $1;
|
|
function $R() {
|
|
if ($1) return Xu;
|
|
$1 = 1;
|
|
var e = q$(), t = wR(), r = /* @__PURE__ */ $g(), n = /* @__PURE__ */ H$(), o = /* @__PURE__ */ kR(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var c = "Warning: " + s;
|
|
typeof console < "u" && console.error(c);
|
|
try {
|
|
throw new Error(c);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Xu = function(s, c) {
|
|
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(g) {
|
|
var h = g && (l && g[l] || g[u]);
|
|
if (typeof h == "function")
|
|
return h;
|
|
}
|
|
var d = "<<anonymous>>", y = {
|
|
array: v("array"),
|
|
bigint: v("bigint"),
|
|
bool: v("boolean"),
|
|
func: v("function"),
|
|
number: v("number"),
|
|
object: v("object"),
|
|
string: v("string"),
|
|
symbol: v("symbol"),
|
|
any: k(),
|
|
arrayOf: $,
|
|
element: O(),
|
|
elementType: b(),
|
|
instanceOf: L,
|
|
node: U(),
|
|
objectOf: B,
|
|
oneOf: M,
|
|
oneOfType: H,
|
|
shape: S,
|
|
exact: ne
|
|
};
|
|
function x(g, h) {
|
|
return g === h ? g !== 0 || 1 / g === 1 / h : g !== g && h !== h;
|
|
}
|
|
function m(g, h) {
|
|
this.message = g, this.data = h && typeof h == "object" ? h : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function p(g) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var h = {}, N = 0;
|
|
function A(j, C, E, I, z, T, q) {
|
|
if (I = I || d, T = T || E, q !== r) {
|
|
if (c) {
|
|
var w = 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 w.name = "Invariant Violation", w;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + E;
|
|
!h[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
N < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), h[oe] = !0, N++);
|
|
}
|
|
}
|
|
return C[E] == null ? j ? C[E] === null ? new m("The " + z + " `" + T + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + z + " `" + T + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : g(C, E, I, z, T);
|
|
}
|
|
var P = A.bind(null, !1);
|
|
return P.isRequired = A.bind(null, !0), P;
|
|
}
|
|
function v(g) {
|
|
function h(N, A, P, j, C, E) {
|
|
var I = N[A], z = _(I);
|
|
if (z !== g) {
|
|
var T = G(I);
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."),
|
|
{ expectedType: g }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function k() {
|
|
return p(i);
|
|
}
|
|
function $(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside arrayOf.");
|
|
var E = N[A];
|
|
if (!Array.isArray(E)) {
|
|
var I = _(E);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an array."));
|
|
}
|
|
for (var z = 0; z < E.length; z++) {
|
|
var T = g(E, z, P, j, C + "[" + z + "]", r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function O() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!s(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function b() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!e.isValidElementType(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function L(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (!(N[A] instanceof g)) {
|
|
var E = g.name || d, I = V(N[A]);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected ") + ("instance of `" + E + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function M(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function h(N, A, P, j, C) {
|
|
for (var E = N[A], I = 0; I < g.length; I++)
|
|
if (x(E, g[I]))
|
|
return null;
|
|
var z = JSON.stringify(g, function(T, q) {
|
|
var w = G(q);
|
|
return w === "symbol" ? String(q) : q;
|
|
});
|
|
return new m("Invalid " + j + " `" + C + "` of value `" + String(E) + "` " + ("supplied to `" + P + "`, expected one of " + z + "."));
|
|
}
|
|
return p(h);
|
|
}
|
|
function B(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside objectOf.");
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an object."));
|
|
for (var z in E)
|
|
if (n(E, z)) {
|
|
var T = g(E, z, P, j, C + "." + z, r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function H(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var h = 0; h < g.length; h++) {
|
|
var N = g[h];
|
|
if (typeof N != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(N) + " at index " + h + "."
|
|
), i;
|
|
}
|
|
function A(P, j, C, E, I) {
|
|
for (var z = [], T = 0; T < g.length; T++) {
|
|
var q = g[T], w = q(P, j, C, E, I, r);
|
|
if (w == null)
|
|
return null;
|
|
w.data && n(w.data, "expectedType") && z.push(w.data.expectedType);
|
|
}
|
|
var oe = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
|
|
return new m("Invalid " + E + " `" + I + "` supplied to " + ("`" + C + "`" + oe + "."));
|
|
}
|
|
return p(A);
|
|
}
|
|
function U() {
|
|
function g(h, N, A, P, j) {
|
|
return F(h[N]) ? null : new m("Invalid " + P + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return p(g);
|
|
}
|
|
function X(g, h, N, A, P) {
|
|
return new m(
|
|
(g || "React class") + ": " + h + " type `" + N + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`."
|
|
);
|
|
}
|
|
function S(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
for (var z in g) {
|
|
var T = g[z];
|
|
if (typeof T != "function")
|
|
return X(P, j, C, z, G(T));
|
|
var q = T(E, z, P, j, C + "." + z, r);
|
|
if (q)
|
|
return q;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function ne(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
var z = t({}, N[A], g);
|
|
for (var T in z) {
|
|
var q = g[T];
|
|
if (n(g, T) && typeof q != "function")
|
|
return X(P, j, C, T, G(q));
|
|
if (!q)
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(N[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
|
|
);
|
|
var w = q(E, T, P, j, C + "." + T, r);
|
|
if (w)
|
|
return w;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function F(g) {
|
|
switch (typeof g) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !g;
|
|
case "object":
|
|
if (Array.isArray(g))
|
|
return g.every(F);
|
|
if (g === null || s(g))
|
|
return !0;
|
|
var h = f(g);
|
|
if (h) {
|
|
var N = h.call(g), A;
|
|
if (h !== g.entries) {
|
|
for (; !(A = N.next()).done; )
|
|
if (!F(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = N.next()).done; ) {
|
|
var P = A.value;
|
|
if (P && !F(P[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function R(g, h) {
|
|
return g === "symbol" ? !0 : h ? h["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && h instanceof Symbol : !1;
|
|
}
|
|
function _(g) {
|
|
var h = typeof g;
|
|
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : R(h, g) ? "symbol" : h;
|
|
}
|
|
function G(g) {
|
|
if (typeof g > "u" || g === null)
|
|
return "" + g;
|
|
var h = _(g);
|
|
if (h === "object") {
|
|
if (g instanceof Date)
|
|
return "date";
|
|
if (g instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return h;
|
|
}
|
|
function Y(g) {
|
|
var h = G(g);
|
|
switch (h) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + h;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + h;
|
|
default:
|
|
return h;
|
|
}
|
|
}
|
|
function V(g) {
|
|
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
|
|
}
|
|
return y.checkPropTypes = o, y.resetWarningCache = o.resetWarningCache, y.PropTypes = y, y;
|
|
}, Xu;
|
|
}
|
|
var Ku, O1;
|
|
function OR() {
|
|
if (O1) return Ku;
|
|
O1 = 1;
|
|
var e = /* @__PURE__ */ $g();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Ku = function() {
|
|
function n(i, s, c, l, u, f) {
|
|
if (f !== e) {
|
|
var d = 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 d.name = "Invariant Violation", d;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, Ku;
|
|
}
|
|
var S1;
|
|
function SR() {
|
|
if (S1) return Ns.exports;
|
|
if (S1 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = q$(), t = !0;
|
|
Ns.exports = /* @__PURE__ */ $R()(e.isElement, t);
|
|
} else
|
|
Ns.exports = /* @__PURE__ */ OR()();
|
|
return Ns.exports;
|
|
}
|
|
var PR = /* @__PURE__ */ SR();
|
|
const Ie = /* @__PURE__ */ yR(PR);
|
|
function P1(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Jt(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? P1(Object(r), !0).forEach(function(n) {
|
|
Fo(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : P1(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Sl(e) {
|
|
"@babel/helpers - typeof";
|
|
return Sl = 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;
|
|
}, Sl(e);
|
|
}
|
|
function Fo(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function AR(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function ER(e, t) {
|
|
if (e == null) return {};
|
|
var r = AR(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function hp(e) {
|
|
return CR(e) || NR(e) || jR(e) || IR();
|
|
}
|
|
function CR(e) {
|
|
if (Array.isArray(e)) return yp(e);
|
|
}
|
|
function NR(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function jR(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return yp(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 yp(e, t);
|
|
}
|
|
}
|
|
function yp(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 IR() {
|
|
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 zR(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, x = e.border, m = e.listItem, p = e.flip, v = e.size, k = e.rotation, $ = e.pull, O = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": c,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": l,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": y,
|
|
"fa-border": x,
|
|
"fa-li": m,
|
|
"fa-flip": p === !0,
|
|
"fa-flip-horizontal": p === "horizontal" || p === "both",
|
|
"fa-flip-vertical": p === "vertical" || p === "both"
|
|
}, Fo(t, "fa-".concat(v), typeof v < "u" && v !== null), Fo(t, "fa-rotate-".concat(k), typeof k < "u" && k !== null && k !== 0), Fo(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Fo(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(O).map(function(b) {
|
|
return O[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function TR(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function B$(e) {
|
|
return TR(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var MR = ["style"];
|
|
function RR(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function _R(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = B$(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[RR(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function X$(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(c) {
|
|
return X$(e, c);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(c, l) {
|
|
var u = t.attributes[l];
|
|
switch (l) {
|
|
case "class":
|
|
c.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
c.attrs.style = _R(u);
|
|
break;
|
|
default:
|
|
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[B$(l)] = u;
|
|
}
|
|
return c;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = ER(r, MR);
|
|
return o.attrs.style = Jt(Jt({}, o.attrs.style), i), e.apply(void 0, [t.tag, Jt(Jt({}, o.attrs), s)].concat(hp(n)));
|
|
}
|
|
var K$ = !1;
|
|
try {
|
|
K$ = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function FR() {
|
|
if (!K$ && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function A1(e) {
|
|
if (e && Sl(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (bp.icon)
|
|
return bp.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && Sl(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 Ju(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Fo({}, e, t) : {};
|
|
}
|
|
var E1 = {
|
|
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
|
|
}, Og = /* @__PURE__ */ Pe.forwardRef(function(e, t) {
|
|
var r = Jt(Jt({}, E1), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, c = r.titleId, l = r.maskId, u = A1(n), f = Ju("classes", [].concat(hp(zR(r)), hp((i || "").split(" ")))), d = Ju("transform", typeof r.transform == "string" ? bp.transform(r.transform) : r.transform), y = Ju("mask", A1(o)), x = hR(u, Jt(Jt(Jt(Jt({}, f), d), y), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: c,
|
|
maskId: l
|
|
}));
|
|
if (!x)
|
|
return FR("Could not find icon", u), null;
|
|
var m = x.abstract, p = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(v) {
|
|
E1.hasOwnProperty(v) || (p[v] = r[v]);
|
|
}), DR(m[0], p);
|
|
});
|
|
Og.displayName = "FontAwesomeIcon";
|
|
Og.propTypes = {
|
|
beat: Ie.bool,
|
|
border: Ie.bool,
|
|
beatFade: Ie.bool,
|
|
bounce: Ie.bool,
|
|
className: Ie.string,
|
|
fade: Ie.bool,
|
|
flash: Ie.bool,
|
|
mask: Ie.oneOfType([Ie.object, Ie.array, Ie.string]),
|
|
maskId: Ie.string,
|
|
fixedWidth: Ie.bool,
|
|
inverse: Ie.bool,
|
|
flip: Ie.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ie.oneOfType([Ie.object, Ie.array, Ie.string]),
|
|
listItem: Ie.bool,
|
|
pull: Ie.oneOf(["right", "left"]),
|
|
pulse: Ie.bool,
|
|
rotation: Ie.oneOf([0, 90, 180, 270]),
|
|
shake: Ie.bool,
|
|
size: Ie.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ie.bool,
|
|
spinPulse: Ie.bool,
|
|
spinReverse: Ie.bool,
|
|
symbol: Ie.oneOfType([Ie.bool, Ie.string]),
|
|
title: Ie.string,
|
|
titleId: Ie.string,
|
|
transform: Ie.oneOfType([Ie.string, Ie.object]),
|
|
swapOpacity: Ie.bool
|
|
};
|
|
var DR = X$.bind(null, Pe.createElement);
|
|
const Sg = "-", LR = (e) => {
|
|
const t = YR(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Sg);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), J$(a, t) || WR(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, J$ = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? J$(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Sg);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, C1 = /^\[(.+)\]$/, WR = (e) => {
|
|
if (C1.test(e)) {
|
|
const t = C1.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, YR = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return VR(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
vp(a, n, o, t);
|
|
}), n;
|
|
}, vp = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : N1(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (GR(o)) {
|
|
vp(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
vp(i, N1(t, a), r, n);
|
|
});
|
|
});
|
|
}, N1 = (e, t) => {
|
|
let r = e;
|
|
return t.split(Sg).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, GR = (e) => e.isThemeGetter, VR = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, UR = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, Q$ = "!", qR = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(Q$), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, HR = (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;
|
|
}, BR = (e) => ({
|
|
cache: UR(e.cacheSize),
|
|
parseClassName: qR(e),
|
|
...LR(e)
|
|
}), XR = /\s+/, KR = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(XR);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = HR(u).join(":"), v = f ? p + Q$ : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function JR() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = Z$(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const Z$ = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = Z$(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function QR(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = BR(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = KR(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(JR.apply(null, arguments));
|
|
};
|
|
}
|
|
const tt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, e3 = /^\[(?:([a-z-]+):)?(.+)\]$/i, ZR = /^\d+\/\d+$/, e_ = /* @__PURE__ */ new Set(["px", "full", "screen"]), t_ = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, r_ = /\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$/, n_ = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, o_ = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, a_ = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, vr = (e) => Zo(e) || e_.has(e) || ZR.test(e), sn = (e) => $a(e, "length", p_), Zo = (e) => !!e && !Number.isNaN(Number(e)), Qu = (e) => $a(e, "number", Zo), Ya = (e) => !!e && Number.isInteger(Number(e)), i_ = (e) => e.endsWith("%") && Zo(e.slice(0, -1)), ve = (e) => e3.test(e), ln = (e) => t_.test(e), s_ = /* @__PURE__ */ new Set(["length", "size", "percentage"]), l_ = (e) => $a(e, s_, t3), c_ = (e) => $a(e, "position", t3), u_ = /* @__PURE__ */ new Set(["image", "url"]), f_ = (e) => $a(e, u_, g_), d_ = (e) => $a(e, "", m_), Ga = () => !0, $a = (e, t, r) => {
|
|
const n = e3.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, p_ = (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.
|
|
r_.test(e) && !n_.test(e)
|
|
), t3 = () => !1, m_ = (e) => o_.test(e), g_ = (e) => a_.test(e), b_ = () => {
|
|
const e = tt("colors"), t = tt("spacing"), r = tt("blur"), n = tt("brightness"), o = tt("borderColor"), a = tt("borderRadius"), i = tt("borderSpacing"), s = tt("borderWidth"), c = tt("contrast"), l = tt("grayscale"), u = tt("hueRotate"), f = tt("invert"), d = tt("gap"), y = tt("gradientColorStops"), x = tt("gradientColorStopPositions"), m = tt("inset"), p = tt("margin"), v = tt("opacity"), k = tt("padding"), $ = tt("saturate"), O = tt("scale"), b = tt("sepia"), L = tt("skew"), M = tt("space"), B = tt("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", ve, t], S = () => [ve, t], ne = () => ["", vr, sn], F = () => ["auto", Zo, ve], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", ve], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [Zo, ve];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Ga],
|
|
spacing: [vr, sn],
|
|
blur: ["none", "", ln, ve],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", ln, ve],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [i_, sn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ve]
|
|
}],
|
|
/**
|
|
* 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": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), ve]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Ya, ve]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", ve]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Ya, ve]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Ga]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Ya, ve]
|
|
}, ve]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Ga]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Ya, ve]
|
|
}, ve]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", ve]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ve]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", ve, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ve, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ve, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [ln]
|
|
}, ln]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ve, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ve, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ve, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ve, 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", Qu]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Ga]
|
|
}],
|
|
/**
|
|
* 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", ve]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Zo, Qu]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", vr, ve]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ve]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ve]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", vr, sn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", vr, ve]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ve]
|
|
}],
|
|
/**
|
|
* 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", ve]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), c_]
|
|
}],
|
|
/**
|
|
* 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", l_]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, f_]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [vr, ve]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [vr, 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [vr, 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, d_]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Ga]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", ln, ve]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ve]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ve]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ve]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Ya, ve]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", ve]
|
|
}],
|
|
// 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", ve]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", ve]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [vr, sn, Qu]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, h_ = /* @__PURE__ */ QR(b_), y_ = ({
|
|
className: e,
|
|
children: t,
|
|
required: r,
|
|
...n
|
|
}) => /* @__PURE__ */ Me(
|
|
"label",
|
|
{
|
|
className: h_("text-base-fg mb-2 text-[15px] font-medium", e),
|
|
...n,
|
|
children: [
|
|
t,
|
|
r && /* @__PURE__ */ W("span", { className: "ml-0.5 text-[#ff6467]", children: "*" })
|
|
]
|
|
}
|
|
), r3 = Pe.forwardRef(
|
|
({
|
|
label: e,
|
|
icon: t,
|
|
inputClassName: r,
|
|
iconClassName: n,
|
|
className: o,
|
|
id: a,
|
|
isError: i,
|
|
onBlur: s,
|
|
onFocus: c,
|
|
errorMessage: l,
|
|
...u
|
|
}, f) => /* @__PURE__ */ Me("div", { className: Du("flex flex-col", o), children: [
|
|
e && /* @__PURE__ */ W(y_, { htmlFor: a || e, children: e }),
|
|
/* @__PURE__ */ Me("div", { className: "relative w-full", children: [
|
|
t && /* @__PURE__ */ W(
|
|
Og,
|
|
{
|
|
icon: t,
|
|
className: Du("text-md absolute pl-3 pt-3", n)
|
|
}
|
|
),
|
|
/* @__PURE__ */ W(
|
|
"input",
|
|
{
|
|
ref: f,
|
|
id: a || e || void 0,
|
|
className: Du(
|
|
"h-10 w-full rounded-lg px-3 py-2.5 outline-none",
|
|
"bg-ui-panel text-base-fg placeholder-base-fg/50",
|
|
"border border-ui-panel-border transition-all duration-150 ease-in-out hover:border-primary/60 focus:border-primary focus:!outline-none",
|
|
"disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:border-ui-panel-border",
|
|
t && "pl-10",
|
|
i && "outline-red focus:outline-red",
|
|
r
|
|
),
|
|
onFocus: (d) => {
|
|
c && c(d);
|
|
},
|
|
onBlur: (d) => {
|
|
s && s(d);
|
|
},
|
|
...u
|
|
}
|
|
),
|
|
l && /* @__PURE__ */ W("h6", { className: "absolute z-10 text-red", children: l })
|
|
] })
|
|
] })
|
|
);
|
|
r3.displayName = "Input";
|
|
const Pg = "-", v_ = (e) => {
|
|
const t = w_(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Pg);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), n3(a, t) || x_(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, n3 = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? n3(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Pg);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, j1 = /^\[(.+)\]$/, x_ = (e) => {
|
|
if (j1.test(e)) {
|
|
const t = j1.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, w_ = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return $_(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
xp(a, n, o, t);
|
|
}), n;
|
|
}, xp = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : I1(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (k_(o)) {
|
|
xp(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
xp(i, I1(t, a), r, n);
|
|
});
|
|
});
|
|
}, I1 = (e, t) => {
|
|
let r = e;
|
|
return t.split(Pg).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, $_ = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, O_ = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, o3 = "!", S_ = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(o3), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, P_ = (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;
|
|
}, A_ = (e) => ({
|
|
cache: O_(e.cacheSize),
|
|
parseClassName: S_(e),
|
|
...v_(e)
|
|
}), E_ = /\s+/, C_ = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(E_);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = P_(u).join(":"), v = f ? p + o3 : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function N_() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = a3(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const a3 = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = a3(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function j_(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = A_(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = C_(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(N_.apply(null, arguments));
|
|
};
|
|
}
|
|
const rt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, i3 = /^\[(?:([a-z-]+):)?(.+)\]$/i, I_ = /^\d+\/\d+$/, z_ = /* @__PURE__ */ new Set(["px", "full", "screen"]), T_ = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, M_ = /\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$/, R_ = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, __ = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, F_ = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, xr = (e) => ea(e) || z_.has(e) || I_.test(e), cn = (e) => Oa(e, "length", q_), ea = (e) => !!e && !Number.isNaN(Number(e)), Zu = (e) => Oa(e, "number", ea), Va = (e) => !!e && Number.isInteger(Number(e)), D_ = (e) => e.endsWith("%") && ea(e.slice(0, -1)), xe = (e) => i3.test(e), un = (e) => T_.test(e), L_ = /* @__PURE__ */ new Set(["length", "size", "percentage"]), W_ = (e) => Oa(e, L_, s3), Y_ = (e) => Oa(e, "position", s3), G_ = /* @__PURE__ */ new Set(["image", "url"]), V_ = (e) => Oa(e, G_, B_), U_ = (e) => Oa(e, "", H_), Ua = () => !0, Oa = (e, t, r) => {
|
|
const n = i3.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, q_ = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
M_.test(e) && !R_.test(e)
|
|
), s3 = () => !1, H_ = (e) => __.test(e), B_ = (e) => F_.test(e), X_ = () => {
|
|
const e = rt("colors"), t = rt("spacing"), r = rt("blur"), n = rt("brightness"), o = rt("borderColor"), a = rt("borderRadius"), i = rt("borderSpacing"), s = rt("borderWidth"), c = rt("contrast"), l = rt("grayscale"), u = rt("hueRotate"), f = rt("invert"), d = rt("gap"), y = rt("gradientColorStops"), x = rt("gradientColorStopPositions"), m = rt("inset"), p = rt("margin"), v = rt("opacity"), k = rt("padding"), $ = rt("saturate"), O = rt("scale"), b = rt("sepia"), L = rt("skew"), M = rt("space"), B = rt("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", xe, t], S = () => [xe, t], ne = () => ["", xr, cn], F = () => ["auto", ea, xe], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", xe], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [ea, xe];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Ua],
|
|
spacing: [xr, cn],
|
|
blur: ["none", "", un, xe],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", un, xe],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [D_, cn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", xe]
|
|
}],
|
|
/**
|
|
* 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": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), xe]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Va, xe]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", xe]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Va, xe]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Ua]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Va, xe]
|
|
}, xe]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Ua]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Va, xe]
|
|
}, xe]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", xe]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", xe]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", xe, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [xe, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [xe, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [un]
|
|
}, un]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [xe, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [xe, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [xe, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [xe, 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", Zu]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Ua]
|
|
}],
|
|
/**
|
|
* 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", xe]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", ea, Zu]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", xr, xe]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", xe]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", xe]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", xr, cn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", xr, xe]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", xe]
|
|
}],
|
|
/**
|
|
* 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", xe]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), Y_]
|
|
}],
|
|
/**
|
|
* 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", W_]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, V_]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [xr, xe]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [xr, 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [xr, 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, U_]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Ua]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", un, xe]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", xe]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", xe]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", xe]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Va, xe]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", xe]
|
|
}],
|
|
// 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", xe]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", xe]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [xr, cn, Zu]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, K_ = /* @__PURE__ */ j_(X_), z1 = ({
|
|
className: e,
|
|
children: t,
|
|
required: r,
|
|
...n
|
|
}) => /* @__PURE__ */ Me(
|
|
"label",
|
|
{
|
|
className: K_("text-base-fg mb-2 text-[15px] font-medium", e),
|
|
...n,
|
|
children: [
|
|
t,
|
|
r && /* @__PURE__ */ W("span", { className: "ml-0.5 text-[#ff6467]", children: "*" })
|
|
]
|
|
}
|
|
);
|
|
var J_ = Object.defineProperty, Q_ = (e, t, r) => t in e ? J_(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, ef = (e, t, r) => (Q_(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let Z_ = class {
|
|
constructor() {
|
|
ef(this, "current", this.detect()), ef(this, "handoffState", "pending"), ef(this, "currentId", 0);
|
|
}
|
|
set(t) {
|
|
this.current !== t && (this.handoffState = "pending", this.currentId = 0, this.current = t);
|
|
}
|
|
reset() {
|
|
this.set(this.detect());
|
|
}
|
|
nextId() {
|
|
return ++this.currentId;
|
|
}
|
|
get isServer() {
|
|
return this.current === "server";
|
|
}
|
|
get isClient() {
|
|
return this.current === "client";
|
|
}
|
|
detect() {
|
|
return typeof window > "u" || typeof document > "u" ? "server" : "client";
|
|
}
|
|
handoff() {
|
|
this.handoffState === "pending" && (this.handoffState = "complete");
|
|
}
|
|
get isHandoffComplete() {
|
|
return this.handoffState === "complete";
|
|
}
|
|
}, Js = new Z_();
|
|
function eF(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function fc() {
|
|
let e = [], t = { addEventListener(r, n, o, a) {
|
|
return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a));
|
|
}, requestAnimationFrame(...r) {
|
|
let n = requestAnimationFrame(...r);
|
|
return t.add(() => cancelAnimationFrame(n));
|
|
}, nextFrame(...r) {
|
|
return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));
|
|
}, setTimeout(...r) {
|
|
let n = setTimeout(...r);
|
|
return t.add(() => clearTimeout(n));
|
|
}, microTask(...r) {
|
|
let n = { current: !0 };
|
|
return eF(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, o) {
|
|
let a = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: o }), this.add(() => {
|
|
Object.assign(r.style, { [n]: a });
|
|
});
|
|
}, group(r) {
|
|
let n = fc();
|
|
return r(n), this.add(() => n.dispose());
|
|
}, add(r) {
|
|
return e.includes(r) || e.push(r), () => {
|
|
let n = e.indexOf(r);
|
|
if (n >= 0) for (let o of e.splice(n, 1)) o();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function l3() {
|
|
let [e] = Re(fc);
|
|
return Xe(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let An = (e, t) => {
|
|
Js.isServer ? Xe(e, t) : Hp(e, t);
|
|
};
|
|
function c3(e) {
|
|
let t = pe(e);
|
|
return An(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let Pr = function(e) {
|
|
let t = c3(e);
|
|
return Pe.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function wp(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function dc(e, t, ...r) {
|
|
if (e in t) {
|
|
let o = t[e];
|
|
return typeof o == "function" ? o(...r) : o;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, dc), n;
|
|
}
|
|
var u3 = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(u3 || {}), $n = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))($n || {});
|
|
function f3() {
|
|
let e = rF();
|
|
return $t((t) => tF({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function tF({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? nF;
|
|
let c = d3(t, e);
|
|
if (a) return js(c, r, n, i, s);
|
|
let l = o ?? 0;
|
|
if (l & 2) {
|
|
let { static: u = !1, ...f } = c;
|
|
if (u) return js(f, r, n, i, s);
|
|
}
|
|
if (l & 1) {
|
|
let { unmount: u = !0, ...f } = c;
|
|
return dc(u ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return js({ ...f, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return js(c, r, n, i, s);
|
|
}
|
|
function js(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...c } = tf(e, ["unmount", "static"]), l = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof i == "function" ? i(t) : i;
|
|
"className" in c && c.className && typeof c.className == "function" && (c.className = c.className(t)), c["aria-labelledby"] && c["aria-labelledby"] === c.id && (c["aria-labelledby"] = void 0);
|
|
let f = {};
|
|
if (t) {
|
|
let d = !1, y = [];
|
|
for (let [x, m] of Object.entries(t)) typeof m == "boolean" && (d = !0), m === !0 && y.push(x.replace(/([A-Z])/g, (p) => `-${p.toLowerCase()}`));
|
|
if (d) {
|
|
f["data-headlessui-state"] = y.join(" ");
|
|
for (let x of y) f[`data-${x}`] = "";
|
|
}
|
|
}
|
|
if (a === Ct && (Object.keys(Hn(c)).length > 0 || Object.keys(Hn(f)).length > 0)) if (!rl(u) || Array.isArray(u) && u.length > 1) {
|
|
if (Object.keys(Hn(c)).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(Hn(c)).concat(Object.keys(Hn(f))).map((d) => ` - ${d}`).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((d) => ` - ${d}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let d = u.props, y = d == null ? void 0 : d.className, x = typeof y == "function" ? (...v) => wp(y(...v), c.className) : wp(y, c.className), m = x ? { className: x } : {}, p = d3(u.props, Hn(tf(c, ["ref"])));
|
|
for (let v in f) v in p && delete f[v];
|
|
return nl(u, Object.assign({}, p, f, l, { ref: o(oF(u), l.ref) }, m));
|
|
}
|
|
return F0(a, Object.assign({}, tf(c, ["ref"]), a !== Ct && l, a !== Ct && f), u);
|
|
}
|
|
function rF() {
|
|
let e = pe([]), t = $t((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 nF(...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 d3(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => {
|
|
var a;
|
|
return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](o, ...a) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
|
|
s(o, ...a);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function Ag(e) {
|
|
var t;
|
|
return Object.assign(Bp(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function Hn(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function tf(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function oF(e) {
|
|
return Pe.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
let aF = Symbol();
|
|
function p3(...e) {
|
|
let t = pe(e);
|
|
Xe(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = Pr((n) => {
|
|
for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[aF])) ? void 0 : r;
|
|
}
|
|
function iF(e = 0) {
|
|
let [t, r] = Re(e), n = $t((c) => r(c), [t]), o = $t((c) => r((l) => l | c), [t]), a = $t((c) => (t & c) === c, [t]), i = $t((c) => r((l) => l & ~c), [r]), s = $t((c) => r((l) => l ^ c), [r]);
|
|
return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var T1, M1;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((T1 = process == null ? void 0 : process.env) == null ? void 0 : T1.NODE_ENV) === "test" && typeof ((M1 = Element == null ? void 0 : Element.prototype) == null ? void 0 : M1.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 sF = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(sF || {});
|
|
function lF(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function cF(e, t, r, n) {
|
|
let [o, a] = Re(r), { hasFlag: i, addFlag: s, removeFlag: c } = iF(e && o ? 3 : 0), l = pe(!1), u = pe(!1), f = l3();
|
|
return An(() => {
|
|
var d;
|
|
if (e) {
|
|
if (r && a(!0), !t) {
|
|
r && s(3);
|
|
return;
|
|
}
|
|
return (d = n == null ? void 0 : n.start) == null || d.call(n, r), uF(t, { inFlight: l, prepare() {
|
|
u.current ? u.current = !1 : u.current = l.current, l.current = !0, !u.current && (r ? (s(3), c(4)) : (s(4), c(2)));
|
|
}, run() {
|
|
u.current ? r ? (c(3), s(4)) : (c(4), s(3)) : r ? c(1) : s(1);
|
|
}, done() {
|
|
var y;
|
|
u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (l.current = !1, c(7), r || a(!1), (y = n == null ? void 0 : n.end) == null || y.call(n, r));
|
|
} });
|
|
}
|
|
}, [e, r, t, f]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }];
|
|
}
|
|
function uF(e, { prepare: t, run: r, done: n, inFlight: o }) {
|
|
let a = fc();
|
|
return dF(e, { prepare: t, inFlight: o }), a.nextFrame(() => {
|
|
r(), a.requestAnimationFrame(() => {
|
|
a.add(fF(e, n));
|
|
});
|
|
}), a.dispose;
|
|
}
|
|
function fF(e, t) {
|
|
var r, n;
|
|
let o = fc();
|
|
if (!e) return o.dispose;
|
|
let a = !1;
|
|
o.add(() => {
|
|
a = !0;
|
|
});
|
|
let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : [];
|
|
return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => {
|
|
a || t();
|
|
}), o.dispose);
|
|
}
|
|
function dF(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 Eg = yo(null);
|
|
Eg.displayName = "OpenClosedContext";
|
|
var eo = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(eo || {});
|
|
function m3() {
|
|
return pr(Eg);
|
|
}
|
|
function pF({ value: e, children: t }) {
|
|
return Pe.createElement(Eg.Provider, { value: e }, t);
|
|
}
|
|
function mF() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in D ? ((t) => t.useSyncExternalStore)(D)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function g3() {
|
|
let e = mF(), [t, r] = D.useState(Js.isHandoffComplete);
|
|
return t && Js.isHandoffComplete === !1 && r(!1), D.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), D.useEffect(() => Js.handoff(), []), e ? !1 : t;
|
|
}
|
|
function gF() {
|
|
let e = pe(!1);
|
|
return An(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function b3(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : y3) !== Ct || Pe.Children.count(e.children) === 1;
|
|
}
|
|
let pc = yo(null);
|
|
pc.displayName = "TransitionContext";
|
|
var bF = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(bF || {});
|
|
function hF() {
|
|
let e = pr(pc);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function yF() {
|
|
let e = pr(mc);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let mc = yo(null);
|
|
mc.displayName = "NestingContext";
|
|
function gc(e) {
|
|
return "children" in e ? gc(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function h3(e, t) {
|
|
let r = c3(e), n = pe([]), o = gF(), a = l3(), i = Pr((y, x = $n.Hidden) => {
|
|
let m = n.current.findIndex(({ el: p }) => p === y);
|
|
m !== -1 && (dc(x, { [$n.Unmount]() {
|
|
n.current.splice(m, 1);
|
|
}, [$n.Hidden]() {
|
|
n.current[m].state = "hidden";
|
|
} }), a.microTask(() => {
|
|
var p;
|
|
!gc(n) && o.current && ((p = r.current) == null || p.call(r));
|
|
}));
|
|
}), s = Pr((y) => {
|
|
let x = n.current.find(({ el: m }) => m === y);
|
|
return x ? x.state !== "visible" && (x.state = "visible") : n.current.push({ el: y, state: "visible" }), () => i(y, $n.Unmount);
|
|
}), c = pe([]), l = pe(Promise.resolve()), u = pe({ enter: [], leave: [] }), f = Pr((y, x, m) => {
|
|
c.current.splice(0), t && (t.chains.current[x] = t.chains.current[x].filter(([p]) => p !== y)), t == null || t.chains.current[x].push([y, new Promise((p) => {
|
|
c.current.push(p);
|
|
})]), t == null || t.chains.current[x].push([y, new Promise((p) => {
|
|
Promise.all(u.current[x].map(([v, k]) => k)).then(() => p());
|
|
})]), x === "enter" ? l.current = l.current.then(() => t == null ? void 0 : t.wait.current).then(() => m(x)) : m(x);
|
|
}), d = Pr((y, x, m) => {
|
|
Promise.all(u.current[x].splice(0).map(([p, v]) => v)).then(() => {
|
|
var p;
|
|
(p = c.current.shift()) == null || p();
|
|
}).then(() => m(x));
|
|
});
|
|
return Hi(() => ({ children: n, register: s, unregister: i, onStart: f, onStop: d, wait: l, chains: u }), [s, i, n, f, d, u, l]);
|
|
}
|
|
let y3 = Ct, v3 = u3.RenderStrategy;
|
|
function vF(e, t) {
|
|
var r, n;
|
|
let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: c, enter: l, enterFrom: u, enterTo: f, entered: d, leave: y, leaveFrom: x, leaveTo: m, ...p } = e, [v, k] = Re(null), $ = pe(null), O = b3(e), b = p3(...O ? [$, t, k] : t === null ? [] : [t]), L = (r = p.unmount) == null || r ? $n.Unmount : $n.Hidden, { show: M, appear: B, initial: H } = hF(), [U, X] = Re(M ? "visible" : "hidden"), S = yF(), { register: ne, unregister: F } = S;
|
|
An(() => ne($), [ne, $]), An(() => {
|
|
if (L === $n.Hidden && $.current) {
|
|
if (M && U !== "visible") {
|
|
X("visible");
|
|
return;
|
|
}
|
|
return dc(U, { hidden: () => F($), visible: () => ne($) });
|
|
}
|
|
}, [U, $, ne, F, M, L]);
|
|
let R = g3();
|
|
An(() => {
|
|
if (O && R && U === "visible" && $.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [$, U, R, O]);
|
|
let _ = H && !B, G = B && M && H, Y = pe(!1), V = h3(() => {
|
|
Y.current || (X("hidden"), F($));
|
|
}, S), g = Pr((E) => {
|
|
Y.current = !0;
|
|
let I = E ? "enter" : "leave";
|
|
V.onStart($, I, (z) => {
|
|
z === "enter" ? a == null || a() : z === "leave" && (s == null || s());
|
|
});
|
|
}), h = Pr((E) => {
|
|
let I = E ? "enter" : "leave";
|
|
Y.current = !1, V.onStop($, I, (z) => {
|
|
z === "enter" ? i == null || i() : z === "leave" && (c == null || c());
|
|
}), I === "leave" && !gc(V) && (X("hidden"), F($));
|
|
});
|
|
Xe(() => {
|
|
O && o || (g(M), h(M));
|
|
}, [M, O, o]);
|
|
let N = !(!o || !O || !R || _), [, A] = cF(N, v, M, { start: g, end: h }), P = Hn({ ref: b, className: ((n = wp(p.className, G && l, G && u, A.enter && l, A.enter && A.closed && u, A.enter && !A.closed && f, A.leave && y, A.leave && !A.closed && x, A.leave && A.closed && m, !A.transition && M && d)) == null ? void 0 : n.trim()) || void 0, ...lF(A) }), j = 0;
|
|
U === "visible" && (j |= eo.Open), U === "hidden" && (j |= eo.Closed), M && U === "hidden" && (j |= eo.Opening), !M && U === "visible" && (j |= eo.Closing);
|
|
let C = f3();
|
|
return Pe.createElement(mc.Provider, { value: V }, Pe.createElement(pF, { value: j }, C({ ourProps: P, theirProps: p, defaultTag: y3, features: v3, visible: U === "visible", name: "Transition.Child" })));
|
|
}
|
|
function xF(e, t) {
|
|
let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = pe(null), s = b3(e), c = p3(...s ? [i, t] : t === null ? [] : [t]);
|
|
g3();
|
|
let l = m3();
|
|
if (r === void 0 && l !== null && (r = (l & eo.Open) === eo.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [u, f] = Re(r ? "visible" : "hidden"), d = h3(() => {
|
|
r || f("hidden");
|
|
}), [y, x] = Re(!0), m = pe([r]);
|
|
An(() => {
|
|
y !== !1 && m.current[m.current.length - 1] !== r && (m.current.push(r), x(!1));
|
|
}, [m, r]);
|
|
let p = Hi(() => ({ show: r, appear: n, initial: y }), [r, n, y]);
|
|
An(() => {
|
|
r ? f("visible") : !gc(d) && i.current !== null && f("hidden");
|
|
}, [r, d]);
|
|
let v = { unmount: o }, k = Pr(() => {
|
|
var b;
|
|
y && x(!1), (b = e.beforeEnter) == null || b.call(e);
|
|
}), $ = Pr(() => {
|
|
var b;
|
|
y && x(!1), (b = e.beforeLeave) == null || b.call(e);
|
|
}), O = f3();
|
|
return Pe.createElement(mc.Provider, { value: d }, Pe.createElement(pc.Provider, { value: p }, O({ ourProps: { ...v, as: Ct, children: Pe.createElement(x3, { ref: c, ...v, ...a, beforeEnter: k, beforeLeave: $ }) }, theirProps: {}, defaultTag: Ct, features: v3, visible: u === "visible", name: "Transition" })));
|
|
}
|
|
function wF(e, t) {
|
|
let r = pr(pc) !== null, n = m3() !== null;
|
|
return Pe.createElement(Pe.Fragment, null, !r && n ? Pe.createElement(kp, { ref: t, ...e }) : Pe.createElement(x3, { ref: t, ...e }));
|
|
}
|
|
let kp = Ag(xF), x3 = Ag(vF), kF = Ag(wF), $F = Object.assign(kp, { Child: kF, Root: kp });
|
|
const Cg = "-", OF = (e) => {
|
|
const t = PF(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Cg);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), w3(a, t) || SF(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, w3 = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? w3(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Cg);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, R1 = /^\[(.+)\]$/, SF = (e) => {
|
|
if (R1.test(e)) {
|
|
const t = R1.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, PF = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return EF(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
$p(a, n, o, t);
|
|
}), n;
|
|
}, $p = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : _1(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (AF(o)) {
|
|
$p(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
$p(i, _1(t, a), r, n);
|
|
});
|
|
});
|
|
}, _1 = (e, t) => {
|
|
let r = e;
|
|
return t.split(Cg).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, AF = (e) => e.isThemeGetter, EF = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, CF = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, k3 = "!", NF = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(k3), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, jF = (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;
|
|
}, IF = (e) => ({
|
|
cache: CF(e.cacheSize),
|
|
parseClassName: NF(e),
|
|
...OF(e)
|
|
}), zF = /\s+/, TF = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(zF);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = jF(u).join(":"), v = f ? p + k3 : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function MF() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = $3(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const $3 = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = $3(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function RF(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = IF(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = TF(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(MF.apply(null, arguments));
|
|
};
|
|
}
|
|
const nt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, O3 = /^\[(?:([a-z-]+):)?(.+)\]$/i, _F = /^\d+\/\d+$/, FF = /* @__PURE__ */ new Set(["px", "full", "screen"]), DF = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, LF = /\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$/, WF = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, YF = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, GF = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, wr = (e) => ta(e) || FF.has(e) || _F.test(e), fn = (e) => Sa(e, "length", JF), ta = (e) => !!e && !Number.isNaN(Number(e)), rf = (e) => Sa(e, "number", ta), qa = (e) => !!e && Number.isInteger(Number(e)), VF = (e) => e.endsWith("%") && ta(e.slice(0, -1)), we = (e) => O3.test(e), dn = (e) => DF.test(e), UF = /* @__PURE__ */ new Set(["length", "size", "percentage"]), qF = (e) => Sa(e, UF, S3), HF = (e) => Sa(e, "position", S3), BF = /* @__PURE__ */ new Set(["image", "url"]), XF = (e) => Sa(e, BF, ZF), KF = (e) => Sa(e, "", QF), Ha = () => !0, Sa = (e, t, r) => {
|
|
const n = O3.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, JF = (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.
|
|
LF.test(e) && !WF.test(e)
|
|
), S3 = () => !1, QF = (e) => YF.test(e), ZF = (e) => GF.test(e), eD = () => {
|
|
const e = nt("colors"), t = nt("spacing"), r = nt("blur"), n = nt("brightness"), o = nt("borderColor"), a = nt("borderRadius"), i = nt("borderSpacing"), s = nt("borderWidth"), c = nt("contrast"), l = nt("grayscale"), u = nt("hueRotate"), f = nt("invert"), d = nt("gap"), y = nt("gradientColorStops"), x = nt("gradientColorStopPositions"), m = nt("inset"), p = nt("margin"), v = nt("opacity"), k = nt("padding"), $ = nt("saturate"), O = nt("scale"), b = nt("sepia"), L = nt("skew"), M = nt("space"), B = nt("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", we, t], S = () => [we, t], ne = () => ["", wr, fn], F = () => ["auto", ta, we], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", we], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [ta, we];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Ha],
|
|
spacing: [wr, fn],
|
|
blur: ["none", "", dn, we],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", dn, we],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [VF, fn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", we]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [dn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), we]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", qa, we]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", we]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", qa, we]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Ha]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", qa, we]
|
|
}, we]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Ha]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [qa, we]
|
|
}, we]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", we]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", we]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", we, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [we, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [we, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [dn]
|
|
}, dn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [we, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [we, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [we, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [we, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", dn, fn]
|
|
}],
|
|
/**
|
|
* 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", rf]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Ha]
|
|
}],
|
|
/**
|
|
* 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", we]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", ta, rf]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", wr, we]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", we]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", we]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", wr, fn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", wr, we]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", we]
|
|
}],
|
|
/**
|
|
* 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", we]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), HF]
|
|
}],
|
|
/**
|
|
* 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", qF]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, XF]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [wr, we]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [wr, fn]
|
|
}],
|
|
/**
|
|
* 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [wr, fn]
|
|
}],
|
|
/**
|
|
* 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", dn, KF]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Ha]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", dn, we]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", we]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", we]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", we]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [qa, we]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", we]
|
|
}],
|
|
// 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", we]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", we]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [wr, fn, rf]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, F1 = /* @__PURE__ */ RF(eD), D1 = ({
|
|
children: e,
|
|
content: t,
|
|
position: r,
|
|
className: n,
|
|
delay: o = 300,
|
|
closeOnClick: a = !1,
|
|
imageSrc: i,
|
|
description: s,
|
|
interactive: c = !1
|
|
}) => {
|
|
const [l, u] = Re(!1), f = pe(null), d = pe(null), [y, x] = Re(!1), [m, p] = Re(!1), v = () => f.current ? f.current.querySelectorAll('[data-headlessui-state="open"]').length > 0 : !1;
|
|
Xe(() => {
|
|
const O = new MutationObserver((b) => {
|
|
b.forEach((L) => {
|
|
L.type === "attributes" && L.attributeName === "data-headlessui-state" && L.target.getAttribute("data-headlessui-state") === "open" && u(!1);
|
|
});
|
|
});
|
|
return f.current && O.observe(f.current, {
|
|
attributes: !0,
|
|
subtree: !0,
|
|
attributeFilter: ["data-headlessui-state"]
|
|
}), () => {
|
|
O.disconnect();
|
|
};
|
|
}, []);
|
|
const k = () => {
|
|
if (f.current) {
|
|
const O = f.current.getBoundingClientRect();
|
|
switch (r) {
|
|
case "top":
|
|
return {
|
|
bottom: O.height + 10,
|
|
left: "50%",
|
|
transform: "translateX(-50%)"
|
|
};
|
|
case "bottom":
|
|
return {
|
|
top: O.height + 10,
|
|
left: "50%",
|
|
transform: "translateX(-50%)"
|
|
};
|
|
case "left":
|
|
return {
|
|
right: O.width + 10,
|
|
top: "50%",
|
|
transform: "translateY(-50%)"
|
|
};
|
|
case "right":
|
|
return {
|
|
left: O.width + 10,
|
|
top: "50%",
|
|
transform: "translateY(-50%)"
|
|
};
|
|
default:
|
|
return {};
|
|
}
|
|
}
|
|
return {};
|
|
}, $ = (O) => {
|
|
a && (u(!1), O.stopPropagation());
|
|
};
|
|
return Xe(() => {
|
|
v() || u(y || c && m);
|
|
}, [y, m, c]), /* @__PURE__ */ Me(
|
|
"div",
|
|
{
|
|
ref: f,
|
|
onMouseEnter: () => {
|
|
x(!0), v() || u(!0);
|
|
},
|
|
onMouseLeave: () => {
|
|
x(!1), c || u(!1);
|
|
},
|
|
onClick: $,
|
|
className: "relative",
|
|
children: [
|
|
e,
|
|
/* @__PURE__ */ W(
|
|
$F,
|
|
{
|
|
show: l,
|
|
enter: F1(
|
|
"transition ease-out duration-200",
|
|
o ? `delay-[${o}ms]` : "delay-[300ms]"
|
|
),
|
|
enterFrom: "opacity-0",
|
|
enterTo: "opacity-100",
|
|
leave: "transition ease-in duration-150",
|
|
leaveFrom: "opacity-100",
|
|
leaveTo: "opacity-0",
|
|
children: /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
ref: d,
|
|
onMouseEnter: () => c && p(!0),
|
|
onMouseLeave: () => c && p(!1),
|
|
style: {
|
|
...k(),
|
|
transitionDelay: `${o}ms`,
|
|
transitionProperty: "opacity",
|
|
transitionDuration: "200ms",
|
|
transitionTimingFunction: "ease-out"
|
|
},
|
|
className: F1(
|
|
"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",
|
|
c ? "pointer-events-auto" : "pointer-events-none",
|
|
n || ""
|
|
),
|
|
children: /* @__PURE__ */ Me("div", { className: "flex flex-col gap-1", children: [
|
|
t,
|
|
i && /* @__PURE__ */ W(
|
|
"img",
|
|
{
|
|
src: i,
|
|
alt: "tooltip",
|
|
className: "mb-1 aspect-square w-56 rounded-md"
|
|
}
|
|
),
|
|
s && /* @__PURE__ */ W("p", { className: "text-sm text-base-fg font-normal", children: s })
|
|
] })
|
|
}
|
|
)
|
|
}
|
|
)
|
|
]
|
|
}
|
|
);
|
|
};
|
|
var tD = Object.defineProperty, rD = (e, t, r) => t in e ? tD(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, nf = (e, t, r) => (rD(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let nD = class {
|
|
constructor() {
|
|
nf(this, "current", this.detect()), nf(this, "handoffState", "pending"), nf(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";
|
|
}
|
|
}, Qs = new nD();
|
|
function oD(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function bc() {
|
|
let e = [], t = { addEventListener(r, n, o, a) {
|
|
return r.addEventListener(n, o, a), t.add(() => r.removeEventListener(n, o, a));
|
|
}, requestAnimationFrame(...r) {
|
|
let n = requestAnimationFrame(...r);
|
|
return t.add(() => cancelAnimationFrame(n));
|
|
}, nextFrame(...r) {
|
|
return t.requestAnimationFrame(() => t.requestAnimationFrame(...r));
|
|
}, setTimeout(...r) {
|
|
let n = setTimeout(...r);
|
|
return t.add(() => clearTimeout(n));
|
|
}, microTask(...r) {
|
|
let n = { current: !0 };
|
|
return oD(() => {
|
|
n.current && r[0]();
|
|
}), t.add(() => {
|
|
n.current = !1;
|
|
});
|
|
}, style(r, n, o) {
|
|
let a = r.style.getPropertyValue(n);
|
|
return Object.assign(r.style, { [n]: o }), this.add(() => {
|
|
Object.assign(r.style, { [n]: a });
|
|
});
|
|
}, group(r) {
|
|
let n = bc();
|
|
return r(n), this.add(() => n.dispose());
|
|
}, add(r) {
|
|
return e.includes(r) || e.push(r), () => {
|
|
let n = e.indexOf(r);
|
|
if (n >= 0) for (let o of e.splice(n, 1)) o();
|
|
};
|
|
}, dispose() {
|
|
for (let r of e.splice(0)) r();
|
|
} };
|
|
return t;
|
|
}
|
|
function P3() {
|
|
let [e] = Re(bc);
|
|
return Xe(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let En = (e, t) => {
|
|
Qs.isServer ? Xe(e, t) : Hp(e, t);
|
|
};
|
|
function A3(e) {
|
|
let t = pe(e);
|
|
return En(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let Ar = function(e) {
|
|
let t = A3(e);
|
|
return Pe.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function Op(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function hc(e, t, ...r) {
|
|
if (e in t) {
|
|
let o = t[e];
|
|
return typeof o == "function" ? o(...r) : o;
|
|
}
|
|
let n = new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((o) => `"${o}"`).join(", ")}.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(n, hc), n;
|
|
}
|
|
var E3 = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(E3 || {}), On = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(On || {});
|
|
function C3() {
|
|
let e = iD();
|
|
return $t((t) => aD({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function aD({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? sD;
|
|
let c = N3(t, e);
|
|
if (a) return Is(c, r, n, i, s);
|
|
let l = o ?? 0;
|
|
if (l & 2) {
|
|
let { static: u = !1, ...f } = c;
|
|
if (u) return Is(f, r, n, i, s);
|
|
}
|
|
if (l & 1) {
|
|
let { unmount: u = !0, ...f } = c;
|
|
return hc(u ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return Is({ ...f, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return Is(c, r, n, i, s);
|
|
}
|
|
function Is(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...c } = of(e, ["unmount", "static"]), l = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof i == "function" ? i(t) : i;
|
|
"className" in c && c.className && typeof c.className == "function" && (c.className = c.className(t)), c["aria-labelledby"] && c["aria-labelledby"] === c.id && (c["aria-labelledby"] = void 0);
|
|
let f = {};
|
|
if (t) {
|
|
let d = !1, y = [];
|
|
for (let [x, m] of Object.entries(t)) typeof m == "boolean" && (d = !0), m === !0 && y.push(x.replace(/([A-Z])/g, (p) => `-${p.toLowerCase()}`));
|
|
if (d) {
|
|
f["data-headlessui-state"] = y.join(" ");
|
|
for (let x of y) f[`data-${x}`] = "";
|
|
}
|
|
}
|
|
if (a === Ct && (Object.keys(Bn(c)).length > 0 || Object.keys(Bn(f)).length > 0)) if (!rl(u) || Array.isArray(u) && u.length > 1) {
|
|
if (Object.keys(Bn(c)).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(Bn(c)).concat(Object.keys(Bn(f))).map((d) => ` - ${d}`).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((d) => ` - ${d}`).join(`
|
|
`)].join(`
|
|
`));
|
|
} else {
|
|
let d = u.props, y = d == null ? void 0 : d.className, x = typeof y == "function" ? (...v) => Op(y(...v), c.className) : Op(y, c.className), m = x ? { className: x } : {}, p = N3(u.props, Bn(of(c, ["ref"])));
|
|
for (let v in f) v in p && delete f[v];
|
|
return nl(u, Object.assign({}, p, f, l, { ref: o(lD(u), l.ref) }, m));
|
|
}
|
|
return F0(a, Object.assign({}, of(c, ["ref"]), a !== Ct && l, a !== Ct && f), u);
|
|
}
|
|
function iD() {
|
|
let e = pe([]), t = $t((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 sD(...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 N3(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
if (t.disabled || t["aria-disabled"]) for (let n in r) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(n) && (r[n] = [(o) => {
|
|
var a;
|
|
return (a = o == null ? void 0 : o.preventDefault) == null ? void 0 : a.call(o);
|
|
}]);
|
|
for (let n in r) Object.assign(t, { [n](o, ...a) {
|
|
let i = r[n];
|
|
for (let s of i) {
|
|
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
|
|
s(o, ...a);
|
|
}
|
|
} });
|
|
return t;
|
|
}
|
|
function Ng(e) {
|
|
var t;
|
|
return Object.assign(Bp(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function Bn(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function of(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function lD(e) {
|
|
return Pe.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
let cD = Symbol();
|
|
function j3(...e) {
|
|
let t = pe(e);
|
|
Xe(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = Ar((n) => {
|
|
for (let o of t.current) o != null && (typeof o == "function" ? o(n) : o.current = n);
|
|
});
|
|
return e.every((n) => n == null || (n == null ? void 0 : n[cD])) ? void 0 : r;
|
|
}
|
|
function uD(e = 0) {
|
|
let [t, r] = Re(e), n = $t((c) => r(c), [t]), o = $t((c) => r((l) => l | c), [t]), a = $t((c) => (t & c) === c, [t]), i = $t((c) => r((l) => l & ~c), [r]), s = $t((c) => r((l) => l ^ c), [r]);
|
|
return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var L1, W1;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((L1 = process == null ? void 0 : process.env) == null ? void 0 : L1.NODE_ENV) === "test" && typeof ((W1 = Element == null ? void 0 : Element.prototype) == null ? void 0 : W1.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 fD = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(fD || {});
|
|
function dD(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function pD(e, t, r, n) {
|
|
let [o, a] = Re(r), { hasFlag: i, addFlag: s, removeFlag: c } = uD(e && o ? 3 : 0), l = pe(!1), u = pe(!1), f = P3();
|
|
return En(() => {
|
|
var d;
|
|
if (e) {
|
|
if (r && a(!0), !t) {
|
|
r && s(3);
|
|
return;
|
|
}
|
|
return (d = n == null ? void 0 : n.start) == null || d.call(n, r), mD(t, { inFlight: l, prepare() {
|
|
u.current ? u.current = !1 : u.current = l.current, l.current = !0, !u.current && (r ? (s(3), c(4)) : (s(4), c(2)));
|
|
}, run() {
|
|
u.current ? r ? (c(3), s(4)) : (c(4), s(3)) : r ? c(1) : s(1);
|
|
}, done() {
|
|
var y;
|
|
u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (l.current = !1, c(7), r || a(!1), (y = n == null ? void 0 : n.end) == null || y.call(n, r));
|
|
} });
|
|
}
|
|
}, [e, r, t, f]), e ? [o, { closed: i(1), enter: i(2), leave: i(4), transition: i(2) || i(4) }] : [r, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }];
|
|
}
|
|
function mD(e, { prepare: t, run: r, done: n, inFlight: o }) {
|
|
let a = bc();
|
|
return bD(e, { prepare: t, inFlight: o }), a.nextFrame(() => {
|
|
r(), a.requestAnimationFrame(() => {
|
|
a.add(gD(e, n));
|
|
});
|
|
}), a.dispose;
|
|
}
|
|
function gD(e, t) {
|
|
var r, n;
|
|
let o = bc();
|
|
if (!e) return o.dispose;
|
|
let a = !1;
|
|
o.add(() => {
|
|
a = !0;
|
|
});
|
|
let i = (n = (r = e.getAnimations) == null ? void 0 : r.call(e).filter((s) => s instanceof CSSTransition)) != null ? n : [];
|
|
return i.length === 0 ? (t(), o.dispose) : (Promise.allSettled(i.map((s) => s.finished)).then(() => {
|
|
a || t();
|
|
}), o.dispose);
|
|
}
|
|
function bD(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 jg = yo(null);
|
|
jg.displayName = "OpenClosedContext";
|
|
var to = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(to || {});
|
|
function I3() {
|
|
return pr(jg);
|
|
}
|
|
function hD({ value: e, children: t }) {
|
|
return Pe.createElement(jg.Provider, { value: e }, t);
|
|
}
|
|
function yD() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in D ? ((t) => t.useSyncExternalStore)(D)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function z3() {
|
|
let e = yD(), [t, r] = D.useState(Qs.isHandoffComplete);
|
|
return t && Qs.isHandoffComplete === !1 && r(!1), D.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), D.useEffect(() => Qs.handoff(), []), e ? !1 : t;
|
|
}
|
|
function vD() {
|
|
let e = pe(!1);
|
|
return En(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function T3(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : R3) !== Ct || Pe.Children.count(e.children) === 1;
|
|
}
|
|
let yc = yo(null);
|
|
yc.displayName = "TransitionContext";
|
|
var xD = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(xD || {});
|
|
function wD() {
|
|
let e = pr(yc);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function kD() {
|
|
let e = pr(vc);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let vc = yo(null);
|
|
vc.displayName = "NestingContext";
|
|
function xc(e) {
|
|
return "children" in e ? xc(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function M3(e, t) {
|
|
let r = A3(e), n = pe([]), o = vD(), a = P3(), i = Ar((y, x = On.Hidden) => {
|
|
let m = n.current.findIndex(({ el: p }) => p === y);
|
|
m !== -1 && (hc(x, { [On.Unmount]() {
|
|
n.current.splice(m, 1);
|
|
}, [On.Hidden]() {
|
|
n.current[m].state = "hidden";
|
|
} }), a.microTask(() => {
|
|
var p;
|
|
!xc(n) && o.current && ((p = r.current) == null || p.call(r));
|
|
}));
|
|
}), s = Ar((y) => {
|
|
let x = n.current.find(({ el: m }) => m === y);
|
|
return x ? x.state !== "visible" && (x.state = "visible") : n.current.push({ el: y, state: "visible" }), () => i(y, On.Unmount);
|
|
}), c = pe([]), l = pe(Promise.resolve()), u = pe({ enter: [], leave: [] }), f = Ar((y, x, m) => {
|
|
c.current.splice(0), t && (t.chains.current[x] = t.chains.current[x].filter(([p]) => p !== y)), t == null || t.chains.current[x].push([y, new Promise((p) => {
|
|
c.current.push(p);
|
|
})]), t == null || t.chains.current[x].push([y, new Promise((p) => {
|
|
Promise.all(u.current[x].map(([v, k]) => k)).then(() => p());
|
|
})]), x === "enter" ? l.current = l.current.then(() => t == null ? void 0 : t.wait.current).then(() => m(x)) : m(x);
|
|
}), d = Ar((y, x, m) => {
|
|
Promise.all(u.current[x].splice(0).map(([p, v]) => v)).then(() => {
|
|
var p;
|
|
(p = c.current.shift()) == null || p();
|
|
}).then(() => m(x));
|
|
});
|
|
return Hi(() => ({ children: n, register: s, unregister: i, onStart: f, onStop: d, wait: l, chains: u }), [s, i, n, f, d, u, l]);
|
|
}
|
|
let R3 = Ct, _3 = E3.RenderStrategy;
|
|
function $D(e, t) {
|
|
var r, n;
|
|
let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: c, enter: l, enterFrom: u, enterTo: f, entered: d, leave: y, leaveFrom: x, leaveTo: m, ...p } = e, [v, k] = Re(null), $ = pe(null), O = T3(e), b = j3(...O ? [$, t, k] : t === null ? [] : [t]), L = (r = p.unmount) == null || r ? On.Unmount : On.Hidden, { show: M, appear: B, initial: H } = wD(), [U, X] = Re(M ? "visible" : "hidden"), S = kD(), { register: ne, unregister: F } = S;
|
|
En(() => ne($), [ne, $]), En(() => {
|
|
if (L === On.Hidden && $.current) {
|
|
if (M && U !== "visible") {
|
|
X("visible");
|
|
return;
|
|
}
|
|
return hc(U, { hidden: () => F($), visible: () => ne($) });
|
|
}
|
|
}, [U, $, ne, F, M, L]);
|
|
let R = z3();
|
|
En(() => {
|
|
if (O && R && U === "visible" && $.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [$, U, R, O]);
|
|
let _ = H && !B, G = B && M && H, Y = pe(!1), V = M3(() => {
|
|
Y.current || (X("hidden"), F($));
|
|
}, S), g = Ar((E) => {
|
|
Y.current = !0;
|
|
let I = E ? "enter" : "leave";
|
|
V.onStart($, I, (z) => {
|
|
z === "enter" ? a == null || a() : z === "leave" && (s == null || s());
|
|
});
|
|
}), h = Ar((E) => {
|
|
let I = E ? "enter" : "leave";
|
|
Y.current = !1, V.onStop($, I, (z) => {
|
|
z === "enter" ? i == null || i() : z === "leave" && (c == null || c());
|
|
}), I === "leave" && !xc(V) && (X("hidden"), F($));
|
|
});
|
|
Xe(() => {
|
|
O && o || (g(M), h(M));
|
|
}, [M, O, o]);
|
|
let N = !(!o || !O || !R || _), [, A] = pD(N, v, M, { start: g, end: h }), P = Bn({ ref: b, className: ((n = Op(p.className, G && l, G && u, A.enter && l, A.enter && A.closed && u, A.enter && !A.closed && f, A.leave && y, A.leave && !A.closed && x, A.leave && A.closed && m, !A.transition && M && d)) == null ? void 0 : n.trim()) || void 0, ...dD(A) }), j = 0;
|
|
U === "visible" && (j |= to.Open), U === "hidden" && (j |= to.Closed), M && U === "hidden" && (j |= to.Opening), !M && U === "visible" && (j |= to.Closing);
|
|
let C = C3();
|
|
return Pe.createElement(vc.Provider, { value: V }, Pe.createElement(hD, { value: j }, C({ ourProps: P, theirProps: p, defaultTag: R3, features: _3, visible: U === "visible", name: "Transition.Child" })));
|
|
}
|
|
function OD(e, t) {
|
|
let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = pe(null), s = T3(e), c = j3(...s ? [i, t] : t === null ? [] : [t]);
|
|
z3();
|
|
let l = I3();
|
|
if (r === void 0 && l !== null && (r = (l & to.Open) === to.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [u, f] = Re(r ? "visible" : "hidden"), d = M3(() => {
|
|
r || f("hidden");
|
|
}), [y, x] = Re(!0), m = pe([r]);
|
|
En(() => {
|
|
y !== !1 && m.current[m.current.length - 1] !== r && (m.current.push(r), x(!1));
|
|
}, [m, r]);
|
|
let p = Hi(() => ({ show: r, appear: n, initial: y }), [r, n, y]);
|
|
En(() => {
|
|
r ? f("visible") : !xc(d) && i.current !== null && f("hidden");
|
|
}, [r, d]);
|
|
let v = { unmount: o }, k = Ar(() => {
|
|
var b;
|
|
y && x(!1), (b = e.beforeEnter) == null || b.call(e);
|
|
}), $ = Ar(() => {
|
|
var b;
|
|
y && x(!1), (b = e.beforeLeave) == null || b.call(e);
|
|
}), O = C3();
|
|
return Pe.createElement(vc.Provider, { value: d }, Pe.createElement(yc.Provider, { value: p }, O({ ourProps: { ...v, as: Ct, children: Pe.createElement(F3, { ref: c, ...v, ...a, beforeEnter: k, beforeLeave: $ }) }, theirProps: {}, defaultTag: Ct, features: _3, visible: u === "visible", name: "Transition" })));
|
|
}
|
|
function SD(e, t) {
|
|
let r = pr(yc) !== null, n = I3() !== null;
|
|
return Pe.createElement(Pe.Fragment, null, !r && n ? Pe.createElement(Sp, { ref: t, ...e }) : Pe.createElement(F3, { ref: t, ...e }));
|
|
}
|
|
let Sp = Ng(OD), F3 = Ng($D), PD = Ng(SD), AD = Object.assign(Sp, { Child: PD, Root: Sp });
|
|
const Ig = "-", ED = (e) => {
|
|
const t = ND(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Ig);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), D3(a, t) || CD(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, D3 = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? D3(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Ig);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, Y1 = /^\[(.+)\]$/, CD = (e) => {
|
|
if (Y1.test(e)) {
|
|
const t = Y1.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, ND = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return ID(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
Pp(a, n, o, t);
|
|
}), n;
|
|
}, Pp = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : G1(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (jD(o)) {
|
|
Pp(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
Pp(i, G1(t, a), r, n);
|
|
});
|
|
});
|
|
}, G1 = (e, t) => {
|
|
let r = e;
|
|
return t.split(Ig).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, jD = (e) => e.isThemeGetter, ID = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, zD = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, L3 = "!", TD = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(L3), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, MD = (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;
|
|
}, RD = (e) => ({
|
|
cache: zD(e.cacheSize),
|
|
parseClassName: TD(e),
|
|
...ED(e)
|
|
}), _D = /\s+/, FD = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(_D);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = MD(u).join(":"), v = f ? p + L3 : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function DD() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = W3(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const W3 = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = W3(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function LD(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = RD(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = FD(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(DD.apply(null, arguments));
|
|
};
|
|
}
|
|
const ot = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, Y3 = /^\[(?:([a-z-]+):)?(.+)\]$/i, WD = /^\d+\/\d+$/, YD = /* @__PURE__ */ new Set(["px", "full", "screen"]), GD = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, VD = /\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$/, UD = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, qD = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, HD = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, kr = (e) => ra(e) || YD.has(e) || WD.test(e), pn = (e) => Pa(e, "length", tL), ra = (e) => !!e && !Number.isNaN(Number(e)), af = (e) => Pa(e, "number", ra), Ba = (e) => !!e && Number.isInteger(Number(e)), BD = (e) => e.endsWith("%") && ra(e.slice(0, -1)), ke = (e) => Y3.test(e), mn = (e) => GD.test(e), XD = /* @__PURE__ */ new Set(["length", "size", "percentage"]), KD = (e) => Pa(e, XD, G3), JD = (e) => Pa(e, "position", G3), QD = /* @__PURE__ */ new Set(["image", "url"]), ZD = (e) => Pa(e, QD, nL), eL = (e) => Pa(e, "", rL), Xa = () => !0, Pa = (e, t, r) => {
|
|
const n = Y3.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, tL = (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.
|
|
VD.test(e) && !UD.test(e)
|
|
), G3 = () => !1, rL = (e) => qD.test(e), nL = (e) => HD.test(e), oL = () => {
|
|
const e = ot("colors"), t = ot("spacing"), r = ot("blur"), n = ot("brightness"), o = ot("borderColor"), a = ot("borderRadius"), i = ot("borderSpacing"), s = ot("borderWidth"), c = ot("contrast"), l = ot("grayscale"), u = ot("hueRotate"), f = ot("invert"), d = ot("gap"), y = ot("gradientColorStops"), x = ot("gradientColorStopPositions"), m = ot("inset"), p = ot("margin"), v = ot("opacity"), k = ot("padding"), $ = ot("saturate"), O = ot("scale"), b = ot("sepia"), L = ot("skew"), M = ot("space"), B = ot("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", ke, t], S = () => [ke, t], ne = () => ["", kr, pn], F = () => ["auto", ra, ke], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", ke], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [ra, ke];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Xa],
|
|
spacing: [kr, pn],
|
|
blur: ["none", "", mn, ke],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", mn, ke],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [BD, pn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", ke]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [mn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), ke]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Ba, ke]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", ke]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Ba, ke]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Xa]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Ba, ke]
|
|
}, ke]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Xa]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Ba, ke]
|
|
}, ke]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", ke]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", ke]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", ke, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [ke, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [ke, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [mn]
|
|
}, mn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [ke, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [ke, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [ke, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [ke, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", mn, pn]
|
|
}],
|
|
/**
|
|
* 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", af]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Xa]
|
|
}],
|
|
/**
|
|
* 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", ke]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", ra, af]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", kr, ke]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", ke]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", ke]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", kr, pn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", kr, ke]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", ke]
|
|
}],
|
|
/**
|
|
* 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", ke]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), JD]
|
|
}],
|
|
/**
|
|
* 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", KD]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, ZD]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [kr, ke]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [kr, pn]
|
|
}],
|
|
/**
|
|
* 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [kr, pn]
|
|
}],
|
|
/**
|
|
* 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", mn, eL]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Xa]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", mn, ke]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", ke]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", ke]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", ke]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Ba, ke]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", ke]
|
|
}],
|
|
// 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", ke]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", ke]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [kr, pn, af]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, Po = /* @__PURE__ */ LD(oL);
|
|
/*!
|
|
* 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 aL(e, t, r) {
|
|
return (t = sL(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function V1(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function te(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? V1(Object(r), !0).forEach(function(n) {
|
|
aL(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : V1(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function iL(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 sL(e) {
|
|
var t = iL(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const U1 = () => {
|
|
};
|
|
let zg = {}, V3 = {}, U3 = null, q3 = {
|
|
mark: U1,
|
|
measure: U1
|
|
};
|
|
try {
|
|
typeof window < "u" && (zg = window), typeof document < "u" && (V3 = document), typeof MutationObserver < "u" && (U3 = MutationObserver), typeof performance < "u" && (q3 = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: q1 = ""
|
|
} = zg.navigator || {}, Vn = zg, dt = V3, H1 = U3, zs = q3;
|
|
Vn.document;
|
|
const Ur = !!dt.documentElement && !!dt.head && typeof dt.addEventListener == "function" && typeof dt.createElement == "function", H3 = ~q1.indexOf("MSIE") || ~q1.indexOf("Trident/");
|
|
var lL = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, cL = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, B3 = {
|
|
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"
|
|
}
|
|
}, uL = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, X3 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], kt = "classic", wc = "duotone", fL = "sharp", dL = "sharp-duotone", K3 = [kt, wc, fL, dL], pL = {
|
|
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"
|
|
}
|
|
}, mL = {
|
|
"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"
|
|
}
|
|
}, gL = /* @__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
|
|
}]]), bL = {
|
|
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"
|
|
}
|
|
}, hL = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], B1 = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, yL = ["kit"], vL = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, xL = ["fak", "fakd"], wL = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, X1 = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Ts = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, kL = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], $L = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], OL = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, SL = {
|
|
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"
|
|
}
|
|
}, PL = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Ap = {
|
|
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"
|
|
}
|
|
}, AL = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Ep = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...kL, ...AL], EL = ["solid", "regular", "light", "thin", "duotone", "brands"], J3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], CL = J3.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), NL = [...Object.keys(PL), ...EL, "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", Ts.GROUP, Ts.SWAP_OPACITY, Ts.PRIMARY, Ts.SECONDARY].concat(J3.map((e) => "".concat(e, "x"))).concat(CL.map((e) => "w-".concat(e))), jL = {
|
|
"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___", Cp = 16, Q3 = "fa", Z3 = "svg-inline--fa", bo = "data-fa-i2svg", Np = "data-fa-pseudo-element", IL = "data-fa-pseudo-element-pending", Tg = "data-prefix", Mg = "data-icon", K1 = "fontawesome-i2svg", zL = "async", TL = ["HTML", "HEAD", "STYLE", "SCRIPT"], eO = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function ss(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[kt];
|
|
}
|
|
});
|
|
}
|
|
const tO = te({}, B3);
|
|
tO[kt] = te(te(te(te({}, {
|
|
"fa-duotone": "duotone"
|
|
}), B3[kt]), B1.kit), B1["kit-duotone"]);
|
|
const ML = ss(tO), jp = te({}, bL);
|
|
jp[kt] = te(te(te(te({}, {
|
|
duotone: "fad"
|
|
}), jp[kt]), X1.kit), X1["kit-duotone"]);
|
|
const J1 = ss(jp), Ip = te({}, Ap);
|
|
Ip[kt] = te(te({}, Ip[kt]), wL.kit);
|
|
const Rg = ss(Ip), zp = te({}, SL);
|
|
zp[kt] = te(te({}, zp[kt]), vL.kit);
|
|
ss(zp);
|
|
const RL = lL, rO = "fa-layers-text", _L = cL, FL = te({}, pL);
|
|
ss(FL);
|
|
const DL = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], sf = uL, LL = [...yL, ...NL], ki = Vn.FontAwesomeConfig || {};
|
|
function WL(e) {
|
|
var t = dt.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function YL(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
dt && typeof dt.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 = YL(WL(t));
|
|
n != null && (ki[r] = n);
|
|
});
|
|
const nO = {
|
|
styleDefault: "solid",
|
|
familyDefault: kt,
|
|
cssPrefix: Q3,
|
|
replacementClass: Z3,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
ki.familyPrefix && (ki.cssPrefix = ki.familyPrefix);
|
|
const da = te(te({}, nO), ki);
|
|
da.autoReplaceSvg || (da.observeMutations = !1);
|
|
const ue = {};
|
|
Object.keys(nO).forEach((e) => {
|
|
Object.defineProperty(ue, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
da[e] = t, $i.forEach((r) => r(ue));
|
|
},
|
|
get: function() {
|
|
return da[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ue, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
da.cssPrefix = e, $i.forEach((t) => t(ue));
|
|
},
|
|
get: function() {
|
|
return da.cssPrefix;
|
|
}
|
|
});
|
|
Vn.FontAwesomeConfig = ue;
|
|
const $i = [];
|
|
function GL(e) {
|
|
return $i.push(e), () => {
|
|
$i.splice($i.indexOf(e), 1);
|
|
};
|
|
}
|
|
const gn = Cp, ur = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function VL(e) {
|
|
if (!e || !Ur)
|
|
return;
|
|
const t = dt.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = dt.head.childNodes;
|
|
let n = null;
|
|
for (let o = r.length - 1; o > -1; o--) {
|
|
const a = r[o], i = (a.tagName || "").toUpperCase();
|
|
["STYLE", "LINK"].indexOf(i) > -1 && (n = a);
|
|
}
|
|
return dt.head.insertBefore(t, n), e;
|
|
}
|
|
const UL = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Ui() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += UL[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Aa(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function _g(e) {
|
|
return e.classList ? Aa(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function oO(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function qL(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(oO(e[r]), '" '), "").trim();
|
|
}
|
|
function kc(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function Fg(e) {
|
|
return e.size !== ur.size || e.x !== ur.x || e.y !== ur.y || e.rotate !== ur.rotate || e.flipX || e.flipY;
|
|
}
|
|
function HL(e) {
|
|
let {
|
|
transform: t,
|
|
containerWidth: r,
|
|
iconWidth: n
|
|
} = e;
|
|
const o = {
|
|
transform: "translate(".concat(r / 2, " 256)")
|
|
}, a = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), i = "scale(".concat(t.size / 16 * (t.flipX ? -1 : 1), ", ").concat(t.size / 16 * (t.flipY ? -1 : 1), ") "), s = "rotate(".concat(t.rotate, " 0 0)"), c = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, l = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: c,
|
|
path: l
|
|
};
|
|
}
|
|
function BL(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Cp,
|
|
height: n = Cp,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && H3 ? a += "translate(".concat(t.x / gn - r / 2, "em, ").concat(t.y / gn - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / gn, "em), calc(-50% + ").concat(t.y / gn, "em)) ") : a += "translate(".concat(t.x / gn, "em, ").concat(t.y / gn, "em) "), a += "scale(".concat(t.size / gn * (t.flipX ? -1 : 1), ", ").concat(t.size / gn * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var XL = `: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 aO() {
|
|
const e = Q3, t = Z3, r = ue.cssPrefix, n = ue.replacementClass;
|
|
let o = XL;
|
|
if (r !== e || n !== t) {
|
|
const a = new RegExp("\\.".concat(e, "\\-"), "g"), i = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
|
|
o = o.replace(a, ".".concat(r, "-")).replace(i, "--".concat(r, "-")).replace(s, ".".concat(n));
|
|
}
|
|
return o;
|
|
}
|
|
let Q1 = !1;
|
|
function lf() {
|
|
ue.autoAddCss && !Q1 && (VL(aO()), Q1 = !0);
|
|
}
|
|
var KL = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: aO,
|
|
insertCss: lf
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
lf();
|
|
},
|
|
beforeI2svg() {
|
|
lf();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Dr = Vn || {};
|
|
Dr[Fr] || (Dr[Fr] = {});
|
|
Dr[Fr].styles || (Dr[Fr].styles = {});
|
|
Dr[Fr].hooks || (Dr[Fr].hooks = {});
|
|
Dr[Fr].shims || (Dr[Fr].shims = []);
|
|
var fr = Dr[Fr];
|
|
const iO = [], sO = function() {
|
|
dt.removeEventListener("DOMContentLoaded", sO), Pl = 1, iO.map((e) => e());
|
|
};
|
|
let Pl = !1;
|
|
Ur && (Pl = (dt.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(dt.readyState), Pl || dt.addEventListener("DOMContentLoaded", sO));
|
|
function JL(e) {
|
|
Ur && (Pl ? setTimeout(e, 0) : iO.push(e));
|
|
}
|
|
function ls(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? oO(e) : "<".concat(t, " ").concat(qL(r), ">").concat(n.map(ls).join(""), "</").concat(t, ">");
|
|
}
|
|
function Z1(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var cf = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, c, l;
|
|
for (r === void 0 ? (s = 1, l = e[o[0]]) : (s = 0, l = r); s < a; s++)
|
|
c = o[s], l = i(l, e[c], c, e);
|
|
return l;
|
|
};
|
|
function QL(e) {
|
|
const t = [];
|
|
let r = 0;
|
|
const n = e.length;
|
|
for (; r < n; ) {
|
|
const o = e.charCodeAt(r++);
|
|
if (o >= 55296 && o <= 56319 && r < n) {
|
|
const a = e.charCodeAt(r++);
|
|
(a & 64512) == 56320 ? t.push(((o & 1023) << 10) + (a & 1023) + 65536) : (t.push(o), r--);
|
|
} else
|
|
t.push(o);
|
|
}
|
|
return t;
|
|
}
|
|
function lO(e) {
|
|
const t = QL(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function ZL(e, t) {
|
|
const r = e.length;
|
|
let n = e.charCodeAt(t), o;
|
|
return n >= 55296 && n <= 56319 && r > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (n - 55296) * 1024 + o - 56320 + 65536 : n;
|
|
}
|
|
function e0(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 Tp(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = e0(t);
|
|
typeof fr.hooks.addPack == "function" && !n ? fr.hooks.addPack(e, e0(t)) : fr.styles[e] = te(te({}, fr.styles[e] || {}), o), e === "fas" && Tp("fa", t);
|
|
}
|
|
const {
|
|
styles: qi,
|
|
shims: eW
|
|
} = fr, cO = Object.keys(Rg), tW = cO.reduce((e, t) => (e[t] = Object.keys(Rg[t]), e), {});
|
|
let Dg = null, uO = {}, fO = {}, dO = {}, pO = {}, mO = {};
|
|
function rW(e) {
|
|
return ~LL.indexOf(e);
|
|
}
|
|
function nW(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !rW(o) ? o : null;
|
|
}
|
|
const gO = () => {
|
|
const e = (n) => cf(qi, (o, a, i) => (o[i] = cf(a, n, {}), o), {});
|
|
uO = e((n, o, a) => (o[3] && (n[o[3]] = a), o[2] && o[2].filter((i) => typeof i == "number").forEach((i) => {
|
|
n[i.toString(16)] = a;
|
|
}), n)), fO = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), mO = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in qi || ue.autoFetchSvg, r = cf(eW, (n, o) => {
|
|
const a = o[0];
|
|
let i = o[1];
|
|
const s = o[2];
|
|
return i === "far" && !t && (i = "fas"), typeof a == "string" && (n.names[a] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), typeof a == "number" && (n.unicodes[a.toString(16)] = {
|
|
prefix: i,
|
|
iconName: s
|
|
}), n;
|
|
}, {
|
|
names: {},
|
|
unicodes: {}
|
|
});
|
|
dO = r.names, pO = r.unicodes, Dg = $c(ue.styleDefault, {
|
|
family: ue.familyDefault
|
|
});
|
|
};
|
|
GL((e) => {
|
|
Dg = $c(e.styleDefault, {
|
|
family: ue.familyDefault
|
|
});
|
|
});
|
|
gO();
|
|
function Lg(e, t) {
|
|
return (uO[e] || {})[t];
|
|
}
|
|
function oW(e, t) {
|
|
return (fO[e] || {})[t];
|
|
}
|
|
function ro(e, t) {
|
|
return (mO[e] || {})[t];
|
|
}
|
|
function bO(e) {
|
|
return dO[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function aW(e) {
|
|
const t = pO[e], r = Lg("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Un() {
|
|
return Dg;
|
|
}
|
|
const hO = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function iW(e) {
|
|
let t = kt;
|
|
const r = cO.reduce((n, o) => (n[o] = "".concat(ue.cssPrefix, "-").concat(o), n), {});
|
|
return K3.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => tW[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function $c(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = kt
|
|
} = t, n = ML[r][e];
|
|
if (r === wc && !e)
|
|
return "fad";
|
|
const o = J1[r][e] || J1[r][n], a = e in fr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function sW(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = nW(ue.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function t0(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Oc(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Ep.concat($L), a = t0(e.filter((f) => o.includes(f))), i = t0(e.filter((f) => !Ep.includes(f))), s = a.filter((f) => (n = f, !X3.includes(f))), [c = null] = s, l = iW(a), u = te(te({}, sW(i)), {}, {
|
|
prefix: $c(c, {
|
|
family: l
|
|
})
|
|
});
|
|
return te(te(te({}, u), fW({
|
|
values: e,
|
|
family: l,
|
|
styles: qi,
|
|
config: ue,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), lW(r, n, u));
|
|
}
|
|
function lW(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? bO(o) : {}, i = ro(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !qi.far && qi.fas && !ue.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const cW = K3.filter((e) => e !== kt || e !== wc), uW = Object.keys(Ap).filter((e) => e !== kt).map((e) => Object.keys(Ap[e])).flat();
|
|
function fW(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === wc, c = t.includes("fa-duotone") || t.includes("fad"), l = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (c || l || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && cW.includes(r) && (Object.keys(a).find((f) => uW.includes(f)) || i.autoFetchSvg)) {
|
|
const f = gL.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = ro(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Un() || "fas"), n;
|
|
}
|
|
class dW {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = te(te({}, this.definitions[a] || {}), o[a]), Tp(a, o[a]);
|
|
const i = Rg[kt][a];
|
|
i && Tp(i, o[a]), gO();
|
|
});
|
|
}
|
|
reset() {
|
|
this.definitions = {};
|
|
}
|
|
_pullDefinitions(t, r) {
|
|
const n = r.prefix && r.iconName && r.icon ? {
|
|
0: r
|
|
} : r;
|
|
return Object.keys(n).map((o) => {
|
|
const {
|
|
prefix: a,
|
|
iconName: i,
|
|
icon: s
|
|
} = n[o], c = s[2];
|
|
t[a] || (t[a] = {}), c.length > 0 && c.forEach((l) => {
|
|
typeof l == "string" && (t[a][l] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let r0 = [], Do = {};
|
|
const na = {}, pW = Object.keys(na);
|
|
function mW(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return r0 = e, Do = {}, Object.keys(na).forEach((n) => {
|
|
pW.indexOf(n) === -1 && delete na[n];
|
|
}), r0.forEach((n) => {
|
|
const o = n.mixout ? n.mixout() : {};
|
|
if (Object.keys(o).forEach((a) => {
|
|
typeof o[a] == "function" && (r[a] = o[a]), typeof o[a] == "object" && Object.keys(o[a]).forEach((i) => {
|
|
r[a] || (r[a] = {}), r[a][i] = o[a][i];
|
|
});
|
|
}), n.hooks) {
|
|
const a = n.hooks();
|
|
Object.keys(a).forEach((i) => {
|
|
Do[i] || (Do[i] = []), Do[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(na);
|
|
}), r;
|
|
}
|
|
function Mp(e, t) {
|
|
for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++)
|
|
n[o - 2] = arguments[o];
|
|
return (Do[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ho(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Do[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function qn() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return na[e] ? na[e].apply(null, t) : void 0;
|
|
}
|
|
function Rp(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Un();
|
|
if (t)
|
|
return t = ro(r, t) || t, Z1(yO.definitions, r, t) || Z1(fr.styles, r, t);
|
|
}
|
|
const yO = new dW(), gW = () => {
|
|
ue.autoReplaceSvg = !1, ue.observeMutations = !1, ho("noAuto");
|
|
}, bW = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Ur ? (ho("beforeI2svg", e), qn("pseudoElements2svg", e), qn("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
ue.autoReplaceSvg === !1 && (ue.autoReplaceSvg = !0), ue.observeMutations = !0, JL(() => {
|
|
yW({
|
|
autoReplaceSvgRoot: t
|
|
}), ho("watch", e);
|
|
});
|
|
}
|
|
}, hW = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: ro(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 = $c(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: ro(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ue.cssPrefix, "-")) > -1 || e.match(RL))) {
|
|
const t = Oc(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Un(),
|
|
iconName: ro(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Un();
|
|
return {
|
|
prefix: t,
|
|
iconName: ro(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, Mt = {
|
|
noAuto: gW,
|
|
config: ue,
|
|
dom: bW,
|
|
parse: hW,
|
|
library: yO,
|
|
findIconDefinition: Rp,
|
|
toHtml: ls
|
|
}, yW = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = dt
|
|
} = e;
|
|
(Object.keys(fr.styles).length > 0 || ue.autoFetchSvg) && Ur && ue.autoReplaceSvg && Mt.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Sc(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => ls(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Ur) return;
|
|
const r = dt.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function vW(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (Fg(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: c
|
|
} = r, l = {
|
|
x: s / c / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = kc(te(te({}, a), {}, {
|
|
"transform-origin": "".concat(l.x + i.x / 16, "em ").concat(l.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function xW(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ue.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: te(te({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function Wg(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: c,
|
|
titleId: l,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: y
|
|
} = r.found ? r : t, x = xL.includes(n), m = [ue.replacementClass, o ? "".concat(ue.cssPrefix, "-").concat(o) : ""].filter((b) => u.classes.indexOf(b) === -1).filter((b) => b !== "" || !!b).concat(u.classes).join(" ");
|
|
let p = {
|
|
children: [],
|
|
attributes: te(te({}, u.attributes), {}, {
|
|
"data-prefix": n,
|
|
"data-icon": o,
|
|
class: m,
|
|
role: u.attributes.role || "img",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
viewBox: "0 0 ".concat(d, " ").concat(y)
|
|
})
|
|
};
|
|
const v = x && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / y * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (p.attributes[bo] = ""), s && (p.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: p.attributes["aria-labelledby"] || "title-".concat(l || Ui())
|
|
},
|
|
children: [s]
|
|
}), delete p.attributes.title);
|
|
const k = te(te({}, p), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: c,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: te(te({}, v), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: O
|
|
} = r.found && t.found ? qn("generateAbstractMask", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : qn("generateAbstractIcon", k) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return k.children = $, k.attributes = O, i ? xW(k) : vW(k);
|
|
}
|
|
function n0(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, c = te(te(te({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (c[bo] = "");
|
|
const l = te({}, i.styles);
|
|
Fg(o) && (l.transform = BL({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), l["-webkit-transform"] = l.transform);
|
|
const u = kc(l);
|
|
u.length > 0 && (c.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: c,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function wW(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = te(te(te({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = kc(n.styles);
|
|
a.length > 0 && (o.style = a);
|
|
const i = [];
|
|
return i.push({
|
|
tag: "span",
|
|
attributes: o,
|
|
children: [t]
|
|
}), r && i.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [r]
|
|
}), i;
|
|
}
|
|
const {
|
|
styles: uf
|
|
} = fr;
|
|
function _p(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ue.cssPrefix, "-").concat(sf.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ue.cssPrefix, "-").concat(sf.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ue.cssPrefix, "-").concat(sf.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const kW = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function $W(e, t) {
|
|
!eO && !ue.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Fp(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ue.styleDefault !== null && (t = Un()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = bO(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && uf[t] && uf[t][e]) {
|
|
const a = uf[t][e];
|
|
return n(_p(a));
|
|
}
|
|
$W(e, t), n(te(te({}, kW), {}, {
|
|
icon: ue.showMissingIcons && e ? qn("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const o0 = () => {
|
|
}, Dp = ue.measurePerformance && zs && zs.mark && zs.measure ? zs : {
|
|
mark: o0,
|
|
measure: o0
|
|
}, ii = 'FA "6.7.2"', OW = (e) => (Dp.mark("".concat(ii, " ").concat(e, " begins")), () => vO(e)), vO = (e) => {
|
|
Dp.mark("".concat(ii, " ").concat(e, " ends")), Dp.measure("".concat(ii, " ").concat(e), "".concat(ii, " ").concat(e, " begins"), "".concat(ii, " ").concat(e, " ends"));
|
|
};
|
|
var Yg = {
|
|
begin: OW,
|
|
end: vO
|
|
};
|
|
const Zs = () => {
|
|
};
|
|
function a0(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(bo) : null) == "string";
|
|
}
|
|
function SW(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Tg) : null, r = e.getAttribute ? e.getAttribute(Mg) : null;
|
|
return t && r;
|
|
}
|
|
function PW(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ue.replacementClass);
|
|
}
|
|
function AW() {
|
|
return ue.autoReplaceSvg === !0 ? el.replace : el[ue.autoReplaceSvg] || el.replace;
|
|
}
|
|
function EW(e) {
|
|
return dt.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function CW(e) {
|
|
return dt.createElement(e);
|
|
}
|
|
function xO(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? EW : CW
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return dt.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(xO(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function NW(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const el = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(xO(r), t);
|
|
}), t.getAttribute(bo) === null && ue.keepOriginalSource) {
|
|
let r = dt.createComment(NW(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~_g(t).indexOf(ue.replacementClass))
|
|
return el.replace(e);
|
|
const n = new RegExp("".concat(ue.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ue.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => ls(a)).join(`
|
|
`);
|
|
t.setAttribute(bo, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function i0(e) {
|
|
e();
|
|
}
|
|
function wO(e, t) {
|
|
const r = typeof t == "function" ? t : Zs;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = i0;
|
|
ue.mutateApproach === zL && (n = Vn.requestAnimationFrame || i0), n(() => {
|
|
const o = AW(), a = Yg.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Gg = !1;
|
|
function kO() {
|
|
Gg = !0;
|
|
}
|
|
function Lp() {
|
|
Gg = !1;
|
|
}
|
|
let Al = null;
|
|
function s0(e) {
|
|
if (!H1 || !ue.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Zs,
|
|
nodeCallback: r = Zs,
|
|
pseudoElementsCallback: n = Zs,
|
|
observeMutationsRoot: o = dt
|
|
} = e;
|
|
Al = new H1((a) => {
|
|
if (Gg) return;
|
|
const i = Un();
|
|
Aa(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !a0(s.addedNodes[0]) && (ue.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ue.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && a0(s.target) && ~DL.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && SW(s.target)) {
|
|
const {
|
|
prefix: c,
|
|
iconName: l
|
|
} = Oc(_g(s.target));
|
|
s.target.setAttribute(Tg, c || i), l && s.target.setAttribute(Mg, l);
|
|
} else PW(s.target) && r(s.target);
|
|
});
|
|
}), Ur && Al.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function jW() {
|
|
Al && Al.disconnect();
|
|
}
|
|
function IW(e) {
|
|
const t = e.getAttribute("style");
|
|
let r = [];
|
|
return t && (r = t.split(";").reduce((n, o) => {
|
|
const a = o.split(":"), i = a[0], s = a.slice(1);
|
|
return i && s.length > 0 && (n[i] = s.join(":").trim()), n;
|
|
}, {})), r;
|
|
}
|
|
function zW(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Oc(_g(e));
|
|
return o.prefix || (o.prefix = Un()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = oW(o.prefix, e.innerText) || Lg(o.prefix, lO(e.innerText))), !o.iconName && ue.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function TW(e) {
|
|
const t = Aa(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ue.autoA11y && (r ? t["aria-labelledby"] = "".concat(ue.replacementClass, "-title-").concat(n || Ui()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function MW() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: ur,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function l0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = zW(e), a = TW(e), i = Mp("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? IW(e) : [];
|
|
return te({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: ur,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: RW
|
|
} = fr;
|
|
function $O(e) {
|
|
const t = ue.autoReplaceSvg === "nest" ? l0(e, {
|
|
styleParser: !1
|
|
}) : l0(e);
|
|
return ~t.extra.classes.indexOf(rO) ? qn("generateLayersText", e, t) : qn("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function _W() {
|
|
return [...hL, ...Ep];
|
|
}
|
|
function c0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Ur) return Promise.resolve();
|
|
const r = dt.documentElement.classList, n = (u) => r.add("".concat(K1, "-").concat(u)), o = (u) => r.remove("".concat(K1, "-").concat(u)), a = ue.autoFetchSvg ? _W() : X3.concat(Object.keys(RW));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(rO, ":not([").concat(bo, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(bo, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Aa(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const c = Yg.begin("onTree"), l = s.reduce((u, f) => {
|
|
try {
|
|
const d = $O(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
eO || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(l).then((d) => {
|
|
wO(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), c(), u();
|
|
});
|
|
}).catch((d) => {
|
|
c(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function FW(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
$O(e).then((r) => {
|
|
r && wO([r], t);
|
|
});
|
|
}
|
|
function DW(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Rp(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : Rp(o || {})), e(n, te(te({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const LW = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ur,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: c = [],
|
|
attributes: l = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: y
|
|
} = e;
|
|
return Sc(te({
|
|
type: "icon"
|
|
}, e), () => (ho("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ue.autoA11y && (i ? l["aria-labelledby"] = "".concat(ue.replacementClass, "-title-").concat(s || Ui()) : (l["aria-hidden"] = "true", l.focusable = "false")), Wg({
|
|
icons: {
|
|
main: _p(y),
|
|
mask: o ? _p(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: te(te({}, ur), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: l,
|
|
styles: u,
|
|
classes: c
|
|
}
|
|
})));
|
|
};
|
|
var WW = {
|
|
mixout() {
|
|
return {
|
|
icon: DW(LW)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = c0, e.nodeCallback = FW, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = dt,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return c0(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: c,
|
|
mask: l,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, y) => {
|
|
Promise.all([Fp(n, i), l.iconName ? Fp(l.iconName, l.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((x) => {
|
|
let [m, p] = x;
|
|
d([t, Wg({
|
|
icons: {
|
|
main: m,
|
|
mask: p
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: c,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(y);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = kc(i);
|
|
s.length > 0 && (n.style = s);
|
|
let c;
|
|
return Fg(a) && (c = qn("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(c || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, YW = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Sc({
|
|
type: "layer"
|
|
}, () => {
|
|
ho("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ue.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, GW = {
|
|
mixout() {
|
|
return {
|
|
counter(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
title: r = null,
|
|
classes: n = [],
|
|
attributes: o = {},
|
|
styles: a = {}
|
|
} = t;
|
|
return Sc({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ho("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), wW({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ue.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, VW = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = ur,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Sc({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ho("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), n0({
|
|
content: e,
|
|
transform: te(te({}, ur), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ue.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (H3) {
|
|
const c = parseInt(getComputedStyle(t).fontSize, 10), l = t.getBoundingClientRect();
|
|
i = l.width / c, s = l.height / c;
|
|
}
|
|
return ue.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, n0({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const UW = new RegExp('"', "ug"), u0 = [1105920, 1112319], f0 = te(te(te(te({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), mL), jL), OL), Wp = Object.keys(f0).reduce((e, t) => (e[t.toLowerCase()] = f0[t], e), {}), qW = Object.keys(Wp).reduce((e, t) => {
|
|
const r = Wp[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function HW(e) {
|
|
const t = e.replace(UW, ""), r = ZL(t, 0), n = r >= u0[0] && r <= u0[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: lO(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function BW(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (Wp[r] || {})[o] || qW[r];
|
|
}
|
|
function d0(e, t) {
|
|
const r = "".concat(IL).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Aa(e.children).filter((f) => f.getAttribute(Np) === t)[0], i = Vn.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), c = s.match(_L), l = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !c)
|
|
return e.removeChild(a), n();
|
|
if (c && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = BW(s, l);
|
|
const {
|
|
value: y,
|
|
isSecondary: x
|
|
} = HW(f), m = c[0].startsWith("FontAwesome");
|
|
let p = Lg(d, y), v = p;
|
|
if (m) {
|
|
const k = aW(y);
|
|
k.iconName && k.prefix && (p = k.iconName, d = k.prefix);
|
|
}
|
|
if (p && !x && (!a || a.getAttribute(Tg) !== d || a.getAttribute(Mg) !== v)) {
|
|
e.setAttribute(r, v), a && e.removeChild(a);
|
|
const k = MW(), {
|
|
extra: $
|
|
} = k;
|
|
$.attributes[Np] = t, Fp(p, d).then((O) => {
|
|
const b = Wg(te(te({}, k), {}, {
|
|
icons: {
|
|
main: O,
|
|
mask: hO()
|
|
},
|
|
prefix: d,
|
|
iconName: v,
|
|
extra: $,
|
|
watchable: !0
|
|
})), L = dt.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(L, e.firstChild) : e.appendChild(L), L.outerHTML = b.map((M) => ls(M)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function XW(e) {
|
|
return Promise.all([d0(e, "::before"), d0(e, "::after")]);
|
|
}
|
|
function KW(e) {
|
|
return e.parentNode !== document.head && !~TL.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Np) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function p0(e) {
|
|
if (Ur)
|
|
return new Promise((t, r) => {
|
|
const n = Aa(e.querySelectorAll("*")).filter(KW).map(XW), o = Yg.begin("searchPseudoElements");
|
|
kO(), Promise.all(n).then(() => {
|
|
o(), Lp(), t();
|
|
}).catch(() => {
|
|
o(), Lp(), r();
|
|
});
|
|
});
|
|
}
|
|
var JW = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = p0, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = dt
|
|
} = t;
|
|
ue.searchPseudoElements && p0(r);
|
|
};
|
|
}
|
|
};
|
|
let m0 = !1;
|
|
var QW = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
kO(), m0 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
s0(Mp("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
jW();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
m0 ? Lp() : s0(Mp("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const g0 = (e) => {
|
|
let t = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
flipX: !1,
|
|
flipY: !1,
|
|
rotate: 0
|
|
};
|
|
return e.toLowerCase().split(" ").reduce((r, n) => {
|
|
const o = n.toLowerCase().split("-"), a = o[0];
|
|
let i = o.slice(1).join("-");
|
|
if (a && i === "h")
|
|
return r.flipX = !0, r;
|
|
if (a && i === "v")
|
|
return r.flipY = !0, r;
|
|
if (i = parseFloat(i), isNaN(i))
|
|
return r;
|
|
switch (a) {
|
|
case "grow":
|
|
r.size = r.size + i;
|
|
break;
|
|
case "shrink":
|
|
r.size = r.size - i;
|
|
break;
|
|
case "left":
|
|
r.x = r.x - i;
|
|
break;
|
|
case "right":
|
|
r.x = r.x + i;
|
|
break;
|
|
case "up":
|
|
r.y = r.y - i;
|
|
break;
|
|
case "down":
|
|
r.y = r.y + i;
|
|
break;
|
|
case "rotate":
|
|
r.rotate = r.rotate + i;
|
|
break;
|
|
}
|
|
return r;
|
|
}, t);
|
|
};
|
|
var ZW = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => g0(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = g0(r)), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractTransformGrouping = function(t) {
|
|
let {
|
|
main: r,
|
|
transform: n,
|
|
containerWidth: o,
|
|
iconWidth: a
|
|
} = t;
|
|
const i = {
|
|
transform: "translate(".concat(o / 2, " 256)")
|
|
}, s = "translate(".concat(n.x * 32, ", ").concat(n.y * 32, ") "), c = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), l = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(c, " ").concat(l)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: te({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: te({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: te(te({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const ff = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function b0(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 eY(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var tY = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Oc(r.split(" ").map((o) => o.trim())) : hO();
|
|
return n.prefix || (n.prefix = Un()), e.mask = n, e.maskId = t.getAttribute("data-fa-mask-id"), e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateAbstractMask = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
mask: a,
|
|
maskId: i,
|
|
transform: s
|
|
} = t;
|
|
const {
|
|
width: c,
|
|
icon: l
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = HL({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: c
|
|
}), y = {
|
|
tag: "rect",
|
|
attributes: te(te({}, ff), {}, {
|
|
fill: "white"
|
|
})
|
|
}, x = l.children ? {
|
|
children: l.children.map(b0)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: te({}, d.inner),
|
|
children: [b0(te({
|
|
tag: l.tag,
|
|
attributes: te(te({}, l.attributes), d.path)
|
|
}, x))]
|
|
}, p = {
|
|
tag: "g",
|
|
attributes: te({}, d.outer),
|
|
children: [m]
|
|
}, v = "mask-".concat(i || Ui()), k = "clip-".concat(i || Ui()), $ = {
|
|
tag: "mask",
|
|
attributes: te(te({}, ff), {}, {
|
|
id: v,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [y, p]
|
|
}, O = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: k
|
|
},
|
|
children: eY(f)
|
|
}, $]
|
|
};
|
|
return r.push(O, {
|
|
tag: "rect",
|
|
attributes: te({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(k, ")"),
|
|
mask: "url(#".concat(v, ")")
|
|
}, ff)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, rY = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Vn.matchMedia && (t = Vn.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: 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 a = te(te({}, o), {}, {
|
|
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({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: te(te({}, a), {}, {
|
|
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({}, a), {}, {
|
|
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({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, nY = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, oY = [KL, WW, YW, GW, VW, JW, QW, ZW, tY, rY, nY];
|
|
mW(oY, {
|
|
mixoutsTo: Mt
|
|
});
|
|
Mt.noAuto;
|
|
Mt.config;
|
|
Mt.library;
|
|
Mt.dom;
|
|
const Yp = Mt.parse;
|
|
Mt.findIconDefinition;
|
|
Mt.toHtml;
|
|
const aY = Mt.icon;
|
|
Mt.layer;
|
|
Mt.text;
|
|
Mt.counter;
|
|
function iY(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var Ms = { exports: {} }, df = { exports: {} }, Ge = {};
|
|
/** @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 h0;
|
|
function sY() {
|
|
if (h0) return Ge;
|
|
h0 = 1;
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(b) {
|
|
if (typeof b == "object" && b !== null) {
|
|
var L = b.$$typeof;
|
|
switch (L) {
|
|
case t:
|
|
switch (b = b.type, b) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return b;
|
|
default:
|
|
switch (b = b && b.$$typeof, b) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return b;
|
|
default:
|
|
return L;
|
|
}
|
|
}
|
|
case r:
|
|
return L;
|
|
}
|
|
}
|
|
}
|
|
function O(b) {
|
|
return $(b) === l;
|
|
}
|
|
return Ge.AsyncMode = c, Ge.ConcurrentMode = l, Ge.ContextConsumer = s, Ge.ContextProvider = i, Ge.Element = t, Ge.ForwardRef = u, Ge.Fragment = n, Ge.Lazy = x, Ge.Memo = y, Ge.Portal = r, Ge.Profiler = a, Ge.StrictMode = o, Ge.Suspense = f, Ge.isAsyncMode = function(b) {
|
|
return O(b) || $(b) === c;
|
|
}, Ge.isConcurrentMode = O, Ge.isContextConsumer = function(b) {
|
|
return $(b) === s;
|
|
}, Ge.isContextProvider = function(b) {
|
|
return $(b) === i;
|
|
}, Ge.isElement = function(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === t;
|
|
}, Ge.isForwardRef = function(b) {
|
|
return $(b) === u;
|
|
}, Ge.isFragment = function(b) {
|
|
return $(b) === n;
|
|
}, Ge.isLazy = function(b) {
|
|
return $(b) === x;
|
|
}, Ge.isMemo = function(b) {
|
|
return $(b) === y;
|
|
}, Ge.isPortal = function(b) {
|
|
return $(b) === r;
|
|
}, Ge.isProfiler = function(b) {
|
|
return $(b) === a;
|
|
}, Ge.isStrictMode = function(b) {
|
|
return $(b) === o;
|
|
}, Ge.isSuspense = function(b) {
|
|
return $(b) === f;
|
|
}, Ge.isValidElementType = function(b) {
|
|
return typeof b == "string" || typeof b == "function" || b === n || b === l || b === a || b === o || b === f || b === d || typeof b == "object" && b !== null && (b.$$typeof === x || b.$$typeof === y || b.$$typeof === i || b.$$typeof === s || b.$$typeof === u || b.$$typeof === p || b.$$typeof === v || b.$$typeof === k || b.$$typeof === m);
|
|
}, Ge.typeOf = $, Ge;
|
|
}
|
|
var Be = {};
|
|
/** @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 y0;
|
|
function lY() {
|
|
return y0 || (y0 = 1, process.env.NODE_ENV !== "production" && function() {
|
|
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, i = e ? Symbol.for("react.provider") : 60109, s = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, l = e ? Symbol.for("react.concurrent_mode") : 60111, u = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, d = e ? Symbol.for("react.suspense_list") : 60120, y = e ? Symbol.for("react.memo") : 60115, x = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, p = e ? Symbol.for("react.fundamental") : 60117, v = e ? Symbol.for("react.responder") : 60118, k = e ? Symbol.for("react.scope") : 60119;
|
|
function $(w) {
|
|
return typeof w == "string" || typeof w == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
w === n || w === l || w === a || w === o || w === f || w === d || typeof w == "object" && w !== null && (w.$$typeof === x || w.$$typeof === y || w.$$typeof === i || w.$$typeof === s || w.$$typeof === u || w.$$typeof === p || w.$$typeof === v || w.$$typeof === k || w.$$typeof === m);
|
|
}
|
|
function O(w) {
|
|
if (typeof w == "object" && w !== null) {
|
|
var oe = w.$$typeof;
|
|
switch (oe) {
|
|
case t:
|
|
var Ae = w.type;
|
|
switch (Ae) {
|
|
case c:
|
|
case l:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ae;
|
|
default:
|
|
var mt = Ae && Ae.$$typeof;
|
|
switch (mt) {
|
|
case s:
|
|
case u:
|
|
case x:
|
|
case y:
|
|
case i:
|
|
return mt;
|
|
default:
|
|
return oe;
|
|
}
|
|
}
|
|
case r:
|
|
return oe;
|
|
}
|
|
}
|
|
}
|
|
var b = c, L = l, M = s, B = i, H = t, U = u, X = n, S = x, ne = y, F = r, R = a, _ = o, G = f, Y = !1;
|
|
function V(w) {
|
|
return Y || (Y = !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.")), g(w) || O(w) === c;
|
|
}
|
|
function g(w) {
|
|
return O(w) === l;
|
|
}
|
|
function h(w) {
|
|
return O(w) === s;
|
|
}
|
|
function N(w) {
|
|
return O(w) === i;
|
|
}
|
|
function A(w) {
|
|
return typeof w == "object" && w !== null && w.$$typeof === t;
|
|
}
|
|
function P(w) {
|
|
return O(w) === u;
|
|
}
|
|
function j(w) {
|
|
return O(w) === n;
|
|
}
|
|
function C(w) {
|
|
return O(w) === x;
|
|
}
|
|
function E(w) {
|
|
return O(w) === y;
|
|
}
|
|
function I(w) {
|
|
return O(w) === r;
|
|
}
|
|
function z(w) {
|
|
return O(w) === a;
|
|
}
|
|
function T(w) {
|
|
return O(w) === o;
|
|
}
|
|
function q(w) {
|
|
return O(w) === f;
|
|
}
|
|
Be.AsyncMode = b, Be.ConcurrentMode = L, Be.ContextConsumer = M, Be.ContextProvider = B, Be.Element = H, Be.ForwardRef = U, Be.Fragment = X, Be.Lazy = S, Be.Memo = ne, Be.Portal = F, Be.Profiler = R, Be.StrictMode = _, Be.Suspense = G, Be.isAsyncMode = V, Be.isConcurrentMode = g, Be.isContextConsumer = h, Be.isContextProvider = N, Be.isElement = A, Be.isForwardRef = P, Be.isFragment = j, Be.isLazy = C, Be.isMemo = E, Be.isPortal = I, Be.isProfiler = z, Be.isStrictMode = T, Be.isSuspense = q, Be.isValidElementType = $, Be.typeOf = O;
|
|
}()), Be;
|
|
}
|
|
var v0;
|
|
function OO() {
|
|
return v0 || (v0 = 1, process.env.NODE_ENV === "production" ? df.exports = sY() : df.exports = lY()), df.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var pf, x0;
|
|
function cY() {
|
|
if (x0) return pf;
|
|
x0 = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var c = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (c.join("") !== "0123456789")
|
|
return !1;
|
|
var l = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
l[u] = u;
|
|
}), Object.keys(Object.assign({}, l)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return pf = o() ? Object.assign : function(a, i) {
|
|
for (var s, c = n(a), l, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (c[f] = s[f]);
|
|
if (e) {
|
|
l = e(s);
|
|
for (var d = 0; d < l.length; d++)
|
|
r.call(s, l[d]) && (c[l[d]] = s[l[d]]);
|
|
}
|
|
}
|
|
return c;
|
|
}, pf;
|
|
}
|
|
var mf, w0;
|
|
function Vg() {
|
|
if (w0) return mf;
|
|
w0 = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return mf = e, mf;
|
|
}
|
|
var k0, $0;
|
|
function SO() {
|
|
return $0 || ($0 = 1, k0 = Function.call.bind(Object.prototype.hasOwnProperty)), k0;
|
|
}
|
|
var gf, O0;
|
|
function uY() {
|
|
if (O0) return gf;
|
|
O0 = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Vg(), r = {}, n = /* @__PURE__ */ SO();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, c, l) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
for (var u in a)
|
|
if (n(a, u)) {
|
|
var f;
|
|
try {
|
|
if (typeof a[u] != "function") {
|
|
var d = Error(
|
|
(c || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
|
|
);
|
|
throw d.name = "Invariant Violation", d;
|
|
}
|
|
f = a[u](i, u, c, s, null, t);
|
|
} catch (x) {
|
|
f = x;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(c || "React class") + ": type specification of " + s + " `" + u + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
|
|
), f instanceof Error && !(f.message in r)) {
|
|
r[f.message] = !0;
|
|
var y = l ? l() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (y ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, gf = o, gf;
|
|
}
|
|
var bf, S0;
|
|
function fY() {
|
|
if (S0) return bf;
|
|
S0 = 1;
|
|
var e = OO(), t = cY(), r = /* @__PURE__ */ Vg(), n = /* @__PURE__ */ SO(), o = /* @__PURE__ */ uY(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var c = "Warning: " + s;
|
|
typeof console < "u" && console.error(c);
|
|
try {
|
|
throw new Error(c);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return bf = function(s, c) {
|
|
var l = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(g) {
|
|
var h = g && (l && g[l] || g[u]);
|
|
if (typeof h == "function")
|
|
return h;
|
|
}
|
|
var d = "<<anonymous>>", y = {
|
|
array: v("array"),
|
|
bigint: v("bigint"),
|
|
bool: v("boolean"),
|
|
func: v("function"),
|
|
number: v("number"),
|
|
object: v("object"),
|
|
string: v("string"),
|
|
symbol: v("symbol"),
|
|
any: k(),
|
|
arrayOf: $,
|
|
element: O(),
|
|
elementType: b(),
|
|
instanceOf: L,
|
|
node: U(),
|
|
objectOf: B,
|
|
oneOf: M,
|
|
oneOfType: H,
|
|
shape: S,
|
|
exact: ne
|
|
};
|
|
function x(g, h) {
|
|
return g === h ? g !== 0 || 1 / g === 1 / h : g !== g && h !== h;
|
|
}
|
|
function m(g, h) {
|
|
this.message = g, this.data = h && typeof h == "object" ? h : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function p(g) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var h = {}, N = 0;
|
|
function A(j, C, E, I, z, T, q) {
|
|
if (I = I || d, T = T || E, q !== r) {
|
|
if (c) {
|
|
var w = 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 w.name = "Invariant Violation", w;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var oe = I + ":" + E;
|
|
!h[oe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
N < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + T + "` prop on `" + I + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
|
|
), h[oe] = !0, N++);
|
|
}
|
|
}
|
|
return C[E] == null ? j ? C[E] === null ? new m("The " + z + " `" + T + "` is marked as required " + ("in `" + I + "`, but its value is `null`.")) : new m("The " + z + " `" + T + "` is marked as required in " + ("`" + I + "`, but its value is `undefined`.")) : null : g(C, E, I, z, T);
|
|
}
|
|
var P = A.bind(null, !1);
|
|
return P.isRequired = A.bind(null, !0), P;
|
|
}
|
|
function v(g) {
|
|
function h(N, A, P, j, C, E) {
|
|
var I = N[A], z = _(I);
|
|
if (z !== g) {
|
|
var T = G(I);
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` of type " + ("`" + T + "` supplied to `" + P + "`, expected ") + ("`" + g + "`."),
|
|
{ expectedType: g }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function k() {
|
|
return p(i);
|
|
}
|
|
function $(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside arrayOf.");
|
|
var E = N[A];
|
|
if (!Array.isArray(E)) {
|
|
var I = _(E);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an array."));
|
|
}
|
|
for (var z = 0; z < E.length; z++) {
|
|
var T = g(E, z, P, j, C + "[" + z + "]", r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function O() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!s(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function b() {
|
|
function g(h, N, A, P, j) {
|
|
var C = h[N];
|
|
if (!e.isValidElementType(C)) {
|
|
var E = _(C);
|
|
return new m("Invalid " + P + " `" + j + "` of type " + ("`" + E + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(g);
|
|
}
|
|
function L(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (!(N[A] instanceof g)) {
|
|
var E = g.name || d, I = V(N[A]);
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected ") + ("instance of `" + E + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function M(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
|
|
"Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
|
|
) : a("Invalid argument supplied to oneOf, expected an array.")), i;
|
|
function h(N, A, P, j, C) {
|
|
for (var E = N[A], I = 0; I < g.length; I++)
|
|
if (x(E, g[I]))
|
|
return null;
|
|
var z = JSON.stringify(g, function(T, q) {
|
|
var w = G(q);
|
|
return w === "symbol" ? String(q) : q;
|
|
});
|
|
return new m("Invalid " + j + " `" + C + "` of value `" + String(E) + "` " + ("supplied to `" + P + "`, expected one of " + z + "."));
|
|
}
|
|
return p(h);
|
|
}
|
|
function B(g) {
|
|
function h(N, A, P, j, C) {
|
|
if (typeof g != "function")
|
|
return new m("Property `" + C + "` of component `" + P + "` has invalid PropType notation inside objectOf.");
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type " + ("`" + I + "` supplied to `" + P + "`, expected an object."));
|
|
for (var z in E)
|
|
if (n(E, z)) {
|
|
var T = g(E, z, P, j, C + "." + z, r);
|
|
if (T instanceof Error)
|
|
return T;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function H(g) {
|
|
if (!Array.isArray(g))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var h = 0; h < g.length; h++) {
|
|
var N = g[h];
|
|
if (typeof N != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(N) + " at index " + h + "."
|
|
), i;
|
|
}
|
|
function A(P, j, C, E, I) {
|
|
for (var z = [], T = 0; T < g.length; T++) {
|
|
var q = g[T], w = q(P, j, C, E, I, r);
|
|
if (w == null)
|
|
return null;
|
|
w.data && n(w.data, "expectedType") && z.push(w.data.expectedType);
|
|
}
|
|
var oe = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
|
|
return new m("Invalid " + E + " `" + I + "` supplied to " + ("`" + C + "`" + oe + "."));
|
|
}
|
|
return p(A);
|
|
}
|
|
function U() {
|
|
function g(h, N, A, P, j) {
|
|
return F(h[N]) ? null : new m("Invalid " + P + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return p(g);
|
|
}
|
|
function X(g, h, N, A, P) {
|
|
return new m(
|
|
(g || "React class") + ": " + h + " type `" + N + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + P + "`."
|
|
);
|
|
}
|
|
function S(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
for (var z in g) {
|
|
var T = g[z];
|
|
if (typeof T != "function")
|
|
return X(P, j, C, z, G(T));
|
|
var q = T(E, z, P, j, C + "." + z, r);
|
|
if (q)
|
|
return q;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function ne(g) {
|
|
function h(N, A, P, j, C) {
|
|
var E = N[A], I = _(E);
|
|
if (I !== "object")
|
|
return new m("Invalid " + j + " `" + C + "` of type `" + I + "` " + ("supplied to `" + P + "`, expected `object`."));
|
|
var z = t({}, N[A], g);
|
|
for (var T in z) {
|
|
var q = g[T];
|
|
if (n(g, T) && typeof q != "function")
|
|
return X(P, j, C, T, G(q));
|
|
if (!q)
|
|
return new m(
|
|
"Invalid " + j + " `" + C + "` key `" + T + "` supplied to `" + P + "`.\nBad object: " + JSON.stringify(N[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(g), null, " ")
|
|
);
|
|
var w = q(E, T, P, j, C + "." + T, r);
|
|
if (w)
|
|
return w;
|
|
}
|
|
return null;
|
|
}
|
|
return p(h);
|
|
}
|
|
function F(g) {
|
|
switch (typeof g) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !g;
|
|
case "object":
|
|
if (Array.isArray(g))
|
|
return g.every(F);
|
|
if (g === null || s(g))
|
|
return !0;
|
|
var h = f(g);
|
|
if (h) {
|
|
var N = h.call(g), A;
|
|
if (h !== g.entries) {
|
|
for (; !(A = N.next()).done; )
|
|
if (!F(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = N.next()).done; ) {
|
|
var P = A.value;
|
|
if (P && !F(P[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function R(g, h) {
|
|
return g === "symbol" ? !0 : h ? h["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && h instanceof Symbol : !1;
|
|
}
|
|
function _(g) {
|
|
var h = typeof g;
|
|
return Array.isArray(g) ? "array" : g instanceof RegExp ? "object" : R(h, g) ? "symbol" : h;
|
|
}
|
|
function G(g) {
|
|
if (typeof g > "u" || g === null)
|
|
return "" + g;
|
|
var h = _(g);
|
|
if (h === "object") {
|
|
if (g instanceof Date)
|
|
return "date";
|
|
if (g instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return h;
|
|
}
|
|
function Y(g) {
|
|
var h = G(g);
|
|
switch (h) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + h;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + h;
|
|
default:
|
|
return h;
|
|
}
|
|
}
|
|
function V(g) {
|
|
return !g.constructor || !g.constructor.name ? d : g.constructor.name;
|
|
}
|
|
return y.checkPropTypes = o, y.resetWarningCache = o.resetWarningCache, y.PropTypes = y, y;
|
|
}, bf;
|
|
}
|
|
var hf, P0;
|
|
function dY() {
|
|
if (P0) return hf;
|
|
P0 = 1;
|
|
var e = /* @__PURE__ */ Vg();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, hf = function() {
|
|
function n(i, s, c, l, u, f) {
|
|
if (f !== e) {
|
|
var d = 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 d.name = "Invariant Violation", d;
|
|
}
|
|
}
|
|
n.isRequired = n;
|
|
function o() {
|
|
return n;
|
|
}
|
|
var a = {
|
|
array: n,
|
|
bigint: n,
|
|
bool: n,
|
|
func: n,
|
|
number: n,
|
|
object: n,
|
|
string: n,
|
|
symbol: n,
|
|
any: n,
|
|
arrayOf: o,
|
|
element: n,
|
|
elementType: n,
|
|
instanceOf: o,
|
|
node: n,
|
|
objectOf: o,
|
|
oneOf: o,
|
|
oneOfType: o,
|
|
shape: o,
|
|
exact: o,
|
|
checkPropTypes: r,
|
|
resetWarningCache: t
|
|
};
|
|
return a.PropTypes = a, a;
|
|
}, hf;
|
|
}
|
|
var A0;
|
|
function pY() {
|
|
if (A0) return Ms.exports;
|
|
if (A0 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = OO(), t = !0;
|
|
Ms.exports = /* @__PURE__ */ fY()(e.isElement, t);
|
|
} else
|
|
Ms.exports = /* @__PURE__ */ dY()();
|
|
return Ms.exports;
|
|
}
|
|
var mY = /* @__PURE__ */ pY();
|
|
const ze = /* @__PURE__ */ iY(mY);
|
|
function E0(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function Qt(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? E0(Object(r), !0).forEach(function(n) {
|
|
Lo(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : E0(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 Lo(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function gY(e, t) {
|
|
if (e == null) return {};
|
|
var r = {}, n = Object.keys(e), o, a;
|
|
for (a = 0; a < n.length; a++)
|
|
o = n[a], !(t.indexOf(o) >= 0) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
function bY(e, t) {
|
|
if (e == null) return {};
|
|
var r = gY(e, t), n, o;
|
|
if (Object.getOwnPropertySymbols) {
|
|
var a = Object.getOwnPropertySymbols(e);
|
|
for (o = 0; o < a.length; o++)
|
|
n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
|
|
}
|
|
return r;
|
|
}
|
|
function Gp(e) {
|
|
return hY(e) || yY(e) || vY(e) || xY();
|
|
}
|
|
function hY(e) {
|
|
if (Array.isArray(e)) return Vp(e);
|
|
}
|
|
function yY(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function vY(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Vp(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 Vp(e, t);
|
|
}
|
|
}
|
|
function Vp(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 xY() {
|
|
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 wY(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, c = e.spin, l = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, y = e.inverse, x = e.border, m = e.listItem, p = e.flip, v = e.size, k = e.rotation, $ = e.pull, O = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": c,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": l,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": y,
|
|
"fa-border": x,
|
|
"fa-li": m,
|
|
"fa-flip": p === !0,
|
|
"fa-flip-horizontal": p === "horizontal" || p === "both",
|
|
"fa-flip-vertical": p === "vertical" || p === "both"
|
|
}, Lo(t, "fa-".concat(v), typeof v < "u" && v !== null), Lo(t, "fa-rotate-".concat(k), typeof k < "u" && k !== null && k !== 0), Lo(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Lo(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(O).map(function(b) {
|
|
return O[b] ? b : null;
|
|
}).filter(function(b) {
|
|
return b;
|
|
});
|
|
}
|
|
function kY(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function PO(e) {
|
|
return kY(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var $Y = ["style"];
|
|
function OY(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function SY(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = PO(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[OY(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function AO(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(c) {
|
|
return AO(e, c);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(c, l) {
|
|
var u = t.attributes[l];
|
|
switch (l) {
|
|
case "class":
|
|
c.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
c.attrs.style = SY(u);
|
|
break;
|
|
default:
|
|
l.indexOf("aria-") === 0 || l.indexOf("data-") === 0 ? c.attrs[l.toLowerCase()] = u : c.attrs[PO(l)] = u;
|
|
}
|
|
return c;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = bY(r, $Y);
|
|
return o.attrs.style = Qt(Qt({}, o.attrs.style), i), e.apply(void 0, [t.tag, Qt(Qt({}, o.attrs), s)].concat(Gp(n)));
|
|
}
|
|
var EO = !1;
|
|
try {
|
|
EO = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function PY() {
|
|
if (!EO && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function C0(e) {
|
|
if (e && El(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Yp.icon)
|
|
return Yp.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 yf(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Lo({}, e, t) : {};
|
|
}
|
|
var N0 = {
|
|
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
|
|
}, Pt = /* @__PURE__ */ Pe.forwardRef(function(e, t) {
|
|
var r = Qt(Qt({}, N0), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, c = r.titleId, l = r.maskId, u = C0(n), f = yf("classes", [].concat(Gp(wY(r)), Gp((i || "").split(" ")))), d = yf("transform", typeof r.transform == "string" ? Yp.transform(r.transform) : r.transform), y = yf("mask", C0(o)), x = aY(u, Qt(Qt(Qt(Qt({}, f), d), y), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: c,
|
|
maskId: l
|
|
}));
|
|
if (!x)
|
|
return PY("Could not find icon", u), null;
|
|
var m = x.abstract, p = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(v) {
|
|
N0.hasOwnProperty(v) || (p[v] = r[v]);
|
|
}), AY(m[0], p);
|
|
});
|
|
Pt.displayName = "FontAwesomeIcon";
|
|
Pt.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 AY = AO.bind(null, Pe.createElement);
|
|
const Ug = "-", EY = (e) => {
|
|
const t = NY(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Ug);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), CO(a, t) || CY(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, CO = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? CO(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Ug);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, j0 = /^\[(.+)\]$/, CY = (e) => {
|
|
if (j0.test(e)) {
|
|
const t = j0.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, NY = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return IY(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
Up(a, n, o, t);
|
|
}), n;
|
|
}, Up = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : I0(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (jY(o)) {
|
|
Up(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
Up(i, I0(t, a), r, n);
|
|
});
|
|
});
|
|
}, I0 = (e, t) => {
|
|
let r = e;
|
|
return t.split(Ug).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, jY = (e) => e.isThemeGetter, IY = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, zY = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, NO = "!", TY = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(NO), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, MY = (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;
|
|
}, RY = (e) => ({
|
|
cache: zY(e.cacheSize),
|
|
parseClassName: TY(e),
|
|
...EY(e)
|
|
}), _Y = /\s+/, FY = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(_Y);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = MY(u).join(":"), v = f ? p + NO : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function DY() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = jO(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const jO = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = jO(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function LY(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = RY(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = FY(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(DY.apply(null, arguments));
|
|
};
|
|
}
|
|
const at = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, IO = /^\[(?:([a-z-]+):)?(.+)\]$/i, WY = /^\d+\/\d+$/, YY = /* @__PURE__ */ new Set(["px", "full", "screen"]), GY = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, VY = /\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$/, UY = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, qY = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, HY = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, $r = (e) => oa(e) || YY.has(e) || WY.test(e), bn = (e) => Ea(e, "length", tG), oa = (e) => !!e && !Number.isNaN(Number(e)), vf = (e) => Ea(e, "number", oa), Ka = (e) => !!e && Number.isInteger(Number(e)), BY = (e) => e.endsWith("%") && oa(e.slice(0, -1)), $e = (e) => IO.test(e), hn = (e) => GY.test(e), XY = /* @__PURE__ */ new Set(["length", "size", "percentage"]), KY = (e) => Ea(e, XY, zO), JY = (e) => Ea(e, "position", zO), QY = /* @__PURE__ */ new Set(["image", "url"]), ZY = (e) => Ea(e, QY, nG), eG = (e) => Ea(e, "", rG), Ja = () => !0, Ea = (e, t, r) => {
|
|
const n = IO.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, tG = (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.
|
|
VY.test(e) && !UY.test(e)
|
|
), zO = () => !1, rG = (e) => qY.test(e), nG = (e) => HY.test(e), oG = () => {
|
|
const e = at("colors"), t = at("spacing"), r = at("blur"), n = at("brightness"), o = at("borderColor"), a = at("borderRadius"), i = at("borderSpacing"), s = at("borderWidth"), c = at("contrast"), l = at("grayscale"), u = at("hueRotate"), f = at("invert"), d = at("gap"), y = at("gradientColorStops"), x = at("gradientColorStopPositions"), m = at("inset"), p = at("margin"), v = at("opacity"), k = at("padding"), $ = at("saturate"), O = at("scale"), b = at("sepia"), L = at("skew"), M = at("space"), B = at("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", $e, t], S = () => [$e, t], ne = () => ["", $r, bn], F = () => ["auto", oa, $e], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", $e], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [oa, $e];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Ja],
|
|
spacing: [$r, bn],
|
|
blur: ["none", "", hn, $e],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", hn, $e],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [BY, bn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
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: [hn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), $e]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Ka, $e]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Ka, $e]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Ja]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Ka, $e]
|
|
}, $e]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Ja]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Ka, $e]
|
|
}, $e]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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: [hn]
|
|
}, hn]
|
|
}],
|
|
/**
|
|
* 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", hn, bn]
|
|
}],
|
|
/**
|
|
* 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", vf]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Ja]
|
|
}],
|
|
/**
|
|
* 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", oa, vf]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", $r, bn]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), JY]
|
|
}],
|
|
/**
|
|
* 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", KY]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, ZY]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* 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, bn]
|
|
}],
|
|
/**
|
|
* 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [$r, bn]
|
|
}],
|
|
/**
|
|
* 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", hn, eG]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Ja]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", hn, $e]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", $e]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* 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: h()
|
|
}],
|
|
/**
|
|
* 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: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Ka, $e]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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, bn, vf]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, z0 = /* @__PURE__ */ LY(oG);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const Ao = {
|
|
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"]
|
|
}, T0 = ({
|
|
icon: e,
|
|
iconClassName: t,
|
|
children: r,
|
|
className: n,
|
|
htmlFor: o,
|
|
variant: a = "primary",
|
|
disabled: i,
|
|
iconFlip: s = !1,
|
|
loading: c,
|
|
as: l = "button",
|
|
href: u,
|
|
target: f,
|
|
...d
|
|
}) => {
|
|
function y(p) {
|
|
switch (p) {
|
|
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 x = z0(
|
|
i || c ? "opacity-50 pointer-events-none" : ""
|
|
), m = z0(
|
|
"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",
|
|
y(a),
|
|
n,
|
|
x
|
|
);
|
|
return o ? /* @__PURE__ */ Me("label", { className: m, htmlFor: o, style: d.style, children: [
|
|
c && !s ? /* @__PURE__ */ W(Pt, { icon: Ao, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && !s ? /* @__PURE__ */ W(Pt, { icon: e, className: t }) : null }),
|
|
r,
|
|
c && s ? /* @__PURE__ */ W(Pt, { icon: Ao, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && s ? /* @__PURE__ */ W(Pt, { icon: e, className: t }) : null })
|
|
] }) : l === "link" && u ? /* @__PURE__ */ Me(
|
|
"a",
|
|
{
|
|
href: u,
|
|
className: m,
|
|
style: d.style,
|
|
...d,
|
|
target: f,
|
|
children: [
|
|
c && !s ? /* @__PURE__ */ W(Pt, { icon: Ao, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && !s ? /* @__PURE__ */ W(Pt, { icon: e, className: t }) : null }),
|
|
r,
|
|
c && s ? /* @__PURE__ */ W(Pt, { icon: Ao, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && s ? /* @__PURE__ */ W(Pt, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Me(
|
|
"button",
|
|
{
|
|
className: m,
|
|
disabled: i || c,
|
|
...d,
|
|
htmlFor: o,
|
|
children: [
|
|
c && !s ? /* @__PURE__ */ W(Pt, { icon: Ao, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && !s ? /* @__PURE__ */ W(Pt, { icon: e, className: t }) : null }),
|
|
r,
|
|
c && s ? /* @__PURE__ */ W(Pt, { icon: Ao, className: "animate-spin" }) : /* @__PURE__ */ W(bt, { children: e && s ? /* @__PURE__ */ W(Pt, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
);
|
|
};
|
|
var tl = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(tl || {});
|
|
tl.FEATURED, tl.MINE, tl.BOOKMARKED;
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const aG = {
|
|
prefix: "fas",
|
|
iconName: "minus",
|
|
icon: [448, 512, [8211, 8722, 10134, "subtract"], "f068", "M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"]
|
|
}, iG = {
|
|
prefix: "fas",
|
|
iconName: "plus",
|
|
icon: [448, 512, [10133, 61543, "add"], "2b", "M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"]
|
|
}, sG = ({
|
|
min: e,
|
|
max: t,
|
|
value: r,
|
|
onChange: n,
|
|
step: o,
|
|
className: a,
|
|
showTooltip: i,
|
|
tooltipContent: s,
|
|
suffix: c,
|
|
innerLabel: l,
|
|
showDecrement: u,
|
|
showIncrement: f,
|
|
variant: d = "filled",
|
|
showProgressBar: y = !0
|
|
}) => {
|
|
var x;
|
|
const [m, p] = Re(r), v = pe(null), [k, $] = Re(!1), [O, b] = Re(!1);
|
|
Xe(() => {
|
|
p(r);
|
|
}, [r]);
|
|
const L = (G) => {
|
|
const Y = Math.round(G / o) * o, V = Math.min(Math.max(Y, e), t);
|
|
p(V), n(V);
|
|
}, M = (G) => {
|
|
if (!v.current) return;
|
|
const Y = v.current.getBoundingClientRect(), V = (G - Y.left) / Y.width * (t - e) + e;
|
|
L(V);
|
|
}, B = (G) => {
|
|
G.preventDefault(), $(!0), b(!0), document.addEventListener("mousemove", H), document.addEventListener("mouseup", U), M(G.clientX);
|
|
}, H = (G) => {
|
|
G.preventDefault(), M(G.clientX);
|
|
}, U = (G) => {
|
|
G.preventDefault(), $(!1), b(!1), document.removeEventListener("mousemove", H), document.removeEventListener("mouseup", U);
|
|
}, X = () => {
|
|
k || b(!0);
|
|
}, S = () => {
|
|
k || b(!1);
|
|
}, ne = () => {
|
|
L(m - o);
|
|
}, F = () => {
|
|
L(m + o);
|
|
}, R = (m - e) / (t - e) * 100, _ = m.toFixed(((x = o.toString().split(".")[1]) == null ? void 0 : x.length) || 0) + (c || "");
|
|
return /* @__PURE__ */ Me("div", { className: "flex w-full", children: [
|
|
u && /* @__PURE__ */ W(
|
|
T0,
|
|
{
|
|
icon: aG,
|
|
className: "focus-visible:outline-primary my-auto mr-1 size-6 rounded-full bg-transparent text-white/80 hover:bg-white/10 active:bg-brand-primary/30",
|
|
onClick: ne
|
|
}
|
|
),
|
|
d === "filled" ? /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
ref: v,
|
|
className: Po(
|
|
"glass border-ui-border group relative h-7 w-full cursor-pointer overflow-hidden rounded-lg border",
|
|
k && "!bg-ui-controls/90",
|
|
a
|
|
),
|
|
onMouseDown: B,
|
|
children: /* @__PURE__ */ Me(
|
|
"div",
|
|
{
|
|
className: Po(
|
|
"absolute h-full bg-brand-primary/30 transition-colors duration-300 group-hover:bg-brand-primary/50",
|
|
k && "!bg-brand-primary/50"
|
|
),
|
|
style: { width: `${R}%` },
|
|
children: [
|
|
l && /* @__PURE__ */ W(
|
|
"span",
|
|
{
|
|
className: Po(
|
|
"absolute top-1/2 ml-2.5 -translate-y-1/2 text-nowrap text-sm font-medium text-white/60 transition-colors duration-300 group-hover:text-white",
|
|
k && "!text-white"
|
|
),
|
|
children: l
|
|
}
|
|
),
|
|
/* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
className: Po(
|
|
"absolute right-0 top-1/2 mr-1 h-4 w-0.5 -translate-y-1/2 rounded-full",
|
|
k ? "bg-white" : "bg-white/50"
|
|
),
|
|
onMouseDown: B,
|
|
onMouseEnter: X,
|
|
onMouseLeave: S
|
|
}
|
|
)
|
|
]
|
|
}
|
|
)
|
|
}
|
|
) : /* @__PURE__ */ Me(
|
|
"div",
|
|
{
|
|
ref: v,
|
|
className: Po(
|
|
"relative h-4 w-full cursor-pointer flex items-center",
|
|
a
|
|
),
|
|
onMouseDown: B,
|
|
children: [
|
|
/* @__PURE__ */ W("div", { className: "absolute left-0 right-0 h-2 bg-ui-border rounded-full bg-white/15" }),
|
|
y && /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
className: "absolute left-0 h-2 bg-white rounded-full transition-all duration-200",
|
|
style: { width: `${R}%` }
|
|
}
|
|
),
|
|
/* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
className: Po(
|
|
"absolute top-1/2 z-10 size-4 -translate-y-1/2 rounded-full border-2 border-white bg-white shadow transition-colors duration-200 hover:ring-[4px] hover:ring-white/20",
|
|
k ? "ring-[4px] ring-white/20" : ""
|
|
),
|
|
style: { left: `calc(${R}% - 10px)` },
|
|
onMouseDown: B,
|
|
onMouseEnter: X,
|
|
onMouseLeave: S
|
|
}
|
|
)
|
|
]
|
|
}
|
|
),
|
|
f && /* @__PURE__ */ W(
|
|
T0,
|
|
{
|
|
icon: iG,
|
|
className: "focus-visible:outline-primary my-auto ml-1 size-6 rounded-full bg-transparent text-white/80 hover:bg-white/10 active:bg-brand-primary/30",
|
|
onClick: F
|
|
}
|
|
),
|
|
i && /* @__PURE__ */ W(
|
|
AD,
|
|
{
|
|
as: "div",
|
|
show: O,
|
|
enter: "transition ease-out duration-200",
|
|
enterFrom: "opacity-0",
|
|
enterTo: "opacity-100",
|
|
leave: "transition ease-in duration-150",
|
|
leaveFrom: "opacity-100 scale-100",
|
|
leaveTo: "opacity-0",
|
|
children: /* @__PURE__ */ W(
|
|
"div",
|
|
{
|
|
className: "absolute -top-8 z-10 rounded-md bg-ui-panel px-2 py-1 text-xs text-black shadow-lg",
|
|
style: { left: `${R}%`, transform: "translateX(-50%)" },
|
|
children: s || _
|
|
}
|
|
)
|
|
}
|
|
)
|
|
] });
|
|
}, qg = "-", lG = (e) => {
|
|
const t = uG(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (i) => {
|
|
const s = i.split(qg);
|
|
return s[0] === "" && s.length !== 1 && s.shift(), TO(s, t) || cG(i);
|
|
},
|
|
getConflictingClassGroupIds: (i, s) => {
|
|
const c = r[i] || [];
|
|
return s && n[i] ? [...c, ...n[i]] : c;
|
|
}
|
|
};
|
|
}, TO = (e, t) => {
|
|
var i;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const r = e[0], n = t.nextPart.get(r), o = n ? TO(e.slice(1), n) : void 0;
|
|
if (o)
|
|
return o;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const a = e.join(qg);
|
|
return (i = t.validators.find(({
|
|
validator: s
|
|
}) => s(a))) == null ? void 0 : i.classGroupId;
|
|
}, M0 = /^\[(.+)\]$/, cG = (e) => {
|
|
if (M0.test(e)) {
|
|
const t = M0.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, uG = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return dG(Object.entries(e.classGroups), r).forEach(([a, i]) => {
|
|
qp(i, n, a, t);
|
|
}), n;
|
|
}, qp = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : R0(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (fG(o)) {
|
|
qp(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
qp(i, R0(t, a), r, n);
|
|
});
|
|
});
|
|
}, R0 = (e, t) => {
|
|
let r = e;
|
|
return t.split(qg).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, fG = (e) => e.isThemeGetter, dG = (e, t) => t ? e.map(([r, n]) => {
|
|
const o = n.map((a) => typeof a == "string" ? t + a : typeof a == "object" ? Object.fromEntries(Object.entries(a).map(([i, s]) => [t + i, s])) : a);
|
|
return [r, o];
|
|
}) : e, pG = (e) => {
|
|
if (e < 1)
|
|
return {
|
|
get: () => {
|
|
},
|
|
set: () => {
|
|
}
|
|
};
|
|
let t = 0, r = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
const o = (a, i) => {
|
|
r.set(a, i), t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ new Map());
|
|
};
|
|
return {
|
|
get(a) {
|
|
let i = r.get(a);
|
|
if (i !== void 0)
|
|
return i;
|
|
if ((i = n.get(a)) !== void 0)
|
|
return o(a, i), i;
|
|
},
|
|
set(a, i) {
|
|
r.has(a) ? r.set(a, i) : o(a, i);
|
|
}
|
|
};
|
|
}, MO = "!", mG = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const c = [];
|
|
let l = 0, u = 0, f;
|
|
for (let p = 0; p < s.length; p++) {
|
|
let v = s[p];
|
|
if (l === 0) {
|
|
if (v === o && (n || s.slice(p, p + a) === t)) {
|
|
c.push(s.slice(u, p)), u = p + a;
|
|
continue;
|
|
}
|
|
if (v === "/") {
|
|
f = p;
|
|
continue;
|
|
}
|
|
}
|
|
v === "[" ? l++ : v === "]" && l--;
|
|
}
|
|
const d = c.length === 0 ? s : s.substring(u), y = d.startsWith(MO), x = y ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: c,
|
|
hasImportantModifier: y,
|
|
baseClassName: x,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, gG = (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;
|
|
}, bG = (e) => ({
|
|
cache: pG(e.cacheSize),
|
|
parseClassName: mG(e),
|
|
...lG(e)
|
|
}), hG = /\s+/, yG = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(hG);
|
|
let s = "";
|
|
for (let c = i.length - 1; c >= 0; c -= 1) {
|
|
const l = i[c], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: y
|
|
} = r(l);
|
|
let x = !!y, m = n(x ? d.substring(0, y) : d);
|
|
if (!m) {
|
|
if (!x) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
x = !1;
|
|
}
|
|
const p = gG(u).join(":"), v = f ? p + MO : p, k = v + m;
|
|
if (a.includes(k))
|
|
continue;
|
|
a.push(k);
|
|
const $ = o(m, x);
|
|
for (let O = 0; O < $.length; ++O) {
|
|
const b = $[O];
|
|
a.push(v + b);
|
|
}
|
|
s = l + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function vG() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = RO(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const RO = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = RO(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function xG(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(c) {
|
|
const l = t.reduce((u, f) => f(u), e());
|
|
return r = bG(l), n = r.cache.get, o = r.cache.set, a = s, s(c);
|
|
}
|
|
function s(c) {
|
|
const l = n(c);
|
|
if (l)
|
|
return l;
|
|
const u = yG(c, r);
|
|
return o(c, u), u;
|
|
}
|
|
return function() {
|
|
return a(vG.apply(null, arguments));
|
|
};
|
|
}
|
|
const it = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, _O = /^\[(?:([a-z-]+):)?(.+)\]$/i, wG = /^\d+\/\d+$/, kG = /* @__PURE__ */ new Set(["px", "full", "screen"]), $G = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, OG = /\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$/, SG = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, PG = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, AG = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, Or = (e) => aa(e) || kG.has(e) || wG.test(e), yn = (e) => Ca(e, "length", MG), aa = (e) => !!e && !Number.isNaN(Number(e)), xf = (e) => Ca(e, "number", aa), Qa = (e) => !!e && Number.isInteger(Number(e)), EG = (e) => e.endsWith("%") && aa(e.slice(0, -1)), Oe = (e) => _O.test(e), vn = (e) => $G.test(e), CG = /* @__PURE__ */ new Set(["length", "size", "percentage"]), NG = (e) => Ca(e, CG, FO), jG = (e) => Ca(e, "position", FO), IG = /* @__PURE__ */ new Set(["image", "url"]), zG = (e) => Ca(e, IG, _G), TG = (e) => Ca(e, "", RG), Za = () => !0, Ca = (e, t, r) => {
|
|
const n = _O.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, MG = (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.
|
|
OG.test(e) && !SG.test(e)
|
|
), FO = () => !1, RG = (e) => PG.test(e), _G = (e) => AG.test(e), FG = () => {
|
|
const e = it("colors"), t = it("spacing"), r = it("blur"), n = it("brightness"), o = it("borderColor"), a = it("borderRadius"), i = it("borderSpacing"), s = it("borderWidth"), c = it("contrast"), l = it("grayscale"), u = it("hueRotate"), f = it("invert"), d = it("gap"), y = it("gradientColorStops"), x = it("gradientColorStopPositions"), m = it("inset"), p = it("margin"), v = it("opacity"), k = it("padding"), $ = it("saturate"), O = it("scale"), b = it("sepia"), L = it("skew"), M = it("space"), B = it("translate"), H = () => ["auto", "contain", "none"], U = () => ["auto", "hidden", "clip", "visible", "scroll"], X = () => ["auto", Oe, t], S = () => [Oe, t], ne = () => ["", Or, yn], F = () => ["auto", aa, Oe], R = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], _ = () => ["solid", "dashed", "dotted", "double", "none"], G = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], V = () => ["", "0", Oe], g = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], h = () => [aa, Oe];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Za],
|
|
spacing: [Or, yn],
|
|
blur: ["none", "", vn, Oe],
|
|
brightness: h(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", vn, Oe],
|
|
borderSpacing: S(),
|
|
borderWidth: ne(),
|
|
contrast: h(),
|
|
grayscale: V(),
|
|
hueRotate: h(),
|
|
invert: V(),
|
|
gap: S(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [EG, yn],
|
|
inset: X(),
|
|
margin: X(),
|
|
opacity: h(),
|
|
padding: S(),
|
|
saturate: h(),
|
|
scale: h(),
|
|
sepia: V(),
|
|
skew: h(),
|
|
space: S(),
|
|
translate: S()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Oe]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [vn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": g()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": g()
|
|
}],
|
|
/**
|
|
* 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: [...R(), Oe]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: U()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": U()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": U()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": H()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": H()
|
|
}],
|
|
/**
|
|
* Position
|
|
* @see https://tailwindcss.com/docs/position
|
|
*/
|
|
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
/**
|
|
* Top / Right / Bottom / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
inset: [{
|
|
inset: [m]
|
|
}],
|
|
/**
|
|
* Right / Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-x": [{
|
|
"inset-x": [m]
|
|
}],
|
|
/**
|
|
* Top / Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
"inset-y": [{
|
|
"inset-y": [m]
|
|
}],
|
|
/**
|
|
* Start
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
start: [{
|
|
start: [m]
|
|
}],
|
|
/**
|
|
* End
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
end: [{
|
|
end: [m]
|
|
}],
|
|
/**
|
|
* Top
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
top: [{
|
|
top: [m]
|
|
}],
|
|
/**
|
|
* Right
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
right: [{
|
|
right: [m]
|
|
}],
|
|
/**
|
|
* Bottom
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
bottom: [{
|
|
bottom: [m]
|
|
}],
|
|
/**
|
|
* Left
|
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
*/
|
|
left: [{
|
|
left: [m]
|
|
}],
|
|
/**
|
|
* Visibility
|
|
* @see https://tailwindcss.com/docs/visibility
|
|
*/
|
|
visibility: ["visible", "invisible", "collapse"],
|
|
/**
|
|
* Z-Index
|
|
* @see https://tailwindcss.com/docs/z-index
|
|
*/
|
|
z: [{
|
|
z: ["auto", Qa, Oe]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: X()
|
|
}],
|
|
/**
|
|
* 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", Oe]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: V()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: V()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Qa, Oe]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Za]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Qa, Oe]
|
|
}, Oe]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": F()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": F()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Za]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Qa, Oe]
|
|
}, Oe]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": F()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": F()
|
|
}],
|
|
/**
|
|
* 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", Oe]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Oe]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [d]
|
|
}],
|
|
/**
|
|
* Gap X
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-x": [{
|
|
"gap-x": [d]
|
|
}],
|
|
/**
|
|
* Gap Y
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
"gap-y": [{
|
|
"gap-y": [d]
|
|
}],
|
|
/**
|
|
* Justify Content
|
|
* @see https://tailwindcss.com/docs/justify-content
|
|
*/
|
|
"justify-content": [{
|
|
justify: ["normal", ...Y()]
|
|
}],
|
|
/**
|
|
* 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", ...Y(), "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": [...Y(), "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: [k]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [k]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [k]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [k]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [k]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [k]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [k]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [k]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [k]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [p]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [p]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [p]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [p]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [p]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [p]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [p]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [p]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [p]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [M]
|
|
}],
|
|
/**
|
|
* 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": [M]
|
|
}],
|
|
/**
|
|
* 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", Oe, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Oe, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Oe, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [vn]
|
|
}, vn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Oe, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Oe, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Oe, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Oe, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", vn, yn]
|
|
}],
|
|
/**
|
|
* 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", xf]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Za]
|
|
}],
|
|
/**
|
|
* 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", Oe]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", aa, xf]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", Or, Oe]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Oe]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Oe]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [..._(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", Or, yn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", Or, Oe]
|
|
}],
|
|
/**
|
|
* 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: S()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Oe]
|
|
}],
|
|
/**
|
|
* 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", Oe]
|
|
}],
|
|
// 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": [v]
|
|
}],
|
|
/**
|
|
* 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: [...R(), jG]
|
|
}],
|
|
/**
|
|
* 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", NG]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, zG]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [x]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [y]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [y]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [v]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [..._(), "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": [v]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: _()
|
|
}],
|
|
/**
|
|
* Border Color
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color": [{
|
|
border: [o]
|
|
}],
|
|
/**
|
|
* Border Color X
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-x": [{
|
|
"border-x": [o]
|
|
}],
|
|
/**
|
|
* Border Color Y
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-y": [{
|
|
"border-y": [o]
|
|
}],
|
|
/**
|
|
* Border Color S
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-s": [{
|
|
"border-s": [o]
|
|
}],
|
|
/**
|
|
* Border Color E
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-e": [{
|
|
"border-e": [o]
|
|
}],
|
|
/**
|
|
* Border Color Top
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-t": [{
|
|
"border-t": [o]
|
|
}],
|
|
/**
|
|
* Border Color Right
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-r": [{
|
|
"border-r": [o]
|
|
}],
|
|
/**
|
|
* Border Color Bottom
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-b": [{
|
|
"border-b": [o]
|
|
}],
|
|
/**
|
|
* Border Color Left
|
|
* @see https://tailwindcss.com/docs/border-color
|
|
*/
|
|
"border-color-l": [{
|
|
"border-l": [o]
|
|
}],
|
|
/**
|
|
* Divide Color
|
|
* @see https://tailwindcss.com/docs/divide-color
|
|
*/
|
|
"divide-color": [{
|
|
divide: [o]
|
|
}],
|
|
/**
|
|
* Outline Style
|
|
* @see https://tailwindcss.com/docs/outline-style
|
|
*/
|
|
"outline-style": [{
|
|
outline: ["", ..._()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [Or, Oe]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [Or, yn]
|
|
}],
|
|
/**
|
|
* 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: ne()
|
|
}],
|
|
/**
|
|
* 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": [v]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [Or, yn]
|
|
}],
|
|
/**
|
|
* 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", vn, TG]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Za]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [v]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...G(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": G()
|
|
}],
|
|
// 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: [c]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", vn, Oe]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [l]
|
|
}],
|
|
/**
|
|
* Hue Rotate
|
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
*/
|
|
"hue-rotate": [{
|
|
"hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Invert
|
|
* @see https://tailwindcss.com/docs/invert
|
|
*/
|
|
invert: [{
|
|
invert: [f]
|
|
}],
|
|
/**
|
|
* Saturate
|
|
* @see https://tailwindcss.com/docs/saturate
|
|
*/
|
|
saturate: [{
|
|
saturate: [$]
|
|
}],
|
|
/**
|
|
* Sepia
|
|
* @see https://tailwindcss.com/docs/sepia
|
|
*/
|
|
sepia: [{
|
|
sepia: [b]
|
|
}],
|
|
/**
|
|
* Backdrop Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
*/
|
|
"backdrop-filter": [{
|
|
"backdrop-filter": ["", "none"]
|
|
}],
|
|
/**
|
|
* Backdrop Blur
|
|
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
*/
|
|
"backdrop-blur": [{
|
|
"backdrop-blur": [r]
|
|
}],
|
|
/**
|
|
* Backdrop Brightness
|
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
*/
|
|
"backdrop-brightness": [{
|
|
"backdrop-brightness": [n]
|
|
}],
|
|
/**
|
|
* Backdrop Contrast
|
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
*/
|
|
"backdrop-contrast": [{
|
|
"backdrop-contrast": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [u]
|
|
}],
|
|
/**
|
|
* Backdrop Invert
|
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
*/
|
|
"backdrop-invert": [{
|
|
"backdrop-invert": [f]
|
|
}],
|
|
/**
|
|
* Backdrop Opacity
|
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
*/
|
|
"backdrop-opacity": [{
|
|
"backdrop-opacity": [v]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [b]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Oe]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: h()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Oe]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: h()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Oe]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [O]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [O]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [O]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Qa, Oe]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [B]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [B]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [L]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [L]
|
|
}],
|
|
/**
|
|
* 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", Oe]
|
|
}],
|
|
// 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", Oe]
|
|
}],
|
|
/**
|
|
* 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": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": S()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": S()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": S()
|
|
}],
|
|
/**
|
|
* 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", Oe]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [Or, yn, xf]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, _0 = /* @__PURE__ */ xG(FG), JG = ({
|
|
isOpen: e,
|
|
onClose: t,
|
|
cameras: r,
|
|
onCameraNameChange: n,
|
|
onCameraFocalLengthChange: o,
|
|
onAddCamera: a,
|
|
selectedCameraId: i,
|
|
handleCameraSelect: s,
|
|
onDeleteCamera: c,
|
|
focalLengthDragging: l,
|
|
disableHotkeyInput: u,
|
|
enableHotkeyInput: f
|
|
}) => {
|
|
const d = r.find((M) => M.id === i), [y, x] = Re(!1), [m, p] = Re(""), [v, k] = Re(null);
|
|
Xe(() => {
|
|
d && p(d.label);
|
|
}, [d == null ? void 0 : d.id]), Xe(() => {
|
|
const M = () => {
|
|
x(!1), l.value = {
|
|
isDragging: !1,
|
|
focalLength: (d == null ? void 0 : d.focalLength) || 35
|
|
};
|
|
};
|
|
return document.addEventListener("pointerup", M), () => document.removeEventListener("pointerup", M);
|
|
}, [d == null ? void 0 : d.focalLength]);
|
|
const $ = () => {
|
|
x(!0), l.value = {
|
|
isDragging: !0,
|
|
focalLength: (d == null ? void 0 : d.focalLength) || 35
|
|
};
|
|
}, O = (M, B) => {
|
|
l.value = { isDragging: !0, focalLength: B }, o(M, B);
|
|
}, b = () => {
|
|
d && m.trim() !== "" ? n(d.id, m) : d && p(d.label), k(null);
|
|
}, L = (M) => {
|
|
k(M);
|
|
};
|
|
return /* @__PURE__ */ W(
|
|
es,
|
|
{
|
|
isOpen: e,
|
|
onClose: t,
|
|
className: _0(
|
|
"h-[500px] max-w-3xl duration-200",
|
|
y ? "opacity-10" : "opacity-100"
|
|
),
|
|
backdropClassName: _0(
|
|
"duration-200",
|
|
y ? "opacity-0" : "opacity-100"
|
|
),
|
|
childPadding: !1,
|
|
disableHotkeyInput: u,
|
|
enableHotkeyInput: f,
|
|
showClose: !1,
|
|
children: /* @__PURE__ */ Me("div", { className: "grid h-full grid-cols-12 gap-3", children: [
|
|
/* @__PURE__ */ Me("div", { className: "relative col-span-4 p-3 pt-2 after:absolute after:right-0 after:top-0 after:h-full after:w-px after:bg-gray-200 after:dark:bg-white/10", children: [
|
|
/* @__PURE__ */ Me("div", { className: "flex items-center justify-between gap-2.5 py-0.5", children: [
|
|
/* @__PURE__ */ W("h2", { className: "text-[18px] font-semibold opacity-80", children: "Camera" }),
|
|
/* @__PURE__ */ W(D1, { content: "Add camera", position: "top", delay: 200, children: /* @__PURE__ */ W(
|
|
"button",
|
|
{
|
|
className: "h-6 w-6 rounded-full text-white/70 transition-colors hover:text-white/100",
|
|
onClick: a,
|
|
children: /* @__PURE__ */ W(vl, { icon: gj, className: "text-xl" })
|
|
}
|
|
) })
|
|
] }),
|
|
/* @__PURE__ */ W("hr", { className: "my-2 w-full border-white/10" }),
|
|
/* @__PURE__ */ W("div", { className: "space-y-1", children: r.map((M) => /* @__PURE__ */ W(
|
|
"button",
|
|
{
|
|
className: `h-9 w-full rounded-lg p-2 text-left transition-colors duration-100 hover:bg-[#63636B]/40 ${M.id === i ? "bg-[#63636B]/40" : ""}`,
|
|
onClick: () => s(M),
|
|
children: /* @__PURE__ */ Me("div", { className: "flex items-center gap-2.5 text-sm", children: [
|
|
M.icon,
|
|
v === M.id ? m : M.label
|
|
] })
|
|
},
|
|
M.id
|
|
)) })
|
|
] }),
|
|
/* @__PURE__ */ W("div", { className: "col-span-8 p-3 ps-0 pt-2", children: /* @__PURE__ */ Me("div", { className: "flex h-full flex-col", children: [
|
|
/* @__PURE__ */ Me("div", { children: [
|
|
/* @__PURE__ */ Me("div", { className: "flex items-center justify-between gap-2.5 py-0.5 opacity-100", children: [
|
|
/* @__PURE__ */ W("h2", { className: "text-[18px] font-semibold", children: (d == null ? void 0 : d.label) || "Camera" }),
|
|
/* @__PURE__ */ W(
|
|
D1,
|
|
{
|
|
content: (d == null ? void 0 : d.id) === "main" ? "Cannot delete the main camera" : "Delete camera",
|
|
position: "top",
|
|
delay: 200,
|
|
children: /* @__PURE__ */ W(
|
|
"button",
|
|
{
|
|
className: `h-6 w-6 rounded-lg transition-colors ${(d == null ? void 0 : d.id) === "main" ? "cursor-not-allowed text-white/30" : "text-white/60 hover:text-white/100"}`,
|
|
onClick: () => d && d.id !== "main" && c(d.id),
|
|
disabled: (d == null ? void 0 : d.id) === "main",
|
|
children: /* @__PURE__ */ W(vl, { icon: mj, className: "text-lg" })
|
|
}
|
|
)
|
|
}
|
|
)
|
|
] }),
|
|
/* @__PURE__ */ W("hr", { className: "my-2 w-full border-white/10" }),
|
|
/* @__PURE__ */ Me("div", { className: "space-y-4", children: [
|
|
/* @__PURE__ */ Me("div", { className: "space-y-1", children: [
|
|
/* @__PURE__ */ W(z1, { htmlFor: "camera-name", className: "text-sm opacity-70", children: "Name" }),
|
|
/* @__PURE__ */ W(
|
|
r3,
|
|
{
|
|
id: "camera-name",
|
|
type: "text",
|
|
value: m,
|
|
onChange: (M) => p(M.target.value),
|
|
onBlur: b,
|
|
onFocus: () => d && L(d.id),
|
|
className: "text-sm"
|
|
}
|
|
)
|
|
] }),
|
|
/* @__PURE__ */ Me("div", { className: "space-y-2", children: [
|
|
/* @__PURE__ */ W(z1, { htmlFor: "focal-length", className: "text-sm opacity-70", children: "Focal Length" }),
|
|
/* @__PURE__ */ Me(
|
|
"div",
|
|
{
|
|
className: "mt-1 flex items-center gap-4",
|
|
onPointerDown: $,
|
|
children: [
|
|
/* @__PURE__ */ W(
|
|
sG,
|
|
{
|
|
min: 10,
|
|
max: 200,
|
|
value: (d == null ? void 0 : d.focalLength) || 35,
|
|
onChange: (M) => d && O(d.id, M),
|
|
step: 1,
|
|
suffix: "mm",
|
|
showDecrement: !0,
|
|
showIncrement: !0,
|
|
className: "w-full"
|
|
}
|
|
),
|
|
/* @__PURE__ */ Me("span", { className: "min-w-[60px] text-sm", children: [
|
|
(d == null ? void 0 : d.focalLength) || 35,
|
|
"mm"
|
|
] })
|
|
]
|
|
}
|
|
)
|
|
] })
|
|
] })
|
|
] }),
|
|
/* @__PURE__ */ W("div", { className: "mt-auto flex justify-end pt-4", children: /* @__PURE__ */ W(DT, { onClick: t, children: "Done" }) })
|
|
] }) })
|
|
] })
|
|
}
|
|
);
|
|
};
|
|
export {
|
|
JG as CameraSettingsModal
|
|
};
|