Files
Brandon Thomas 0daf83dba9 mirror repo (WIP)
Need to remove secrets before entire repo can be made public.
2025-09-18 22:45:56 -04:00

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, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
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, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
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, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
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, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
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, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
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, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
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
};