mirror of
https://github.com/storytold/placeholder-artcraft.git
synced 2026-10-21 07:55:00 +00:00
0daf83dba9
Need to remove secrets before entire repo can be made public.
47422 lines
1.3 MiB
Plaintext
47422 lines
1.3 MiB
Plaintext
import { jsxs as Le, jsx as q, Fragment as jt } from "react/jsx-runtime";
|
|
import * as F from "react";
|
|
import ue, { createContext as It, forwardRef as ab, useRef as ce, useState as $e, useMemo as ut, Fragment as Tt, useContext as lt, useEffect as Se, useLayoutEffect as pl, useCallback as Ye, isValidElement as tu, cloneElement as ru, createElement as ib, useId as $i, useReducer as T6, useSyncExternalStore as R6, useDebugValue as Jv } from "react";
|
|
import * as Fs from "react-dom";
|
|
import M6, { unstable_batchedUpdates as z6, createPortal as Rk, flushSync as Jo } from "react-dom";
|
|
var L6 = Object.defineProperty, F6 = (e, t, r) => t in e ? L6(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, sd = (e, t, r) => (F6(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let D6 = class {
|
|
constructor() {
|
|
sd(this, "current", this.detect()), sd(this, "handoffState", "pending"), sd(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";
|
|
}
|
|
}, Nc = new D6();
|
|
function V6(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function Fu() {
|
|
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 V6(() => {
|
|
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 = Fu();
|
|
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 Mk() {
|
|
let [e] = $e(Fu);
|
|
return Se(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let po = (e, t) => {
|
|
Nc.isServer ? Se(e, t) : pl(e, t);
|
|
};
|
|
function zk(e) {
|
|
let t = ce(e);
|
|
return po(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let vn = function(e) {
|
|
let t = zk(e);
|
|
return ue.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function hm(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function Du(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, Du), n;
|
|
}
|
|
var Lk = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(Lk || {}), lo = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(lo || {});
|
|
function Fk() {
|
|
let e = W6();
|
|
return Ye((t) => H6({ mergeRefs: e, ...t }), [e]);
|
|
}
|
|
function H6({ ourProps: e, theirProps: t, slot: r, defaultTag: n, features: o, visible: a = !0, name: i, mergeRefs: s }) {
|
|
s = s ?? U6;
|
|
let l = Dk(t, e);
|
|
if (a) return Gl(l, r, n, i, s);
|
|
let c = o ?? 0;
|
|
if (c & 2) {
|
|
let { static: u = !1, ...f } = l;
|
|
if (u) return Gl(f, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: u = !0, ...f } = l;
|
|
return Du(u ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return Gl({ ...f, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return Gl(l, r, n, i, s);
|
|
}
|
|
function Gl(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...l } = ld(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof i == "function" ? i(t) : i;
|
|
"className" in l && l.className && typeof l.className == "function" && (l.className = l.className(t)), l["aria-labelledby"] && l["aria-labelledby"] === l.id && (l["aria-labelledby"] = void 0);
|
|
let f = {};
|
|
if (t) {
|
|
let d = !1, g = [];
|
|
for (let [v, m] of Object.entries(t)) typeof m == "boolean" && (d = !0), m === !0 && g.push(v.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
|
|
if (d) {
|
|
f["data-headlessui-state"] = g.join(" ");
|
|
for (let v of g) f[`data-${v}`] = "";
|
|
}
|
|
}
|
|
if (a === Tt && (Object.keys(Lo(l)).length > 0 || Object.keys(Lo(f)).length > 0)) if (!tu(u) || Array.isArray(u) && u.length > 1) {
|
|
if (Object.keys(Lo(l)).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(Lo(l)).concat(Object.keys(Lo(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, g = d == null ? void 0 : d.className, v = typeof g == "function" ? (...w) => hm(g(...w), l.className) : hm(g, l.className), m = v ? { className: v } : {}, h = Dk(u.props, Lo(ld(l, ["ref"])));
|
|
for (let w in f) w in h && delete f[w];
|
|
return ru(u, Object.assign({}, h, f, c, { ref: o(Y6(u), c.ref) }, m));
|
|
}
|
|
return ib(a, Object.assign({}, ld(l, ["ref"]), a !== Tt && c, a !== Tt && f), u);
|
|
}
|
|
function W6() {
|
|
let e = ce([]), t = Ye((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 U6(...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 Dk(...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 sb(e) {
|
|
var t;
|
|
return Object.assign(ab(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function Lo(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function ld(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function Y6(e) {
|
|
return ue.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
let q6 = Symbol();
|
|
function Vk(...e) {
|
|
let t = ce(e);
|
|
Se(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = vn((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[q6])) ? void 0 : r;
|
|
}
|
|
function B6(e = 0) {
|
|
let [t, r] = $e(e), n = Ye((l) => r(l), [t]), o = Ye((l) => r((c) => c | l), [t]), a = Ye((l) => (t & l) === l, [t]), i = Ye((l) => r((c) => c & ~l), [r]), s = Ye((l) => r((c) => c ^ l), [r]);
|
|
return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var Qv, Zv;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((Qv = process == null ? void 0 : process.env) == null ? void 0 : Qv.NODE_ENV) === "test" && typeof ((Zv = Element == null ? void 0 : Element.prototype) == null ? void 0 : Zv.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 G6 = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(G6 || {});
|
|
function K6(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function X6(e, t, r, n) {
|
|
let [o, a] = $e(r), { hasFlag: i, addFlag: s, removeFlag: l } = B6(e && o ? 3 : 0), c = ce(!1), u = ce(!1), f = Mk();
|
|
return po(() => {
|
|
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), J6(t, { inFlight: c, prepare() {
|
|
u.current ? u.current = !1 : u.current = c.current, c.current = !0, !u.current && (r ? (s(3), l(4)) : (s(4), l(2)));
|
|
}, run() {
|
|
u.current ? r ? (l(3), s(4)) : (l(4), s(3)) : r ? l(1) : s(1);
|
|
}, done() {
|
|
var g;
|
|
u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, l(7), r || a(!1), (g = n == null ? void 0 : n.end) == null || g.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 J6(e, { prepare: t, run: r, done: n, inFlight: o }) {
|
|
let a = Fu();
|
|
return Z6(e, { prepare: t, inFlight: o }), a.nextFrame(() => {
|
|
r(), a.requestAnimationFrame(() => {
|
|
a.add(Q6(e, n));
|
|
});
|
|
}), a.dispose;
|
|
}
|
|
function Q6(e, t) {
|
|
var r, n;
|
|
let o = Fu();
|
|
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 Z6(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 lb = It(null);
|
|
lb.displayName = "OpenClosedContext";
|
|
var Vo = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(Vo || {});
|
|
function Hk() {
|
|
return lt(lb);
|
|
}
|
|
function eC({ value: e, children: t }) {
|
|
return ue.createElement(lb.Provider, { value: e }, t);
|
|
}
|
|
function tC() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in F ? ((t) => t.useSyncExternalStore)(F)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function Wk() {
|
|
let e = tC(), [t, r] = F.useState(Nc.isHandoffComplete);
|
|
return t && Nc.isHandoffComplete === !1 && r(!1), F.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), F.useEffect(() => Nc.handoff(), []), e ? !1 : t;
|
|
}
|
|
function rC() {
|
|
let e = ce(!1);
|
|
return po(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function Uk(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : qk) !== Tt || ue.Children.count(e.children) === 1;
|
|
}
|
|
let Vu = It(null);
|
|
Vu.displayName = "TransitionContext";
|
|
var nC = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(nC || {});
|
|
function oC() {
|
|
let e = lt(Vu);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function aC() {
|
|
let e = lt(Hu);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let Hu = It(null);
|
|
Hu.displayName = "NestingContext";
|
|
function Wu(e) {
|
|
return "children" in e ? Wu(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function Yk(e, t) {
|
|
let r = zk(e), n = ce([]), o = rC(), a = Mk(), i = vn((g, v = lo.Hidden) => {
|
|
let m = n.current.findIndex(({ el: h }) => h === g);
|
|
m !== -1 && (Du(v, { [lo.Unmount]() {
|
|
n.current.splice(m, 1);
|
|
}, [lo.Hidden]() {
|
|
n.current[m].state = "hidden";
|
|
} }), a.microTask(() => {
|
|
var h;
|
|
!Wu(n) && o.current && ((h = r.current) == null || h.call(r));
|
|
}));
|
|
}), s = vn((g) => {
|
|
let v = n.current.find(({ el: m }) => m === g);
|
|
return v ? v.state !== "visible" && (v.state = "visible") : n.current.push({ el: g, state: "visible" }), () => i(g, lo.Unmount);
|
|
}), l = ce([]), c = ce(Promise.resolve()), u = ce({ enter: [], leave: [] }), f = vn((g, v, m) => {
|
|
l.current.splice(0), t && (t.chains.current[v] = t.chains.current[v].filter(([h]) => h !== g)), t == null || t.chains.current[v].push([g, new Promise((h) => {
|
|
l.current.push(h);
|
|
})]), t == null || t.chains.current[v].push([g, new Promise((h) => {
|
|
Promise.all(u.current[v].map(([w, x]) => x)).then(() => h());
|
|
})]), v === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => m(v)) : m(v);
|
|
}), d = vn((g, v, m) => {
|
|
Promise.all(u.current[v].splice(0).map(([h, w]) => w)).then(() => {
|
|
var h;
|
|
(h = l.current.shift()) == null || h();
|
|
}).then(() => m(v));
|
|
});
|
|
return ut(() => ({ children: n, register: s, unregister: i, onStart: f, onStop: d, wait: c, chains: u }), [s, i, n, f, d, u, c]);
|
|
}
|
|
let qk = Tt, Bk = Lk.RenderStrategy;
|
|
function iC(e, t) {
|
|
var r, n;
|
|
let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: l, enter: c, enterFrom: u, enterTo: f, entered: d, leave: g, leaveFrom: v, leaveTo: m, ...h } = e, [w, x] = $e(null), $ = ce(null), S = Uk(e), p = Vk(...S ? [$, t, x] : t === null ? [] : [t]), T = (r = h.unmount) == null || r ? lo.Unmount : lo.Hidden, { show: L, appear: G, initial: J } = oC(), [B, Z] = $e(L ? "visible" : "hidden"), M = aC(), { register: ee, unregister: D } = M;
|
|
po(() => ee($), [ee, $]), po(() => {
|
|
if (T === lo.Hidden && $.current) {
|
|
if (L && B !== "visible") {
|
|
Z("visible");
|
|
return;
|
|
}
|
|
return Du(B, { hidden: () => D($), visible: () => ee($) });
|
|
}
|
|
}, [B, $, ee, D, L, T]);
|
|
let V = Wk();
|
|
po(() => {
|
|
if (S && V && B === "visible" && $.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [$, B, V, S]);
|
|
let H = J && !G, W = G && L && J, Y = ce(!1), K = Yk(() => {
|
|
Y.current || (Z("hidden"), D($));
|
|
}, M), y = vn((P) => {
|
|
Y.current = !0;
|
|
let _ = P ? "enter" : "leave";
|
|
K.onStart($, _, (I) => {
|
|
I === "enter" ? a == null || a() : I === "leave" && (s == null || s());
|
|
});
|
|
}), b = vn((P) => {
|
|
let _ = P ? "enter" : "leave";
|
|
Y.current = !1, K.onStop($, _, (I) => {
|
|
I === "enter" ? i == null || i() : I === "leave" && (l == null || l());
|
|
}), _ === "leave" && !Wu(K) && (Z("hidden"), D($));
|
|
});
|
|
Se(() => {
|
|
S && o || (y(L), b(L));
|
|
}, [L, S, o]);
|
|
let E = !(!o || !S || !V || H), [, A] = X6(E, w, L, { start: y, end: b }), C = Lo({ ref: p, className: ((n = hm(h.className, W && c, W && u, A.enter && c, A.enter && A.closed && u, A.enter && !A.closed && f, A.leave && g, A.leave && !A.closed && v, A.leave && A.closed && m, !A.transition && L && d)) == null ? void 0 : n.trim()) || void 0, ...K6(A) }), j = 0;
|
|
B === "visible" && (j |= Vo.Open), B === "hidden" && (j |= Vo.Closed), L && B === "hidden" && (j |= Vo.Opening), !L && B === "visible" && (j |= Vo.Closing);
|
|
let N = Fk();
|
|
return ue.createElement(Hu.Provider, { value: K }, ue.createElement(eC, { value: j }, N({ ourProps: C, theirProps: h, defaultTag: qk, features: Bk, visible: B === "visible", name: "Transition.Child" })));
|
|
}
|
|
function sC(e, t) {
|
|
let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = ce(null), s = Uk(e), l = Vk(...s ? [i, t] : t === null ? [] : [t]);
|
|
Wk();
|
|
let c = Hk();
|
|
if (r === void 0 && c !== null && (r = (c & Vo.Open) === Vo.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [u, f] = $e(r ? "visible" : "hidden"), d = Yk(() => {
|
|
r || f("hidden");
|
|
}), [g, v] = $e(!0), m = ce([r]);
|
|
po(() => {
|
|
g !== !1 && m.current[m.current.length - 1] !== r && (m.current.push(r), v(!1));
|
|
}, [m, r]);
|
|
let h = ut(() => ({ show: r, appear: n, initial: g }), [r, n, g]);
|
|
po(() => {
|
|
r ? f("visible") : !Wu(d) && i.current !== null && f("hidden");
|
|
}, [r, d]);
|
|
let w = { unmount: o }, x = vn(() => {
|
|
var p;
|
|
g && v(!1), (p = e.beforeEnter) == null || p.call(e);
|
|
}), $ = vn(() => {
|
|
var p;
|
|
g && v(!1), (p = e.beforeLeave) == null || p.call(e);
|
|
}), S = Fk();
|
|
return ue.createElement(Hu.Provider, { value: d }, ue.createElement(Vu.Provider, { value: h }, S({ ourProps: { ...w, as: Tt, children: ue.createElement(Gk, { ref: l, ...w, ...a, beforeEnter: x, beforeLeave: $ }) }, theirProps: {}, defaultTag: Tt, features: Bk, visible: u === "visible", name: "Transition" })));
|
|
}
|
|
function lC(e, t) {
|
|
let r = lt(Vu) !== null, n = Hk() !== null;
|
|
return ue.createElement(ue.Fragment, null, !r && n ? ue.createElement(gm, { ref: t, ...e }) : ue.createElement(Gk, { ref: t, ...e }));
|
|
}
|
|
let gm = sb(sC), Gk = sb(iC), cC = sb(lC), uC = Object.assign(gm, { Child: cC, Root: gm });
|
|
const cb = "-", fC = (e) => {
|
|
const t = pC(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(cb);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), Kk(a, t) || dC(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, Kk = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? Kk(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(cb);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, e1 = /^\[(.+)\]$/, dC = (e) => {
|
|
if (e1.test(e)) {
|
|
const t = e1.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, pC = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return hC(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
bm(a, n, o, t);
|
|
}), n;
|
|
}, bm = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : t1(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (mC(o)) {
|
|
bm(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
bm(i, t1(t, a), r, n);
|
|
});
|
|
});
|
|
}, t1 = (e, t) => {
|
|
let r = e;
|
|
return t.split(cb).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, mC = (e) => e.isThemeGetter, hC = (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, gC = (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);
|
|
}
|
|
};
|
|
}, Xk = "!", bC = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const l = [];
|
|
let c = 0, u = 0, f;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
l.push(s.slice(u, h)), u = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
f = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const d = l.length === 0 ? s : s.substring(u), g = d.startsWith(Xk), v = g ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: l,
|
|
hasImportantModifier: g,
|
|
baseClassName: v,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, yC = (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;
|
|
}, vC = (e) => ({
|
|
cache: gC(e.cacheSize),
|
|
parseClassName: bC(e),
|
|
...fC(e)
|
|
}), wC = /\s+/, xC = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(wC);
|
|
let s = "";
|
|
for (let l = i.length - 1; l >= 0; l -= 1) {
|
|
const c = i[l], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: g
|
|
} = r(c);
|
|
let v = !!g, m = n(v ? d.substring(0, g) : d);
|
|
if (!m) {
|
|
if (!v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
v = !1;
|
|
}
|
|
const h = yC(u).join(":"), w = f ? h + Xk : h, x = w + m;
|
|
if (a.includes(x))
|
|
continue;
|
|
a.push(x);
|
|
const $ = o(m, v);
|
|
for (let S = 0; S < $.length; ++S) {
|
|
const p = $[S];
|
|
a.push(w + p);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function $C() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = Jk(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const Jk = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = Jk(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function kC(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(l) {
|
|
const c = t.reduce((u, f) => f(u), e());
|
|
return r = vC(c), n = r.cache.get, o = r.cache.set, a = s, s(l);
|
|
}
|
|
function s(l) {
|
|
const c = n(l);
|
|
if (c)
|
|
return c;
|
|
const u = xC(l, r);
|
|
return o(l, u), u;
|
|
}
|
|
return function() {
|
|
return a($C.apply(null, arguments));
|
|
};
|
|
}
|
|
const dt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, Qk = /^\[(?:([a-z-]+):)?(.+)\]$/i, OC = /^\d+\/\d+$/, SC = /* @__PURE__ */ new Set(["px", "full", "screen"]), EC = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, PC = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, AC = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, CC = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, NC = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ln = (e) => qa(e) || SC.has(e) || OC.test(e), Dn = (e) => ki(e, "length", LC), qa = (e) => !!e && !Number.isNaN(Number(e)), cd = (e) => ki(e, "number", qa), Ui = (e) => !!e && Number.isInteger(Number(e)), jC = (e) => e.endsWith("%") && qa(e.slice(0, -1)), Ce = (e) => Qk.test(e), Vn = (e) => EC.test(e), _C = /* @__PURE__ */ new Set(["length", "size", "percentage"]), IC = (e) => ki(e, _C, Zk), TC = (e) => ki(e, "position", Zk), RC = /* @__PURE__ */ new Set(["image", "url"]), MC = (e) => ki(e, RC, DC), zC = (e) => ki(e, "", FC), Yi = () => !0, ki = (e, t, r) => {
|
|
const n = Qk.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, LC = (e) => (
|
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
PC.test(e) && !AC.test(e)
|
|
), Zk = () => !1, FC = (e) => CC.test(e), DC = (e) => NC.test(e), VC = () => {
|
|
const e = dt("colors"), t = dt("spacing"), r = dt("blur"), n = dt("brightness"), o = dt("borderColor"), a = dt("borderRadius"), i = dt("borderSpacing"), s = dt("borderWidth"), l = dt("contrast"), c = dt("grayscale"), u = dt("hueRotate"), f = dt("invert"), d = dt("gap"), g = dt("gradientColorStops"), v = dt("gradientColorStopPositions"), m = dt("inset"), h = dt("margin"), w = dt("opacity"), x = dt("padding"), $ = dt("saturate"), S = dt("scale"), p = dt("sepia"), T = dt("skew"), L = dt("space"), G = dt("translate"), J = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", Ce, t], M = () => [Ce, t], ee = () => ["", ln, Dn], D = () => ["auto", qa, Ce], V = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], H = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], K = () => ["", "0", Ce], y = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], b = () => [qa, Ce];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Yi],
|
|
spacing: [ln, Dn],
|
|
blur: ["none", "", Vn, Ce],
|
|
brightness: b(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Vn, Ce],
|
|
borderSpacing: M(),
|
|
borderWidth: ee(),
|
|
contrast: b(),
|
|
grayscale: K(),
|
|
hueRotate: b(),
|
|
invert: K(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [jC, Dn],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: b(),
|
|
padding: M(),
|
|
saturate: b(),
|
|
scale: b(),
|
|
sepia: K(),
|
|
skew: b(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Ce]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Vn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": y()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": y()
|
|
}],
|
|
/**
|
|
* 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: [...V(), Ce]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": J()
|
|
}],
|
|
/**
|
|
* 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", Ui, Ce]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", Ce]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: K()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: K()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Ui, Ce]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Yi]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Ui, Ce]
|
|
}, Ce]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": D()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": D()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Yi]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Ui, Ce]
|
|
}, Ce]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": D()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": D()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", Ce]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Ce]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [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: [x]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [x]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [x]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [x]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [x]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [x]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [x]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [x]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [x]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [L]
|
|
}],
|
|
/**
|
|
* 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": [L]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Ce, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Ce, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Ce, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Vn]
|
|
}, Vn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Ce, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Ce, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Ce, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Ce, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Vn, Dn]
|
|
}],
|
|
/**
|
|
* 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", cd]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Yi]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Ce]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", qa, cd]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", ln, Ce]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Ce]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Ce]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...H(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", ln, Dn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", ln, Ce]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ce]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", Ce]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...V(), TC]
|
|
}],
|
|
/**
|
|
* 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", IC]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, MC]
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [g]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...H(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: H()
|
|
}],
|
|
/**
|
|
* 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: ["", ...H()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [ln, Ce]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [ln, Dn]
|
|
}],
|
|
/**
|
|
* 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: ee()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [ln, Dn]
|
|
}],
|
|
/**
|
|
* 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, zC]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Yi]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [l]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Vn, Ce]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* 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": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [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": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [p]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Ce]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: b()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Ce]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: b()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Ce]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Ui, Ce]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [G]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [G]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [T]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [T]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Ce]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Ce]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", Ce]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [ln, Dn, cd]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, HC = /* @__PURE__ */ kC(VC);
|
|
function WC({
|
|
className: e,
|
|
isShowing: t = !0,
|
|
type: r = "typing",
|
|
message: n
|
|
}) {
|
|
const o = HC(
|
|
"w-full h-full flex flex-col justify-center items-center bg-ui-background gap-6",
|
|
e
|
|
);
|
|
return /* @__PURE__ */ Le(
|
|
uC,
|
|
{
|
|
as: "div",
|
|
className: o,
|
|
show: t,
|
|
enter: "transition-opacity duration-150",
|
|
enterFrom: "opacity-0",
|
|
enterTo: "opacity-100",
|
|
leave: "transition-opacity duration-1000",
|
|
leaveFrom: "opacity-100",
|
|
leaveTo: "opacity-0",
|
|
children: [
|
|
r === "typing" && /* @__PURE__ */ q("div", { className: "dot-typing" }),
|
|
r === "bricks" && /* @__PURE__ */ q("div", { className: "dot-bricks" }),
|
|
n && /* @__PURE__ */ q("h4", { children: n })
|
|
]
|
|
}
|
|
);
|
|
}
|
|
function mo(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 r1(e, t) {
|
|
if (typeof e == "function")
|
|
return e(t);
|
|
e != null && (e.current = t);
|
|
}
|
|
function eO(...e) {
|
|
return (t) => {
|
|
let r = !1;
|
|
const n = e.map((o) => {
|
|
const a = r1(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() : r1(e[o], null);
|
|
}
|
|
};
|
|
};
|
|
}
|
|
function xa(...e) {
|
|
return F.useCallback(eO(...e), e);
|
|
}
|
|
function UC(e, t) {
|
|
const r = F.createContext(t), n = (a) => {
|
|
const { children: i, ...s } = a, l = F.useMemo(() => s, Object.values(s));
|
|
return /* @__PURE__ */ q(r.Provider, { value: l, children: i });
|
|
};
|
|
n.displayName = e + "Provider";
|
|
function o(a) {
|
|
const i = F.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 YC(e, t = []) {
|
|
let r = [];
|
|
function n(a, i) {
|
|
const s = F.createContext(i), l = r.length;
|
|
r = [...r, i];
|
|
const c = (f) => {
|
|
var d;
|
|
const { scope: g, children: v, ...m } = f, h = ((d = g == null ? void 0 : g[e]) == null ? void 0 : d[l]) || s, w = F.useMemo(() => m, Object.values(m));
|
|
return /* @__PURE__ */ q(h.Provider, { value: w, children: v });
|
|
};
|
|
c.displayName = a + "Provider";
|
|
function u(f, d) {
|
|
var g;
|
|
const v = ((g = d == null ? void 0 : d[e]) == null ? void 0 : g[l]) || s, m = F.useContext(v);
|
|
if (m) return m;
|
|
if (i !== void 0) return i;
|
|
throw new Error(`\`${f}\` must be used within \`${a}\``);
|
|
}
|
|
return [c, u];
|
|
}
|
|
const o = () => {
|
|
const a = r.map((i) => F.createContext(i));
|
|
return function(i) {
|
|
const s = (i == null ? void 0 : i[e]) || a;
|
|
return F.useMemo(
|
|
() => ({ [`__scope${e}`]: { ...i, [e]: s } }),
|
|
[i, s]
|
|
);
|
|
};
|
|
};
|
|
return o.scopeName = e, [n, qC(o, ...t)];
|
|
}
|
|
function qC(...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: l }) => {
|
|
const c = s(o)[`__scope${l}`];
|
|
return { ...i, ...c };
|
|
}, {});
|
|
return F.useMemo(() => ({ [`__scope${t.scopeName}`]: a }), [a]);
|
|
};
|
|
};
|
|
return r.scopeName = t.scopeName, r;
|
|
}
|
|
var Ds = globalThis != null && globalThis.document ? F.useLayoutEffect : () => {
|
|
}, BC = F[" useId ".trim().toString()] || (() => {
|
|
}), GC = 0;
|
|
function ud(e) {
|
|
const [t, r] = F.useState(BC());
|
|
return Ds(() => {
|
|
r((n) => n ?? String(GC++));
|
|
}, [e]), e || (t ? `radix-${t}` : "");
|
|
}
|
|
var KC = F[" useInsertionEffect ".trim().toString()] || Ds;
|
|
function XC({
|
|
prop: e,
|
|
defaultProp: t,
|
|
onChange: r = () => {
|
|
},
|
|
caller: n
|
|
}) {
|
|
const [o, a, i] = JC({
|
|
defaultProp: t,
|
|
onChange: r
|
|
}), s = e !== void 0, l = s ? e : o;
|
|
{
|
|
const u = F.useRef(e !== void 0);
|
|
F.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 c = F.useCallback(
|
|
(u) => {
|
|
var f;
|
|
if (s) {
|
|
const d = QC(u) ? u(e) : u;
|
|
d !== e && ((f = i.current) == null || f.call(i, d));
|
|
} else
|
|
a(u);
|
|
},
|
|
[s, e, a, i]
|
|
);
|
|
return [l, c];
|
|
}
|
|
function JC({
|
|
defaultProp: e,
|
|
onChange: t
|
|
}) {
|
|
const [r, n] = F.useState(e), o = F.useRef(r), a = F.useRef(t);
|
|
return KC(() => {
|
|
a.current = t;
|
|
}, [t]), F.useEffect(() => {
|
|
var i;
|
|
o.current !== r && ((i = a.current) == null || i.call(a, r), o.current = r);
|
|
}, [r, o]), [r, n, a];
|
|
}
|
|
function QC(e) {
|
|
return typeof e == "function";
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function tO(e) {
|
|
const t = /* @__PURE__ */ ZC(e), r = F.forwardRef((n, o) => {
|
|
const { children: a, ...i } = n, s = F.Children.toArray(a), l = s.find(tN);
|
|
if (l) {
|
|
const c = l.props.children, u = s.map((f) => f === l ? F.Children.count(c) > 1 ? F.Children.only(null) : F.isValidElement(c) ? c.props.children : null : f);
|
|
return /* @__PURE__ */ q(t, { ...i, ref: o, children: F.isValidElement(c) ? F.cloneElement(c, void 0, u) : null });
|
|
}
|
|
return /* @__PURE__ */ q(t, { ...i, ref: o, children: a });
|
|
});
|
|
return r.displayName = `${e}.Slot`, r;
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function ZC(e) {
|
|
const t = F.forwardRef((r, n) => {
|
|
const { children: o, ...a } = r;
|
|
if (F.isValidElement(o)) {
|
|
const i = nN(o), s = rN(a, o.props);
|
|
return o.type !== F.Fragment && (s.ref = n ? eO(n, i) : i), F.cloneElement(o, s);
|
|
}
|
|
return F.Children.count(o) > 1 ? F.Children.only(null) : null;
|
|
});
|
|
return t.displayName = `${e}.SlotClone`, t;
|
|
}
|
|
var eN = Symbol("radix.slottable");
|
|
function tN(e) {
|
|
return F.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === eN;
|
|
}
|
|
function rN(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 nN(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 oN = [
|
|
"a",
|
|
"button",
|
|
"div",
|
|
"form",
|
|
"h2",
|
|
"h3",
|
|
"img",
|
|
"input",
|
|
"label",
|
|
"li",
|
|
"nav",
|
|
"ol",
|
|
"p",
|
|
"select",
|
|
"span",
|
|
"svg",
|
|
"ul"
|
|
], nn = oN.reduce((e, t) => {
|
|
const r = /* @__PURE__ */ tO(`Primitive.${t}`), n = F.forwardRef((o, a) => {
|
|
const { asChild: i, ...s } = o, l = i ? r : t;
|
|
return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ q(l, { ...s, ref: a });
|
|
});
|
|
return n.displayName = `Primitive.${t}`, { ...e, [t]: n };
|
|
}, {});
|
|
function aN(e, t) {
|
|
e && Fs.flushSync(() => e.dispatchEvent(t));
|
|
}
|
|
function Vs(e) {
|
|
const t = F.useRef(e);
|
|
return F.useEffect(() => {
|
|
t.current = e;
|
|
}), F.useMemo(() => (...r) => {
|
|
var n;
|
|
return (n = t.current) == null ? void 0 : n.call(t, ...r);
|
|
}, []);
|
|
}
|
|
function iN(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = Vs(e);
|
|
F.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 sN = "DismissableLayer", ym = "dismissableLayer.update", lN = "dismissableLayer.pointerDownOutside", cN = "dismissableLayer.focusOutside", n1, rO = F.createContext({
|
|
layers: /* @__PURE__ */ new Set(),
|
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
branches: /* @__PURE__ */ new Set()
|
|
}), nO = F.forwardRef(
|
|
(e, t) => {
|
|
const {
|
|
disableOutsidePointerEvents: r = !1,
|
|
onEscapeKeyDown: n,
|
|
onPointerDownOutside: o,
|
|
onFocusOutside: a,
|
|
onInteractOutside: i,
|
|
onDismiss: s,
|
|
...l
|
|
} = e, c = F.useContext(rO), [u, f] = F.useState(null), d = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, g] = F.useState({}), v = xa(t, (L) => f(L)), m = Array.from(c.layers), [h] = [...c.layersWithOutsidePointerEventsDisabled].slice(-1), w = m.indexOf(h), x = u ? m.indexOf(u) : -1, $ = c.layersWithOutsidePointerEventsDisabled.size > 0, S = x >= w, p = dN((L) => {
|
|
const G = L.target, J = [...c.branches].some((B) => B.contains(G));
|
|
!S || J || (o == null || o(L), i == null || i(L), L.defaultPrevented || s == null || s());
|
|
}, d), T = pN((L) => {
|
|
const G = L.target;
|
|
[...c.branches].some((J) => J.contains(G)) || (a == null || a(L), i == null || i(L), L.defaultPrevented || s == null || s());
|
|
}, d);
|
|
return iN((L) => {
|
|
x === c.layers.size - 1 && (n == null || n(L), !L.defaultPrevented && s && (L.preventDefault(), s()));
|
|
}, d), F.useEffect(() => {
|
|
if (u)
|
|
return r && (c.layersWithOutsidePointerEventsDisabled.size === 0 && (n1 = d.body.style.pointerEvents, d.body.style.pointerEvents = "none"), c.layersWithOutsidePointerEventsDisabled.add(u)), c.layers.add(u), o1(), () => {
|
|
r && c.layersWithOutsidePointerEventsDisabled.size === 1 && (d.body.style.pointerEvents = n1);
|
|
};
|
|
}, [u, d, r, c]), F.useEffect(() => () => {
|
|
u && (c.layers.delete(u), c.layersWithOutsidePointerEventsDisabled.delete(u), o1());
|
|
}, [u, c]), F.useEffect(() => {
|
|
const L = () => g({});
|
|
return document.addEventListener(ym, L), () => document.removeEventListener(ym, L);
|
|
}, []), /* @__PURE__ */ q(
|
|
nn.div,
|
|
{
|
|
...l,
|
|
ref: v,
|
|
style: {
|
|
pointerEvents: $ ? S ? "auto" : "none" : void 0,
|
|
...e.style
|
|
},
|
|
onFocusCapture: mo(e.onFocusCapture, T.onFocusCapture),
|
|
onBlurCapture: mo(e.onBlurCapture, T.onBlurCapture),
|
|
onPointerDownCapture: mo(
|
|
e.onPointerDownCapture,
|
|
p.onPointerDownCapture
|
|
)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
nO.displayName = sN;
|
|
var uN = "DismissableLayerBranch", fN = F.forwardRef((e, t) => {
|
|
const r = F.useContext(rO), n = F.useRef(null), o = xa(t, n);
|
|
return F.useEffect(() => {
|
|
const a = n.current;
|
|
if (a)
|
|
return r.branches.add(a), () => {
|
|
r.branches.delete(a);
|
|
};
|
|
}, [r.branches]), /* @__PURE__ */ q(nn.div, { ...e, ref: o });
|
|
});
|
|
fN.displayName = uN;
|
|
function dN(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = Vs(e), n = F.useRef(!1), o = F.useRef(() => {
|
|
});
|
|
return F.useEffect(() => {
|
|
const a = (s) => {
|
|
if (s.target && !n.current) {
|
|
let l = function() {
|
|
oO(
|
|
lN,
|
|
r,
|
|
c,
|
|
{ discrete: !0 }
|
|
);
|
|
};
|
|
const c = { originalEvent: s };
|
|
s.pointerType === "touch" ? (t.removeEventListener("click", o.current), o.current = l, t.addEventListener("click", o.current, { once: !0 })) : l();
|
|
} 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 pN(e, t = globalThis == null ? void 0 : globalThis.document) {
|
|
const r = Vs(e), n = F.useRef(!1);
|
|
return F.useEffect(() => {
|
|
const o = (a) => {
|
|
a.target && !n.current && oO(cN, 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 o1() {
|
|
const e = new CustomEvent(ym);
|
|
document.dispatchEvent(e);
|
|
}
|
|
function oO(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 ? aN(o, a) : o.dispatchEvent(a);
|
|
}
|
|
var fd = "focusScope.autoFocusOnMount", dd = "focusScope.autoFocusOnUnmount", a1 = { bubbles: !1, cancelable: !0 }, mN = "FocusScope", aO = F.forwardRef((e, t) => {
|
|
const {
|
|
loop: r = !1,
|
|
trapped: n = !1,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
...i
|
|
} = e, [s, l] = F.useState(null), c = Vs(o), u = Vs(a), f = F.useRef(null), d = xa(t, (m) => l(m)), g = F.useRef({
|
|
paused: !1,
|
|
pause() {
|
|
this.paused = !0;
|
|
},
|
|
resume() {
|
|
this.paused = !1;
|
|
}
|
|
}).current;
|
|
F.useEffect(() => {
|
|
if (n) {
|
|
let m = function($) {
|
|
if (g.paused || !s) return;
|
|
const S = $.target;
|
|
s.contains(S) ? f.current = S : ao(f.current, { select: !0 });
|
|
}, h = function($) {
|
|
if (g.paused || !s) return;
|
|
const S = $.relatedTarget;
|
|
S !== null && (s.contains(S) || ao(f.current, { select: !0 }));
|
|
}, w = function($) {
|
|
if (document.activeElement === document.body)
|
|
for (const S of $)
|
|
S.removedNodes.length > 0 && ao(s);
|
|
};
|
|
document.addEventListener("focusin", m), document.addEventListener("focusout", h);
|
|
const x = new MutationObserver(w);
|
|
return s && x.observe(s, { childList: !0, subtree: !0 }), () => {
|
|
document.removeEventListener("focusin", m), document.removeEventListener("focusout", h), x.disconnect();
|
|
};
|
|
}
|
|
}, [n, s, g.paused]), F.useEffect(() => {
|
|
if (s) {
|
|
s1.add(g);
|
|
const m = document.activeElement;
|
|
if (!s.contains(m)) {
|
|
const h = new CustomEvent(fd, a1);
|
|
s.addEventListener(fd, c), s.dispatchEvent(h), h.defaultPrevented || (hN(wN(iO(s)), { select: !0 }), document.activeElement === m && ao(s));
|
|
}
|
|
return () => {
|
|
s.removeEventListener(fd, c), setTimeout(() => {
|
|
const h = new CustomEvent(dd, a1);
|
|
s.addEventListener(dd, u), s.dispatchEvent(h), h.defaultPrevented || ao(m ?? document.body, { select: !0 }), s.removeEventListener(dd, u), s1.remove(g);
|
|
}, 0);
|
|
};
|
|
}
|
|
}, [s, c, u, g]);
|
|
const v = F.useCallback(
|
|
(m) => {
|
|
if (!r && !n || g.paused) return;
|
|
const h = m.key === "Tab" && !m.altKey && !m.ctrlKey && !m.metaKey, w = document.activeElement;
|
|
if (h && w) {
|
|
const x = m.currentTarget, [$, S] = gN(x);
|
|
$ && S ? !m.shiftKey && w === S ? (m.preventDefault(), r && ao($, { select: !0 })) : m.shiftKey && w === $ && (m.preventDefault(), r && ao(S, { select: !0 })) : w === x && m.preventDefault();
|
|
}
|
|
},
|
|
[r, n, g.paused]
|
|
);
|
|
return /* @__PURE__ */ q(nn.div, { tabIndex: -1, ...i, ref: d, onKeyDown: v });
|
|
});
|
|
aO.displayName = mN;
|
|
function hN(e, { select: t = !1 } = {}) {
|
|
const r = document.activeElement;
|
|
for (const n of e)
|
|
if (ao(n, { select: t }), document.activeElement !== r) return;
|
|
}
|
|
function gN(e) {
|
|
const t = iO(e), r = i1(t, e), n = i1(t.reverse(), e);
|
|
return [r, n];
|
|
}
|
|
function iO(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 i1(e, t) {
|
|
for (const r of e)
|
|
if (!bN(r, { upTo: t })) return r;
|
|
}
|
|
function bN(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 yN(e) {
|
|
return e instanceof HTMLInputElement && "select" in e;
|
|
}
|
|
function ao(e, { select: t = !1 } = {}) {
|
|
if (e && e.focus) {
|
|
const r = document.activeElement;
|
|
e.focus({ preventScroll: !0 }), e !== r && yN(e) && t && e.select();
|
|
}
|
|
}
|
|
var s1 = vN();
|
|
function vN() {
|
|
let e = [];
|
|
return {
|
|
add(t) {
|
|
const r = e[0];
|
|
t !== r && (r == null || r.pause()), e = l1(e, t), e.unshift(t);
|
|
},
|
|
remove(t) {
|
|
var r;
|
|
e = l1(e, t), (r = e[0]) == null || r.resume();
|
|
}
|
|
};
|
|
}
|
|
function l1(e, t) {
|
|
const r = [...e], n = r.indexOf(t);
|
|
return n !== -1 && r.splice(n, 1), r;
|
|
}
|
|
function wN(e) {
|
|
return e.filter((t) => t.tagName !== "A");
|
|
}
|
|
var xN = "Portal", sO = F.forwardRef((e, t) => {
|
|
var r;
|
|
const { container: n, ...o } = e, [a, i] = F.useState(!1);
|
|
Ds(() => i(!0), []);
|
|
const s = n || a && ((r = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : r.body);
|
|
return s ? M6.createPortal(/* @__PURE__ */ q(nn.div, { ...o, ref: t }), s) : null;
|
|
});
|
|
sO.displayName = xN;
|
|
function $N(e, t) {
|
|
return F.useReducer((r, n) => t[r][n] ?? r, e);
|
|
}
|
|
var Uu = (e) => {
|
|
const { present: t, children: r } = e, n = kN(t), o = typeof r == "function" ? r({ present: n.isPresent }) : F.Children.only(r), a = xa(n.ref, ON(o));
|
|
return typeof r == "function" || n.isPresent ? F.cloneElement(o, { ref: a }) : null;
|
|
};
|
|
Uu.displayName = "Presence";
|
|
function kN(e) {
|
|
const [t, r] = F.useState(), n = F.useRef(null), o = F.useRef(e), a = F.useRef("none"), i = e ? "mounted" : "unmounted", [s, l] = $N(i, {
|
|
mounted: {
|
|
UNMOUNT: "unmounted",
|
|
ANIMATION_OUT: "unmountSuspended"
|
|
},
|
|
unmountSuspended: {
|
|
MOUNT: "mounted",
|
|
ANIMATION_END: "unmounted"
|
|
},
|
|
unmounted: {
|
|
MOUNT: "mounted"
|
|
}
|
|
});
|
|
return F.useEffect(() => {
|
|
const c = Kl(n.current);
|
|
a.current = s === "mounted" ? c : "none";
|
|
}, [s]), Ds(() => {
|
|
const c = n.current, u = o.current;
|
|
if (u !== e) {
|
|
const f = a.current, d = Kl(c);
|
|
e ? l("MOUNT") : d === "none" || (c == null ? void 0 : c.display) === "none" ? l("UNMOUNT") : l(u && f !== d ? "ANIMATION_OUT" : "UNMOUNT"), o.current = e;
|
|
}
|
|
}, [e, l]), Ds(() => {
|
|
if (t) {
|
|
let c;
|
|
const u = t.ownerDocument.defaultView ?? window, f = (g) => {
|
|
const v = Kl(n.current).includes(g.animationName);
|
|
if (g.target === t && v && (l("ANIMATION_END"), !o.current)) {
|
|
const m = t.style.animationFillMode;
|
|
t.style.animationFillMode = "forwards", c = u.setTimeout(() => {
|
|
t.style.animationFillMode === "forwards" && (t.style.animationFillMode = m);
|
|
});
|
|
}
|
|
}, d = (g) => {
|
|
g.target === t && (a.current = Kl(n.current));
|
|
};
|
|
return t.addEventListener("animationstart", d), t.addEventListener("animationcancel", f), t.addEventListener("animationend", f), () => {
|
|
u.clearTimeout(c), t.removeEventListener("animationstart", d), t.removeEventListener("animationcancel", f), t.removeEventListener("animationend", f);
|
|
};
|
|
} else
|
|
l("ANIMATION_END");
|
|
}, [t, l]), {
|
|
isPresent: ["mounted", "unmountSuspended"].includes(s),
|
|
ref: F.useCallback((c) => {
|
|
n.current = c ? getComputedStyle(c) : null, r(c);
|
|
}, [])
|
|
};
|
|
}
|
|
function Kl(e) {
|
|
return (e == null ? void 0 : e.animationName) || "none";
|
|
}
|
|
function ON(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 pd = 0;
|
|
function SN() {
|
|
F.useEffect(() => {
|
|
const e = document.querySelectorAll("[data-radix-focus-guard]");
|
|
return document.body.insertAdjacentElement("afterbegin", e[0] ?? c1()), document.body.insertAdjacentElement("beforeend", e[1] ?? c1()), pd++, () => {
|
|
pd === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((t) => t.remove()), pd--;
|
|
};
|
|
}, []);
|
|
}
|
|
function c1() {
|
|
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 Dr = function() {
|
|
return Dr = 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;
|
|
}, Dr.apply(this, arguments);
|
|
};
|
|
function lO(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 EN(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 jc = "right-scroll-bar-position", _c = "width-before-scroll-bar", PN = "with-scroll-bars-hidden", AN = "--removed-body-scroll-bar-size";
|
|
function md(e, t) {
|
|
return typeof e == "function" ? e(t) : e && (e.current = t), e;
|
|
}
|
|
function CN(e, t) {
|
|
var r = $e(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 NN = typeof window < "u" ? F.useLayoutEffect : F.useEffect, u1 = /* @__PURE__ */ new WeakMap();
|
|
function jN(e, t) {
|
|
var r = CN(null, function(n) {
|
|
return e.forEach(function(o) {
|
|
return md(o, n);
|
|
});
|
|
});
|
|
return NN(function() {
|
|
var n = u1.get(r);
|
|
if (n) {
|
|
var o = new Set(n), a = new Set(e), i = r.current;
|
|
o.forEach(function(s) {
|
|
a.has(s) || md(s, null);
|
|
}), a.forEach(function(s) {
|
|
o.has(s) || md(s, i);
|
|
});
|
|
}
|
|
u1.set(r, e);
|
|
}, [e]), r;
|
|
}
|
|
function _N(e) {
|
|
return e;
|
|
}
|
|
function IN(e, t) {
|
|
t === void 0 && (t = _N);
|
|
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 l = function() {
|
|
var u = i;
|
|
i = [], u.forEach(a);
|
|
}, c = function() {
|
|
return Promise.resolve().then(l);
|
|
};
|
|
c(), r = {
|
|
push: function(u) {
|
|
i.push(u), c();
|
|
},
|
|
filter: function(u) {
|
|
return i = i.filter(u), r;
|
|
}
|
|
};
|
|
}
|
|
};
|
|
return o;
|
|
}
|
|
function TN(e) {
|
|
e === void 0 && (e = {});
|
|
var t = IN(null);
|
|
return t.options = Dr({ async: !0, ssr: !1 }, e), t;
|
|
}
|
|
var cO = function(e) {
|
|
var t = e.sideCar, r = lO(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 F.createElement(n, Dr({}, r));
|
|
};
|
|
cO.isSideCarExport = !0;
|
|
function RN(e, t) {
|
|
return e.useMedium(t), cO;
|
|
}
|
|
var uO = TN(), hd = function() {
|
|
}, Yu = F.forwardRef(function(e, t) {
|
|
var r = F.useRef(null), n = F.useState({
|
|
onScrollCapture: hd,
|
|
onWheelCapture: hd,
|
|
onTouchMoveCapture: hd
|
|
}), o = n[0], a = n[1], i = e.forwardProps, s = e.children, l = e.className, c = e.removeScrollBar, u = e.enabled, f = e.shards, d = e.sideCar, g = e.noRelative, v = e.noIsolation, m = e.inert, h = e.allowPinchZoom, w = e.as, x = w === void 0 ? "div" : w, $ = e.gapMode, S = lO(e, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noRelative", "noIsolation", "inert", "allowPinchZoom", "as", "gapMode"]), p = d, T = jN([r, t]), L = Dr(Dr({}, S), o);
|
|
return F.createElement(
|
|
F.Fragment,
|
|
null,
|
|
u && F.createElement(p, { sideCar: uO, removeScrollBar: c, shards: f, noRelative: g, noIsolation: v, inert: m, setCallbacks: a, allowPinchZoom: !!h, lockRef: r, gapMode: $ }),
|
|
i ? F.cloneElement(F.Children.only(s), Dr(Dr({}, L), { ref: T })) : F.createElement(x, Dr({}, L, { className: l, ref: T }), s)
|
|
);
|
|
});
|
|
Yu.defaultProps = {
|
|
enabled: !0,
|
|
removeScrollBar: !0,
|
|
inert: !1
|
|
};
|
|
Yu.classNames = {
|
|
fullWidth: _c,
|
|
zeroRight: jc
|
|
};
|
|
var MN = function() {
|
|
if (typeof __webpack_nonce__ < "u")
|
|
return __webpack_nonce__;
|
|
};
|
|
function zN() {
|
|
if (!document)
|
|
return null;
|
|
var e = document.createElement("style");
|
|
e.type = "text/css";
|
|
var t = MN();
|
|
return t && e.setAttribute("nonce", t), e;
|
|
}
|
|
function LN(e, t) {
|
|
e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
|
|
}
|
|
function FN(e) {
|
|
var t = document.head || document.getElementsByTagName("head")[0];
|
|
t.appendChild(e);
|
|
}
|
|
var DN = function() {
|
|
var e = 0, t = null;
|
|
return {
|
|
add: function(r) {
|
|
e == 0 && (t = zN()) && (LN(t, r), FN(t)), e++;
|
|
},
|
|
remove: function() {
|
|
e--, !e && t && (t.parentNode && t.parentNode.removeChild(t), t = null);
|
|
}
|
|
};
|
|
}, VN = function() {
|
|
var e = DN();
|
|
return function(t, r) {
|
|
F.useEffect(function() {
|
|
return e.add(t), function() {
|
|
e.remove();
|
|
};
|
|
}, [t && r]);
|
|
};
|
|
}, fO = function() {
|
|
var e = VN(), t = function(r) {
|
|
var n = r.styles, o = r.dynamic;
|
|
return e(n, o), null;
|
|
};
|
|
return t;
|
|
}, HN = {
|
|
left: 0,
|
|
top: 0,
|
|
right: 0,
|
|
gap: 0
|
|
}, gd = function(e) {
|
|
return parseInt(e || "", 10) || 0;
|
|
}, WN = 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 [gd(r), gd(n), gd(o)];
|
|
}, UN = function(e) {
|
|
if (e === void 0 && (e = "margin"), typeof window > "u")
|
|
return HN;
|
|
var t = WN(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])
|
|
};
|
|
}, YN = fO(), Ba = "data-scroll-locked", qN = 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(PN, ` {
|
|
overflow: hidden `).concat(n, `;
|
|
padding-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
body[`).concat(Ba, `] {
|
|
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(jc, ` {
|
|
right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(_c, ` {
|
|
margin-right: `).concat(s, "px ").concat(n, `;
|
|
}
|
|
|
|
.`).concat(jc, " .").concat(jc, ` {
|
|
right: 0 `).concat(n, `;
|
|
}
|
|
|
|
.`).concat(_c, " .").concat(_c, ` {
|
|
margin-right: 0 `).concat(n, `;
|
|
}
|
|
|
|
body[`).concat(Ba, `] {
|
|
`).concat(AN, ": ").concat(s, `px;
|
|
}
|
|
`);
|
|
}, f1 = function() {
|
|
var e = parseInt(document.body.getAttribute(Ba) || "0", 10);
|
|
return isFinite(e) ? e : 0;
|
|
}, BN = function() {
|
|
F.useEffect(function() {
|
|
return document.body.setAttribute(Ba, (f1() + 1).toString()), function() {
|
|
var e = f1() - 1;
|
|
e <= 0 ? document.body.removeAttribute(Ba) : document.body.setAttribute(Ba, e.toString());
|
|
};
|
|
}, []);
|
|
}, GN = function(e) {
|
|
var t = e.noRelative, r = e.noImportant, n = e.gapMode, o = n === void 0 ? "margin" : n;
|
|
BN();
|
|
var a = F.useMemo(function() {
|
|
return UN(o);
|
|
}, [o]);
|
|
return F.createElement(YN, { styles: qN(a, !t, o, r ? "" : "!important") });
|
|
}, vm = !1;
|
|
if (typeof window < "u")
|
|
try {
|
|
var Xl = Object.defineProperty({}, "passive", {
|
|
get: function() {
|
|
return vm = !0, !0;
|
|
}
|
|
});
|
|
window.addEventListener("test", Xl, Xl), window.removeEventListener("test", Xl, Xl);
|
|
} catch {
|
|
vm = !1;
|
|
}
|
|
var Ea = vm ? { passive: !1 } : !1, KN = function(e) {
|
|
return e.tagName === "TEXTAREA";
|
|
}, dO = 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 && !KN(e) && r[t] === "visible")
|
|
);
|
|
}, XN = function(e) {
|
|
return dO(e, "overflowY");
|
|
}, JN = function(e) {
|
|
return dO(e, "overflowX");
|
|
}, d1 = function(e, t) {
|
|
var r = t.ownerDocument, n = t;
|
|
do {
|
|
typeof ShadowRoot < "u" && n instanceof ShadowRoot && (n = n.host);
|
|
var o = pO(e, n);
|
|
if (o) {
|
|
var a = mO(e, n), i = a[1], s = a[2];
|
|
if (i > s)
|
|
return !0;
|
|
}
|
|
n = n.parentNode;
|
|
} while (n && n !== r.body);
|
|
return !1;
|
|
}, QN = function(e) {
|
|
var t = e.scrollTop, r = e.scrollHeight, n = e.clientHeight;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, ZN = function(e) {
|
|
var t = e.scrollLeft, r = e.scrollWidth, n = e.clientWidth;
|
|
return [
|
|
t,
|
|
r,
|
|
n
|
|
];
|
|
}, pO = function(e, t) {
|
|
return e === "v" ? XN(t) : JN(t);
|
|
}, mO = function(e, t) {
|
|
return e === "v" ? QN(t) : ZN(t);
|
|
}, ej = function(e, t) {
|
|
return e === "h" && t === "rtl" ? -1 : 1;
|
|
}, tj = function(e, t, r, n, o) {
|
|
var a = ej(e, window.getComputedStyle(t).direction), i = a * n, s = r.target, l = t.contains(s), c = !1, u = i > 0, f = 0, d = 0;
|
|
do {
|
|
if (!s)
|
|
break;
|
|
var g = mO(e, s), v = g[0], m = g[1], h = g[2], w = m - h - a * v;
|
|
(v || w) && pO(e, s) && (f += w, d += v);
|
|
var x = s.parentNode;
|
|
s = x && x.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? x.host : x;
|
|
} while (
|
|
// portaled content
|
|
!l && s !== document.body || // self content
|
|
l && (t.contains(s) || t === s)
|
|
);
|
|
return (u && Math.abs(f) < 1 || !u && Math.abs(d) < 1) && (c = !0), c;
|
|
}, Jl = function(e) {
|
|
return "changedTouches" in e ? [e.changedTouches[0].clientX, e.changedTouches[0].clientY] : [0, 0];
|
|
}, p1 = function(e) {
|
|
return [e.deltaX, e.deltaY];
|
|
}, m1 = function(e) {
|
|
return e && "current" in e ? e.current : e;
|
|
}, rj = function(e, t) {
|
|
return e[0] === t[0] && e[1] === t[1];
|
|
}, nj = function(e) {
|
|
return `
|
|
.block-interactivity-`.concat(e, ` {pointer-events: none;}
|
|
.allow-interactivity-`).concat(e, ` {pointer-events: all;}
|
|
`);
|
|
}, oj = 0, Pa = [];
|
|
function aj(e) {
|
|
var t = F.useRef([]), r = F.useRef([0, 0]), n = F.useRef(), o = F.useState(oj++)[0], a = F.useState(fO)[0], i = F.useRef(e);
|
|
F.useEffect(function() {
|
|
i.current = e;
|
|
}, [e]), F.useEffect(function() {
|
|
if (e.inert) {
|
|
document.body.classList.add("block-interactivity-".concat(o));
|
|
var m = EN([e.lockRef.current], (e.shards || []).map(m1)).filter(Boolean);
|
|
return m.forEach(function(h) {
|
|
return h.classList.add("allow-interactivity-".concat(o));
|
|
}), function() {
|
|
document.body.classList.remove("block-interactivity-".concat(o)), m.forEach(function(h) {
|
|
return h.classList.remove("allow-interactivity-".concat(o));
|
|
});
|
|
};
|
|
}
|
|
}, [e.inert, e.lockRef.current, e.shards]);
|
|
var s = F.useCallback(function(m, h) {
|
|
if ("touches" in m && m.touches.length === 2 || m.type === "wheel" && m.ctrlKey)
|
|
return !i.current.allowPinchZoom;
|
|
var w = Jl(m), x = r.current, $ = "deltaX" in m ? m.deltaX : x[0] - w[0], S = "deltaY" in m ? m.deltaY : x[1] - w[1], p, T = m.target, L = Math.abs($) > Math.abs(S) ? "h" : "v";
|
|
if ("touches" in m && L === "h" && T.type === "range")
|
|
return !1;
|
|
var G = d1(L, T);
|
|
if (!G)
|
|
return !0;
|
|
if (G ? p = L : (p = L === "v" ? "h" : "v", G = d1(L, T)), !G)
|
|
return !1;
|
|
if (!n.current && "changedTouches" in m && ($ || S) && (n.current = p), !p)
|
|
return !0;
|
|
var J = n.current || p;
|
|
return tj(J, h, m, J === "h" ? $ : S);
|
|
}, []), l = F.useCallback(function(m) {
|
|
var h = m;
|
|
if (!(!Pa.length || Pa[Pa.length - 1] !== a)) {
|
|
var w = "deltaY" in h ? p1(h) : Jl(h), x = t.current.filter(function(p) {
|
|
return p.name === h.type && (p.target === h.target || h.target === p.shadowParent) && rj(p.delta, w);
|
|
})[0];
|
|
if (x && x.should) {
|
|
h.cancelable && h.preventDefault();
|
|
return;
|
|
}
|
|
if (!x) {
|
|
var $ = (i.current.shards || []).map(m1).filter(Boolean).filter(function(p) {
|
|
return p.contains(h.target);
|
|
}), S = $.length > 0 ? s(h, $[0]) : !i.current.noIsolation;
|
|
S && h.cancelable && h.preventDefault();
|
|
}
|
|
}
|
|
}, []), c = F.useCallback(function(m, h, w, x) {
|
|
var $ = { name: m, delta: h, target: w, should: x, shadowParent: ij(w) };
|
|
t.current.push($), setTimeout(function() {
|
|
t.current = t.current.filter(function(S) {
|
|
return S !== $;
|
|
});
|
|
}, 1);
|
|
}, []), u = F.useCallback(function(m) {
|
|
r.current = Jl(m), n.current = void 0;
|
|
}, []), f = F.useCallback(function(m) {
|
|
c(m.type, p1(m), m.target, s(m, e.lockRef.current));
|
|
}, []), d = F.useCallback(function(m) {
|
|
c(m.type, Jl(m), m.target, s(m, e.lockRef.current));
|
|
}, []);
|
|
F.useEffect(function() {
|
|
return Pa.push(a), e.setCallbacks({
|
|
onScrollCapture: f,
|
|
onWheelCapture: f,
|
|
onTouchMoveCapture: d
|
|
}), document.addEventListener("wheel", l, Ea), document.addEventListener("touchmove", l, Ea), document.addEventListener("touchstart", u, Ea), function() {
|
|
Pa = Pa.filter(function(m) {
|
|
return m !== a;
|
|
}), document.removeEventListener("wheel", l, Ea), document.removeEventListener("touchmove", l, Ea), document.removeEventListener("touchstart", u, Ea);
|
|
};
|
|
}, []);
|
|
var g = e.removeScrollBar, v = e.inert;
|
|
return F.createElement(
|
|
F.Fragment,
|
|
null,
|
|
v ? F.createElement(a, { styles: nj(o) }) : null,
|
|
g ? F.createElement(GN, { noRelative: e.noRelative, gapMode: e.gapMode }) : null
|
|
);
|
|
}
|
|
function ij(e) {
|
|
for (var t = null; e !== null; )
|
|
e instanceof ShadowRoot && (t = e.host, e = e.host), e = e.parentNode;
|
|
return t;
|
|
}
|
|
const sj = RN(uO, aj);
|
|
var hO = F.forwardRef(function(e, t) {
|
|
return F.createElement(Yu, Dr({}, e, { ref: t, sideCar: sj }));
|
|
});
|
|
hO.classNames = Yu.classNames;
|
|
var lj = function(e) {
|
|
if (typeof document > "u")
|
|
return null;
|
|
var t = Array.isArray(e) ? e[0] : e;
|
|
return t.ownerDocument.body;
|
|
}, Aa = /* @__PURE__ */ new WeakMap(), Ql = /* @__PURE__ */ new WeakMap(), Zl = {}, bd = 0, gO = function(e) {
|
|
return e && (e.host || gO(e.parentNode));
|
|
}, cj = function(e, t) {
|
|
return t.map(function(r) {
|
|
if (e.contains(r))
|
|
return r;
|
|
var n = gO(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;
|
|
});
|
|
}, uj = function(e, t, r, n) {
|
|
var o = cj(t, Array.isArray(e) ? e : [e]);
|
|
Zl[r] || (Zl[r] = /* @__PURE__ */ new WeakMap());
|
|
var a = Zl[r], i = [], s = /* @__PURE__ */ new Set(), l = new Set(o), c = function(f) {
|
|
!f || s.has(f) || (s.add(f), c(f.parentNode));
|
|
};
|
|
o.forEach(c);
|
|
var u = function(f) {
|
|
!f || l.has(f) || Array.prototype.forEach.call(f.children, function(d) {
|
|
if (s.has(d))
|
|
u(d);
|
|
else
|
|
try {
|
|
var g = d.getAttribute(n), v = g !== null && g !== "false", m = (Aa.get(d) || 0) + 1, h = (a.get(d) || 0) + 1;
|
|
Aa.set(d, m), a.set(d, h), i.push(d), m === 1 && v && Ql.set(d, !0), h === 1 && d.setAttribute(r, "true"), v || d.setAttribute(n, "true");
|
|
} catch (w) {
|
|
console.error("aria-hidden: cannot operate on ", d, w);
|
|
}
|
|
});
|
|
};
|
|
return u(t), s.clear(), bd++, function() {
|
|
i.forEach(function(f) {
|
|
var d = Aa.get(f) - 1, g = a.get(f) - 1;
|
|
Aa.set(f, d), a.set(f, g), d || (Ql.has(f) || f.removeAttribute(n), Ql.delete(f)), g || f.removeAttribute(r);
|
|
}), bd--, bd || (Aa = /* @__PURE__ */ new WeakMap(), Aa = /* @__PURE__ */ new WeakMap(), Ql = /* @__PURE__ */ new WeakMap(), Zl = {});
|
|
};
|
|
}, fj = function(e, t, r) {
|
|
r === void 0 && (r = "data-aria-hidden");
|
|
var n = Array.from(Array.isArray(e) ? e : [e]), o = lj(e);
|
|
return o ? (n.push.apply(n, Array.from(o.querySelectorAll("[aria-live], script"))), uj(n, o, r, "aria-hidden")) : function() {
|
|
return null;
|
|
};
|
|
}, qu = "Dialog", [bO, hZ] = YC(qu), [dj, jr] = bO(qu), yO = (e) => {
|
|
const {
|
|
__scopeDialog: t,
|
|
children: r,
|
|
open: n,
|
|
defaultOpen: o,
|
|
onOpenChange: a,
|
|
modal: i = !0
|
|
} = e, s = F.useRef(null), l = F.useRef(null), [c, u] = XC({
|
|
prop: n,
|
|
defaultProp: o ?? !1,
|
|
onChange: a,
|
|
caller: qu
|
|
});
|
|
return /* @__PURE__ */ q(
|
|
dj,
|
|
{
|
|
scope: t,
|
|
triggerRef: s,
|
|
contentRef: l,
|
|
contentId: ud(),
|
|
titleId: ud(),
|
|
descriptionId: ud(),
|
|
open: c,
|
|
onOpenChange: u,
|
|
onOpenToggle: F.useCallback(() => u((f) => !f), [u]),
|
|
modal: i,
|
|
children: r
|
|
}
|
|
);
|
|
};
|
|
yO.displayName = qu;
|
|
var vO = "DialogTrigger", pj = F.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = jr(vO, r), a = xa(t, o.triggerRef);
|
|
return /* @__PURE__ */ q(
|
|
nn.button,
|
|
{
|
|
type: "button",
|
|
"aria-haspopup": "dialog",
|
|
"aria-expanded": o.open,
|
|
"aria-controls": o.contentId,
|
|
"data-state": db(o.open),
|
|
...n,
|
|
ref: a,
|
|
onClick: mo(e.onClick, o.onOpenToggle)
|
|
}
|
|
);
|
|
}
|
|
);
|
|
pj.displayName = vO;
|
|
var ub = "DialogPortal", [mj, wO] = bO(ub, {
|
|
forceMount: void 0
|
|
}), xO = (e) => {
|
|
const { __scopeDialog: t, forceMount: r, children: n, container: o } = e, a = jr(ub, t);
|
|
return /* @__PURE__ */ q(mj, { scope: t, forceMount: r, children: F.Children.map(n, (i) => /* @__PURE__ */ q(Uu, { present: r || a.open, children: /* @__PURE__ */ q(sO, { asChild: !0, container: o, children: i }) })) });
|
|
};
|
|
xO.displayName = ub;
|
|
var nu = "DialogOverlay", $O = F.forwardRef(
|
|
(e, t) => {
|
|
const r = wO(nu, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = jr(nu, e.__scopeDialog);
|
|
return a.modal ? /* @__PURE__ */ q(Uu, { present: n || a.open, children: /* @__PURE__ */ q(gj, { ...o, ref: t }) }) : null;
|
|
}
|
|
);
|
|
$O.displayName = nu;
|
|
var hj = /* @__PURE__ */ tO("DialogOverlay.RemoveScroll"), gj = F.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = jr(nu, r);
|
|
return (
|
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
// ie. when `Overlay` and `Content` are siblings
|
|
/* @__PURE__ */ q(hO, { as: hj, allowPinchZoom: !0, shards: [o.contentRef], children: /* @__PURE__ */ q(
|
|
nn.div,
|
|
{
|
|
"data-state": db(o.open),
|
|
...n,
|
|
ref: t,
|
|
style: { pointerEvents: "auto", ...n.style }
|
|
}
|
|
) })
|
|
);
|
|
}
|
|
), ra = "DialogContent", kO = F.forwardRef(
|
|
(e, t) => {
|
|
const r = wO(ra, e.__scopeDialog), { forceMount: n = r.forceMount, ...o } = e, a = jr(ra, e.__scopeDialog);
|
|
return /* @__PURE__ */ q(Uu, { present: n || a.open, children: a.modal ? /* @__PURE__ */ q(bj, { ...o, ref: t }) : /* @__PURE__ */ q(yj, { ...o, ref: t }) });
|
|
}
|
|
);
|
|
kO.displayName = ra;
|
|
var bj = F.forwardRef(
|
|
(e, t) => {
|
|
const r = jr(ra, e.__scopeDialog), n = F.useRef(null), o = xa(t, r.contentRef, n);
|
|
return F.useEffect(() => {
|
|
const a = n.current;
|
|
if (a) return fj(a);
|
|
}, []), /* @__PURE__ */ q(
|
|
OO,
|
|
{
|
|
...e,
|
|
ref: o,
|
|
trapFocus: r.open,
|
|
disableOutsidePointerEvents: !0,
|
|
onCloseAutoFocus: mo(e.onCloseAutoFocus, (a) => {
|
|
var i;
|
|
a.preventDefault(), (i = r.triggerRef.current) == null || i.focus();
|
|
}),
|
|
onPointerDownOutside: mo(e.onPointerDownOutside, (a) => {
|
|
const i = a.detail.originalEvent, s = i.button === 0 && i.ctrlKey === !0;
|
|
(i.button === 2 || s) && a.preventDefault();
|
|
}),
|
|
onFocusOutside: mo(
|
|
e.onFocusOutside,
|
|
(a) => a.preventDefault()
|
|
)
|
|
}
|
|
);
|
|
}
|
|
), yj = F.forwardRef(
|
|
(e, t) => {
|
|
const r = jr(ra, e.__scopeDialog), n = F.useRef(!1), o = F.useRef(!1);
|
|
return /* @__PURE__ */ q(
|
|
OO,
|
|
{
|
|
...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 l = a.target;
|
|
(s = r.triggerRef.current) != null && s.contains(l) && a.preventDefault(), a.detail.originalEvent.type === "focusin" && o.current && a.preventDefault();
|
|
}
|
|
}
|
|
);
|
|
}
|
|
), OO = F.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, trapFocus: n, onOpenAutoFocus: o, onCloseAutoFocus: a, ...i } = e, s = jr(ra, r), l = F.useRef(null), c = xa(t, l);
|
|
return SN(), /* @__PURE__ */ Le(jt, { children: [
|
|
/* @__PURE__ */ q(
|
|
aO,
|
|
{
|
|
asChild: !0,
|
|
loop: !0,
|
|
trapped: n,
|
|
onMountAutoFocus: o,
|
|
onUnmountAutoFocus: a,
|
|
children: /* @__PURE__ */ q(
|
|
nO,
|
|
{
|
|
role: "dialog",
|
|
id: s.contentId,
|
|
"aria-describedby": s.descriptionId,
|
|
"aria-labelledby": s.titleId,
|
|
"data-state": db(s.open),
|
|
...i,
|
|
ref: c,
|
|
onDismiss: () => s.onOpenChange(!1)
|
|
}
|
|
)
|
|
}
|
|
),
|
|
/* @__PURE__ */ Le(jt, { children: [
|
|
/* @__PURE__ */ q(wj, { titleId: s.titleId }),
|
|
/* @__PURE__ */ q($j, { contentRef: l, descriptionId: s.descriptionId })
|
|
] })
|
|
] });
|
|
}
|
|
), fb = "DialogTitle", SO = F.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = jr(fb, r);
|
|
return /* @__PURE__ */ q(nn.h2, { id: o.titleId, ...n, ref: t });
|
|
}
|
|
);
|
|
SO.displayName = fb;
|
|
var EO = "DialogDescription", PO = F.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = jr(EO, r);
|
|
return /* @__PURE__ */ q(nn.p, { id: o.descriptionId, ...n, ref: t });
|
|
}
|
|
);
|
|
PO.displayName = EO;
|
|
var AO = "DialogClose", vj = F.forwardRef(
|
|
(e, t) => {
|
|
const { __scopeDialog: r, ...n } = e, o = jr(AO, r);
|
|
return /* @__PURE__ */ q(
|
|
nn.button,
|
|
{
|
|
type: "button",
|
|
...n,
|
|
ref: t,
|
|
onClick: mo(e.onClick, () => o.onOpenChange(!1))
|
|
}
|
|
);
|
|
}
|
|
);
|
|
vj.displayName = AO;
|
|
function db(e) {
|
|
return e ? "open" : "closed";
|
|
}
|
|
var CO = "DialogTitleWarning", [gZ, NO] = UC(CO, {
|
|
contentName: ra,
|
|
titleName: fb,
|
|
docsSlug: "dialog"
|
|
}), wj = ({ titleId: e }) => {
|
|
const t = NO(CO), 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 F.useEffect(() => {
|
|
e && (document.getElementById(e) || console.error(r));
|
|
}, [r, e]), null;
|
|
}, xj = "DialogDescriptionWarning", $j = ({ contentRef: e, descriptionId: t }) => {
|
|
const r = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${NO(xj).contentName}}.`;
|
|
return F.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;
|
|
}, kj = yO, Oj = xO, Sj = $O, Ej = kO, h1 = SO, Pj = PO;
|
|
const pb = "-", Aj = (e) => {
|
|
const t = Nj(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(pb);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), jO(a, t) || Cj(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, jO = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? jO(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(pb);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, g1 = /^\[(.+)\]$/, Cj = (e) => {
|
|
if (g1.test(e)) {
|
|
const t = g1.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, Nj = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return _j(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
wm(a, n, o, t);
|
|
}), n;
|
|
}, wm = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : b1(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (jj(o)) {
|
|
wm(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
wm(i, b1(t, a), r, n);
|
|
});
|
|
});
|
|
}, b1 = (e, t) => {
|
|
let r = e;
|
|
return t.split(pb).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, jj = (e) => e.isThemeGetter, _j = (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, Ij = (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);
|
|
}
|
|
};
|
|
}, _O = "!", Tj = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const l = [];
|
|
let c = 0, u = 0, f;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
l.push(s.slice(u, h)), u = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
f = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const d = l.length === 0 ? s : s.substring(u), g = d.startsWith(_O), v = g ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: l,
|
|
hasImportantModifier: g,
|
|
baseClassName: v,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, Rj = (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;
|
|
}, Mj = (e) => ({
|
|
cache: Ij(e.cacheSize),
|
|
parseClassName: Tj(e),
|
|
...Aj(e)
|
|
}), zj = /\s+/, Lj = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(zj);
|
|
let s = "";
|
|
for (let l = i.length - 1; l >= 0; l -= 1) {
|
|
const c = i[l], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: g
|
|
} = r(c);
|
|
let v = !!g, m = n(v ? d.substring(0, g) : d);
|
|
if (!m) {
|
|
if (!v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
v = !1;
|
|
}
|
|
const h = Rj(u).join(":"), w = f ? h + _O : h, x = w + m;
|
|
if (a.includes(x))
|
|
continue;
|
|
a.push(x);
|
|
const $ = o(m, v);
|
|
for (let S = 0; S < $.length; ++S) {
|
|
const p = $[S];
|
|
a.push(w + p);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function Fj() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = IO(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const IO = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = IO(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function Dj(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(l) {
|
|
const c = t.reduce((u, f) => f(u), e());
|
|
return r = Mj(c), n = r.cache.get, o = r.cache.set, a = s, s(l);
|
|
}
|
|
function s(l) {
|
|
const c = n(l);
|
|
if (c)
|
|
return c;
|
|
const u = Lj(l, r);
|
|
return o(l, u), u;
|
|
}
|
|
return function() {
|
|
return a(Fj.apply(null, arguments));
|
|
};
|
|
}
|
|
const pt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, TO = /^\[(?:([a-z-]+):)?(.+)\]$/i, Vj = /^\d+\/\d+$/, Hj = /* @__PURE__ */ new Set(["px", "full", "screen"]), Wj = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Uj = /\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$/, Yj = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, qj = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Bj = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, cn = (e) => Ga(e) || Hj.has(e) || Vj.test(e), Hn = (e) => Oi(e, "length", t_), Ga = (e) => !!e && !Number.isNaN(Number(e)), yd = (e) => Oi(e, "number", Ga), qi = (e) => !!e && Number.isInteger(Number(e)), Gj = (e) => e.endsWith("%") && Ga(e.slice(0, -1)), Ne = (e) => TO.test(e), Wn = (e) => Wj.test(e), Kj = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Xj = (e) => Oi(e, Kj, RO), Jj = (e) => Oi(e, "position", RO), Qj = /* @__PURE__ */ new Set(["image", "url"]), Zj = (e) => Oi(e, Qj, n_), e_ = (e) => Oi(e, "", r_), Bi = () => !0, Oi = (e, t, r) => {
|
|
const n = TO.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, t_ = (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.
|
|
Uj.test(e) && !Yj.test(e)
|
|
), RO = () => !1, r_ = (e) => qj.test(e), n_ = (e) => Bj.test(e), o_ = () => {
|
|
const e = pt("colors"), t = pt("spacing"), r = pt("blur"), n = pt("brightness"), o = pt("borderColor"), a = pt("borderRadius"), i = pt("borderSpacing"), s = pt("borderWidth"), l = pt("contrast"), c = pt("grayscale"), u = pt("hueRotate"), f = pt("invert"), d = pt("gap"), g = pt("gradientColorStops"), v = pt("gradientColorStopPositions"), m = pt("inset"), h = pt("margin"), w = pt("opacity"), x = pt("padding"), $ = pt("saturate"), S = pt("scale"), p = pt("sepia"), T = pt("skew"), L = pt("space"), G = pt("translate"), J = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", Ne, t], M = () => [Ne, t], ee = () => ["", cn, Hn], D = () => ["auto", Ga, Ne], V = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], H = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], K = () => ["", "0", Ne], y = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], b = () => [Ga, Ne];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Bi],
|
|
spacing: [cn, Hn],
|
|
blur: ["none", "", Wn, Ne],
|
|
brightness: b(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Wn, Ne],
|
|
borderSpacing: M(),
|
|
borderWidth: ee(),
|
|
contrast: b(),
|
|
grayscale: K(),
|
|
hueRotate: b(),
|
|
invert: K(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [Gj, Hn],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: b(),
|
|
padding: M(),
|
|
saturate: b(),
|
|
scale: b(),
|
|
sepia: K(),
|
|
skew: b(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Ne]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Wn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": y()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": y()
|
|
}],
|
|
/**
|
|
* 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: [...V(), Ne]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": J()
|
|
}],
|
|
/**
|
|
* 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", qi, Ne]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", Ne]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: K()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: K()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", qi, Ne]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Bi]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", qi, Ne]
|
|
}, Ne]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": D()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": D()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Bi]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [qi, Ne]
|
|
}, Ne]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": D()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": D()
|
|
}],
|
|
/**
|
|
* Grid Auto Flow
|
|
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
*/
|
|
"grid-flow": [{
|
|
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
}],
|
|
/**
|
|
* Grid Auto Columns
|
|
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
*/
|
|
"auto-cols": [{
|
|
"auto-cols": ["auto", "min", "max", "fr", Ne]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Ne]
|
|
}],
|
|
/**
|
|
* Gap
|
|
* @see https://tailwindcss.com/docs/gap
|
|
*/
|
|
gap: [{
|
|
gap: [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: [x]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [x]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [x]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [x]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [x]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [x]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [x]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [x]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [x]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [L]
|
|
}],
|
|
/**
|
|
* 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": [L]
|
|
}],
|
|
/**
|
|
* Space Between Y Reverse
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-y-reverse": ["space-y-reverse"],
|
|
// Sizing
|
|
/**
|
|
* Width
|
|
* @see https://tailwindcss.com/docs/width
|
|
*/
|
|
w: [{
|
|
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", Ne, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Ne, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Ne, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Wn]
|
|
}, Wn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Ne, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Ne, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Ne, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Ne, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Wn, Hn]
|
|
}],
|
|
/**
|
|
* 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", yd]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Bi]
|
|
}],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-normal": ["normal-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-ordinal": ["ordinal"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-slashed-zero": ["slashed-zero"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
/**
|
|
* Font Variant Numeric
|
|
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
*/
|
|
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
/**
|
|
* Letter Spacing
|
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
*/
|
|
tracking: [{
|
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", Ne]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Ga, yd]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", cn, Ne]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Ne]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Ne]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...H(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", cn, Hn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", cn, Ne]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ne]
|
|
}],
|
|
/**
|
|
* Whitespace
|
|
* @see https://tailwindcss.com/docs/whitespace
|
|
*/
|
|
whitespace: [{
|
|
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
}],
|
|
/**
|
|
* Word Break
|
|
* @see https://tailwindcss.com/docs/word-break
|
|
*/
|
|
break: [{
|
|
break: ["normal", "words", "all", "keep"]
|
|
}],
|
|
/**
|
|
* Hyphens
|
|
* @see https://tailwindcss.com/docs/hyphens
|
|
*/
|
|
hyphens: [{
|
|
hyphens: ["none", "manual", "auto"]
|
|
}],
|
|
/**
|
|
* Content
|
|
* @see https://tailwindcss.com/docs/content
|
|
*/
|
|
content: [{
|
|
content: ["none", Ne]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...V(), Jj]
|
|
}],
|
|
/**
|
|
* 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", Xj]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, Zj]
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [g]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...H(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: H()
|
|
}],
|
|
/**
|
|
* 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: ["", ...H()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [cn, Ne]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [cn, Hn]
|
|
}],
|
|
/**
|
|
* 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: ee()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [cn, Hn]
|
|
}],
|
|
/**
|
|
* 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", Wn, e_]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Bi]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [l]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Wn, Ne]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* 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": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [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": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [p]
|
|
}],
|
|
// Tables
|
|
/**
|
|
* Border Collapse
|
|
* @see https://tailwindcss.com/docs/border-collapse
|
|
*/
|
|
"border-collapse": [{
|
|
border: ["collapse", "separate"]
|
|
}],
|
|
/**
|
|
* Border Spacing
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing": [{
|
|
"border-spacing": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing X
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-x": [{
|
|
"border-spacing-x": [i]
|
|
}],
|
|
/**
|
|
* Border Spacing Y
|
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
*/
|
|
"border-spacing-y": [{
|
|
"border-spacing-y": [i]
|
|
}],
|
|
/**
|
|
* Table Layout
|
|
* @see https://tailwindcss.com/docs/table-layout
|
|
*/
|
|
"table-layout": [{
|
|
table: ["auto", "fixed"]
|
|
}],
|
|
/**
|
|
* Caption Side
|
|
* @see https://tailwindcss.com/docs/caption-side
|
|
*/
|
|
caption: [{
|
|
caption: ["top", "bottom"]
|
|
}],
|
|
// Transitions and Animation
|
|
/**
|
|
* Tranisition Property
|
|
* @see https://tailwindcss.com/docs/transition-property
|
|
*/
|
|
transition: [{
|
|
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", Ne]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: b()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Ne]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: b()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Ne]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [qi, Ne]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [G]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [G]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [T]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [T]
|
|
}],
|
|
/**
|
|
* Transform Origin
|
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
*/
|
|
"transform-origin": [{
|
|
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", Ne]
|
|
}],
|
|
// Interactivity
|
|
/**
|
|
* Accent Color
|
|
* @see https://tailwindcss.com/docs/accent-color
|
|
*/
|
|
accent: [{
|
|
accent: ["auto", e]
|
|
}],
|
|
/**
|
|
* Appearance
|
|
* @see https://tailwindcss.com/docs/appearance
|
|
*/
|
|
appearance: [{
|
|
appearance: ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Cursor
|
|
* @see https://tailwindcss.com/docs/cursor
|
|
*/
|
|
cursor: [{
|
|
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", Ne]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", Ne]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [cn, Hn, yd]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, vs = /* @__PURE__ */ Dj(o_);
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function a_(e, t, r) {
|
|
return (t = s_(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function y1(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 ? y1(Object(r), !0).forEach(function(n) {
|
|
a_(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : y1(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function i_(e, t) {
|
|
if (typeof e != "object" || !e) return e;
|
|
var r = e[Symbol.toPrimitive];
|
|
if (r !== void 0) {
|
|
var n = r.call(e, t);
|
|
if (typeof n != "object") return n;
|
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
}
|
|
return (t === "string" ? String : Number)(e);
|
|
}
|
|
function s_(e) {
|
|
var t = i_(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const v1 = () => {
|
|
};
|
|
let mb = {}, MO = {}, zO = null, LO = {
|
|
mark: v1,
|
|
measure: v1
|
|
};
|
|
try {
|
|
typeof window < "u" && (mb = window), typeof document < "u" && (MO = document), typeof MutationObserver < "u" && (zO = MutationObserver), typeof performance < "u" && (LO = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: w1 = ""
|
|
} = mb.navigator || {}, go = mb, vt = MO, x1 = zO, ec = LO;
|
|
go.document;
|
|
const _n = !!vt.documentElement && !!vt.head && typeof vt.addEventListener == "function" && typeof vt.createElement == "function", FO = ~w1.indexOf("MSIE") || ~w1.indexOf("Trident/");
|
|
var l_ = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, c_ = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, DO = {
|
|
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"
|
|
}
|
|
}, u_ = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, VO = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Yt = "classic", Bu = "duotone", f_ = "sharp", d_ = "sharp-duotone", HO = [Yt, Bu, f_, d_], p_ = {
|
|
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"
|
|
}
|
|
}, m_ = {
|
|
"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"
|
|
}
|
|
}, h_ = /* @__PURE__ */ new Map([["classic", {
|
|
defaultShortPrefixId: "fas",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin", "brands"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp", {
|
|
defaultShortPrefixId: "fass",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["duotone", {
|
|
defaultShortPrefixId: "fad",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}], ["sharp-duotone", {
|
|
defaultShortPrefixId: "fasds",
|
|
defaultStyleId: "solid",
|
|
styleIds: ["solid", "regular", "light", "thin"],
|
|
futureStyleIds: [],
|
|
defaultFontWeight: 900
|
|
}]]), g_ = {
|
|
classic: {
|
|
solid: "fas",
|
|
regular: "far",
|
|
light: "fal",
|
|
thin: "fat",
|
|
brands: "fab"
|
|
},
|
|
duotone: {
|
|
solid: "fad",
|
|
regular: "fadr",
|
|
light: "fadl",
|
|
thin: "fadt"
|
|
},
|
|
sharp: {
|
|
solid: "fass",
|
|
regular: "fasr",
|
|
light: "fasl",
|
|
thin: "fast"
|
|
},
|
|
"sharp-duotone": {
|
|
solid: "fasds",
|
|
regular: "fasdr",
|
|
light: "fasdl",
|
|
thin: "fasdt"
|
|
}
|
|
}, b_ = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], $1 = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, y_ = ["kit"], v_ = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, w_ = ["fak", "fakd"], x_ = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, k1 = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, tc = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, $_ = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], k_ = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], O_ = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, S_ = {
|
|
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"
|
|
}
|
|
}, E_ = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, xm = {
|
|
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"
|
|
}
|
|
}, P_ = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], $m = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...$_, ...P_], A_ = ["solid", "regular", "light", "thin", "duotone", "brands"], WO = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], C_ = WO.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), N_ = [...Object.keys(E_), ...A_, "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", tc.GROUP, tc.SWAP_OPACITY, tc.PRIMARY, tc.SECONDARY].concat(WO.map((e) => "".concat(e, "x"))).concat(C_.map((e) => "w-".concat(e))), j_ = {
|
|
"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 wn = "___FONT_AWESOME___", km = 16, UO = "fa", YO = "svg-inline--fa", na = "data-fa-i2svg", Om = "data-fa-pseudo-element", __ = "data-fa-pseudo-element-pending", hb = "data-prefix", gb = "data-icon", O1 = "fontawesome-i2svg", I_ = "async", T_ = ["HTML", "HEAD", "STYLE", "SCRIPT"], qO = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function ml(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Yt];
|
|
}
|
|
});
|
|
}
|
|
const BO = te({}, DO);
|
|
BO[Yt] = te(te(te(te({}, {
|
|
"fa-duotone": "duotone"
|
|
}), DO[Yt]), $1.kit), $1["kit-duotone"]);
|
|
const R_ = ml(BO), Sm = te({}, g_);
|
|
Sm[Yt] = te(te(te(te({}, {
|
|
duotone: "fad"
|
|
}), Sm[Yt]), k1.kit), k1["kit-duotone"]);
|
|
const S1 = ml(Sm), Em = te({}, xm);
|
|
Em[Yt] = te(te({}, Em[Yt]), x_.kit);
|
|
const bb = ml(Em), Pm = te({}, S_);
|
|
Pm[Yt] = te(te({}, Pm[Yt]), v_.kit);
|
|
ml(Pm);
|
|
const M_ = l_, GO = "fa-layers-text", z_ = c_, L_ = te({}, p_);
|
|
ml(L_);
|
|
const F_ = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], vd = u_, D_ = [...y_, ...N_], ws = go.FontAwesomeConfig || {};
|
|
function V_(e) {
|
|
var t = vt.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function H_(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
vt && typeof vt.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 = H_(V_(t));
|
|
n != null && (ws[r] = n);
|
|
});
|
|
const KO = {
|
|
styleDefault: "solid",
|
|
familyDefault: Yt,
|
|
cssPrefix: UO,
|
|
replacementClass: YO,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
ws.familyPrefix && (ws.cssPrefix = ws.familyPrefix);
|
|
const li = te(te({}, KO), ws);
|
|
li.autoReplaceSvg || (li.observeMutations = !1);
|
|
const me = {};
|
|
Object.keys(KO).forEach((e) => {
|
|
Object.defineProperty(me, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
li[e] = t, xs.forEach((r) => r(me));
|
|
},
|
|
get: function() {
|
|
return li[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(me, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
li.cssPrefix = e, xs.forEach((t) => t(me));
|
|
},
|
|
get: function() {
|
|
return li.cssPrefix;
|
|
}
|
|
});
|
|
go.FontAwesomeConfig = me;
|
|
const xs = [];
|
|
function W_(e) {
|
|
return xs.push(e), () => {
|
|
xs.splice(xs.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Un = km, Vr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function U_(e) {
|
|
if (!e || !_n)
|
|
return;
|
|
const t = vt.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = vt.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 vt.head.insertBefore(t, n), e;
|
|
}
|
|
const Y_ = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Hs() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += Y_[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Si(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function yb(e) {
|
|
return e.classList ? Si(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function XO(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function q_(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(XO(e[r]), '" '), "").trim();
|
|
}
|
|
function Gu(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function vb(e) {
|
|
return e.size !== Vr.size || e.x !== Vr.x || e.y !== Vr.y || e.rotate !== Vr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function B_(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)"), l = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: l,
|
|
path: c
|
|
};
|
|
}
|
|
function G_(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = km,
|
|
height: n = km,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && FO ? a += "translate(".concat(t.x / Un - r / 2, "em, ").concat(t.y / Un - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Un, "em), calc(-50% + ").concat(t.y / Un, "em)) ") : a += "translate(".concat(t.x / Un, "em, ").concat(t.y / Un, "em) "), a += "scale(".concat(t.size / Un * (t.flipX ? -1 : 1), ", ").concat(t.size / Un * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var K_ = `: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 JO() {
|
|
const e = UO, t = YO, r = me.cssPrefix, n = me.replacementClass;
|
|
let o = K_;
|
|
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 E1 = !1;
|
|
function wd() {
|
|
me.autoAddCss && !E1 && (U_(JO()), E1 = !0);
|
|
}
|
|
var X_ = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: JO,
|
|
insertCss: wd
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
wd();
|
|
},
|
|
beforeI2svg() {
|
|
wd();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const xn = go || {};
|
|
xn[wn] || (xn[wn] = {});
|
|
xn[wn].styles || (xn[wn].styles = {});
|
|
xn[wn].hooks || (xn[wn].hooks = {});
|
|
xn[wn].shims || (xn[wn].shims = []);
|
|
var Hr = xn[wn];
|
|
const QO = [], ZO = function() {
|
|
vt.removeEventListener("DOMContentLoaded", ZO), ou = 1, QO.map((e) => e());
|
|
};
|
|
let ou = !1;
|
|
_n && (ou = (vt.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(vt.readyState), ou || vt.addEventListener("DOMContentLoaded", ZO));
|
|
function J_(e) {
|
|
_n && (ou ? setTimeout(e, 0) : QO.push(e));
|
|
}
|
|
function hl(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? XO(e) : "<".concat(t, " ").concat(q_(r), ">").concat(n.map(hl).join(""), "</").concat(t, ">");
|
|
}
|
|
function P1(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var xd = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, l, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
l = o[s], c = i(c, e[l], l, e);
|
|
return c;
|
|
};
|
|
function Q_(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 e3(e) {
|
|
const t = Q_(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function Z_(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 A1(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 Am(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = A1(t);
|
|
typeof Hr.hooks.addPack == "function" && !n ? Hr.hooks.addPack(e, A1(t)) : Hr.styles[e] = te(te({}, Hr.styles[e] || {}), o), e === "fas" && Am("fa", t);
|
|
}
|
|
const {
|
|
styles: Ws,
|
|
shims: e9
|
|
} = Hr, t3 = Object.keys(bb), t9 = t3.reduce((e, t) => (e[t] = Object.keys(bb[t]), e), {});
|
|
let wb = null, r3 = {}, n3 = {}, o3 = {}, a3 = {}, i3 = {};
|
|
function r9(e) {
|
|
return ~D_.indexOf(e);
|
|
}
|
|
function n9(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !r9(o) ? o : null;
|
|
}
|
|
const s3 = () => {
|
|
const e = (n) => xd(Ws, (o, a, i) => (o[i] = xd(a, n, {}), o), {});
|
|
r3 = 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)), n3 = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), i3 = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in Ws || me.autoFetchSvg, r = xd(e9, (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: {}
|
|
});
|
|
o3 = r.names, a3 = r.unicodes, wb = Ku(me.styleDefault, {
|
|
family: me.familyDefault
|
|
});
|
|
};
|
|
W_((e) => {
|
|
wb = Ku(e.styleDefault, {
|
|
family: me.familyDefault
|
|
});
|
|
});
|
|
s3();
|
|
function xb(e, t) {
|
|
return (r3[e] || {})[t];
|
|
}
|
|
function o9(e, t) {
|
|
return (n3[e] || {})[t];
|
|
}
|
|
function Ho(e, t) {
|
|
return (i3[e] || {})[t];
|
|
}
|
|
function l3(e) {
|
|
return o3[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function a9(e) {
|
|
const t = a3[e], r = xb("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function bo() {
|
|
return wb;
|
|
}
|
|
const c3 = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function i9(e) {
|
|
let t = Yt;
|
|
const r = t3.reduce((n, o) => (n[o] = "".concat(me.cssPrefix, "-").concat(o), n), {});
|
|
return HO.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => t9[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Ku(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Yt
|
|
} = t, n = R_[r][e];
|
|
if (r === Bu && !e)
|
|
return "fad";
|
|
const o = S1[r][e] || S1[r][n], a = e in Hr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function s9(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = n9(me.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function C1(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Xu(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = $m.concat(k_), a = C1(e.filter((f) => o.includes(f))), i = C1(e.filter((f) => !$m.includes(f))), s = a.filter((f) => (n = f, !VO.includes(f))), [l = null] = s, c = i9(a), u = te(te({}, s9(i)), {}, {
|
|
prefix: Ku(l, {
|
|
family: c
|
|
})
|
|
});
|
|
return te(te(te({}, u), f9({
|
|
values: e,
|
|
family: c,
|
|
styles: Ws,
|
|
config: me,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), l9(r, n, u));
|
|
}
|
|
function l9(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? l3(o) : {}, i = Ho(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !Ws.far && Ws.fas && !me.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const c9 = HO.filter((e) => e !== Yt || e !== Bu), u9 = Object.keys(xm).filter((e) => e !== Yt).map((e) => Object.keys(xm[e])).flat();
|
|
function f9(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Bu, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && c9.includes(r) && (Object.keys(a).find((f) => u9.includes(f)) || i.autoFetchSvg)) {
|
|
const f = h_.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Ho(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = bo() || "fas"), n;
|
|
}
|
|
class d9 {
|
|
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]), Am(a, o[a]);
|
|
const i = bb[Yt][a];
|
|
i && Am(i, o[a]), s3();
|
|
});
|
|
}
|
|
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], l = s[2];
|
|
t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let N1 = [], Ia = {};
|
|
const Ka = {}, p9 = Object.keys(Ka);
|
|
function m9(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return N1 = e, Ia = {}, Object.keys(Ka).forEach((n) => {
|
|
p9.indexOf(n) === -1 && delete Ka[n];
|
|
}), N1.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) => {
|
|
Ia[i] || (Ia[i] = []), Ia[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Ka);
|
|
}), r;
|
|
}
|
|
function Cm(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 (Ia[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function oa(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Ia[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function yo() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Ka[e] ? Ka[e].apply(null, t) : void 0;
|
|
}
|
|
function Nm(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || bo();
|
|
if (t)
|
|
return t = Ho(r, t) || t, P1(u3.definitions, r, t) || P1(Hr.styles, r, t);
|
|
}
|
|
const u3 = new d9(), h9 = () => {
|
|
me.autoReplaceSvg = !1, me.observeMutations = !1, oa("noAuto");
|
|
}, g9 = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return _n ? (oa("beforeI2svg", e), yo("pseudoElements2svg", e), yo("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
me.autoReplaceSvg === !1 && (me.autoReplaceSvg = !0), me.observeMutations = !0, J_(() => {
|
|
y9({
|
|
autoReplaceSvgRoot: t
|
|
}), oa("watch", e);
|
|
});
|
|
}
|
|
}, b9 = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Ho(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 = Ku(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Ho(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(me.cssPrefix, "-")) > -1 || e.match(M_))) {
|
|
const t = Xu(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || bo(),
|
|
iconName: Ho(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = bo();
|
|
return {
|
|
prefix: t,
|
|
iconName: Ho(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, lr = {
|
|
noAuto: h9,
|
|
config: me,
|
|
dom: g9,
|
|
parse: b9,
|
|
library: u3,
|
|
findIconDefinition: Nm,
|
|
toHtml: hl
|
|
}, y9 = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = vt
|
|
} = e;
|
|
(Object.keys(Hr.styles).length > 0 || me.autoFetchSvg) && _n && me.autoReplaceSvg && lr.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Ju(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => hl(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!_n) return;
|
|
const r = vt.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function v9(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (vb(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: l
|
|
} = r, c = {
|
|
x: s / l / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Gu(te(te({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function w9(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(me.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: te(te({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function $b(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: l,
|
|
titleId: c,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: g
|
|
} = r.found ? r : t, v = w_.includes(n), m = [me.replacementClass, o ? "".concat(me.cssPrefix, "-").concat(o) : ""].filter((p) => u.classes.indexOf(p) === -1).filter((p) => p !== "" || !!p).concat(u.classes).join(" ");
|
|
let h = {
|
|
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(g)
|
|
})
|
|
};
|
|
const w = v && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / g * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (h.attributes[na] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || Hs())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const x = te(te({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: l,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: te(te({}, w), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: S
|
|
} = r.found && t.found ? yo("generateAbstractMask", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : yo("generateAbstractIcon", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return x.children = $, x.attributes = S, i ? w9(x) : v9(x);
|
|
}
|
|
function j1(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, l = te(te(te({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (l[na] = "");
|
|
const c = te({}, i.styles);
|
|
vb(o) && (c.transform = G_({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const u = Gu(c);
|
|
u.length > 0 && (l.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: l,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function x9(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = te(te(te({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Gu(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: $d
|
|
} = Hr;
|
|
function jm(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(me.cssPrefix, "-").concat(vd.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(me.cssPrefix, "-").concat(vd.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(me.cssPrefix, "-").concat(vd.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const $9 = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function k9(e, t) {
|
|
!qO && !me.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function _m(e, t) {
|
|
let r = t;
|
|
return t === "fa" && me.styleDefault !== null && (t = bo()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = l3(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && $d[t] && $d[t][e]) {
|
|
const a = $d[t][e];
|
|
return n(jm(a));
|
|
}
|
|
k9(e, t), n(te(te({}, $9), {}, {
|
|
icon: me.showMissingIcons && e ? yo("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const _1 = () => {
|
|
}, Im = me.measurePerformance && ec && ec.mark && ec.measure ? ec : {
|
|
mark: _1,
|
|
measure: _1
|
|
}, ls = 'FA "6.7.2"', O9 = (e) => (Im.mark("".concat(ls, " ").concat(e, " begins")), () => f3(e)), f3 = (e) => {
|
|
Im.mark("".concat(ls, " ").concat(e, " ends")), Im.measure("".concat(ls, " ").concat(e), "".concat(ls, " ").concat(e, " begins"), "".concat(ls, " ").concat(e, " ends"));
|
|
};
|
|
var kb = {
|
|
begin: O9,
|
|
end: f3
|
|
};
|
|
const Ic = () => {
|
|
};
|
|
function I1(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(na) : null) == "string";
|
|
}
|
|
function S9(e) {
|
|
const t = e.getAttribute ? e.getAttribute(hb) : null, r = e.getAttribute ? e.getAttribute(gb) : null;
|
|
return t && r;
|
|
}
|
|
function E9(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(me.replacementClass);
|
|
}
|
|
function P9() {
|
|
return me.autoReplaceSvg === !0 ? Tc.replace : Tc[me.autoReplaceSvg] || Tc.replace;
|
|
}
|
|
function A9(e) {
|
|
return vt.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function C9(e) {
|
|
return vt.createElement(e);
|
|
}
|
|
function d3(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? A9 : C9
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return vt.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(d3(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function N9(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Tc = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(d3(r), t);
|
|
}), t.getAttribute(na) === null && me.keepOriginalSource) {
|
|
let r = vt.createComment(N9(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~yb(t).indexOf(me.replacementClass))
|
|
return Tc.replace(e);
|
|
const n = new RegExp("".concat(me.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === me.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => hl(a)).join(`
|
|
`);
|
|
t.setAttribute(na, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function T1(e) {
|
|
e();
|
|
}
|
|
function p3(e, t) {
|
|
const r = typeof t == "function" ? t : Ic;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = T1;
|
|
me.mutateApproach === I_ && (n = go.requestAnimationFrame || T1), n(() => {
|
|
const o = P9(), a = kb.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Ob = !1;
|
|
function m3() {
|
|
Ob = !0;
|
|
}
|
|
function Tm() {
|
|
Ob = !1;
|
|
}
|
|
let au = null;
|
|
function R1(e) {
|
|
if (!x1 || !me.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Ic,
|
|
nodeCallback: r = Ic,
|
|
pseudoElementsCallback: n = Ic,
|
|
observeMutationsRoot: o = vt
|
|
} = e;
|
|
au = new x1((a) => {
|
|
if (Ob) return;
|
|
const i = bo();
|
|
Si(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !I1(s.addedNodes[0]) && (me.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && me.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && I1(s.target) && ~F_.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && S9(s.target)) {
|
|
const {
|
|
prefix: l,
|
|
iconName: c
|
|
} = Xu(yb(s.target));
|
|
s.target.setAttribute(hb, l || i), c && s.target.setAttribute(gb, c);
|
|
} else E9(s.target) && r(s.target);
|
|
});
|
|
}), _n && au.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function j9() {
|
|
au && au.disconnect();
|
|
}
|
|
function _9(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 I9(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Xu(yb(e));
|
|
return o.prefix || (o.prefix = bo()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = o9(o.prefix, e.innerText) || xb(o.prefix, e3(e.innerText))), !o.iconName && me.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function T9(e) {
|
|
const t = Si(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 me.autoA11y && (r ? t["aria-labelledby"] = "".concat(me.replacementClass, "-title-").concat(n || Hs()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function R9() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Vr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function M1(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = I9(e), a = T9(e), i = Cm("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? _9(e) : [];
|
|
return te({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Vr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: M9
|
|
} = Hr;
|
|
function h3(e) {
|
|
const t = me.autoReplaceSvg === "nest" ? M1(e, {
|
|
styleParser: !1
|
|
}) : M1(e);
|
|
return ~t.extra.classes.indexOf(GO) ? yo("generateLayersText", e, t) : yo("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function z9() {
|
|
return [...b_, ...$m];
|
|
}
|
|
function z1(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!_n) return Promise.resolve();
|
|
const r = vt.documentElement.classList, n = (u) => r.add("".concat(O1, "-").concat(u)), o = (u) => r.remove("".concat(O1, "-").concat(u)), a = me.autoFetchSvg ? z9() : VO.concat(Object.keys(M9));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(GO, ":not([").concat(na, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(na, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Si(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const l = kb.begin("onTree"), c = s.reduce((u, f) => {
|
|
try {
|
|
const d = h3(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
qO || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(c).then((d) => {
|
|
p3(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u();
|
|
});
|
|
}).catch((d) => {
|
|
l(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function L9(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
h3(e).then((r) => {
|
|
r && p3([r], t);
|
|
});
|
|
}
|
|
function F9(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Nm(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : Nm(o || {})), e(n, te(te({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const D9 = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Vr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: l = [],
|
|
attributes: c = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: g
|
|
} = e;
|
|
return Ju(te({
|
|
type: "icon"
|
|
}, e), () => (oa("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), me.autoA11y && (i ? c["aria-labelledby"] = "".concat(me.replacementClass, "-title-").concat(s || Hs()) : (c["aria-hidden"] = "true", c.focusable = "false")), $b({
|
|
icons: {
|
|
main: jm(g),
|
|
mask: o ? jm(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: te(te({}, Vr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: u,
|
|
classes: l
|
|
}
|
|
})));
|
|
};
|
|
var V9 = {
|
|
mixout() {
|
|
return {
|
|
icon: F9(D9)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = z1, e.nodeCallback = L9, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = vt,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return z1(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: l,
|
|
mask: c,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, g) => {
|
|
Promise.all([_m(n, i), c.iconName ? _m(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((v) => {
|
|
let [m, h] = v;
|
|
d([t, $b({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: l,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(g);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Gu(i);
|
|
s.length > 0 && (n.style = s);
|
|
let l;
|
|
return vb(a) && (l = yo("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(l || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, H9 = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Ju({
|
|
type: "layer"
|
|
}, () => {
|
|
oa("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(me.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, W9 = {
|
|
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 Ju({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (oa("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), x9({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(me.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, U9 = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Vr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Ju({
|
|
type: "text",
|
|
content: e
|
|
}, () => (oa("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), j1({
|
|
content: e,
|
|
transform: te(te({}, Vr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(me.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 (FO) {
|
|
const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / l, s = c.height / l;
|
|
}
|
|
return me.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, j1({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const Y9 = new RegExp('"', "ug"), L1 = [1105920, 1112319], F1 = te(te(te(te({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), m_), j_), O_), Rm = Object.keys(F1).reduce((e, t) => (e[t.toLowerCase()] = F1[t], e), {}), q9 = Object.keys(Rm).reduce((e, t) => {
|
|
const r = Rm[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function B9(e) {
|
|
const t = e.replace(Y9, ""), r = Z_(t, 0), n = r >= L1[0] && r <= L1[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: e3(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function G9(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (Rm[r] || {})[o] || q9[r];
|
|
}
|
|
function D1(e, t) {
|
|
const r = "".concat(__).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Si(e.children).filter((f) => f.getAttribute(Om) === t)[0], i = go.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(z_), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !l)
|
|
return e.removeChild(a), n();
|
|
if (l && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = G9(s, c);
|
|
const {
|
|
value: g,
|
|
isSecondary: v
|
|
} = B9(f), m = l[0].startsWith("FontAwesome");
|
|
let h = xb(d, g), w = h;
|
|
if (m) {
|
|
const x = a9(g);
|
|
x.iconName && x.prefix && (h = x.iconName, d = x.prefix);
|
|
}
|
|
if (h && !v && (!a || a.getAttribute(hb) !== d || a.getAttribute(gb) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const x = R9(), {
|
|
extra: $
|
|
} = x;
|
|
$.attributes[Om] = t, _m(h, d).then((S) => {
|
|
const p = $b(te(te({}, x), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: c3()
|
|
},
|
|
prefix: d,
|
|
iconName: w,
|
|
extra: $,
|
|
watchable: !0
|
|
})), T = vt.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(T, e.firstChild) : e.appendChild(T), T.outerHTML = p.map((L) => hl(L)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function K9(e) {
|
|
return Promise.all([D1(e, "::before"), D1(e, "::after")]);
|
|
}
|
|
function X9(e) {
|
|
return e.parentNode !== document.head && !~T_.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Om) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function V1(e) {
|
|
if (_n)
|
|
return new Promise((t, r) => {
|
|
const n = Si(e.querySelectorAll("*")).filter(X9).map(K9), o = kb.begin("searchPseudoElements");
|
|
m3(), Promise.all(n).then(() => {
|
|
o(), Tm(), t();
|
|
}).catch(() => {
|
|
o(), Tm(), r();
|
|
});
|
|
});
|
|
}
|
|
var J9 = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = V1, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = vt
|
|
} = t;
|
|
me.searchPseudoElements && V1(r);
|
|
};
|
|
}
|
|
};
|
|
let H1 = !1;
|
|
var Q9 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
m3(), H1 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
R1(Cm("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
j9();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
H1 ? Tm() : R1(Cm("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const W1 = (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 Z9 = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => W1(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = W1(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, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(l, " ").concat(c)
|
|
}, 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 kd = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function U1(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 eI(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var tI = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Xu(r.split(" ").map((o) => o.trim())) : c3();
|
|
return n.prefix || (n.prefix = bo()), 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: l,
|
|
icon: c
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = B_({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: l
|
|
}), g = {
|
|
tag: "rect",
|
|
attributes: te(te({}, kd), {}, {
|
|
fill: "white"
|
|
})
|
|
}, v = c.children ? {
|
|
children: c.children.map(U1)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: te({}, d.inner),
|
|
children: [U1(te({
|
|
tag: c.tag,
|
|
attributes: te(te({}, c.attributes), d.path)
|
|
}, v))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: te({}, d.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || Hs()), x = "clip-".concat(i || Hs()), $ = {
|
|
tag: "mask",
|
|
attributes: te(te({}, kd), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [g, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: x
|
|
},
|
|
children: eI(f)
|
|
}, $]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: te({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(x, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, kd)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, rI = {
|
|
provides(e) {
|
|
let t = !1;
|
|
go.matchMedia && (t = go.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
|
|
};
|
|
};
|
|
}
|
|
}, nI = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, oI = [X_, V9, H9, W9, U9, J9, Q9, Z9, tI, rI, nI];
|
|
m9(oI, {
|
|
mixoutsTo: lr
|
|
});
|
|
lr.noAuto;
|
|
lr.config;
|
|
lr.library;
|
|
lr.dom;
|
|
const Mm = lr.parse;
|
|
lr.findIconDefinition;
|
|
lr.toHtml;
|
|
const aI = lr.icon;
|
|
lr.layer;
|
|
lr.text;
|
|
lr.counter;
|
|
function iI(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var rc = { exports: {} }, Od = { 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 Y1;
|
|
function sI() {
|
|
if (Y1) return Ge;
|
|
Y1 = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(p) {
|
|
if (typeof p == "object" && p !== null) {
|
|
var T = p.$$typeof;
|
|
switch (T) {
|
|
case t:
|
|
switch (p = p.type, p) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return p;
|
|
default:
|
|
switch (p = p && p.$$typeof, p) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return p;
|
|
default:
|
|
return T;
|
|
}
|
|
}
|
|
case r:
|
|
return T;
|
|
}
|
|
}
|
|
}
|
|
function S(p) {
|
|
return $(p) === c;
|
|
}
|
|
return Ge.AsyncMode = l, Ge.ConcurrentMode = c, Ge.ContextConsumer = s, Ge.ContextProvider = i, Ge.Element = t, Ge.ForwardRef = u, Ge.Fragment = n, Ge.Lazy = v, Ge.Memo = g, Ge.Portal = r, Ge.Profiler = a, Ge.StrictMode = o, Ge.Suspense = f, Ge.isAsyncMode = function(p) {
|
|
return S(p) || $(p) === l;
|
|
}, Ge.isConcurrentMode = S, Ge.isContextConsumer = function(p) {
|
|
return $(p) === s;
|
|
}, Ge.isContextProvider = function(p) {
|
|
return $(p) === i;
|
|
}, Ge.isElement = function(p) {
|
|
return typeof p == "object" && p !== null && p.$$typeof === t;
|
|
}, Ge.isForwardRef = function(p) {
|
|
return $(p) === u;
|
|
}, Ge.isFragment = function(p) {
|
|
return $(p) === n;
|
|
}, Ge.isLazy = function(p) {
|
|
return $(p) === v;
|
|
}, Ge.isMemo = function(p) {
|
|
return $(p) === g;
|
|
}, Ge.isPortal = function(p) {
|
|
return $(p) === r;
|
|
}, Ge.isProfiler = function(p) {
|
|
return $(p) === a;
|
|
}, Ge.isStrictMode = function(p) {
|
|
return $(p) === o;
|
|
}, Ge.isSuspense = function(p) {
|
|
return $(p) === f;
|
|
}, Ge.isValidElementType = function(p) {
|
|
return typeof p == "string" || typeof p == "function" || p === n || p === c || p === a || p === o || p === f || p === d || typeof p == "object" && p !== null && (p.$$typeof === v || p.$$typeof === g || p.$$typeof === i || p.$$typeof === s || p.$$typeof === u || p.$$typeof === h || p.$$typeof === w || p.$$typeof === x || p.$$typeof === m);
|
|
}, Ge.typeOf = $, Ge;
|
|
}
|
|
var rt = {};
|
|
/** @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 q1;
|
|
function lI() {
|
|
return q1 || (q1 = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === f || k === d || typeof k == "object" && k !== null && (k.$$typeof === v || k.$$typeof === g || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === h || k.$$typeof === w || k.$$typeof === x || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var fe = k.$$typeof;
|
|
switch (fe) {
|
|
case t:
|
|
var Ee = k.type;
|
|
switch (Ee) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ee;
|
|
default:
|
|
var xe = Ee && Ee.$$typeof;
|
|
switch (xe) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return xe;
|
|
default:
|
|
return fe;
|
|
}
|
|
}
|
|
case r:
|
|
return fe;
|
|
}
|
|
}
|
|
}
|
|
var p = l, T = c, L = s, G = i, J = t, B = u, Z = n, M = v, ee = g, D = r, V = a, H = o, W = f, Y = !1;
|
|
function K(k) {
|
|
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.")), y(k) || S(k) === l;
|
|
}
|
|
function y(k) {
|
|
return S(k) === c;
|
|
}
|
|
function b(k) {
|
|
return S(k) === s;
|
|
}
|
|
function E(k) {
|
|
return S(k) === i;
|
|
}
|
|
function A(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function C(k) {
|
|
return S(k) === u;
|
|
}
|
|
function j(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === v;
|
|
}
|
|
function P(k) {
|
|
return S(k) === g;
|
|
}
|
|
function _(k) {
|
|
return S(k) === r;
|
|
}
|
|
function I(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === f;
|
|
}
|
|
rt.AsyncMode = p, rt.ConcurrentMode = T, rt.ContextConsumer = L, rt.ContextProvider = G, rt.Element = J, rt.ForwardRef = B, rt.Fragment = Z, rt.Lazy = M, rt.Memo = ee, rt.Portal = D, rt.Profiler = V, rt.StrictMode = H, rt.Suspense = W, rt.isAsyncMode = K, rt.isConcurrentMode = y, rt.isContextConsumer = b, rt.isContextProvider = E, rt.isElement = A, rt.isForwardRef = C, rt.isFragment = j, rt.isLazy = N, rt.isMemo = P, rt.isPortal = _, rt.isProfiler = I, rt.isStrictMode = R, rt.isSuspense = Q, rt.isValidElementType = $, rt.typeOf = S;
|
|
}()), rt;
|
|
}
|
|
var B1;
|
|
function g3() {
|
|
return B1 || (B1 = 1, process.env.NODE_ENV === "production" ? Od.exports = sI() : Od.exports = lI()), Od.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Sd, G1;
|
|
function cI() {
|
|
if (G1) return Sd;
|
|
G1 = 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 l = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (l.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
c[u] = u;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Sd = o() ? Object.assign : function(a, i) {
|
|
for (var s, l = n(a), c, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (l[f] = s[f]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var d = 0; d < c.length; d++)
|
|
r.call(s, c[d]) && (l[c[d]] = s[c[d]]);
|
|
}
|
|
}
|
|
return l;
|
|
}, Sd;
|
|
}
|
|
var Ed, K1;
|
|
function Sb() {
|
|
if (K1) return Ed;
|
|
K1 = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Ed = e, Ed;
|
|
}
|
|
var X1, J1;
|
|
function b3() {
|
|
return J1 || (J1 = 1, X1 = Function.call.bind(Object.prototype.hasOwnProperty)), X1;
|
|
}
|
|
var Pd, Q1;
|
|
function uI() {
|
|
if (Q1) return Pd;
|
|
Q1 = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Sb(), r = {}, n = /* @__PURE__ */ b3();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, l, c) {
|
|
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(
|
|
(l || "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, l, s, null, t);
|
|
} catch (v) {
|
|
f = v;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(l || "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 g = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (g ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Pd = o, Pd;
|
|
}
|
|
var Ad, Z1;
|
|
function fI() {
|
|
if (Z1) return Ad;
|
|
Z1 = 1;
|
|
var e = g3(), t = cI(), r = /* @__PURE__ */ Sb(), n = /* @__PURE__ */ b3(), o = /* @__PURE__ */ uI(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var l = "Warning: " + s;
|
|
typeof console < "u" && console.error(l);
|
|
try {
|
|
throw new Error(l);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Ad = function(s, l) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(y) {
|
|
var b = y && (c && y[c] || y[u]);
|
|
if (typeof b == "function")
|
|
return b;
|
|
}
|
|
var d = "<<anonymous>>", g = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: x(),
|
|
arrayOf: $,
|
|
element: S(),
|
|
elementType: p(),
|
|
instanceOf: T,
|
|
node: B(),
|
|
objectOf: G,
|
|
oneOf: L,
|
|
oneOfType: J,
|
|
shape: M,
|
|
exact: ee
|
|
};
|
|
function v(y, b) {
|
|
return y === b ? y !== 0 || 1 / y === 1 / b : y !== y && b !== b;
|
|
}
|
|
function m(y, b) {
|
|
this.message = y, this.data = b && typeof b == "object" ? b : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(y) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var b = {}, E = 0;
|
|
function A(j, N, P, _, I, R, Q) {
|
|
if (_ = _ || d, R = R || P, Q !== r) {
|
|
if (l) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var fe = _ + ":" + P;
|
|
!b[fe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
E < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + _ + "`. 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."
|
|
), b[fe] = !0, E++);
|
|
}
|
|
}
|
|
return N[P] == null ? j ? N[P] === null ? new m("The " + I + " `" + R + "` is marked as required " + ("in `" + _ + "`, but its value is `null`.")) : new m("The " + I + " `" + R + "` is marked as required in " + ("`" + _ + "`, but its value is `undefined`.")) : null : y(N, P, _, I, R);
|
|
}
|
|
var C = A.bind(null, !1);
|
|
return C.isRequired = A.bind(null, !0), C;
|
|
}
|
|
function w(y) {
|
|
function b(E, A, C, j, N, P) {
|
|
var _ = E[A], I = H(_);
|
|
if (I !== y) {
|
|
var R = W(_);
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` of type " + ("`" + R + "` supplied to `" + C + "`, expected ") + ("`" + y + "`."),
|
|
{ expectedType: y }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function x() {
|
|
return h(i);
|
|
}
|
|
function $(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside arrayOf.");
|
|
var P = E[A];
|
|
if (!Array.isArray(P)) {
|
|
var _ = H(P);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an array."));
|
|
}
|
|
for (var I = 0; I < P.length; I++) {
|
|
var R = y(P, I, C, j, N + "[" + I + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function S() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!s(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function p() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!e.isValidElementType(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function T(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (!(E[A] instanceof y)) {
|
|
var P = y.name || d, _ = K(E[A]);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected ") + ("instance of `" + P + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function L(y) {
|
|
if (!Array.isArray(y))
|
|
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 b(E, A, C, j, N) {
|
|
for (var P = E[A], _ = 0; _ < y.length; _++)
|
|
if (v(P, y[_]))
|
|
return null;
|
|
var I = JSON.stringify(y, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + j + " `" + N + "` of value `" + String(P) + "` " + ("supplied to `" + C + "`, expected one of " + I + "."));
|
|
}
|
|
return h(b);
|
|
}
|
|
function G(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside objectOf.");
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an object."));
|
|
for (var I in P)
|
|
if (n(P, I)) {
|
|
var R = y(P, I, C, j, N + "." + I, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function J(y) {
|
|
if (!Array.isArray(y))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var b = 0; b < y.length; b++) {
|
|
var E = y[b];
|
|
if (typeof E != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(E) + " at index " + b + "."
|
|
), i;
|
|
}
|
|
function A(C, j, N, P, _) {
|
|
for (var I = [], R = 0; R < y.length; R++) {
|
|
var Q = y[R], k = Q(C, j, N, P, _, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && I.push(k.data.expectedType);
|
|
}
|
|
var fe = I.length > 0 ? ", expected one of type [" + I.join(", ") + "]" : "";
|
|
return new m("Invalid " + P + " `" + _ + "` supplied to " + ("`" + N + "`" + fe + "."));
|
|
}
|
|
return h(A);
|
|
}
|
|
function B() {
|
|
function y(b, E, A, C, j) {
|
|
return D(b[E]) ? null : new m("Invalid " + C + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return h(y);
|
|
}
|
|
function Z(y, b, E, A, C) {
|
|
return new m(
|
|
(y || "React class") + ": " + b + " type `" + E + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + C + "`."
|
|
);
|
|
}
|
|
function M(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
for (var I in y) {
|
|
var R = y[I];
|
|
if (typeof R != "function")
|
|
return Z(C, j, N, I, W(R));
|
|
var Q = R(P, I, C, j, N + "." + I, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function ee(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
var I = t({}, E[A], y);
|
|
for (var R in I) {
|
|
var Q = y[R];
|
|
if (n(y, R) && typeof Q != "function")
|
|
return Z(C, j, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` key `" + R + "` supplied to `" + C + "`.\nBad object: " + JSON.stringify(E[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(y), null, " ")
|
|
);
|
|
var k = Q(P, R, C, j, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function D(y) {
|
|
switch (typeof y) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !y;
|
|
case "object":
|
|
if (Array.isArray(y))
|
|
return y.every(D);
|
|
if (y === null || s(y))
|
|
return !0;
|
|
var b = f(y);
|
|
if (b) {
|
|
var E = b.call(y), A;
|
|
if (b !== y.entries) {
|
|
for (; !(A = E.next()).done; )
|
|
if (!D(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = E.next()).done; ) {
|
|
var C = A.value;
|
|
if (C && !D(C[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function V(y, b) {
|
|
return y === "symbol" ? !0 : b ? b["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && b instanceof Symbol : !1;
|
|
}
|
|
function H(y) {
|
|
var b = typeof y;
|
|
return Array.isArray(y) ? "array" : y instanceof RegExp ? "object" : V(b, y) ? "symbol" : b;
|
|
}
|
|
function W(y) {
|
|
if (typeof y > "u" || y === null)
|
|
return "" + y;
|
|
var b = H(y);
|
|
if (b === "object") {
|
|
if (y instanceof Date)
|
|
return "date";
|
|
if (y instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return b;
|
|
}
|
|
function Y(y) {
|
|
var b = W(y);
|
|
switch (b) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + b;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + b;
|
|
default:
|
|
return b;
|
|
}
|
|
}
|
|
function K(y) {
|
|
return !y.constructor || !y.constructor.name ? d : y.constructor.name;
|
|
}
|
|
return g.checkPropTypes = o, g.resetWarningCache = o.resetWarningCache, g.PropTypes = g, g;
|
|
}, Ad;
|
|
}
|
|
var Cd, e0;
|
|
function dI() {
|
|
if (e0) return Cd;
|
|
e0 = 1;
|
|
var e = /* @__PURE__ */ Sb();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Cd = function() {
|
|
function n(i, s, l, c, 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;
|
|
}, Cd;
|
|
}
|
|
var t0;
|
|
function pI() {
|
|
if (t0) return rc.exports;
|
|
if (t0 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = g3(), t = !0;
|
|
rc.exports = /* @__PURE__ */ fI()(e.isElement, t);
|
|
} else
|
|
rc.exports = /* @__PURE__ */ dI()();
|
|
return rc.exports;
|
|
}
|
|
var mI = /* @__PURE__ */ pI();
|
|
const Fe = /* @__PURE__ */ iI(mI);
|
|
function r0(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 Ir(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? r0(Object(r), !0).forEach(function(n) {
|
|
Ta(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : r0(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function iu(e) {
|
|
"@babel/helpers - typeof";
|
|
return iu = 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;
|
|
}, iu(e);
|
|
}
|
|
function Ta(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function hI(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 gI(e, t) {
|
|
if (e == null) return {};
|
|
var r = hI(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 zm(e) {
|
|
return bI(e) || yI(e) || vI(e) || wI();
|
|
}
|
|
function bI(e) {
|
|
if (Array.isArray(e)) return Lm(e);
|
|
}
|
|
function yI(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function vI(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Lm(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 Lm(e, t);
|
|
}
|
|
}
|
|
function Lm(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 wI() {
|
|
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 xI(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, g = e.inverse, v = e.border, m = e.listItem, h = e.flip, w = e.size, x = e.rotation, $ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": l,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": g,
|
|
"fa-border": v,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Ta(t, "fa-".concat(w), typeof w < "u" && w !== null), Ta(t, "fa-rotate-".concat(x), typeof x < "u" && x !== null && x !== 0), Ta(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Ta(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(p) {
|
|
return S[p] ? p : null;
|
|
}).filter(function(p) {
|
|
return p;
|
|
});
|
|
}
|
|
function $I(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function y3(e) {
|
|
return $I(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var kI = ["style"];
|
|
function OI(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function SI(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = y3(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[OI(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function v3(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(l) {
|
|
return v3(e, l);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(l, c) {
|
|
var u = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
l.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
l.attrs.style = SI(u);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[y3(c)] = u;
|
|
}
|
|
return l;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = gI(r, kI);
|
|
return o.attrs.style = Ir(Ir({}, o.attrs.style), i), e.apply(void 0, [t.tag, Ir(Ir({}, o.attrs), s)].concat(zm(n)));
|
|
}
|
|
var w3 = !1;
|
|
try {
|
|
w3 = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function EI() {
|
|
if (!w3 && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function n0(e) {
|
|
if (e && iu(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Mm.icon)
|
|
return Mm.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && iu(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 Nd(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ta({}, e, t) : {};
|
|
}
|
|
var o0 = {
|
|
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
|
|
}, Us = /* @__PURE__ */ ue.forwardRef(function(e, t) {
|
|
var r = Ir(Ir({}, o0), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = n0(n), f = Nd("classes", [].concat(zm(xI(r)), zm((i || "").split(" ")))), d = Nd("transform", typeof r.transform == "string" ? Mm.transform(r.transform) : r.transform), g = Nd("mask", n0(o)), v = aI(u, Ir(Ir(Ir(Ir({}, f), d), g), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: l,
|
|
maskId: c
|
|
}));
|
|
if (!v)
|
|
return EI("Could not find icon", u), null;
|
|
var m = v.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
o0.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), PI(m[0], h);
|
|
});
|
|
Us.displayName = "FontAwesomeIcon";
|
|
Us.propTypes = {
|
|
beat: Fe.bool,
|
|
border: Fe.bool,
|
|
beatFade: Fe.bool,
|
|
bounce: Fe.bool,
|
|
className: Fe.string,
|
|
fade: Fe.bool,
|
|
flash: Fe.bool,
|
|
mask: Fe.oneOfType([Fe.object, Fe.array, Fe.string]),
|
|
maskId: Fe.string,
|
|
fixedWidth: Fe.bool,
|
|
inverse: Fe.bool,
|
|
flip: Fe.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Fe.oneOfType([Fe.object, Fe.array, Fe.string]),
|
|
listItem: Fe.bool,
|
|
pull: Fe.oneOf(["right", "left"]),
|
|
pulse: Fe.bool,
|
|
rotation: Fe.oneOf([0, 90, 180, 270]),
|
|
shake: Fe.bool,
|
|
size: Fe.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Fe.bool,
|
|
spinPulse: Fe.bool,
|
|
spinReverse: Fe.bool,
|
|
symbol: Fe.oneOfType([Fe.bool, Fe.string]),
|
|
title: Fe.string,
|
|
titleId: Fe.string,
|
|
transform: Fe.oneOfType([Fe.string, Fe.object]),
|
|
swapOpacity: Fe.bool
|
|
};
|
|
var PI = v3.bind(null, ue.createElement);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const AI = {
|
|
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 CI(e, t, r) {
|
|
return (t = jI(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function a0(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 re(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? a0(Object(r), !0).forEach(function(n) {
|
|
CI(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : a0(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function NI(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 jI(e) {
|
|
var t = NI(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const i0 = () => {
|
|
};
|
|
let Eb = {}, x3 = {}, $3 = null, k3 = {
|
|
mark: i0,
|
|
measure: i0
|
|
};
|
|
try {
|
|
typeof window < "u" && (Eb = window), typeof document < "u" && (x3 = document), typeof MutationObserver < "u" && ($3 = MutationObserver), typeof performance < "u" && (k3 = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: s0 = ""
|
|
} = Eb.navigator || {}, vo = Eb, wt = x3, l0 = $3, nc = k3;
|
|
vo.document;
|
|
const In = !!wt.documentElement && !!wt.head && typeof wt.addEventListener == "function" && typeof wt.createElement == "function", O3 = ~s0.indexOf("MSIE") || ~s0.indexOf("Trident/");
|
|
var _I = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, II = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, S3 = {
|
|
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"
|
|
}
|
|
}, TI = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, E3 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], qt = "classic", Qu = "duotone", RI = "sharp", MI = "sharp-duotone", P3 = [qt, Qu, RI, MI], zI = {
|
|
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"
|
|
}
|
|
}, LI = {
|
|
"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"
|
|
}
|
|
}, FI = /* @__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
|
|
}]]), DI = {
|
|
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"
|
|
}
|
|
}, VI = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], c0 = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, HI = ["kit"], WI = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, UI = ["fak", "fakd"], YI = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, u0 = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, oc = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, qI = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], BI = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], GI = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, KI = {
|
|
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"
|
|
}
|
|
}, XI = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Fm = {
|
|
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"
|
|
}
|
|
}, JI = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Dm = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...qI, ...JI], QI = ["solid", "regular", "light", "thin", "duotone", "brands"], A3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ZI = A3.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), eT = [...Object.keys(XI), ...QI, "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", oc.GROUP, oc.SWAP_OPACITY, oc.PRIMARY, oc.SECONDARY].concat(A3.map((e) => "".concat(e, "x"))).concat(ZI.map((e) => "w-".concat(e))), tT = {
|
|
"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 $n = "___FONT_AWESOME___", Vm = 16, C3 = "fa", N3 = "svg-inline--fa", aa = "data-fa-i2svg", Hm = "data-fa-pseudo-element", rT = "data-fa-pseudo-element-pending", Pb = "data-prefix", Ab = "data-icon", f0 = "fontawesome-i2svg", nT = "async", oT = ["HTML", "HEAD", "STYLE", "SCRIPT"], j3 = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function gl(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[qt];
|
|
}
|
|
});
|
|
}
|
|
const _3 = re({}, S3);
|
|
_3[qt] = re(re(re(re({}, {
|
|
"fa-duotone": "duotone"
|
|
}), S3[qt]), c0.kit), c0["kit-duotone"]);
|
|
const aT = gl(_3), Wm = re({}, DI);
|
|
Wm[qt] = re(re(re(re({}, {
|
|
duotone: "fad"
|
|
}), Wm[qt]), u0.kit), u0["kit-duotone"]);
|
|
const d0 = gl(Wm), Um = re({}, Fm);
|
|
Um[qt] = re(re({}, Um[qt]), YI.kit);
|
|
const Cb = gl(Um), Ym = re({}, KI);
|
|
Ym[qt] = re(re({}, Ym[qt]), WI.kit);
|
|
gl(Ym);
|
|
const iT = _I, I3 = "fa-layers-text", sT = II, lT = re({}, zI);
|
|
gl(lT);
|
|
const cT = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], jd = TI, uT = [...HI, ...eT], $s = vo.FontAwesomeConfig || {};
|
|
function fT(e) {
|
|
var t = wt.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function dT(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
wt && typeof wt.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 = dT(fT(t));
|
|
n != null && ($s[r] = n);
|
|
});
|
|
const T3 = {
|
|
styleDefault: "solid",
|
|
familyDefault: qt,
|
|
cssPrefix: C3,
|
|
replacementClass: N3,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
$s.familyPrefix && ($s.cssPrefix = $s.familyPrefix);
|
|
const ci = re(re({}, T3), $s);
|
|
ci.autoReplaceSvg || (ci.observeMutations = !1);
|
|
const he = {};
|
|
Object.keys(T3).forEach((e) => {
|
|
Object.defineProperty(he, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
ci[e] = t, ks.forEach((r) => r(he));
|
|
},
|
|
get: function() {
|
|
return ci[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(he, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
ci.cssPrefix = e, ks.forEach((t) => t(he));
|
|
},
|
|
get: function() {
|
|
return ci.cssPrefix;
|
|
}
|
|
});
|
|
vo.FontAwesomeConfig = he;
|
|
const ks = [];
|
|
function pT(e) {
|
|
return ks.push(e), () => {
|
|
ks.splice(ks.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Yn = Vm, Wr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function mT(e) {
|
|
if (!e || !In)
|
|
return;
|
|
const t = wt.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = wt.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 wt.head.insertBefore(t, n), e;
|
|
}
|
|
const hT = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function Ys() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += hT[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Ei(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function Nb(e) {
|
|
return e.classList ? Ei(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function R3(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function gT(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(R3(e[r]), '" '), "").trim();
|
|
}
|
|
function Zu(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function jb(e) {
|
|
return e.size !== Wr.size || e.x !== Wr.x || e.y !== Wr.y || e.rotate !== Wr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function bT(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)"), l = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: l,
|
|
path: c
|
|
};
|
|
}
|
|
function yT(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Vm,
|
|
height: n = Vm,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && O3 ? a += "translate(".concat(t.x / Yn - r / 2, "em, ").concat(t.y / Yn - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Yn, "em), calc(-50% + ").concat(t.y / Yn, "em)) ") : a += "translate(".concat(t.x / Yn, "em, ").concat(t.y / Yn, "em) "), a += "scale(".concat(t.size / Yn * (t.flipX ? -1 : 1), ", ").concat(t.size / Yn * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var vT = `: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 M3() {
|
|
const e = C3, t = N3, r = he.cssPrefix, n = he.replacementClass;
|
|
let o = vT;
|
|
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 p0 = !1;
|
|
function _d() {
|
|
he.autoAddCss && !p0 && (mT(M3()), p0 = !0);
|
|
}
|
|
var wT = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: M3,
|
|
insertCss: _d
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
_d();
|
|
},
|
|
beforeI2svg() {
|
|
_d();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const kn = vo || {};
|
|
kn[$n] || (kn[$n] = {});
|
|
kn[$n].styles || (kn[$n].styles = {});
|
|
kn[$n].hooks || (kn[$n].hooks = {});
|
|
kn[$n].shims || (kn[$n].shims = []);
|
|
var Ur = kn[$n];
|
|
const z3 = [], L3 = function() {
|
|
wt.removeEventListener("DOMContentLoaded", L3), su = 1, z3.map((e) => e());
|
|
};
|
|
let su = !1;
|
|
In && (su = (wt.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(wt.readyState), su || wt.addEventListener("DOMContentLoaded", L3));
|
|
function xT(e) {
|
|
In && (su ? setTimeout(e, 0) : z3.push(e));
|
|
}
|
|
function bl(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? R3(e) : "<".concat(t, " ").concat(gT(r), ">").concat(n.map(bl).join(""), "</").concat(t, ">");
|
|
}
|
|
function m0(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Id = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, l, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
l = o[s], c = i(c, e[l], l, e);
|
|
return c;
|
|
};
|
|
function $T(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 F3(e) {
|
|
const t = $T(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function kT(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 h0(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 qm(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = h0(t);
|
|
typeof Ur.hooks.addPack == "function" && !n ? Ur.hooks.addPack(e, h0(t)) : Ur.styles[e] = re(re({}, Ur.styles[e] || {}), o), e === "fas" && qm("fa", t);
|
|
}
|
|
const {
|
|
styles: qs,
|
|
shims: OT
|
|
} = Ur, D3 = Object.keys(Cb), ST = D3.reduce((e, t) => (e[t] = Object.keys(Cb[t]), e), {});
|
|
let _b = null, V3 = {}, H3 = {}, W3 = {}, U3 = {}, Y3 = {};
|
|
function ET(e) {
|
|
return ~uT.indexOf(e);
|
|
}
|
|
function PT(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !ET(o) ? o : null;
|
|
}
|
|
const q3 = () => {
|
|
const e = (n) => Id(qs, (o, a, i) => (o[i] = Id(a, n, {}), o), {});
|
|
V3 = 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)), H3 = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), Y3 = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in qs || he.autoFetchSvg, r = Id(OT, (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: {}
|
|
});
|
|
W3 = r.names, U3 = r.unicodes, _b = ef(he.styleDefault, {
|
|
family: he.familyDefault
|
|
});
|
|
};
|
|
pT((e) => {
|
|
_b = ef(e.styleDefault, {
|
|
family: he.familyDefault
|
|
});
|
|
});
|
|
q3();
|
|
function Ib(e, t) {
|
|
return (V3[e] || {})[t];
|
|
}
|
|
function AT(e, t) {
|
|
return (H3[e] || {})[t];
|
|
}
|
|
function Wo(e, t) {
|
|
return (Y3[e] || {})[t];
|
|
}
|
|
function B3(e) {
|
|
return W3[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function CT(e) {
|
|
const t = U3[e], r = Ib("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function wo() {
|
|
return _b;
|
|
}
|
|
const G3 = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function NT(e) {
|
|
let t = qt;
|
|
const r = D3.reduce((n, o) => (n[o] = "".concat(he.cssPrefix, "-").concat(o), n), {});
|
|
return P3.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => ST[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function ef(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = qt
|
|
} = t, n = aT[r][e];
|
|
if (r === Qu && !e)
|
|
return "fad";
|
|
const o = d0[r][e] || d0[r][n], a = e in Ur.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function jT(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = PT(he.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function g0(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function tf(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Dm.concat(BI), a = g0(e.filter((f) => o.includes(f))), i = g0(e.filter((f) => !Dm.includes(f))), s = a.filter((f) => (n = f, !E3.includes(f))), [l = null] = s, c = NT(a), u = re(re({}, jT(i)), {}, {
|
|
prefix: ef(l, {
|
|
family: c
|
|
})
|
|
});
|
|
return re(re(re({}, u), RT({
|
|
values: e,
|
|
family: c,
|
|
styles: qs,
|
|
config: he,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), _T(r, n, u));
|
|
}
|
|
function _T(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? B3(o) : {}, i = Wo(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !qs.far && qs.fas && !he.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const IT = P3.filter((e) => e !== qt || e !== Qu), TT = Object.keys(Fm).filter((e) => e !== qt).map((e) => Object.keys(Fm[e])).flat();
|
|
function RT(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Qu, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && IT.includes(r) && (Object.keys(a).find((f) => TT.includes(f)) || i.autoFetchSvg)) {
|
|
const f = FI.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Wo(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = wo() || "fas"), n;
|
|
}
|
|
class MT {
|
|
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] = re(re({}, this.definitions[a] || {}), o[a]), qm(a, o[a]);
|
|
const i = Cb[qt][a];
|
|
i && qm(i, o[a]), q3();
|
|
});
|
|
}
|
|
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], l = s[2];
|
|
t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let b0 = [], Ra = {};
|
|
const Xa = {}, zT = Object.keys(Xa);
|
|
function LT(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return b0 = e, Ra = {}, Object.keys(Xa).forEach((n) => {
|
|
zT.indexOf(n) === -1 && delete Xa[n];
|
|
}), b0.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) => {
|
|
Ra[i] || (Ra[i] = []), Ra[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(Xa);
|
|
}), r;
|
|
}
|
|
function Bm(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 (Ra[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ia(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Ra[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function xo() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return Xa[e] ? Xa[e].apply(null, t) : void 0;
|
|
}
|
|
function Gm(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || wo();
|
|
if (t)
|
|
return t = Wo(r, t) || t, m0(K3.definitions, r, t) || m0(Ur.styles, r, t);
|
|
}
|
|
const K3 = new MT(), FT = () => {
|
|
he.autoReplaceSvg = !1, he.observeMutations = !1, ia("noAuto");
|
|
}, DT = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return In ? (ia("beforeI2svg", e), xo("pseudoElements2svg", e), xo("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
he.autoReplaceSvg === !1 && (he.autoReplaceSvg = !0), he.observeMutations = !0, xT(() => {
|
|
HT({
|
|
autoReplaceSvgRoot: t
|
|
}), ia("watch", e);
|
|
});
|
|
}
|
|
}, VT = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Wo(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 = ef(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Wo(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(he.cssPrefix, "-")) > -1 || e.match(iT))) {
|
|
const t = tf(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || wo(),
|
|
iconName: Wo(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = wo();
|
|
return {
|
|
prefix: t,
|
|
iconName: Wo(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, cr = {
|
|
noAuto: FT,
|
|
config: he,
|
|
dom: DT,
|
|
parse: VT,
|
|
library: K3,
|
|
findIconDefinition: Gm,
|
|
toHtml: bl
|
|
}, HT = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = wt
|
|
} = e;
|
|
(Object.keys(Ur.styles).length > 0 || he.autoFetchSvg) && In && he.autoReplaceSvg && cr.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function rf(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => bl(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!In) return;
|
|
const r = wt.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function WT(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (jb(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: l
|
|
} = r, c = {
|
|
x: s / l / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Zu(re(re({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function UT(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(he.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: re(re({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function Tb(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: l,
|
|
titleId: c,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: g
|
|
} = r.found ? r : t, v = UI.includes(n), m = [he.replacementClass, o ? "".concat(he.cssPrefix, "-").concat(o) : ""].filter((p) => u.classes.indexOf(p) === -1).filter((p) => p !== "" || !!p).concat(u.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: re(re({}, 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(g)
|
|
})
|
|
};
|
|
const w = v && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / g * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (h.attributes[aa] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || Ys())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const x = re(re({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: l,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: re(re({}, w), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: S
|
|
} = r.found && t.found ? xo("generateAbstractMask", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : xo("generateAbstractIcon", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return x.children = $, x.attributes = S, i ? UT(x) : WT(x);
|
|
}
|
|
function y0(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, l = re(re(re({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (l[aa] = "");
|
|
const c = re({}, i.styles);
|
|
jb(o) && (c.transform = yT({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const u = Zu(c);
|
|
u.length > 0 && (l.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: l,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function YT(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = re(re(re({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Zu(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: Td
|
|
} = Ur;
|
|
function Km(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(he.cssPrefix, "-").concat(jd.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(he.cssPrefix, "-").concat(jd.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(he.cssPrefix, "-").concat(jd.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const qT = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function BT(e, t) {
|
|
!j3 && !he.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Xm(e, t) {
|
|
let r = t;
|
|
return t === "fa" && he.styleDefault !== null && (t = wo()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = B3(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Td[t] && Td[t][e]) {
|
|
const a = Td[t][e];
|
|
return n(Km(a));
|
|
}
|
|
BT(e, t), n(re(re({}, qT), {}, {
|
|
icon: he.showMissingIcons && e ? xo("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const v0 = () => {
|
|
}, Jm = he.measurePerformance && nc && nc.mark && nc.measure ? nc : {
|
|
mark: v0,
|
|
measure: v0
|
|
}, cs = 'FA "6.7.2"', GT = (e) => (Jm.mark("".concat(cs, " ").concat(e, " begins")), () => X3(e)), X3 = (e) => {
|
|
Jm.mark("".concat(cs, " ").concat(e, " ends")), Jm.measure("".concat(cs, " ").concat(e), "".concat(cs, " ").concat(e, " begins"), "".concat(cs, " ").concat(e, " ends"));
|
|
};
|
|
var Rb = {
|
|
begin: GT,
|
|
end: X3
|
|
};
|
|
const Rc = () => {
|
|
};
|
|
function w0(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(aa) : null) == "string";
|
|
}
|
|
function KT(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Pb) : null, r = e.getAttribute ? e.getAttribute(Ab) : null;
|
|
return t && r;
|
|
}
|
|
function XT(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(he.replacementClass);
|
|
}
|
|
function JT() {
|
|
return he.autoReplaceSvg === !0 ? Mc.replace : Mc[he.autoReplaceSvg] || Mc.replace;
|
|
}
|
|
function QT(e) {
|
|
return wt.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function ZT(e) {
|
|
return wt.createElement(e);
|
|
}
|
|
function J3(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? QT : ZT
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return wt.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(J3(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function e7(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Mc = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(J3(r), t);
|
|
}), t.getAttribute(aa) === null && he.keepOriginalSource) {
|
|
let r = wt.createComment(e7(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~Nb(t).indexOf(he.replacementClass))
|
|
return Mc.replace(e);
|
|
const n = new RegExp("".concat(he.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === he.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => bl(a)).join(`
|
|
`);
|
|
t.setAttribute(aa, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function x0(e) {
|
|
e();
|
|
}
|
|
function Q3(e, t) {
|
|
const r = typeof t == "function" ? t : Rc;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = x0;
|
|
he.mutateApproach === nT && (n = vo.requestAnimationFrame || x0), n(() => {
|
|
const o = JT(), a = Rb.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Mb = !1;
|
|
function Z3() {
|
|
Mb = !0;
|
|
}
|
|
function Qm() {
|
|
Mb = !1;
|
|
}
|
|
let lu = null;
|
|
function $0(e) {
|
|
if (!l0 || !he.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Rc,
|
|
nodeCallback: r = Rc,
|
|
pseudoElementsCallback: n = Rc,
|
|
observeMutationsRoot: o = wt
|
|
} = e;
|
|
lu = new l0((a) => {
|
|
if (Mb) return;
|
|
const i = wo();
|
|
Ei(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !w0(s.addedNodes[0]) && (he.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && he.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && w0(s.target) && ~cT.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && KT(s.target)) {
|
|
const {
|
|
prefix: l,
|
|
iconName: c
|
|
} = tf(Nb(s.target));
|
|
s.target.setAttribute(Pb, l || i), c && s.target.setAttribute(Ab, c);
|
|
} else XT(s.target) && r(s.target);
|
|
});
|
|
}), In && lu.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function t7() {
|
|
lu && lu.disconnect();
|
|
}
|
|
function r7(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 n7(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = tf(Nb(e));
|
|
return o.prefix || (o.prefix = wo()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = AT(o.prefix, e.innerText) || Ib(o.prefix, F3(e.innerText))), !o.iconName && he.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function o7(e) {
|
|
const t = Ei(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return he.autoA11y && (r ? t["aria-labelledby"] = "".concat(he.replacementClass, "-title-").concat(n || Ys()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function a7() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Wr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function k0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = n7(e), a = o7(e), i = Bm("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? r7(e) : [];
|
|
return re({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Wr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: i7
|
|
} = Ur;
|
|
function e4(e) {
|
|
const t = he.autoReplaceSvg === "nest" ? k0(e, {
|
|
styleParser: !1
|
|
}) : k0(e);
|
|
return ~t.extra.classes.indexOf(I3) ? xo("generateLayersText", e, t) : xo("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function s7() {
|
|
return [...VI, ...Dm];
|
|
}
|
|
function O0(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!In) return Promise.resolve();
|
|
const r = wt.documentElement.classList, n = (u) => r.add("".concat(f0, "-").concat(u)), o = (u) => r.remove("".concat(f0, "-").concat(u)), a = he.autoFetchSvg ? s7() : E3.concat(Object.keys(i7));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(I3, ":not([").concat(aa, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(aa, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Ei(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const l = Rb.begin("onTree"), c = s.reduce((u, f) => {
|
|
try {
|
|
const d = e4(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
j3 || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(c).then((d) => {
|
|
Q3(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u();
|
|
});
|
|
}).catch((d) => {
|
|
l(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function l7(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
e4(e).then((r) => {
|
|
r && Q3([r], t);
|
|
});
|
|
}
|
|
function c7(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Gm(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : Gm(o || {})), e(n, re(re({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const u7 = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Wr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: l = [],
|
|
attributes: c = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: g
|
|
} = e;
|
|
return rf(re({
|
|
type: "icon"
|
|
}, e), () => (ia("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), he.autoA11y && (i ? c["aria-labelledby"] = "".concat(he.replacementClass, "-title-").concat(s || Ys()) : (c["aria-hidden"] = "true", c.focusable = "false")), Tb({
|
|
icons: {
|
|
main: Km(g),
|
|
mask: o ? Km(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: re(re({}, Wr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: u,
|
|
classes: l
|
|
}
|
|
})));
|
|
};
|
|
var f7 = {
|
|
mixout() {
|
|
return {
|
|
icon: c7(u7)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = O0, e.nodeCallback = l7, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = wt,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return O0(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: l,
|
|
mask: c,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, g) => {
|
|
Promise.all([Xm(n, i), c.iconName ? Xm(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((v) => {
|
|
let [m, h] = v;
|
|
d([t, Tb({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: l,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(g);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Zu(i);
|
|
s.length > 0 && (n.style = s);
|
|
let l;
|
|
return jb(a) && (l = xo("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(l || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, d7 = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return rf({
|
|
type: "layer"
|
|
}, () => {
|
|
ia("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(he.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, p7 = {
|
|
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 rf({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ia("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), YT({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(he.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, m7 = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Wr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return rf({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ia("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), y0({
|
|
content: e,
|
|
transform: re(re({}, Wr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(he.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (O3) {
|
|
const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / l, s = c.height / l;
|
|
}
|
|
return he.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, y0({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const h7 = new RegExp('"', "ug"), S0 = [1105920, 1112319], E0 = re(re(re(re({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), LI), tT), GI), Zm = Object.keys(E0).reduce((e, t) => (e[t.toLowerCase()] = E0[t], e), {}), g7 = Object.keys(Zm).reduce((e, t) => {
|
|
const r = Zm[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function b7(e) {
|
|
const t = e.replace(h7, ""), r = kT(t, 0), n = r >= S0[0] && r <= S0[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: F3(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function y7(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (Zm[r] || {})[o] || g7[r];
|
|
}
|
|
function P0(e, t) {
|
|
const r = "".concat(rT).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Ei(e.children).filter((f) => f.getAttribute(Hm) === t)[0], i = vo.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(sT), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !l)
|
|
return e.removeChild(a), n();
|
|
if (l && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = y7(s, c);
|
|
const {
|
|
value: g,
|
|
isSecondary: v
|
|
} = b7(f), m = l[0].startsWith("FontAwesome");
|
|
let h = Ib(d, g), w = h;
|
|
if (m) {
|
|
const x = CT(g);
|
|
x.iconName && x.prefix && (h = x.iconName, d = x.prefix);
|
|
}
|
|
if (h && !v && (!a || a.getAttribute(Pb) !== d || a.getAttribute(Ab) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const x = a7(), {
|
|
extra: $
|
|
} = x;
|
|
$.attributes[Hm] = t, Xm(h, d).then((S) => {
|
|
const p = Tb(re(re({}, x), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: G3()
|
|
},
|
|
prefix: d,
|
|
iconName: w,
|
|
extra: $,
|
|
watchable: !0
|
|
})), T = wt.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(T, e.firstChild) : e.appendChild(T), T.outerHTML = p.map((L) => bl(L)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function v7(e) {
|
|
return Promise.all([P0(e, "::before"), P0(e, "::after")]);
|
|
}
|
|
function w7(e) {
|
|
return e.parentNode !== document.head && !~oT.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Hm) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function A0(e) {
|
|
if (In)
|
|
return new Promise((t, r) => {
|
|
const n = Ei(e.querySelectorAll("*")).filter(w7).map(v7), o = Rb.begin("searchPseudoElements");
|
|
Z3(), Promise.all(n).then(() => {
|
|
o(), Qm(), t();
|
|
}).catch(() => {
|
|
o(), Qm(), r();
|
|
});
|
|
});
|
|
}
|
|
var x7 = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = A0, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = wt
|
|
} = t;
|
|
he.searchPseudoElements && A0(r);
|
|
};
|
|
}
|
|
};
|
|
let C0 = !1;
|
|
var $7 = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
Z3(), C0 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
$0(Bm("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
t7();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
C0 ? Qm() : $0(Bm("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const N0 = (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 k7 = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => N0(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = N0(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, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(l, " ").concat(c)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: re({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: re({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: re(re({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Rd = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function j0(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 O7(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var S7 = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? tf(r.split(" ").map((o) => o.trim())) : G3();
|
|
return n.prefix || (n.prefix = wo()), 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: l,
|
|
icon: c
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = bT({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: l
|
|
}), g = {
|
|
tag: "rect",
|
|
attributes: re(re({}, Rd), {}, {
|
|
fill: "white"
|
|
})
|
|
}, v = c.children ? {
|
|
children: c.children.map(j0)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: re({}, d.inner),
|
|
children: [j0(re({
|
|
tag: c.tag,
|
|
attributes: re(re({}, c.attributes), d.path)
|
|
}, v))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: re({}, d.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || Ys()), x = "clip-".concat(i || Ys()), $ = {
|
|
tag: "mask",
|
|
attributes: re(re({}, Rd), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [g, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: x
|
|
},
|
|
children: O7(f)
|
|
}, $]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: re({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(x, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, Rd)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, E7 = {
|
|
provides(e) {
|
|
let t = !1;
|
|
vo.matchMedia && (t = vo.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: re(re({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = re(re({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: re(re({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: re(re({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: re(re({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: re(re({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: re(re({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: re(re({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: re(re({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, P7 = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, A7 = [wT, f7, d7, p7, m7, x7, $7, k7, S7, E7, P7];
|
|
LT(A7, {
|
|
mixoutsTo: cr
|
|
});
|
|
cr.noAuto;
|
|
cr.config;
|
|
cr.library;
|
|
cr.dom;
|
|
const eh = cr.parse;
|
|
cr.findIconDefinition;
|
|
cr.toHtml;
|
|
const C7 = cr.icon;
|
|
cr.layer;
|
|
cr.text;
|
|
cr.counter;
|
|
function N7(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var ac = { exports: {} }, Md = { exports: {} }, Ke = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var _0;
|
|
function j7() {
|
|
if (_0) return Ke;
|
|
_0 = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(p) {
|
|
if (typeof p == "object" && p !== null) {
|
|
var T = p.$$typeof;
|
|
switch (T) {
|
|
case t:
|
|
switch (p = p.type, p) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return p;
|
|
default:
|
|
switch (p = p && p.$$typeof, p) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return p;
|
|
default:
|
|
return T;
|
|
}
|
|
}
|
|
case r:
|
|
return T;
|
|
}
|
|
}
|
|
}
|
|
function S(p) {
|
|
return $(p) === c;
|
|
}
|
|
return Ke.AsyncMode = l, Ke.ConcurrentMode = c, Ke.ContextConsumer = s, Ke.ContextProvider = i, Ke.Element = t, Ke.ForwardRef = u, Ke.Fragment = n, Ke.Lazy = v, Ke.Memo = g, Ke.Portal = r, Ke.Profiler = a, Ke.StrictMode = o, Ke.Suspense = f, Ke.isAsyncMode = function(p) {
|
|
return S(p) || $(p) === l;
|
|
}, Ke.isConcurrentMode = S, Ke.isContextConsumer = function(p) {
|
|
return $(p) === s;
|
|
}, Ke.isContextProvider = function(p) {
|
|
return $(p) === i;
|
|
}, Ke.isElement = function(p) {
|
|
return typeof p == "object" && p !== null && p.$$typeof === t;
|
|
}, Ke.isForwardRef = function(p) {
|
|
return $(p) === u;
|
|
}, Ke.isFragment = function(p) {
|
|
return $(p) === n;
|
|
}, Ke.isLazy = function(p) {
|
|
return $(p) === v;
|
|
}, Ke.isMemo = function(p) {
|
|
return $(p) === g;
|
|
}, Ke.isPortal = function(p) {
|
|
return $(p) === r;
|
|
}, Ke.isProfiler = function(p) {
|
|
return $(p) === a;
|
|
}, Ke.isStrictMode = function(p) {
|
|
return $(p) === o;
|
|
}, Ke.isSuspense = function(p) {
|
|
return $(p) === f;
|
|
}, Ke.isValidElementType = function(p) {
|
|
return typeof p == "string" || typeof p == "function" || p === n || p === c || p === a || p === o || p === f || p === d || typeof p == "object" && p !== null && (p.$$typeof === v || p.$$typeof === g || p.$$typeof === i || p.$$typeof === s || p.$$typeof === u || p.$$typeof === h || p.$$typeof === w || p.$$typeof === x || p.$$typeof === m);
|
|
}, Ke.typeOf = $, Ke;
|
|
}
|
|
var nt = {};
|
|
/** @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 I0;
|
|
function _7() {
|
|
return I0 || (I0 = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === f || k === d || typeof k == "object" && k !== null && (k.$$typeof === v || k.$$typeof === g || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === h || k.$$typeof === w || k.$$typeof === x || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var fe = k.$$typeof;
|
|
switch (fe) {
|
|
case t:
|
|
var Ee = k.type;
|
|
switch (Ee) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ee;
|
|
default:
|
|
var xe = Ee && Ee.$$typeof;
|
|
switch (xe) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return xe;
|
|
default:
|
|
return fe;
|
|
}
|
|
}
|
|
case r:
|
|
return fe;
|
|
}
|
|
}
|
|
}
|
|
var p = l, T = c, L = s, G = i, J = t, B = u, Z = n, M = v, ee = g, D = r, V = a, H = o, W = f, Y = !1;
|
|
function K(k) {
|
|
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.")), y(k) || S(k) === l;
|
|
}
|
|
function y(k) {
|
|
return S(k) === c;
|
|
}
|
|
function b(k) {
|
|
return S(k) === s;
|
|
}
|
|
function E(k) {
|
|
return S(k) === i;
|
|
}
|
|
function A(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function C(k) {
|
|
return S(k) === u;
|
|
}
|
|
function j(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === v;
|
|
}
|
|
function P(k) {
|
|
return S(k) === g;
|
|
}
|
|
function _(k) {
|
|
return S(k) === r;
|
|
}
|
|
function I(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === f;
|
|
}
|
|
nt.AsyncMode = p, nt.ConcurrentMode = T, nt.ContextConsumer = L, nt.ContextProvider = G, nt.Element = J, nt.ForwardRef = B, nt.Fragment = Z, nt.Lazy = M, nt.Memo = ee, nt.Portal = D, nt.Profiler = V, nt.StrictMode = H, nt.Suspense = W, nt.isAsyncMode = K, nt.isConcurrentMode = y, nt.isContextConsumer = b, nt.isContextProvider = E, nt.isElement = A, nt.isForwardRef = C, nt.isFragment = j, nt.isLazy = N, nt.isMemo = P, nt.isPortal = _, nt.isProfiler = I, nt.isStrictMode = R, nt.isSuspense = Q, nt.isValidElementType = $, nt.typeOf = S;
|
|
}()), nt;
|
|
}
|
|
var T0;
|
|
function t4() {
|
|
return T0 || (T0 = 1, process.env.NODE_ENV === "production" ? Md.exports = j7() : Md.exports = _7()), Md.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var zd, R0;
|
|
function I7() {
|
|
if (R0) return zd;
|
|
R0 = 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 l = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (l.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
c[u] = u;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return zd = o() ? Object.assign : function(a, i) {
|
|
for (var s, l = n(a), c, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (l[f] = s[f]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var d = 0; d < c.length; d++)
|
|
r.call(s, c[d]) && (l[c[d]] = s[c[d]]);
|
|
}
|
|
}
|
|
return l;
|
|
}, zd;
|
|
}
|
|
var Ld, M0;
|
|
function zb() {
|
|
if (M0) return Ld;
|
|
M0 = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Ld = e, Ld;
|
|
}
|
|
var z0, L0;
|
|
function r4() {
|
|
return L0 || (L0 = 1, z0 = Function.call.bind(Object.prototype.hasOwnProperty)), z0;
|
|
}
|
|
var Fd, F0;
|
|
function T7() {
|
|
if (F0) return Fd;
|
|
F0 = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ zb(), r = {}, n = /* @__PURE__ */ r4();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, l, c) {
|
|
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(
|
|
(l || "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, l, s, null, t);
|
|
} catch (v) {
|
|
f = v;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(l || "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 g = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (g ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Fd = o, Fd;
|
|
}
|
|
var Dd, D0;
|
|
function R7() {
|
|
if (D0) return Dd;
|
|
D0 = 1;
|
|
var e = t4(), t = I7(), r = /* @__PURE__ */ zb(), n = /* @__PURE__ */ r4(), o = /* @__PURE__ */ T7(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var l = "Warning: " + s;
|
|
typeof console < "u" && console.error(l);
|
|
try {
|
|
throw new Error(l);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return Dd = function(s, l) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(y) {
|
|
var b = y && (c && y[c] || y[u]);
|
|
if (typeof b == "function")
|
|
return b;
|
|
}
|
|
var d = "<<anonymous>>", g = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: x(),
|
|
arrayOf: $,
|
|
element: S(),
|
|
elementType: p(),
|
|
instanceOf: T,
|
|
node: B(),
|
|
objectOf: G,
|
|
oneOf: L,
|
|
oneOfType: J,
|
|
shape: M,
|
|
exact: ee
|
|
};
|
|
function v(y, b) {
|
|
return y === b ? y !== 0 || 1 / y === 1 / b : y !== y && b !== b;
|
|
}
|
|
function m(y, b) {
|
|
this.message = y, this.data = b && typeof b == "object" ? b : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(y) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var b = {}, E = 0;
|
|
function A(j, N, P, _, I, R, Q) {
|
|
if (_ = _ || d, R = R || P, Q !== r) {
|
|
if (l) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var fe = _ + ":" + P;
|
|
!b[fe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
E < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + _ + "`. 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."
|
|
), b[fe] = !0, E++);
|
|
}
|
|
}
|
|
return N[P] == null ? j ? N[P] === null ? new m("The " + I + " `" + R + "` is marked as required " + ("in `" + _ + "`, but its value is `null`.")) : new m("The " + I + " `" + R + "` is marked as required in " + ("`" + _ + "`, but its value is `undefined`.")) : null : y(N, P, _, I, R);
|
|
}
|
|
var C = A.bind(null, !1);
|
|
return C.isRequired = A.bind(null, !0), C;
|
|
}
|
|
function w(y) {
|
|
function b(E, A, C, j, N, P) {
|
|
var _ = E[A], I = H(_);
|
|
if (I !== y) {
|
|
var R = W(_);
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` of type " + ("`" + R + "` supplied to `" + C + "`, expected ") + ("`" + y + "`."),
|
|
{ expectedType: y }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function x() {
|
|
return h(i);
|
|
}
|
|
function $(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside arrayOf.");
|
|
var P = E[A];
|
|
if (!Array.isArray(P)) {
|
|
var _ = H(P);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an array."));
|
|
}
|
|
for (var I = 0; I < P.length; I++) {
|
|
var R = y(P, I, C, j, N + "[" + I + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function S() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!s(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function p() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!e.isValidElementType(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function T(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (!(E[A] instanceof y)) {
|
|
var P = y.name || d, _ = K(E[A]);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected ") + ("instance of `" + P + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function L(y) {
|
|
if (!Array.isArray(y))
|
|
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 b(E, A, C, j, N) {
|
|
for (var P = E[A], _ = 0; _ < y.length; _++)
|
|
if (v(P, y[_]))
|
|
return null;
|
|
var I = JSON.stringify(y, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + j + " `" + N + "` of value `" + String(P) + "` " + ("supplied to `" + C + "`, expected one of " + I + "."));
|
|
}
|
|
return h(b);
|
|
}
|
|
function G(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside objectOf.");
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an object."));
|
|
for (var I in P)
|
|
if (n(P, I)) {
|
|
var R = y(P, I, C, j, N + "." + I, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function J(y) {
|
|
if (!Array.isArray(y))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var b = 0; b < y.length; b++) {
|
|
var E = y[b];
|
|
if (typeof E != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(E) + " at index " + b + "."
|
|
), i;
|
|
}
|
|
function A(C, j, N, P, _) {
|
|
for (var I = [], R = 0; R < y.length; R++) {
|
|
var Q = y[R], k = Q(C, j, N, P, _, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && I.push(k.data.expectedType);
|
|
}
|
|
var fe = I.length > 0 ? ", expected one of type [" + I.join(", ") + "]" : "";
|
|
return new m("Invalid " + P + " `" + _ + "` supplied to " + ("`" + N + "`" + fe + "."));
|
|
}
|
|
return h(A);
|
|
}
|
|
function B() {
|
|
function y(b, E, A, C, j) {
|
|
return D(b[E]) ? null : new m("Invalid " + C + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return h(y);
|
|
}
|
|
function Z(y, b, E, A, C) {
|
|
return new m(
|
|
(y || "React class") + ": " + b + " type `" + E + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + C + "`."
|
|
);
|
|
}
|
|
function M(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
for (var I in y) {
|
|
var R = y[I];
|
|
if (typeof R != "function")
|
|
return Z(C, j, N, I, W(R));
|
|
var Q = R(P, I, C, j, N + "." + I, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function ee(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
var I = t({}, E[A], y);
|
|
for (var R in I) {
|
|
var Q = y[R];
|
|
if (n(y, R) && typeof Q != "function")
|
|
return Z(C, j, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` key `" + R + "` supplied to `" + C + "`.\nBad object: " + JSON.stringify(E[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(y), null, " ")
|
|
);
|
|
var k = Q(P, R, C, j, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function D(y) {
|
|
switch (typeof y) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !y;
|
|
case "object":
|
|
if (Array.isArray(y))
|
|
return y.every(D);
|
|
if (y === null || s(y))
|
|
return !0;
|
|
var b = f(y);
|
|
if (b) {
|
|
var E = b.call(y), A;
|
|
if (b !== y.entries) {
|
|
for (; !(A = E.next()).done; )
|
|
if (!D(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = E.next()).done; ) {
|
|
var C = A.value;
|
|
if (C && !D(C[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function V(y, b) {
|
|
return y === "symbol" ? !0 : b ? b["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && b instanceof Symbol : !1;
|
|
}
|
|
function H(y) {
|
|
var b = typeof y;
|
|
return Array.isArray(y) ? "array" : y instanceof RegExp ? "object" : V(b, y) ? "symbol" : b;
|
|
}
|
|
function W(y) {
|
|
if (typeof y > "u" || y === null)
|
|
return "" + y;
|
|
var b = H(y);
|
|
if (b === "object") {
|
|
if (y instanceof Date)
|
|
return "date";
|
|
if (y instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return b;
|
|
}
|
|
function Y(y) {
|
|
var b = W(y);
|
|
switch (b) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + b;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + b;
|
|
default:
|
|
return b;
|
|
}
|
|
}
|
|
function K(y) {
|
|
return !y.constructor || !y.constructor.name ? d : y.constructor.name;
|
|
}
|
|
return g.checkPropTypes = o, g.resetWarningCache = o.resetWarningCache, g.PropTypes = g, g;
|
|
}, Dd;
|
|
}
|
|
var Vd, V0;
|
|
function M7() {
|
|
if (V0) return Vd;
|
|
V0 = 1;
|
|
var e = /* @__PURE__ */ zb();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Vd = function() {
|
|
function n(i, s, l, c, 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;
|
|
}, Vd;
|
|
}
|
|
var H0;
|
|
function z7() {
|
|
if (H0) return ac.exports;
|
|
if (H0 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = t4(), t = !0;
|
|
ac.exports = /* @__PURE__ */ R7()(e.isElement, t);
|
|
} else
|
|
ac.exports = /* @__PURE__ */ M7()();
|
|
return ac.exports;
|
|
}
|
|
var L7 = /* @__PURE__ */ z7();
|
|
const De = /* @__PURE__ */ N7(L7);
|
|
function W0(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 Tr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? W0(Object(r), !0).forEach(function(n) {
|
|
Ma(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : W0(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function cu(e) {
|
|
"@babel/helpers - typeof";
|
|
return cu = 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;
|
|
}, cu(e);
|
|
}
|
|
function Ma(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function F7(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 D7(e, t) {
|
|
if (e == null) return {};
|
|
var r = F7(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 th(e) {
|
|
return V7(e) || H7(e) || W7(e) || U7();
|
|
}
|
|
function V7(e) {
|
|
if (Array.isArray(e)) return rh(e);
|
|
}
|
|
function H7(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function W7(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return rh(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 rh(e, t);
|
|
}
|
|
}
|
|
function rh(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 U7() {
|
|
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 Y7(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, g = e.inverse, v = e.border, m = e.listItem, h = e.flip, w = e.size, x = e.rotation, $ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": l,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": g,
|
|
"fa-border": v,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Ma(t, "fa-".concat(w), typeof w < "u" && w !== null), Ma(t, "fa-rotate-".concat(x), typeof x < "u" && x !== null && x !== 0), Ma(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Ma(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(p) {
|
|
return S[p] ? p : null;
|
|
}).filter(function(p) {
|
|
return p;
|
|
});
|
|
}
|
|
function q7(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function n4(e) {
|
|
return q7(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var B7 = ["style"];
|
|
function G7(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function K7(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = n4(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[G7(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function o4(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(l) {
|
|
return o4(e, l);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(l, c) {
|
|
var u = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
l.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
l.attrs.style = K7(u);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[n4(c)] = u;
|
|
}
|
|
return l;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = D7(r, B7);
|
|
return o.attrs.style = Tr(Tr({}, o.attrs.style), i), e.apply(void 0, [t.tag, Tr(Tr({}, o.attrs), s)].concat(th(n)));
|
|
}
|
|
var a4 = !1;
|
|
try {
|
|
a4 = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function X7() {
|
|
if (!a4 && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function U0(e) {
|
|
if (e && cu(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (eh.icon)
|
|
return eh.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && cu(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 Hd(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ma({}, e, t) : {};
|
|
}
|
|
var Y0 = {
|
|
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
|
|
}, Lb = /* @__PURE__ */ ue.forwardRef(function(e, t) {
|
|
var r = Tr(Tr({}, Y0), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = U0(n), f = Hd("classes", [].concat(th(Y7(r)), th((i || "").split(" ")))), d = Hd("transform", typeof r.transform == "string" ? eh.transform(r.transform) : r.transform), g = Hd("mask", U0(o)), v = C7(u, Tr(Tr(Tr(Tr({}, f), d), g), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: l,
|
|
maskId: c
|
|
}));
|
|
if (!v)
|
|
return X7("Could not find icon", u), null;
|
|
var m = v.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
Y0.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), J7(m[0], h);
|
|
});
|
|
Lb.displayName = "FontAwesomeIcon";
|
|
Lb.propTypes = {
|
|
beat: De.bool,
|
|
border: De.bool,
|
|
beatFade: De.bool,
|
|
bounce: De.bool,
|
|
className: De.string,
|
|
fade: De.bool,
|
|
flash: De.bool,
|
|
mask: De.oneOfType([De.object, De.array, De.string]),
|
|
maskId: De.string,
|
|
fixedWidth: De.bool,
|
|
inverse: De.bool,
|
|
flip: De.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: De.oneOfType([De.object, De.array, De.string]),
|
|
listItem: De.bool,
|
|
pull: De.oneOf(["right", "left"]),
|
|
pulse: De.bool,
|
|
rotation: De.oneOf([0, 90, 180, 270]),
|
|
shake: De.bool,
|
|
size: De.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: De.bool,
|
|
spinPulse: De.bool,
|
|
spinReverse: De.bool,
|
|
symbol: De.oneOfType([De.bool, De.string]),
|
|
title: De.string,
|
|
titleId: De.string,
|
|
transform: De.oneOfType([De.string, De.object]),
|
|
swapOpacity: De.bool
|
|
};
|
|
var J7 = o4.bind(null, ue.createElement);
|
|
const Fb = "-", Q7 = (e) => {
|
|
const t = eR(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Fb);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), i4(a, t) || Z7(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, i4 = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? i4(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Fb);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, q0 = /^\[(.+)\]$/, Z7 = (e) => {
|
|
if (q0.test(e)) {
|
|
const t = q0.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, eR = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return rR(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
nh(a, n, o, t);
|
|
}), n;
|
|
}, nh = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : B0(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (tR(o)) {
|
|
nh(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
nh(i, B0(t, a), r, n);
|
|
});
|
|
});
|
|
}, B0 = (e, t) => {
|
|
let r = e;
|
|
return t.split(Fb).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, tR = (e) => e.isThemeGetter, rR = (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, nR = (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);
|
|
}
|
|
};
|
|
}, s4 = "!", oR = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const l = [];
|
|
let c = 0, u = 0, f;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
l.push(s.slice(u, h)), u = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
f = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const d = l.length === 0 ? s : s.substring(u), g = d.startsWith(s4), v = g ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: l,
|
|
hasImportantModifier: g,
|
|
baseClassName: v,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, aR = (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;
|
|
}, iR = (e) => ({
|
|
cache: nR(e.cacheSize),
|
|
parseClassName: oR(e),
|
|
...Q7(e)
|
|
}), sR = /\s+/, lR = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(sR);
|
|
let s = "";
|
|
for (let l = i.length - 1; l >= 0; l -= 1) {
|
|
const c = i[l], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: g
|
|
} = r(c);
|
|
let v = !!g, m = n(v ? d.substring(0, g) : d);
|
|
if (!m) {
|
|
if (!v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
v = !1;
|
|
}
|
|
const h = aR(u).join(":"), w = f ? h + s4 : h, x = w + m;
|
|
if (a.includes(x))
|
|
continue;
|
|
a.push(x);
|
|
const $ = o(m, v);
|
|
for (let S = 0; S < $.length; ++S) {
|
|
const p = $[S];
|
|
a.push(w + p);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function cR() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = l4(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const l4 = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = l4(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function uR(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(l) {
|
|
const c = t.reduce((u, f) => f(u), e());
|
|
return r = iR(c), n = r.cache.get, o = r.cache.set, a = s, s(l);
|
|
}
|
|
function s(l) {
|
|
const c = n(l);
|
|
if (c)
|
|
return c;
|
|
const u = lR(l, r);
|
|
return o(l, u), u;
|
|
}
|
|
return function() {
|
|
return a(cR.apply(null, arguments));
|
|
};
|
|
}
|
|
const mt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, c4 = /^\[(?:([a-z-]+):)?(.+)\]$/i, fR = /^\d+\/\d+$/, dR = /* @__PURE__ */ new Set(["px", "full", "screen"]), pR = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, mR = /\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$/, hR = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, gR = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, bR = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, un = (e) => Ja(e) || dR.has(e) || fR.test(e), qn = (e) => Pi(e, "length", SR), Ja = (e) => !!e && !Number.isNaN(Number(e)), Wd = (e) => Pi(e, "number", Ja), Gi = (e) => !!e && Number.isInteger(Number(e)), yR = (e) => e.endsWith("%") && Ja(e.slice(0, -1)), je = (e) => c4.test(e), Bn = (e) => pR.test(e), vR = /* @__PURE__ */ new Set(["length", "size", "percentage"]), wR = (e) => Pi(e, vR, u4), xR = (e) => Pi(e, "position", u4), $R = /* @__PURE__ */ new Set(["image", "url"]), kR = (e) => Pi(e, $R, PR), OR = (e) => Pi(e, "", ER), Ki = () => !0, Pi = (e, t, r) => {
|
|
const n = c4.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, SR = (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.
|
|
mR.test(e) && !hR.test(e)
|
|
), u4 = () => !1, ER = (e) => gR.test(e), PR = (e) => bR.test(e), AR = () => {
|
|
const e = mt("colors"), t = mt("spacing"), r = mt("blur"), n = mt("brightness"), o = mt("borderColor"), a = mt("borderRadius"), i = mt("borderSpacing"), s = mt("borderWidth"), l = mt("contrast"), c = mt("grayscale"), u = mt("hueRotate"), f = mt("invert"), d = mt("gap"), g = mt("gradientColorStops"), v = mt("gradientColorStopPositions"), m = mt("inset"), h = mt("margin"), w = mt("opacity"), x = mt("padding"), $ = mt("saturate"), S = mt("scale"), p = mt("sepia"), T = mt("skew"), L = mt("space"), G = mt("translate"), J = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", je, t], M = () => [je, t], ee = () => ["", un, qn], D = () => ["auto", Ja, je], V = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], H = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], K = () => ["", "0", je], y = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], b = () => [Ja, je];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [Ki],
|
|
spacing: [un, qn],
|
|
blur: ["none", "", Bn, je],
|
|
brightness: b(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Bn, je],
|
|
borderSpacing: M(),
|
|
borderWidth: ee(),
|
|
contrast: b(),
|
|
grayscale: K(),
|
|
hueRotate: b(),
|
|
invert: K(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [yR, qn],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: b(),
|
|
padding: M(),
|
|
saturate: b(),
|
|
scale: b(),
|
|
sepia: K(),
|
|
skew: b(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", je]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [Bn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": y()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": y()
|
|
}],
|
|
/**
|
|
* 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: [...V(), je]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": J()
|
|
}],
|
|
/**
|
|
* 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", Gi, je]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", je]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: K()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: K()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", Gi, je]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [Ki]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", Gi, je]
|
|
}, je]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": D()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": D()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [Ki]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [Gi, je]
|
|
}, je]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": D()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": D()
|
|
}],
|
|
/**
|
|
* 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", je]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", je]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [x]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [x]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [x]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [x]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [x]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [x]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [x]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [x]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [L]
|
|
}],
|
|
/**
|
|
* 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": [L]
|
|
}],
|
|
/**
|
|
* 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", je, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [je, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [je, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [Bn]
|
|
}, Bn]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [je, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [je, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [je, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [je, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", Bn, qn]
|
|
}],
|
|
/**
|
|
* 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", Wd]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [Ki]
|
|
}],
|
|
/**
|
|
* 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", je]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", Ja, Wd]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", un, je]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", je]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", je]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...H(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", un, qn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", un, je]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", je]
|
|
}],
|
|
/**
|
|
* 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", je]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...V(), xR]
|
|
}],
|
|
/**
|
|
* 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", wR]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, kR]
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [g]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...H(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: H()
|
|
}],
|
|
/**
|
|
* 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: ["", ...H()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [un, je]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [un, qn]
|
|
}],
|
|
/**
|
|
* 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: ee()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [un, qn]
|
|
}],
|
|
/**
|
|
* 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", Bn, OR]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [Ki]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [l]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Bn, je]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* 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": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [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": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [p]
|
|
}],
|
|
// 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", je]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: b()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", je]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: b()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", je]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [Gi, je]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [G]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [G]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [T]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [T]
|
|
}],
|
|
/**
|
|
* 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", je]
|
|
}],
|
|
// 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", je]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", je]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [un, qn, Wd]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, CR = /* @__PURE__ */ uR(AR), NR = ({
|
|
onClick: e,
|
|
className: t,
|
|
size: r = "md"
|
|
}) => /* @__PURE__ */ q(
|
|
"button",
|
|
{
|
|
onClick: e,
|
|
className: CR(
|
|
"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__ */ q(Lb, { icon: AI })
|
|
}
|
|
);
|
|
var Db = vl(), Ae = (e) => yl(e, Db), Vb = vl();
|
|
Ae.write = (e) => yl(e, Vb);
|
|
var nf = vl();
|
|
Ae.onStart = (e) => yl(e, nf);
|
|
var Hb = vl();
|
|
Ae.onFrame = (e) => yl(e, Hb);
|
|
var Wb = vl();
|
|
Ae.onFinish = (e) => yl(e, Wb);
|
|
var Qa = [];
|
|
Ae.setTimeout = (e, t) => {
|
|
const r = Ae.now() + t, n = () => {
|
|
const a = Qa.findIndex((i) => i.cancel == n);
|
|
~a && Qa.splice(a, 1), uo -= ~a ? 1 : 0;
|
|
}, o = { time: r, handler: e, cancel: n };
|
|
return Qa.splice(f4(r), 0, o), uo += 1, d4(), o;
|
|
};
|
|
var f4 = (e) => ~(~Qa.findIndex((t) => t.time > e) || ~Qa.length);
|
|
Ae.cancel = (e) => {
|
|
nf.delete(e), Hb.delete(e), Wb.delete(e), Db.delete(e), Vb.delete(e);
|
|
};
|
|
Ae.sync = (e) => {
|
|
oh = !0, Ae.batchedUpdates(e), oh = !1;
|
|
};
|
|
Ae.throttle = (e) => {
|
|
let t;
|
|
function r() {
|
|
try {
|
|
e(...t);
|
|
} finally {
|
|
t = null;
|
|
}
|
|
}
|
|
function n(...o) {
|
|
t = o, Ae.onStart(r);
|
|
}
|
|
return n.handler = e, n.cancel = () => {
|
|
nf.delete(r), t = null;
|
|
}, n;
|
|
};
|
|
var Ub = typeof window < "u" ? window.requestAnimationFrame : (
|
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
() => {
|
|
}
|
|
);
|
|
Ae.use = (e) => Ub = e;
|
|
Ae.now = typeof performance < "u" ? () => performance.now() : Date.now;
|
|
Ae.batchedUpdates = (e) => e();
|
|
Ae.catch = console.error;
|
|
Ae.frameLoop = "always";
|
|
Ae.advance = () => {
|
|
Ae.frameLoop !== "demand" ? console.warn(
|
|
"Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"
|
|
) : m4();
|
|
};
|
|
var co = -1, uo = 0, oh = !1;
|
|
function yl(e, t) {
|
|
oh ? (t.delete(e), e(0)) : (t.add(e), d4());
|
|
}
|
|
function d4() {
|
|
co < 0 && (co = 0, Ae.frameLoop !== "demand" && Ub(p4));
|
|
}
|
|
function jR() {
|
|
co = -1;
|
|
}
|
|
function p4() {
|
|
~co && (Ub(p4), Ae.batchedUpdates(m4));
|
|
}
|
|
function m4() {
|
|
const e = co;
|
|
co = Ae.now();
|
|
const t = f4(co);
|
|
if (t && (h4(Qa.splice(0, t), (r) => r.handler()), uo -= t), !uo) {
|
|
jR();
|
|
return;
|
|
}
|
|
nf.flush(), Db.flush(e ? Math.min(64, co - e) : 16.667), Hb.flush(), Vb.flush(), Wb.flush();
|
|
}
|
|
function vl() {
|
|
let e = /* @__PURE__ */ new Set(), t = e;
|
|
return {
|
|
add(r) {
|
|
uo += t == e && !e.has(r) ? 1 : 0, e.add(r);
|
|
},
|
|
delete(r) {
|
|
return uo -= t == e && e.has(r) ? 1 : 0, e.delete(r);
|
|
},
|
|
flush(r) {
|
|
t.size && (e = /* @__PURE__ */ new Set(), uo -= t.size, h4(t, (n) => n(r) && e.add(n)), uo += e.size, t = e);
|
|
}
|
|
};
|
|
}
|
|
function h4(e, t) {
|
|
e.forEach((r) => {
|
|
try {
|
|
t(r);
|
|
} catch (n) {
|
|
Ae.catch(n);
|
|
}
|
|
});
|
|
}
|
|
var _R = Object.defineProperty, IR = (e, t) => {
|
|
for (var r in t)
|
|
_R(e, r, { get: t[r], enumerable: !0 });
|
|
}, Ar = {};
|
|
IR(Ar, {
|
|
assign: () => RR,
|
|
colors: () => ho,
|
|
createStringInterpolator: () => qb,
|
|
skipAnimation: () => b4,
|
|
to: () => g4,
|
|
willAdvance: () => Bb
|
|
});
|
|
function ah() {
|
|
}
|
|
var TR = (e, t, r) => Object.defineProperty(e, t, { value: r, writable: !0, configurable: !0 }), se = {
|
|
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 bn(e, t) {
|
|
if (se.arr(e)) {
|
|
if (!se.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 Re = (e, t) => e.forEach(t);
|
|
function tn(e, t, r) {
|
|
if (se.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 tr = (e) => se.und(e) ? [] : se.arr(e) ? e : [e];
|
|
function Os(e, t) {
|
|
if (e.size) {
|
|
const r = Array.from(e);
|
|
e.clear(), Re(r, t);
|
|
}
|
|
}
|
|
var us = (e, ...t) => Os(e, (r) => r(...t)), Yb = () => typeof window > "u" || !window.navigator || /ServerSideRendering|^Deno\//.test(window.navigator.userAgent), qb, g4, ho = null, b4 = !1, Bb = ah, RR = (e) => {
|
|
e.to && (g4 = e.to), e.now && (Ae.now = e.now), e.colors !== void 0 && (ho = e.colors), e.skipAnimation != null && (b4 = e.skipAnimation), e.createStringInterpolator && (qb = e.createStringInterpolator), e.requestAnimationFrame && Ae.use(e.requestAnimationFrame), e.batchedUpdates && (Ae.batchedUpdates = e.batchedUpdates), e.willAdvance && (Bb = e.willAdvance), e.frameLoop && (Ae.frameLoop = e.frameLoop);
|
|
}, Ss = /* @__PURE__ */ new Set(), yr = [], Ud = [], uu = 0, of = {
|
|
get idle() {
|
|
return !Ss.size && !yr.length;
|
|
},
|
|
/** Advance the given animation on every frame until idle. */
|
|
start(e) {
|
|
uu > e.priority ? (Ss.add(e), Ae.onStart(MR)) : (y4(e), Ae(ih));
|
|
},
|
|
/** Advance all animations by the given time. */
|
|
advance: ih,
|
|
/** Call this when an animation's priority changes. */
|
|
sort(e) {
|
|
if (uu)
|
|
Ae.onFrame(() => of.sort(e));
|
|
else {
|
|
const t = yr.indexOf(e);
|
|
~t && (yr.splice(t, 1), v4(e));
|
|
}
|
|
},
|
|
/**
|
|
* Clear all animations. For testing purposes.
|
|
*
|
|
* ☠️ Never call this from within the frameloop.
|
|
*/
|
|
clear() {
|
|
yr = [], Ss.clear();
|
|
}
|
|
};
|
|
function MR() {
|
|
Ss.forEach(y4), Ss.clear(), Ae(ih);
|
|
}
|
|
function y4(e) {
|
|
yr.includes(e) || v4(e);
|
|
}
|
|
function v4(e) {
|
|
yr.splice(
|
|
zR(yr, (t) => t.priority > e.priority),
|
|
0,
|
|
e
|
|
);
|
|
}
|
|
function ih(e) {
|
|
const t = Ud;
|
|
for (let r = 0; r < yr.length; r++) {
|
|
const n = yr[r];
|
|
uu = n.priority, n.idle || (Bb(n), n.advance(e), n.idle || t.push(n));
|
|
}
|
|
return uu = 0, Ud = yr, Ud.length = 0, yr = t, yr.length > 0;
|
|
}
|
|
function zR(e, t) {
|
|
const r = e.findIndex(t);
|
|
return r < 0 ? e.length : r;
|
|
}
|
|
var LR = {
|
|
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
|
|
}, Or = "[-+]?\\d*\\.?\\d+", fu = Or + "%";
|
|
function af(...e) {
|
|
return "\\(\\s*(" + e.join(")\\s*,\\s*(") + ")\\s*\\)";
|
|
}
|
|
var FR = new RegExp("rgb" + af(Or, Or, Or)), DR = new RegExp("rgba" + af(Or, Or, Or, Or)), VR = new RegExp("hsl" + af(Or, fu, fu)), HR = new RegExp(
|
|
"hsla" + af(Or, fu, fu, Or)
|
|
), WR = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, UR = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, YR = /^#([0-9a-fA-F]{6})$/, qR = /^#([0-9a-fA-F]{8})$/;
|
|
function BR(e) {
|
|
let t;
|
|
return typeof e == "number" ? e >>> 0 === e && e >= 0 && e <= 4294967295 ? e : null : (t = YR.exec(e)) ? parseInt(t[1] + "ff", 16) >>> 0 : ho && ho[e] !== void 0 ? ho[e] : (t = FR.exec(e)) ? (Ca(t[1]) << 24 | // r
|
|
Ca(t[2]) << 16 | // g
|
|
Ca(t[3]) << 8 | // b
|
|
255) >>> // a
|
|
0 : (t = DR.exec(e)) ? (Ca(t[1]) << 24 | // r
|
|
Ca(t[2]) << 16 | // g
|
|
Ca(t[3]) << 8 | // b
|
|
X0(t[4])) >>> // a
|
|
0 : (t = WR.exec(e)) ? parseInt(
|
|
t[1] + t[1] + // r
|
|
t[2] + t[2] + // g
|
|
t[3] + t[3] + // b
|
|
"ff",
|
|
// a
|
|
16
|
|
) >>> 0 : (t = qR.exec(e)) ? parseInt(t[1], 16) >>> 0 : (t = UR.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 = VR.exec(e)) ? (G0(
|
|
K0(t[1]),
|
|
// h
|
|
ic(t[2]),
|
|
// s
|
|
ic(t[3])
|
|
// l
|
|
) | 255) >>> // a
|
|
0 : (t = HR.exec(e)) ? (G0(
|
|
K0(t[1]),
|
|
// h
|
|
ic(t[2]),
|
|
// s
|
|
ic(t[3])
|
|
// l
|
|
) | X0(t[4])) >>> // a
|
|
0 : null;
|
|
}
|
|
function Yd(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 G0(e, t, r) {
|
|
const n = r < 0.5 ? r * (1 + t) : r + t - r * t, o = 2 * r - n, a = Yd(o, n, e + 1 / 3), i = Yd(o, n, e), s = Yd(o, n, e - 1 / 3);
|
|
return Math.round(a * 255) << 24 | Math.round(i * 255) << 16 | Math.round(s * 255) << 8;
|
|
}
|
|
function Ca(e) {
|
|
const t = parseInt(e, 10);
|
|
return t < 0 ? 0 : t > 255 ? 255 : t;
|
|
}
|
|
function K0(e) {
|
|
return (parseFloat(e) % 360 + 360) % 360 / 360;
|
|
}
|
|
function X0(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 1 ? 255 : Math.round(t * 255);
|
|
}
|
|
function ic(e) {
|
|
const t = parseFloat(e);
|
|
return t < 0 ? 0 : t > 100 ? 1 : t / 100;
|
|
}
|
|
function J0(e) {
|
|
let t = BR(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 Bs = (e, t, r) => {
|
|
if (se.fun(e))
|
|
return e;
|
|
if (se.arr(e))
|
|
return Bs({
|
|
range: e,
|
|
output: t,
|
|
extrapolate: r
|
|
});
|
|
if (se.str(e.output[0]))
|
|
return qb(e);
|
|
const n = e, o = n.output, a = n.range || [0, 1], i = n.extrapolateLeft || n.extrapolate || "extend", s = n.extrapolateRight || n.extrapolate || "extend", l = n.easing || ((c) => c);
|
|
return (c) => {
|
|
const u = KR(c, a);
|
|
return GR(
|
|
c,
|
|
a[u],
|
|
a[u + 1],
|
|
o[u],
|
|
o[u + 1],
|
|
l,
|
|
i,
|
|
s,
|
|
n.map
|
|
);
|
|
};
|
|
};
|
|
function GR(e, t, r, n, o, a, i, s, l) {
|
|
let c = l ? l(e) : e;
|
|
if (c < t) {
|
|
if (i === "identity") return c;
|
|
i === "clamp" && (c = t);
|
|
}
|
|
if (c > r) {
|
|
if (s === "identity") return c;
|
|
s === "clamp" && (c = r);
|
|
}
|
|
return n === o ? n : t === r ? e <= t ? n : o : (t === -1 / 0 ? c = -c : r === 1 / 0 ? c = c - t : c = (c - t) / (r - t), c = a(c), n === -1 / 0 ? c = -c : o === 1 / 0 ? c = c + n : c = c * (o - n) + n, c);
|
|
}
|
|
function KR(e, t) {
|
|
for (var r = 1; r < t.length - 1 && !(t[r] >= e); ++r)
|
|
;
|
|
return r - 1;
|
|
}
|
|
var XR = {
|
|
linear: (e) => e
|
|
}, Gs = Symbol.for("FluidValue.get"), ui = Symbol.for("FluidValue.observers"), gr = (e) => !!(e && e[Gs]), nr = (e) => e && e[Gs] ? e[Gs]() : e, Q0 = (e) => e[ui] || null;
|
|
function JR(e, t) {
|
|
e.eventObserved ? e.eventObserved(t) : e(t);
|
|
}
|
|
function Ks(e, t) {
|
|
const r = e[ui];
|
|
r && r.forEach((n) => {
|
|
JR(n, t);
|
|
});
|
|
}
|
|
var w4 = class {
|
|
constructor(t) {
|
|
if (!t && !(t = this.get))
|
|
throw Error("Unknown getter");
|
|
QR(this, t);
|
|
}
|
|
}, QR = (e, t) => x4(e, Gs, t);
|
|
function Ai(e, t) {
|
|
if (e[Gs]) {
|
|
let r = e[ui];
|
|
r || x4(e, ui, r = /* @__PURE__ */ new Set()), r.has(t) || (r.add(t), e.observerAdded && e.observerAdded(r.size, t));
|
|
}
|
|
return t;
|
|
}
|
|
function Xs(e, t) {
|
|
const r = e[ui];
|
|
if (r && r.has(t)) {
|
|
const n = r.size - 1;
|
|
n ? r.delete(t) : e[ui] = null, e.observerRemoved && e.observerRemoved(n, t);
|
|
}
|
|
}
|
|
var x4 = (e, t, r) => Object.defineProperty(e, t, {
|
|
value: r,
|
|
writable: !0,
|
|
configurable: !0
|
|
}), zc = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ZR = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi, Z0 = new RegExp(`(${zc.source})(%|[a-z]+)`, "i"), eM = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, sf = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/, $4 = (e) => {
|
|
const [t, r] = tM(e);
|
|
if (!t || Yb())
|
|
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 && sf.test(r) ? $4(r) : r || e;
|
|
}, tM = (e) => {
|
|
const t = sf.exec(e);
|
|
if (!t) return [,];
|
|
const [, r, n] = t;
|
|
return [r, n];
|
|
}, qd, rM = (e, t, r, n, o) => `rgba(${Math.round(t)}, ${Math.round(r)}, ${Math.round(n)}, ${o})`, k4 = (e) => {
|
|
qd || (qd = ho ? (
|
|
// match color names, ignore partial matches
|
|
new RegExp(`(${Object.keys(ho).join("|")})(?!\\w)`, "g")
|
|
) : (
|
|
// never match
|
|
/^\b$/
|
|
));
|
|
const t = e.output.map((o) => nr(o).replace(sf, $4).replace(ZR, J0).replace(qd, J0)), r = t.map((o) => o.match(zc).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) => Bs({ ...e, output: o })
|
|
);
|
|
return (o) => {
|
|
var a;
|
|
const i = !Z0.test(t[0]) && ((a = t.find((l) => Z0.test(l))) == null ? void 0 : a.replace(zc, ""));
|
|
let s = 0;
|
|
return t[0].replace(
|
|
zc,
|
|
() => `${n[s++](o)}${i || ""}`
|
|
).replace(eM, rM);
|
|
};
|
|
}, Gb = "react-spring: ", O4 = (e) => {
|
|
const t = e;
|
|
let r = !1;
|
|
if (typeof t != "function")
|
|
throw new TypeError(`${Gb}once requires a function parameter`);
|
|
return (...n) => {
|
|
r || (t(...n), r = !0);
|
|
};
|
|
}, nM = O4(console.warn);
|
|
function oM() {
|
|
nM(
|
|
`${Gb}The "interpolate" function is deprecated in v9 (use "to" instead)`
|
|
);
|
|
}
|
|
var aM = O4(console.warn);
|
|
function iM() {
|
|
aM(
|
|
`${Gb}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 lf(e) {
|
|
return se.str(e) && (e[0] == "#" || /\d/.test(e) || // Do not identify a CSS variable as an AnimatedString if its SSR
|
|
!Yb() && sf.test(e) || e in (ho || {}));
|
|
}
|
|
var za = Yb() ? Se : pl, sM = () => {
|
|
const e = ce(!1);
|
|
return za(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
};
|
|
function S4() {
|
|
const e = $e()[1], t = sM();
|
|
return () => {
|
|
t.current && e(Math.random());
|
|
};
|
|
}
|
|
var E4 = (e) => Se(e, lM), lM = [];
|
|
function cM(e) {
|
|
const t = ce(void 0);
|
|
return Se(() => {
|
|
t.current = e;
|
|
}), t.current;
|
|
}
|
|
var Js = Symbol.for("Animated:node"), uM = (e) => !!e && e[Js] === e, _r = (e) => e && e[Js], Kb = (e, t) => TR(e, Js, t), cf = (e) => e && e[Js] && e[Js].getPayload(), P4 = class {
|
|
constructor() {
|
|
Kb(this, this);
|
|
}
|
|
/** Get every `AnimatedValue` used by this node. */
|
|
getPayload() {
|
|
return this.payload || [];
|
|
}
|
|
}, uf = class A4 extends P4 {
|
|
constructor(t) {
|
|
super(), this._value = t, this.done = !0, this.durationProgress = 0, se.num(this._value) && (this.lastPosition = this._value);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new A4(t);
|
|
}
|
|
getPayload() {
|
|
return [this];
|
|
}
|
|
getValue() {
|
|
return this._value;
|
|
}
|
|
setValue(t, r) {
|
|
return se.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, se.num(this._value) && (this.elapsedTime = 0, this.durationProgress = 0, this.lastPosition = this._value, t && (this.lastVelocity = null), this.v0 = null);
|
|
}
|
|
}, du = class C4 extends uf {
|
|
constructor(t) {
|
|
super(0), this._string = null, this._toString = Bs({
|
|
output: [t, t]
|
|
});
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new C4(t);
|
|
}
|
|
getValue() {
|
|
return this._string ?? (this._string = this._toString(this._value));
|
|
}
|
|
setValue(t) {
|
|
if (se.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 = Bs({
|
|
output: [this.getValue(), t]
|
|
})), this._value = 0, super.reset();
|
|
}
|
|
}, pu = { dependencies: null }, ff = class extends P4 {
|
|
constructor(t) {
|
|
super(), this.source = t, this.setValue(t);
|
|
}
|
|
getValue(t) {
|
|
const r = {};
|
|
return tn(this.source, (n, o) => {
|
|
uM(n) ? r[o] = n.getValue(t) : gr(n) ? r[o] = nr(n) : t || (r[o] = n);
|
|
}), r;
|
|
}
|
|
/** Replace the raw object data */
|
|
setValue(t) {
|
|
this.source = t, this.payload = this._makePayload(t);
|
|
}
|
|
reset() {
|
|
this.payload && Re(this.payload, (t) => t.reset());
|
|
}
|
|
/** Create a payload set. */
|
|
_makePayload(t) {
|
|
if (t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return tn(t, this._addToPayload, r), Array.from(r);
|
|
}
|
|
}
|
|
/** Add to a payload set. */
|
|
_addToPayload(t) {
|
|
pu.dependencies && gr(t) && pu.dependencies.add(t);
|
|
const r = cf(t);
|
|
r && Re(r, (n) => this.add(n));
|
|
}
|
|
}, fM = class N4 extends ff {
|
|
constructor(t) {
|
|
super(t);
|
|
}
|
|
/** @internal */
|
|
static create(t) {
|
|
return new N4(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(dM)), !0);
|
|
}
|
|
};
|
|
function dM(e) {
|
|
return (lf(e) ? du : uf).create(e);
|
|
}
|
|
function sh(e) {
|
|
const t = _r(e);
|
|
return t ? t.constructor : se.arr(e) ? fM : lf(e) ? du : uf;
|
|
}
|
|
var ew = (e, t) => {
|
|
const r = (
|
|
// Function components must use "forwardRef" to avoid being
|
|
// re-rendered on every animation frame.
|
|
!se.fun(e) || e.prototype && e.prototype.isReactComponent
|
|
);
|
|
return ab((n, o) => {
|
|
const a = ce(null), i = r && // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
Ye(
|
|
(v) => {
|
|
a.current = hM(o, v);
|
|
},
|
|
[o]
|
|
), [s, l] = mM(n, t), c = S4(), u = () => {
|
|
const v = a.current;
|
|
r && !v || (v ? t.applyAnimatedValues(v, s.getValue(!0)) : !1) === !1 && c();
|
|
}, f = new pM(u, l), d = ce(void 0);
|
|
za(() => (d.current = f, Re(l, (v) => Ai(v, f)), () => {
|
|
d.current && (Re(
|
|
d.current.deps,
|
|
(v) => Xs(v, d.current)
|
|
), Ae.cancel(d.current.update));
|
|
})), Se(u, []), E4(() => () => {
|
|
const v = d.current;
|
|
Re(v.deps, (m) => Xs(m, v));
|
|
});
|
|
const g = t.getComponentProps(s.getValue());
|
|
return /* @__PURE__ */ F.createElement(e, { ...g, ref: i });
|
|
});
|
|
}, pM = class {
|
|
constructor(e, t) {
|
|
this.update = e, this.deps = t;
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && Ae.write(this.update);
|
|
}
|
|
};
|
|
function mM(e, t) {
|
|
const r = /* @__PURE__ */ new Set();
|
|
return pu.dependencies = r, e.style && (e = {
|
|
...e,
|
|
style: t.createAnimatedStyle(e.style)
|
|
}), e = new ff(e), pu.dependencies = null, [e, r];
|
|
}
|
|
function hM(e, t) {
|
|
return e && (se.fun(e) ? e(t) : e.current = t), t;
|
|
}
|
|
var tw = Symbol.for("AnimatedComponent"), gM = (e, {
|
|
applyAnimatedValues: t = () => !1,
|
|
createAnimatedStyle: r = (o) => new ff(o),
|
|
getComponentProps: n = (o) => o
|
|
} = {}) => {
|
|
const o = {
|
|
applyAnimatedValues: t,
|
|
createAnimatedStyle: r,
|
|
getComponentProps: n
|
|
}, a = (i) => {
|
|
const s = rw(i) || "Anonymous";
|
|
return se.str(i) ? i = a[i] || (a[i] = ew(i, o)) : i = i[tw] || (i[tw] = ew(i, o)), i.displayName = `Animated(${s})`, i;
|
|
};
|
|
return tn(e, (i, s) => {
|
|
se.arr(e) && (s = rw(i)), a[s] = a(i);
|
|
}), {
|
|
animated: a
|
|
};
|
|
}, rw = (e) => se.str(e) ? e : e && se.str(e.displayName) ? e.displayName : se.fun(e) && e.name || null;
|
|
function or(e, ...t) {
|
|
return se.fun(e) ? e(...t) : e;
|
|
}
|
|
var Es = (e, t) => e === !0 || !!(t && e && (se.fun(e) ? e(t) : tr(e).includes(t))), j4 = (e, t) => se.obj(e) ? t && e[t] : e, _4 = (e, t) => e.default === !0 ? e[t] : e.default ? e.default[t] : void 0, bM = (e) => e, Xb = (e, t = bM) => {
|
|
let r = yM;
|
|
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);
|
|
se.und(a) || (n[o] = a);
|
|
}
|
|
return n;
|
|
}, yM = [
|
|
"config",
|
|
"onProps",
|
|
"onStart",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume",
|
|
"onRest"
|
|
], vM = {
|
|
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 wM(e) {
|
|
const t = {};
|
|
let r = 0;
|
|
if (tn(e, (n, o) => {
|
|
vM[o] || (t[o] = n, r++);
|
|
}), r)
|
|
return t;
|
|
}
|
|
function Jb(e) {
|
|
const t = wM(e);
|
|
if (t) {
|
|
const r = { to: t };
|
|
return tn(e, (n, o) => o in t || (r[o] = n)), r;
|
|
}
|
|
return { ...e };
|
|
}
|
|
function Qs(e) {
|
|
return e = nr(e), se.arr(e) ? e.map(Qs) : lf(e) ? Ar.createStringInterpolator({
|
|
range: [0, 1],
|
|
output: [e, e]
|
|
})(1) : e;
|
|
}
|
|
function xM(e) {
|
|
for (const t in e) return !0;
|
|
return !1;
|
|
}
|
|
function lh(e) {
|
|
return se.fun(e) || se.arr(e) && se.obj(e[0]);
|
|
}
|
|
function nw(e, t) {
|
|
var r;
|
|
(r = e.ref) == null || r.delete(e), t == null || t.delete(e);
|
|
}
|
|
function $M(e, t) {
|
|
var r;
|
|
t && e.ref !== t && ((r = e.ref) == null || r.delete(e), t.add(e), e.ref = t);
|
|
}
|
|
var kM = {
|
|
default: { tension: 170, friction: 26 }
|
|
}, ch = {
|
|
...kM.default,
|
|
mass: 1,
|
|
damping: 1,
|
|
easing: XR.linear,
|
|
clamp: !1
|
|
}, OM = class {
|
|
constructor() {
|
|
this.velocity = 0, Object.assign(this, ch);
|
|
}
|
|
};
|
|
function SM(e, t, r) {
|
|
r && (r = { ...r }, ow(r, t), t = { ...r, ...t }), ow(e, t), Object.assign(e, t);
|
|
for (const i in ch)
|
|
e[i] == null && (e[i] = ch[i]);
|
|
let { frequency: n, damping: o } = e;
|
|
const { mass: a } = e;
|
|
return se.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 ow(e, t) {
|
|
if (!se.und(t.decay))
|
|
e.duration = void 0;
|
|
else {
|
|
const r = !se.und(t.tension) || !se.und(t.friction);
|
|
(r || !se.und(t.frequency) || !se.und(t.damping) || !se.und(t.mass)) && (e.duration = void 0, e.decay = void 0), r && (e.frequency = void 0);
|
|
}
|
|
}
|
|
var aw = [], EM = class {
|
|
constructor() {
|
|
this.changed = !1, this.values = aw, this.toValues = null, this.fromValues = aw, this.config = new OM(), this.immediate = !1;
|
|
}
|
|
};
|
|
function I4(e, { key: t, props: r, defaultProps: n, state: o, actions: a }) {
|
|
return new Promise((i, s) => {
|
|
let l, c, u = Es(r.cancel ?? (n == null ? void 0 : n.cancel), t);
|
|
if (u)
|
|
g();
|
|
else {
|
|
se.und(r.pause) || (o.paused = Es(r.pause, t));
|
|
let v = n == null ? void 0 : n.pause;
|
|
v !== !0 && (v = o.paused || Es(v, t)), l = or(r.delay || 0, t), v ? (o.resumeQueue.add(d), a.pause()) : (a.resume(), d());
|
|
}
|
|
function f() {
|
|
o.resumeQueue.add(d), o.timeouts.delete(c), c.cancel(), l = c.time - Ae.now();
|
|
}
|
|
function d() {
|
|
l > 0 && !Ar.skipAnimation ? (o.delayed = !0, c = Ae.setTimeout(g, l), o.pauseQueue.add(f), o.timeouts.add(c)) : g();
|
|
}
|
|
function g() {
|
|
o.delayed && (o.delayed = !1), o.pauseQueue.delete(f), o.timeouts.delete(c), e <= (o.cancelId || 0) && (u = !0);
|
|
try {
|
|
a.start({ ...r, callId: e, cancel: u }, i);
|
|
} catch (v) {
|
|
s(v);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var Qb = (e, t) => t.length == 1 ? t[0] : t.some((r) => r.cancelled) ? Za(e.get()) : t.every((r) => r.noop) ? T4(e.get()) : kr(
|
|
e.get(),
|
|
t.every((r) => r.finished)
|
|
), T4 = (e) => ({
|
|
value: e,
|
|
noop: !0,
|
|
finished: !0,
|
|
cancelled: !1
|
|
}), kr = (e, t, r = !1) => ({
|
|
value: e,
|
|
finished: t,
|
|
cancelled: r
|
|
}), Za = (e) => ({
|
|
value: e,
|
|
cancelled: !0,
|
|
finished: !1
|
|
});
|
|
function R4(e, t, r, n) {
|
|
const { callId: o, parentId: a, onRest: i } = t, { asyncTo: s, promise: l } = r;
|
|
return !a && e === s && !t.reset ? l : r.promise = (async () => {
|
|
r.asyncId = o, r.asyncTo = e;
|
|
const c = Xb(
|
|
t,
|
|
(h, w) => (
|
|
// The `onRest` prop is only called when the `runAsync` promise is resolved.
|
|
w === "onRest" ? void 0 : h
|
|
)
|
|
);
|
|
let u, f;
|
|
const d = new Promise(
|
|
(h, w) => (u = h, f = w)
|
|
), g = (h) => {
|
|
const w = (
|
|
// The `cancel` prop or `stop` method was used.
|
|
o <= (r.cancelId || 0) && Za(n) || // The async `to` prop was replaced.
|
|
o !== r.asyncId && kr(n, !1)
|
|
);
|
|
if (w)
|
|
throw h.result = w, f(h), h;
|
|
}, v = (h, w) => {
|
|
const x = new iw(), $ = new sw();
|
|
return (async () => {
|
|
if (Ar.skipAnimation)
|
|
throw Zs(r), $.result = kr(n, !1), f($), $;
|
|
g(x);
|
|
const S = se.obj(h) ? { ...h } : { ...w, to: h };
|
|
S.parentId = o, tn(c, (T, L) => {
|
|
se.und(S[L]) && (S[L] = T);
|
|
});
|
|
const p = await n.start(S);
|
|
return g(x), r.paused && await new Promise((T) => {
|
|
r.resumeQueue.add(T);
|
|
}), p;
|
|
})();
|
|
};
|
|
let m;
|
|
if (Ar.skipAnimation)
|
|
return Zs(r), kr(n, !1);
|
|
try {
|
|
let h;
|
|
se.arr(e) ? h = (async (w) => {
|
|
for (const x of w)
|
|
await v(x);
|
|
})(e) : h = Promise.resolve(e(v, n.stop.bind(n))), await Promise.all([h.then(u), d]), m = kr(n.get(), !0, !1);
|
|
} catch (h) {
|
|
if (h instanceof iw)
|
|
m = h.result;
|
|
else if (h instanceof sw)
|
|
m = h.result;
|
|
else
|
|
throw h;
|
|
} finally {
|
|
o == r.asyncId && (r.asyncId = a, r.asyncTo = a ? s : void 0, r.promise = a ? l : void 0);
|
|
}
|
|
return se.fun(i) && Ae.batchedUpdates(() => {
|
|
i(m, n, n.item);
|
|
}), m;
|
|
})();
|
|
}
|
|
function Zs(e, t) {
|
|
Os(e.timeouts, (r) => r.cancel()), e.pauseQueue.clear(), e.resumeQueue.clear(), e.asyncId = e.asyncTo = e.promise = void 0, t && (e.cancelId = t);
|
|
}
|
|
var iw = 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."
|
|
);
|
|
}
|
|
}, sw = class extends Error {
|
|
constructor() {
|
|
super("SkipAnimationSignal");
|
|
}
|
|
}, uh = (e) => e instanceof Zb, PM = 1, Zb = class extends w4 {
|
|
constructor() {
|
|
super(...arguments), this.id = PM++, 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 = _r(this);
|
|
return t && t.getValue();
|
|
}
|
|
/** Create a spring that maps our value to another value */
|
|
to(...t) {
|
|
return Ar.to(this, t);
|
|
}
|
|
/** @deprecated Use the `to` method instead. */
|
|
interpolate(...t) {
|
|
return oM(), Ar.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) {
|
|
Ks(this, {
|
|
type: "change",
|
|
parent: this,
|
|
value: t,
|
|
idle: r
|
|
});
|
|
}
|
|
/** Tell our children about our new priority */
|
|
_onPriorityChange(t) {
|
|
this.idle || of.sort(this), Ks(this, {
|
|
type: "priority",
|
|
parent: this,
|
|
priority: t
|
|
});
|
|
}
|
|
}, sa = Symbol.for("SpringPhase"), M4 = 1, z4 = 2, L4 = 4, Bd = (e) => (e[sa] & M4) > 0, Gn = (e) => (e[sa] & z4) > 0, Xi = (e) => (e[sa] & L4) > 0, lw = (e, t) => t ? e[sa] |= z4 | M4 : e[sa] &= -3, cw = (e, t) => t ? e[sa] |= L4 : e[sa] &= -5, AM = class extends Zb {
|
|
constructor(e, t) {
|
|
if (super(), this.animation = new EM(), 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, !se.und(e) || !se.und(t)) {
|
|
const r = se.obj(e) ? { ...e } : { ...t, from: e };
|
|
se.und(r.default) && (r.default = !0), this.start(r);
|
|
}
|
|
}
|
|
/** Equals true when not advancing on each frame. */
|
|
get idle() {
|
|
return !(Gn(this) || this._state.asyncTo) || Xi(this);
|
|
}
|
|
get goal() {
|
|
return nr(this.animation.to);
|
|
}
|
|
get velocity() {
|
|
const e = _r(this);
|
|
return e instanceof uf ? e.lastVelocity || 0 : e.getPayload().map((t) => t.lastVelocity || 0);
|
|
}
|
|
/**
|
|
* When true, this value has been animated at least once.
|
|
*/
|
|
get hasAnimated() {
|
|
return Bd(this);
|
|
}
|
|
/**
|
|
* When true, this value has an unfinished animation,
|
|
* which is either active or paused.
|
|
*/
|
|
get isAnimating() {
|
|
return Gn(this);
|
|
}
|
|
/**
|
|
* When true, all current and future animations are paused.
|
|
*/
|
|
get isPaused() {
|
|
return Xi(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 = cf(n.to);
|
|
!i && gr(n.to) && (o = tr(nr(n.to))), n.values.forEach((c, u) => {
|
|
if (c.done) return;
|
|
const f = (
|
|
// Animated strings always go from 0 to 1.
|
|
c.constructor == du ? 1 : i ? i[u].lastPosition : o[u]
|
|
);
|
|
let d = n.immediate, g = f;
|
|
if (!d) {
|
|
if (g = c.lastPosition, a.tension <= 0) {
|
|
c.done = !0;
|
|
return;
|
|
}
|
|
let v = c.elapsedTime += e;
|
|
const m = n.fromValues[u], h = c.v0 != null ? c.v0 : c.v0 = se.arr(a.velocity) ? a.velocity[u] : a.velocity;
|
|
let w;
|
|
const x = a.precision || (m == f ? 5e-3 : Math.min(1, Math.abs(f - m) * 1e-3));
|
|
if (se.und(a.duration))
|
|
if (a.decay) {
|
|
const $ = a.decay === !0 ? 0.998 : a.decay, S = Math.exp(-(1 - $) * v);
|
|
g = m + h / (1 - $) * (1 - S), d = Math.abs(c.lastPosition - g) <= x, w = h * S;
|
|
} else {
|
|
w = c.lastVelocity == null ? h : c.lastVelocity;
|
|
const $ = a.restVelocity || x / 10, S = a.clamp ? 0 : a.bounce, p = !se.und(S), T = m == f ? c.v0 > 0 : m < f;
|
|
let L, G = !1;
|
|
const J = 1, B = Math.ceil(e / J);
|
|
for (let Z = 0; Z < B && (L = Math.abs(w) > $, !(!L && (d = Math.abs(f - g) <= x, d))); ++Z) {
|
|
p && (G = g == f || g > f == T, G && (w = -w * S, g = f));
|
|
const M = -a.tension * 1e-6 * (g - f), ee = -a.friction * 1e-3 * w, D = (M + ee) / a.mass;
|
|
w = w + D * J, g = g + w * J;
|
|
}
|
|
}
|
|
else {
|
|
let $ = 1;
|
|
a.duration > 0 && (this._memoizedDuration !== a.duration && (this._memoizedDuration = a.duration, c.durationProgress > 0 && (c.elapsedTime = a.duration * c.durationProgress, v = c.elapsedTime += e)), $ = (a.progress || 0) + v / this._memoizedDuration, $ = $ > 1 ? 1 : $ < 0 ? 0 : $, c.durationProgress = $), g = m + a.easing($) * (f - m), w = (g - c.lastPosition) / e, d = $ == 1;
|
|
}
|
|
c.lastVelocity = w, Number.isNaN(g) && (console.warn("Got NaN while animating:", this), d = !0);
|
|
}
|
|
i && !i[u].done && (d = !1), d ? c.done = !0 : t = !1, c.setValue(g, a.round) && (r = !0);
|
|
});
|
|
const s = _r(this), l = s.getValue();
|
|
if (t) {
|
|
const c = nr(n.to);
|
|
(l !== c || r) && !a.decay ? (s.setValue(c), this._onChange(c)) : r && a.decay && this._onChange(l), this._stop();
|
|
} else r && this._onChange(l);
|
|
}
|
|
/** Set the current value, while stopping the current animation */
|
|
set(e) {
|
|
return Ae.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 (Gn(this)) {
|
|
const { to: e, config: t } = this.animation;
|
|
Ae.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 se.und(e) ? (r = this.queue || [], this.queue = []) : r = [se.obj(e) ? e : { ...t, to: e }], Promise.all(
|
|
r.map((n) => this._update(n))
|
|
).then((n) => Qb(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()), Zs(this._state, e && this._lastCallId), Ae.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 = se.obj(r) ? r[t] : r, (r == null || lh(r)) && (r = void 0), n = se.obj(n) ? n[t] : n, n == null && (n = void 0);
|
|
const o = { to: r, from: n };
|
|
return Bd(this) || (e.reverse && ([r, n] = [n, r]), n = nr(n), se.und(n) ? _r(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,
|
|
Xb(
|
|
e,
|
|
(i, s) => /^on/.test(s) ? j4(i, r) : i
|
|
)
|
|
), fw(this, e, "onProps"), Qi(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 I4(++this._lastCallId, {
|
|
key: r,
|
|
props: e,
|
|
defaultProps: n,
|
|
state: a,
|
|
actions: {
|
|
pause: () => {
|
|
Xi(this) || (cw(this, !0), us(a.pauseQueue), Qi(
|
|
this,
|
|
"onPause",
|
|
kr(this, Ji(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
resume: () => {
|
|
Xi(this) && (cw(this, !1), Gn(this) && this._resume(), us(a.resumeQueue), Qi(
|
|
this,
|
|
"onResume",
|
|
kr(this, Ji(this, this.animation.to)),
|
|
this
|
|
));
|
|
},
|
|
start: this._merge.bind(this, o)
|
|
}
|
|
}).then((i) => {
|
|
if (e.loop && i.finished && !(t && i.noop)) {
|
|
const s = F4(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(Za(this));
|
|
const n = !se.und(e.to), o = !se.und(e.from);
|
|
if (n || o)
|
|
if (t.callId > this._lastToId)
|
|
this._lastToId = t.callId;
|
|
else
|
|
return r(Za(this));
|
|
const { key: a, defaultProps: i, animation: s } = this, { to: l, from: c } = s;
|
|
let { to: u = l, from: f = c } = e;
|
|
o && !n && (!t.default || se.und(u)) && (u = f), t.reverse && ([u, f] = [f, u]);
|
|
const d = !bn(f, c);
|
|
d && (s.from = f), f = nr(f);
|
|
const g = !bn(u, l);
|
|
g && this._focus(u);
|
|
const v = lh(t.to), { config: m } = s, { decay: h, velocity: w } = m;
|
|
(n || o) && (m.velocity = 0), t.config && !v && SM(
|
|
m,
|
|
or(t.config, a),
|
|
// Avoid calling the same "config" prop twice.
|
|
t.config !== i.config ? or(i.config, a) : void 0
|
|
);
|
|
let x = _r(this);
|
|
if (!x || se.und(u))
|
|
return r(kr(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.
|
|
se.und(t.reset) ? o && !t.default : !se.und(f) && Es(t.reset, a)
|
|
), S = $ ? f : this.get(), p = Qs(u), T = se.num(p) || se.arr(p) || lf(p), L = !v && (!T || Es(i.immediate || t.immediate, a));
|
|
if (g) {
|
|
const Z = sh(u);
|
|
if (Z !== x.constructor)
|
|
if (L)
|
|
x = this._set(p);
|
|
else
|
|
throw Error(
|
|
`Cannot animate between ${x.constructor.name} and ${Z.name}, as the "to" prop suggests`
|
|
);
|
|
}
|
|
const G = x.constructor;
|
|
let J = gr(u), B = !1;
|
|
if (!J) {
|
|
const Z = $ || !Bd(this) && d;
|
|
(g || Z) && (B = bn(Qs(S), p), J = !B), (!bn(s.immediate, L) && !L || !bn(m.decay, h) || !bn(m.velocity, w)) && (J = !0);
|
|
}
|
|
if (B && Gn(this) && (s.changed && !$ ? J = !0 : J || this._stop(l)), !v && ((J || gr(l)) && (s.values = x.getPayload(), s.toValues = gr(u) ? null : G == du ? [1] : tr(p)), s.immediate != L && (s.immediate = L, !L && !$ && this._set(l)), J)) {
|
|
const { onRest: Z } = s;
|
|
Re(CM, (ee) => fw(this, t, ee));
|
|
const M = kr(this, Ji(this, l));
|
|
us(this._pendingCalls, M), this._pendingCalls.add(r), s.changed && Ae.batchedUpdates(() => {
|
|
var ee;
|
|
s.changed = !$, Z == null || Z(M, this), $ ? or(i.onRest, M) : (ee = s.onStart) == null || ee.call(s, M, this);
|
|
});
|
|
}
|
|
$ && this._set(S), v ? r(R4(t.to, t, this._state, this)) : J ? this._start() : Gn(this) && !g ? this._pendingCalls.add(r) : r(T4(S));
|
|
}
|
|
/** Update the `animation.to` value, which might be a `FluidValue` */
|
|
_focus(e) {
|
|
const t = this.animation;
|
|
e !== t.to && (Q0(this) && this._detach(), t.to = e, Q0(this) && this._attach());
|
|
}
|
|
_attach() {
|
|
let e = 0;
|
|
const { to: t } = this.animation;
|
|
gr(t) && (Ai(t, this), uh(t) && (e = t.priority + 1)), this.priority = e;
|
|
}
|
|
_detach() {
|
|
const { to: e } = this.animation;
|
|
gr(e) && Xs(e, this);
|
|
}
|
|
/**
|
|
* Update the current value from outside the frameloop,
|
|
* and return the `Animated` node.
|
|
*/
|
|
_set(e, t = !0) {
|
|
const r = nr(e);
|
|
if (!se.und(r)) {
|
|
const n = _r(this);
|
|
if (!n || !bn(r, n.getValue())) {
|
|
const o = sh(r);
|
|
!n || n.constructor != o ? Kb(this, o.create(r)) : n.setValue(r), n && Ae.batchedUpdates(() => {
|
|
this._onChange(r, t);
|
|
});
|
|
}
|
|
}
|
|
return _r(this);
|
|
}
|
|
_onStart() {
|
|
const e = this.animation;
|
|
e.changed || (e.changed = !0, Qi(
|
|
this,
|
|
"onStart",
|
|
kr(this, Ji(this, e.to)),
|
|
this
|
|
));
|
|
}
|
|
_onChange(e, t) {
|
|
t || (this._onStart(), or(this.animation.onChange, e, this)), or(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;
|
|
_r(this).reset(nr(e.to)), e.immediate || (e.fromValues = e.values.map((t) => t.lastPosition)), Gn(this) || (lw(this, !0), Xi(this) || this._resume());
|
|
}
|
|
_resume() {
|
|
Ar.skipAnimation ? this.finish() : of.start(this);
|
|
}
|
|
/**
|
|
* Exit the frameloop and notify `onRest` listeners.
|
|
*
|
|
* Always wrap `_stop` calls with `batchedUpdates`.
|
|
*/
|
|
_stop(e, t) {
|
|
if (Gn(this)) {
|
|
lw(this, !1);
|
|
const r = this.animation;
|
|
Re(r.values, (o) => {
|
|
o.done = !0;
|
|
}), r.toValues && (r.onChange = r.onPause = r.onResume = void 0), Ks(this, {
|
|
type: "idle",
|
|
parent: this
|
|
});
|
|
const n = t ? Za(this.get()) : kr(this.get(), Ji(this, e ?? r.to));
|
|
us(this._pendingCalls, n), r.changed && (r.changed = !1, Qi(this, "onRest", n, this));
|
|
}
|
|
}
|
|
};
|
|
function Ji(e, t) {
|
|
const r = Qs(t), n = Qs(e.get());
|
|
return bn(n, r);
|
|
}
|
|
function F4(e, t = e.loop, r = e.to) {
|
|
const n = or(t);
|
|
if (n) {
|
|
const o = n !== !0 && Jb(n), a = (o || e).reverse, i = !o || o.reset;
|
|
return mu({
|
|
...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 || lh(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 mu(e) {
|
|
const { to: t, from: r } = e = Jb(e), n = /* @__PURE__ */ new Set();
|
|
return se.obj(t) && uw(t, n), se.obj(r) && uw(r, n), e.keys = n.size ? Array.from(n) : null, e;
|
|
}
|
|
function uw(e, t) {
|
|
tn(e, (r, n) => r != null && t.add(n));
|
|
}
|
|
var CM = [
|
|
"onStart",
|
|
"onRest",
|
|
"onChange",
|
|
"onPause",
|
|
"onResume"
|
|
];
|
|
function fw(e, t, r) {
|
|
e.animation[r] = t[r] !== _4(t, r) ? j4(t[r], e.key) : void 0;
|
|
}
|
|
function Qi(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 NM = ["onStart", "onChange", "onRest"], jM = 1, _M = class {
|
|
constructor(e, t) {
|
|
this.id = jM++, 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];
|
|
se.und(r) || this.springs[t].set(r);
|
|
}
|
|
}
|
|
/** Push an update onto the queue of each value. */
|
|
update(e) {
|
|
return e && this.queue.push(mu(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 = tr(e).map(mu) : this.queue = [], this._flush ? this._flush(this, t) : (W4(this, t), IM(this, t));
|
|
}
|
|
/** @internal */
|
|
stop(e, t) {
|
|
if (e !== !!e && (t = e), t) {
|
|
const r = this.springs;
|
|
Re(tr(t), (n) => r[n].stop(!!e));
|
|
} else
|
|
Zs(this._state, this._lastAsyncId), this.each((r) => r.stop(!!e));
|
|
return this;
|
|
}
|
|
/** Freeze the active animation in time */
|
|
pause(e) {
|
|
if (se.und(e))
|
|
this.start({ pause: !0 });
|
|
else {
|
|
const t = this.springs;
|
|
Re(tr(e), (r) => t[r].pause());
|
|
}
|
|
return this;
|
|
}
|
|
/** Resume the animation if paused. */
|
|
resume(e) {
|
|
if (se.und(e))
|
|
this.start({ pause: !1 });
|
|
else {
|
|
const t = this.springs;
|
|
Re(tr(e), (r) => t[r].resume());
|
|
}
|
|
return this;
|
|
}
|
|
/** Call a function once per spring value */
|
|
each(e) {
|
|
tn(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, Os(e, ([s, l]) => {
|
|
l.value = this.get(), s(l, this, this._item);
|
|
}));
|
|
const a = !n && this._started, i = o || a && r.size ? this.get() : null;
|
|
o && t.size && Os(t, ([s, l]) => {
|
|
l.value = i, s(l, this, this._item);
|
|
}), a && (this._started = !1, Os(r, ([s, l]) => {
|
|
l.value = i, s(l, 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;
|
|
Ae.onFrame(this._onFrame);
|
|
}
|
|
};
|
|
function IM(e, t) {
|
|
return Promise.all(t.map((r) => D4(e, r))).then(
|
|
(r) => Qb(e, r)
|
|
);
|
|
}
|
|
async function D4(e, t, r) {
|
|
const { keys: n, to: o, from: a, loop: i, onRest: s, onResolve: l } = t, c = se.obj(t.default) && t.default;
|
|
i && (t.loop = !1), o === !1 && (t.to = null), a === !1 && (t.from = null);
|
|
const u = se.arr(o) || se.fun(o) ? o : void 0;
|
|
u ? (t.to = void 0, t.onRest = void 0, c && (c.onRest = void 0)) : Re(NM, (m) => {
|
|
const h = t[m];
|
|
if (se.fun(h)) {
|
|
const w = e._events[m];
|
|
t[m] = ({ finished: x, cancelled: $ }) => {
|
|
const S = w.get(h);
|
|
S ? (x || (S.finished = !1), $ && (S.cancelled = !0)) : w.set(h, {
|
|
value: null,
|
|
finished: x || !1,
|
|
cancelled: $ || !1
|
|
});
|
|
}, c && (c[m] = t[m]);
|
|
}
|
|
});
|
|
const f = e._state;
|
|
t.pause === !f.paused ? (f.paused = t.pause, us(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)
|
|
), g = t.cancel === !0 || _4(t, "cancel") === !0;
|
|
(u || g && f.asyncId) && d.push(
|
|
I4(++e._lastAsyncId, {
|
|
props: t,
|
|
state: f,
|
|
actions: {
|
|
pause: ah,
|
|
resume: ah,
|
|
start(m, h) {
|
|
g ? (Zs(f, e._lastAsyncId), h(Za(e))) : (m.onRest = s, h(
|
|
R4(
|
|
u,
|
|
m,
|
|
f,
|
|
e
|
|
)
|
|
));
|
|
}
|
|
}
|
|
})
|
|
), f.paused && await new Promise((m) => {
|
|
f.resumeQueue.add(m);
|
|
});
|
|
const v = Qb(e, await Promise.all(d));
|
|
if (i && v.finished && !(r && v.noop)) {
|
|
const m = F4(t, i, o);
|
|
if (m)
|
|
return W4(e, [m]), D4(e, m, !0);
|
|
}
|
|
return l && Ae.batchedUpdates(() => l(v, e, e.item)), v;
|
|
}
|
|
function TM(e, t) {
|
|
const r = { ...e.springs };
|
|
return t && Re(tr(t), (n) => {
|
|
se.und(n.keys) && (n = mu(n)), se.obj(n.to) || (n = { ...n, to: void 0 }), H4(r, n, (o) => V4(o));
|
|
}), RM(e, r), r;
|
|
}
|
|
function RM(e, t) {
|
|
tn(t, (r, n) => {
|
|
e.springs[n] || (e.springs[n] = r, Ai(r, e));
|
|
});
|
|
}
|
|
function V4(e, t) {
|
|
const r = new AM();
|
|
return r.key = e, t && Ai(r, t), r;
|
|
}
|
|
function H4(e, t, r) {
|
|
t.keys && Re(t.keys, (n) => {
|
|
(e[n] || (e[n] = r(n)))._prepareNode(t);
|
|
});
|
|
}
|
|
function W4(e, t) {
|
|
Re(t, (r) => {
|
|
H4(e.springs, r, (n) => V4(n, e));
|
|
});
|
|
}
|
|
var MM = F.createContext({
|
|
pause: !1,
|
|
immediate: !1
|
|
}), zM = () => {
|
|
const e = [], t = function(n) {
|
|
iM();
|
|
const o = [];
|
|
return Re(e, (a, i) => {
|
|
if (se.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 Re(e, (n) => n.pause(...arguments)), this;
|
|
}, t.resume = function() {
|
|
return Re(e, (n) => n.resume(...arguments)), this;
|
|
}, t.set = function(n) {
|
|
Re(e, (o, a) => {
|
|
const i = se.fun(n) ? n(a, o) : n;
|
|
i && o.set(i);
|
|
});
|
|
}, t.start = function(n) {
|
|
const o = [];
|
|
return Re(e, (a, i) => {
|
|
if (se.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 Re(e, (n) => n.stop(...arguments)), this;
|
|
}, t.update = function(n) {
|
|
return Re(e, (o, a) => o.update(this._getProps(n, o, a))), this;
|
|
};
|
|
const r = function(n, o, a) {
|
|
return se.fun(n) ? n(a, o) : n;
|
|
};
|
|
return t._getProps = r, t;
|
|
};
|
|
function dw(e, t, r) {
|
|
const n = se.fun(t) && t, {
|
|
reset: o,
|
|
sort: a,
|
|
trail: i = 0,
|
|
expires: s = !0,
|
|
exitBeforeEnter: l = !1,
|
|
onDestroyed: c,
|
|
ref: u,
|
|
config: f
|
|
} = n ? n() : t, d = ut(
|
|
() => n || arguments.length == 3 ? zM() : void 0,
|
|
[]
|
|
), g = tr(e), v = [], m = ce(null), h = o ? null : m.current;
|
|
za(() => {
|
|
m.current = v;
|
|
}), E4(() => (Re(v, (D) => {
|
|
d == null || d.add(D.ctrl), D.ctrl.ref = d;
|
|
}), () => {
|
|
Re(m.current, (D) => {
|
|
D.expired && clearTimeout(D.expirationId), nw(D.ctrl, d), D.ctrl.stop(!0);
|
|
});
|
|
}));
|
|
const w = FM(g, n ? n() : t, h), x = o && m.current || [];
|
|
za(
|
|
() => Re(x, ({ ctrl: D, item: V, key: H }) => {
|
|
nw(D, d), or(c, V, H);
|
|
})
|
|
);
|
|
const $ = [];
|
|
if (h && Re(h, (D, V) => {
|
|
D.expired ? (clearTimeout(D.expirationId), x.push(D)) : (V = $[V] = w.indexOf(D.key), ~V && (v[V] = D));
|
|
}), Re(g, (D, V) => {
|
|
v[V] || (v[V] = {
|
|
key: w[V],
|
|
item: D,
|
|
phase: "mount",
|
|
ctrl: new _M()
|
|
}, v[V].ctrl.item = D);
|
|
}), $.length) {
|
|
let D = -1;
|
|
const { leave: V } = n ? n() : t;
|
|
Re($, (H, W) => {
|
|
const Y = h[W];
|
|
~H ? (D = v.indexOf(Y), v[D] = { ...Y, item: g[H] }) : V && v.splice(++D, 0, Y);
|
|
});
|
|
}
|
|
se.fun(a) && v.sort((D, V) => a(D.item, V.item));
|
|
let S = -i;
|
|
const p = S4(), T = Xb(t), L = /* @__PURE__ */ new Map(), G = ce(/* @__PURE__ */ new Map()), J = ce(!1);
|
|
Re(v, (D, V) => {
|
|
const H = D.key, W = D.phase, Y = n ? n() : t;
|
|
let K, y;
|
|
const b = or(Y.delay || 0, H);
|
|
if (W == "mount")
|
|
K = Y.enter, y = "enter";
|
|
else {
|
|
const j = w.indexOf(H) < 0;
|
|
if (W != "leave")
|
|
if (j)
|
|
K = Y.leave, y = "leave";
|
|
else if (K = Y.update)
|
|
y = "update";
|
|
else return;
|
|
else if (!j)
|
|
K = Y.enter, y = "enter";
|
|
else return;
|
|
}
|
|
if (K = or(K, D.item, V), K = se.obj(K) ? Jb(K) : { to: K }, !K.config) {
|
|
const j = f || T.config;
|
|
K.config = or(j, D.item, V, y);
|
|
}
|
|
S += i;
|
|
const E = {
|
|
...T,
|
|
// we need to add our props.delay value you here.
|
|
delay: b + S,
|
|
ref: u,
|
|
immediate: Y.immediate,
|
|
// This prevents implied resets.
|
|
reset: !1,
|
|
// Merge any phase-specific props.
|
|
...K
|
|
};
|
|
if (y == "enter" && se.und(E.from)) {
|
|
const j = n ? n() : t, N = se.und(j.initial) || h ? j.from : j.initial;
|
|
E.from = or(N, D.item, V);
|
|
}
|
|
const { onResolve: A } = E;
|
|
E.onResolve = (j) => {
|
|
or(A, j);
|
|
const N = m.current, P = N.find((_) => _.key === H);
|
|
if (P && !(j.cancelled && P.phase != "update") && P.ctrl.idle) {
|
|
const _ = N.every((I) => I.ctrl.idle);
|
|
if (P.phase == "leave") {
|
|
const I = or(s, P.item);
|
|
if (I !== !1) {
|
|
const R = I === !0 ? 0 : I;
|
|
if (P.expired = !0, !_ && R > 0) {
|
|
R <= 2147483647 && (P.expirationId = setTimeout(p, R));
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
_ && N.some((I) => I.expired) && (G.current.delete(P), l && (J.current = !0), p());
|
|
}
|
|
};
|
|
const C = TM(D.ctrl, E);
|
|
y === "leave" && l ? G.current.set(D, { phase: y, springs: C, payload: E }) : L.set(D, { phase: y, springs: C, payload: E });
|
|
});
|
|
const B = lt(MM), Z = cM(B), M = B !== Z && xM(B);
|
|
za(() => {
|
|
M && Re(v, (D) => {
|
|
D.ctrl.start({ default: B });
|
|
});
|
|
}, [B]), Re(L, (D, V) => {
|
|
if (G.current.size) {
|
|
const H = v.findIndex((W) => W.key === V.key);
|
|
v.splice(H, 1);
|
|
}
|
|
}), za(
|
|
() => {
|
|
Re(
|
|
G.current.size ? G.current : L,
|
|
({ phase: D, payload: V }, H) => {
|
|
const { ctrl: W } = H;
|
|
H.phase = D, d == null || d.add(W), M && D == "enter" && W.start({ default: B }), V && ($M(W, V.ref), (W.ref || d) && !J.current ? W.update(V) : (W.start(V), J.current && (J.current = !1)));
|
|
}
|
|
);
|
|
},
|
|
o ? void 0 : r
|
|
);
|
|
const ee = (D) => /* @__PURE__ */ F.createElement(F.Fragment, null, v.map((V, H) => {
|
|
const { springs: W } = L.get(V) || V.ctrl, Y = D({ ...W }, V.item, V, H);
|
|
return Y && Y.type ? /* @__PURE__ */ F.createElement(
|
|
Y.type,
|
|
{
|
|
...Y.props,
|
|
key: se.str(V.key) || se.num(V.key) ? V.key : V.ctrl.id,
|
|
ref: Y.ref
|
|
}
|
|
) : Y;
|
|
}));
|
|
return d ? [ee, d] : ee;
|
|
}
|
|
var LM = 1;
|
|
function FM(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) : LM++;
|
|
});
|
|
}
|
|
return se.und(r) ? e : se.fun(r) ? e.map(r) : tr(r);
|
|
}
|
|
var DM = class extends Zb {
|
|
constructor(e, t) {
|
|
super(), this.source = e, this.idle = !0, this._active = /* @__PURE__ */ new Set(), this.calc = Bs(...t);
|
|
const r = this._get(), n = sh(r);
|
|
Kb(this, n.create(r));
|
|
}
|
|
advance(e) {
|
|
const t = this._get(), r = this.get();
|
|
bn(t, r) || (_r(this).setValue(t), this._onChange(t, this.idle)), !this.idle && pw(this._active) && Gd(this);
|
|
}
|
|
_get() {
|
|
const e = se.arr(this.source) ? this.source.map(nr) : tr(nr(this.source));
|
|
return this.calc(...e);
|
|
}
|
|
_start() {
|
|
this.idle && !pw(this._active) && (this.idle = !1, Re(cf(this), (e) => {
|
|
e.done = !1;
|
|
}), Ar.skipAnimation ? (Ae.batchedUpdates(() => this.advance()), Gd(this)) : of.start(this));
|
|
}
|
|
// Observe our sources only when we're observed.
|
|
_attach() {
|
|
let e = 1;
|
|
Re(tr(this.source), (t) => {
|
|
gr(t) && Ai(t, this), uh(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() {
|
|
Re(tr(this.source), (e) => {
|
|
gr(e) && Xs(e, this);
|
|
}), this._active.clear(), Gd(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 = tr(this.source).reduce(
|
|
(t, r) => Math.max(t, (uh(r) ? r.priority : 0) + 1),
|
|
0
|
|
));
|
|
}
|
|
};
|
|
function VM(e) {
|
|
return e.idle !== !1;
|
|
}
|
|
function pw(e) {
|
|
return !e.size || Array.from(e).every(VM);
|
|
}
|
|
function Gd(e) {
|
|
e.idle || (e.idle = !0, Re(cf(e), (t) => {
|
|
t.done = !0;
|
|
}), Ks(e, {
|
|
type: "idle",
|
|
parent: e
|
|
}));
|
|
}
|
|
Ar.assign({
|
|
createStringInterpolator: k4,
|
|
to: (e, t) => new DM(e, t)
|
|
});
|
|
var U4 = /^--/;
|
|
function HM(e, t) {
|
|
return t == null || typeof t == "boolean" || t === "" ? "" : typeof t == "number" && t !== 0 && !U4.test(e) && !(Ps.hasOwnProperty(e) && Ps[e]) ? t + "px" : ("" + t).trim();
|
|
}
|
|
var mw = {};
|
|
function WM(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: l,
|
|
...c
|
|
} = t, u = Object.values(c), f = Object.keys(c).map(
|
|
(d) => r || e.hasAttribute(d) ? d : mw[d] || (mw[d] = d.replace(
|
|
/([A-Z])/g,
|
|
// Attributes are written in dash case
|
|
(g) => "-" + g.toLowerCase()
|
|
))
|
|
);
|
|
a !== void 0 && (e.textContent = a);
|
|
for (const d in o)
|
|
if (o.hasOwnProperty(d)) {
|
|
const g = HM(d, o[d]);
|
|
U4.test(d) ? e.style.setProperty(d, g) : e.style[d] = g;
|
|
}
|
|
f.forEach((d, g) => {
|
|
e.setAttribute(d, u[g]);
|
|
}), n !== void 0 && (e.className = n), i !== void 0 && (e.scrollTop = i), s !== void 0 && (e.scrollLeft = s), l !== void 0 && e.setAttribute("viewBox", l);
|
|
}
|
|
var Ps = {
|
|
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
|
|
}, UM = (e, t) => e + t.charAt(0).toUpperCase() + t.substring(1), YM = ["Webkit", "Ms", "Moz", "O"];
|
|
Ps = Object.keys(Ps).reduce((e, t) => (YM.forEach((r) => e[UM(r, t)] = e[t]), e), Ps);
|
|
var qM = /^(matrix|translate|scale|rotate|skew)/, BM = /^(translate)/, GM = /^(rotate|skew)/, Kd = (e, t) => se.num(e) && e !== 0 ? e + t : e, Lc = (e, t) => se.arr(e) ? e.every((r) => Lc(r, t)) : se.num(e) ? e === t : parseFloat(e) === t, KM = class extends ff {
|
|
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) => Kd(s, "px")).join(",")})`,
|
|
// prettier-ignore
|
|
Lc(i, 0)
|
|
])), tn(n, (i, s) => {
|
|
if (s === "transform")
|
|
o.push([i || ""]), a.push((l) => [l, l === ""]);
|
|
else if (qM.test(s)) {
|
|
if (delete n[s], se.und(i)) return;
|
|
const l = BM.test(s) ? "px" : GM.test(s) ? "deg" : "";
|
|
o.push(tr(i)), a.push(
|
|
s === "rotate3d" ? ([c, u, f, d]) => [
|
|
`rotate3d(${c},${u},${f},${Kd(d, l)})`,
|
|
Lc(d, 0)
|
|
] : (c) => [
|
|
`${s}(${c.map((u) => Kd(u, l)).join(",")})`,
|
|
Lc(c, s.startsWith("scale") ? 1 : 0)
|
|
]
|
|
);
|
|
}
|
|
}), o.length && (n.transform = new XM(o, a)), super(n);
|
|
}
|
|
}, XM = class extends w4 {
|
|
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 Re(this.inputs, (r, n) => {
|
|
const o = nr(r[0]), [a, i] = this.transforms[n](
|
|
se.arr(o) ? o : r.map(nr)
|
|
);
|
|
e += " " + a, t = t && i;
|
|
}), t ? "none" : e;
|
|
}
|
|
// Start observing our inputs once we have an observer.
|
|
observerAdded(e) {
|
|
e == 1 && Re(
|
|
this.inputs,
|
|
(t) => Re(
|
|
t,
|
|
(r) => gr(r) && Ai(r, this)
|
|
)
|
|
);
|
|
}
|
|
// Stop observing our inputs once we have no observers.
|
|
observerRemoved(e) {
|
|
e == 0 && Re(
|
|
this.inputs,
|
|
(t) => Re(
|
|
t,
|
|
(r) => gr(r) && Xs(r, this)
|
|
)
|
|
);
|
|
}
|
|
eventObserved(e) {
|
|
e.type == "change" && (this._value = null), Ks(this, e);
|
|
}
|
|
}, JM = [
|
|
"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"
|
|
];
|
|
Ar.assign({
|
|
batchedUpdates: z6,
|
|
createStringInterpolator: k4,
|
|
colors: LR
|
|
});
|
|
var QM = gM(JM, {
|
|
applyAnimatedValues: WM,
|
|
createAnimatedStyle: (e) => new KM(e),
|
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
getComponentProps: ({ scrollTop: e, scrollLeft: t, ...r }) => r
|
|
}), Y4 = QM.animated;
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const ZM = {
|
|
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"]
|
|
}, ez = {
|
|
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 fh = /* @__PURE__ */ ((e) => (e[e.NONE = 0] = "NONE", e[e.INPUT = 1] = "INPUT", e[e.PANEL = 2] = "PANEL", e[e.DIALOGUE = 3] = "DIALOGUE", e))(fh || {}), tz = 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"
|
|
}), rz = "VisuallyHidden", q4 = F.forwardRef(
|
|
(e, t) => /* @__PURE__ */ q(
|
|
nn.span,
|
|
{
|
|
...e,
|
|
ref: t,
|
|
style: { ...tz, ...e.style }
|
|
}
|
|
)
|
|
);
|
|
q4.displayName = rz;
|
|
var hw = q4;
|
|
const el = [], nz = (e) => {
|
|
el.push(e);
|
|
}, oz = (e) => {
|
|
const t = el.findIndex((r) => r.id === e);
|
|
t !== -1 && el.splice(t, 1);
|
|
}, az = (e, t) => {
|
|
const r = el.find((n) => n.id === e);
|
|
r && Object.assign(r, t);
|
|
}, iz = () => el.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 = iz();
|
|
t && (e.preventDefault(), t.onClose());
|
|
}));
|
|
let Zi = 70;
|
|
const sz = ({
|
|
styles: e,
|
|
backdropClassName: t,
|
|
disableHotkeyInput: r,
|
|
enableHotkeyInput: n
|
|
}) => (Se(() => (r(fh.DIALOGUE), () => {
|
|
n(fh.DIALOGUE);
|
|
}), [r, n]), /* @__PURE__ */ q(Sj, { forceMount: !0, asChild: !0, children: /* @__PURE__ */ q(
|
|
Y4.div,
|
|
{
|
|
className: vs("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)"
|
|
}
|
|
}
|
|
) })), dh = ({ children: e }) => /* @__PURE__ */ q(jt, { children: e }), B4 = It(
|
|
void 0
|
|
), ey = ({ className: e, size: t = "md" }) => {
|
|
const r = lt(B4);
|
|
if (!r) return null;
|
|
const { expanded: n, toggleExpanded: o } = r;
|
|
return /* @__PURE__ */ q(
|
|
"button",
|
|
{
|
|
type: "button",
|
|
"aria-label": n ? "Restore modal size" : "Expand modal",
|
|
onClick: o,
|
|
className: vs(
|
|
"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__ */ q(
|
|
Us,
|
|
{
|
|
icon: n ? ZM : ez
|
|
}
|
|
)
|
|
}
|
|
);
|
|
};
|
|
ey.displayName = "ModalExpandButton";
|
|
const wl = ({
|
|
isOpen: e,
|
|
title: t,
|
|
titleIcon: r,
|
|
onTitleIconClick: n,
|
|
onClose: o,
|
|
enableHotkeyInput: a = () => {
|
|
},
|
|
disableHotkeyInput: i = () => {
|
|
},
|
|
className: s,
|
|
backdropClassName: l,
|
|
width: c,
|
|
children: u,
|
|
childPadding: f = !0,
|
|
titleIconClassName: d,
|
|
showClose: g = !0,
|
|
draggable: v = !1,
|
|
resizable: m = !1,
|
|
initialPosition: h,
|
|
closeOnOutsideClick: w = !0,
|
|
closeOnEsc: x = !0,
|
|
allowBackgroundInteraction: $ = !1,
|
|
expandable: S = !1,
|
|
accessibleTitle: p,
|
|
accessibleDescription: T
|
|
}) => {
|
|
const [L, G] = $e(
|
|
null
|
|
), [J, B] = $e(!1), [Z, M] = $e(!1), ee = ce({ x: 0, y: 0 }), D = ce({ x: 0, y: 0 }), V = ce(null), H = ce(null), W = ce(null), [Y, K] = $e(() => ++Zi), [y, b] = $e(!1), E = ce(null), A = dw(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
|
|
}
|
|
}), C = dw(e, {
|
|
from: { opacity: 0 },
|
|
enter: { opacity: 1 },
|
|
leave: { opacity: 0 },
|
|
config: {
|
|
tension: 280,
|
|
friction: 25
|
|
}
|
|
});
|
|
Se(() => {
|
|
y ? (H.current && (E.current = { ...H.current }), G({ x: 0, y: 0 }), H.current = { x: 0, y: 0 }, V.current && (V.current.style.left = "0px", V.current.style.top = "0px", V.current.style.margin = "0", V.current.style.position = "fixed", V.current.style.zIndex = String(Y))) : E.current && (G({ ...E.current }), H.current = { ...E.current }, V.current && (V.current.style.left = E.current.x + "px", V.current.style.top = E.current.y + "px", V.current.style.margin = "0", V.current.style.position = "fixed", V.current.style.zIndex = String(Y)));
|
|
}, [y, Y]);
|
|
const j = () => b((pe) => !pe);
|
|
Se(() => {
|
|
e ? W.current ? (G({ ...W.current }), H.current = { ...W.current }, V.current && (V.current.style.left = W.current.x + "px", V.current.style.top = W.current.y + "px", V.current.style.margin = "0", V.current.style.position = "fixed", V.current.style.zIndex = String(Y))) : h && (G({ ...h }), H.current = { ...h }, V.current && (V.current.style.left = h.x + "px", V.current.style.top = h.y + "px", V.current.style.margin = "0", V.current.style.position = "fixed", V.current.style.zIndex = String(Y))) : H.current && (W.current = { ...H.current });
|
|
}, [e, Y]), Se(() => {
|
|
if (!J) return;
|
|
let pe = null;
|
|
const we = (Rt) => {
|
|
if (!V.current) return;
|
|
const Jt = Rt.clientX - D.current.x, tt = Rt.clientY - D.current.y, ft = ee.current.x + Jt, Ct = ee.current.y + tt, Qt = V.current, { width: Zt, height: Ln } = Qt.getBoundingClientRect(), Ml = window.innerWidth, zl = window.innerHeight, ka = 450, Bf = -450, Gf = 0, Kf = Ml - Zt + ka, Fn = zl - Ln + ka, Ll = Math.max(Bf, Math.min(ft, Kf)), Xf = Math.max(Gf, Math.min(Ct, Fn));
|
|
H.current = { x: Ll, y: Xf }, V.current && (pe && cancelAnimationFrame(pe), pe = requestAnimationFrame(() => {
|
|
V.current && H.current && (V.current.style.left = H.current.x + "px", V.current.style.top = H.current.y + "px", V.current.style.margin = "0", V.current.style.position = "fixed", V.current.style.zIndex = String(Y));
|
|
}));
|
|
}, Oe = () => {
|
|
B(!1), H.current && G({ ...H.current });
|
|
};
|
|
return window.addEventListener("mousemove", we), window.addEventListener("mouseup", Oe), () => {
|
|
window.removeEventListener("mousemove", we), window.removeEventListener("mouseup", Oe), pe && cancelAnimationFrame(pe);
|
|
};
|
|
}, [J, Y]);
|
|
const N = (pe) => {
|
|
var we, Oe;
|
|
if (!V.current) return;
|
|
y && b(!1), pe.preventDefault(), pe.stopPropagation();
|
|
const Rt = V.current, { width: Jt, height: tt } = Rt.getBoundingClientRect(), ft = window.innerWidth, Ct = window.innerHeight;
|
|
let Qt = ((we = H.current) == null ? void 0 : we.x) ?? (L == null ? void 0 : L.x), Zt = ((Oe = H.current) == null ? void 0 : Oe.y) ?? (L == null ? void 0 : L.y);
|
|
(Qt === void 0 || Zt === void 0) && (h ? (Qt = h.x, Zt = h.y) : (Qt = (ft - Jt) / 2, Zt = (Ct - tt) / 2)), ee.current = { x: Qt, y: Zt }, D.current = { x: pe.clientX, y: pe.clientY }, B(!0), !L && !H.current && (G({ x: Qt, y: Zt }), H.current = { x: Qt, y: Zt }, V.current && (V.current.style.left = Qt + "px", V.current.style.top = Zt + "px", V.current.style.margin = "0", V.current.style.position = "fixed", V.current.style.zIndex = String(Y)));
|
|
};
|
|
let P = u;
|
|
if (v) {
|
|
let pe = !1;
|
|
P = Array.isArray(u) ? u.map((we) => {
|
|
if (!pe && tu(we) && (we.type === dh || we.type.displayName === "ModalDragHandle")) {
|
|
pe = !0;
|
|
const Oe = we;
|
|
return ru(Oe, {
|
|
children: /* @__PURE__ */ q(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: N,
|
|
children: Oe.props.children
|
|
}
|
|
)
|
|
});
|
|
}
|
|
return we;
|
|
}) : tu(u) && (u.type === dh || u.type.displayName === "ModalDragHandle") ? (() => {
|
|
const we = u;
|
|
return ru(we, {
|
|
children: /* @__PURE__ */ q(
|
|
"div",
|
|
{
|
|
style: { cursor: "move", userSelect: "none" },
|
|
onMouseDown: N,
|
|
children: we.props.children
|
|
}
|
|
)
|
|
});
|
|
})() : u;
|
|
}
|
|
const _ = ce(null), I = ce(null), R = (pe, we) => {
|
|
if (!V.current || (pe.preventDefault(), pe.stopPropagation(), y)) return;
|
|
const Oe = V.current.getBoundingClientRect();
|
|
_.current = we, I.current = {
|
|
mouseX: pe.clientX,
|
|
mouseY: pe.clientY,
|
|
width: Oe.width,
|
|
height: Oe.height,
|
|
x: Oe.left,
|
|
y: Oe.top
|
|
}, M(!0);
|
|
};
|
|
Se(() => {
|
|
if (!Z) return;
|
|
let pe = null;
|
|
const we = (Rt) => {
|
|
if (!V.current || !I.current || !_.current)
|
|
return;
|
|
const Jt = Rt.clientX - I.current.mouseX, tt = Rt.clientY - I.current.mouseY;
|
|
let ft = I.current.width, Ct = I.current.height, Qt = I.current.x, Zt = I.current.y;
|
|
const Ln = _.current;
|
|
Ln.includes("right") && (ft = I.current.width + Jt), Ln.includes("left") && (ft = I.current.width - Jt, Qt = I.current.x + Jt), Ln.includes("bottom") && (Ct = I.current.height + tt), Ln.includes("top") && (Ct = I.current.height - tt, Zt = I.current.y + tt), ft = Math.max(320, ft), Ct = Math.max(240, Ct), H.current = { x: Qt, y: Zt }, Ee.current = { width: ft, height: Ct }, pe && cancelAnimationFrame(pe), pe = requestAnimationFrame(() => {
|
|
V.current && H.current && (V.current.style.width = ft + "px", V.current.style.height = Ct + "px", V.current.style.left = H.current.x + "px", V.current.style.top = H.current.y + "px", V.current.style.margin = "0", V.current.style.position = "fixed", V.current.style.zIndex = String(Y));
|
|
});
|
|
}, Oe = () => {
|
|
M(!1), H.current && G({ ...H.current }), Ee.current && fe({ ...Ee.current });
|
|
};
|
|
return window.addEventListener("mousemove", we), window.addEventListener("mouseup", Oe), () => {
|
|
window.removeEventListener("mousemove", we), window.removeEventListener("mouseup", Oe), pe && cancelAnimationFrame(pe);
|
|
};
|
|
}, [Z, Y]);
|
|
const Q = () => {
|
|
if (!m || y) return null;
|
|
const pe = "absolute z-[75] bg-transparent select-none", we = 5, Oe = 2, Rt = [
|
|
{ dir: "top", className: `top-0 left-0 w-full h-${Oe}` },
|
|
{ dir: "bottom", className: `bottom-0 left-0 w-full h-${Oe}` },
|
|
{ dir: "left", className: `left-0 top-0 h-full w-${Oe}` },
|
|
{ dir: "right", className: `right-0 top-0 h-full w-${Oe}` },
|
|
{
|
|
dir: "top-left",
|
|
className: `top-0 left-0 w-${we} h-${we}`
|
|
},
|
|
{
|
|
dir: "top-right",
|
|
className: `top-0 right-0 w-${we} h-${we}`
|
|
},
|
|
{
|
|
dir: "bottom-left",
|
|
className: `bottom-0 left-0 w-${we} h-${we}`
|
|
},
|
|
{
|
|
dir: "bottom-right",
|
|
className: `bottom-0 right-0 w-${we} h-${we}`
|
|
}
|
|
], Jt = {
|
|
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((tt) => /* @__PURE__ */ q(
|
|
"div",
|
|
{
|
|
className: `${pe} ${tt.className}`,
|
|
style: { cursor: Jt[tt.dir] },
|
|
onMouseDown: (ft) => R(ft, tt.dir)
|
|
},
|
|
tt.dir
|
|
));
|
|
}, [k, fe] = $e(
|
|
null
|
|
), Ee = ce(null), xe = ce(null);
|
|
Se(() => {
|
|
if (e && !k && V.current && m) {
|
|
const { width: pe, height: we } = V.current.getBoundingClientRect();
|
|
fe({ width: pe, height: we }), Ee.current = { width: pe, height: we };
|
|
}
|
|
}, [e, k, m]), Se(() => {
|
|
if (m) {
|
|
if (!e)
|
|
Ee.current && (xe.current = { ...Ee.current });
|
|
else if (xe.current && V.current) {
|
|
const { width: pe, height: we } = xe.current;
|
|
V.current.style.width = pe + "px", V.current.style.height = we + "px", fe({ width: pe, height: we }), Ee.current = { width: pe, height: we };
|
|
}
|
|
}
|
|
}, [e, m]), Se(() => {
|
|
const pe = () => {
|
|
V.current && Y < Zi && (Zi += 1, K(Zi), V.current.style.zIndex = String(Zi));
|
|
}, we = V.current;
|
|
return we && we.addEventListener("mousedown", pe), () => {
|
|
we && we.removeEventListener("mousedown", pe);
|
|
};
|
|
}, [Y]), Se(() => {
|
|
if (!e || $) return;
|
|
const pe = (we) => {
|
|
if (we.key === "Escape" || we.key === "Esc") return;
|
|
const Oe = we.target;
|
|
Oe && (Oe.closest(
|
|
'[role="dialog"], [role="menu"], [role="listbox"], [data-headlessui-portal]'
|
|
) || Oe.matches("input, textarea, select, button, [contenteditable]")) || we.stopPropagation();
|
|
};
|
|
return window.addEventListener("keydown", pe, !0), () => {
|
|
window.removeEventListener("keydown", pe, !0);
|
|
};
|
|
}, [e, $]), Se(() => {
|
|
if (!$) return;
|
|
const pe = V.current;
|
|
if (!pe) return;
|
|
const we = (tt) => {
|
|
tt && (tt.hasAttribute("inert") && tt.removeAttribute("inert"), tt.inert && (tt.inert = !1), tt.getAttribute("aria-hidden") === "true" && tt.removeAttribute("aria-hidden"));
|
|
};
|
|
let Oe = pe;
|
|
for (; Oe; )
|
|
we(Oe), Oe = Oe.parentElement;
|
|
const Rt = new MutationObserver((tt) => {
|
|
tt.forEach((ft) => {
|
|
if (ft.type === "attributes" && ft.attributeName === "inert" && ft.target instanceof HTMLElement) {
|
|
const Ct = ft.target;
|
|
(Ct === pe || pe.contains(Ct)) && we(Ct);
|
|
}
|
|
});
|
|
});
|
|
Rt.observe(pe, {
|
|
attributes: !0,
|
|
subtree: !1,
|
|
attributeFilter: ["inert"]
|
|
}), document.querySelectorAll(
|
|
"[data-radix-portal][inert], [data-headlessui-portal][inert]"
|
|
).forEach((tt) => tt.removeAttribute("inert"));
|
|
const Jt = new MutationObserver((tt) => {
|
|
tt.forEach((ft) => {
|
|
if (ft.type === "attributes" && ft.attributeName === "inert" && ft.target.hasAttribute("inert")) {
|
|
const Ct = ft.target;
|
|
(Ct.hasAttribute("data-radix-portal") || Ct.hasAttribute("data-headlessui-portal")) && we(Ct);
|
|
}
|
|
});
|
|
});
|
|
return Jt.observe(document.body, {
|
|
attributes: !0,
|
|
subtree: !0,
|
|
attributeFilter: ["inert"]
|
|
}), () => {
|
|
Rt.disconnect(), Jt.disconnect();
|
|
};
|
|
}, [$]);
|
|
const xr = ce(Math.floor(Math.random() * 1e9));
|
|
Se(() => {
|
|
if (e)
|
|
return nz({
|
|
id: xr.current,
|
|
zIndex: Y,
|
|
onClose: o,
|
|
closeOnEsc: x
|
|
}), () => {
|
|
oz(xr.current);
|
|
};
|
|
}, [e]), Se(() => {
|
|
e && az(xr.current, { zIndex: Y, onClose: o, closeOnEsc: x });
|
|
}, [e, Y, o, x]);
|
|
const sn = () => y ? {
|
|
position: "fixed",
|
|
left: 0,
|
|
top: 0,
|
|
margin: 0,
|
|
zIndex: Y,
|
|
width: "100vw",
|
|
height: "100vh",
|
|
...$ ? { pointerEvents: "auto" } : {}
|
|
} : !v || !L ? {
|
|
...m && k ? { width: k.width, height: k.height } : {},
|
|
...$ ? { pointerEvents: "auto" } : {}
|
|
} : {
|
|
position: "fixed",
|
|
left: L.x,
|
|
top: L.y,
|
|
margin: 0,
|
|
zIndex: Y,
|
|
...m && k ? { width: k.width, height: k.height } : {},
|
|
...$ ? { pointerEvents: "auto" } : {}
|
|
};
|
|
return /* @__PURE__ */ q(
|
|
kj,
|
|
{
|
|
open: e,
|
|
onOpenChange: (pe) => !pe && w && o(),
|
|
modal: !$,
|
|
children: /* @__PURE__ */ q(Oj, { children: /* @__PURE__ */ Le(
|
|
"div",
|
|
{
|
|
className: "fixed inset-0 z-[70]",
|
|
style: $ ? { pointerEvents: "none" } : void 0,
|
|
children: [
|
|
!$ && C(
|
|
(pe, we) => we ? /* @__PURE__ */ q(
|
|
sz,
|
|
{
|
|
styles: pe,
|
|
backdropClassName: l,
|
|
disableHotkeyInput: i,
|
|
enableHotkeyInput: a
|
|
},
|
|
"backdrop"
|
|
) : null
|
|
),
|
|
$ && /* @__PURE__ */ q(
|
|
"div",
|
|
{
|
|
className: vs("fixed inset-0 z-[69]", l),
|
|
style: { pointerEvents: "none" }
|
|
}
|
|
),
|
|
/* @__PURE__ */ q(B4.Provider, { value: { expanded: y, toggleExpanded: j }, children: /* @__PURE__ */ q(
|
|
"div",
|
|
{
|
|
className: "flex min-h-full items-center justify-center p-4 text-center",
|
|
style: $ ? { pointerEvents: "none" } : void 0,
|
|
children: A((pe, we) => we ? /* @__PURE__ */ q(
|
|
Ej,
|
|
{
|
|
forceMount: !0,
|
|
asChild: !0,
|
|
...T ? {} : { "aria-describedby": void 0 },
|
|
onPointerDownOutside: (Oe) => {
|
|
(!w || $) && Oe.preventDefault();
|
|
},
|
|
onEscapeKeyDown: (Oe) => {
|
|
x || Oe.preventDefault();
|
|
},
|
|
onInteractOutside: (Oe) => {
|
|
$ && Oe.preventDefault();
|
|
},
|
|
children: /* @__PURE__ */ Le(
|
|
Y4.div,
|
|
{
|
|
className: vs(
|
|
"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 && !y ? "p-4" : "",
|
|
s,
|
|
"!transition-none",
|
|
// Always disable CSS transitions for spring animations
|
|
y && "w-screen h-screen max-w-screen max-h-screen rounded-none"
|
|
),
|
|
ref: V,
|
|
style: {
|
|
...sn(),
|
|
opacity: pe.opacity,
|
|
transform: pe.transform,
|
|
transformOrigin: "center center",
|
|
willChange: "transform, opacity"
|
|
// Optimize for animations
|
|
},
|
|
children: [
|
|
/* @__PURE__ */ Le("div", { className: "w-full h-full", children: [
|
|
T && /* @__PURE__ */ q(hw, { asChild: !0, children: /* @__PURE__ */ q(Pj, { children: T }) }),
|
|
t ? /* @__PURE__ */ q(
|
|
h1,
|
|
{
|
|
className: vs(
|
|
"mb-4 flex justify-between pb-0 text-xl font-bold text-base-fg"
|
|
),
|
|
children: /* @__PURE__ */ q(jt, { children: n ? /* @__PURE__ */ Le(
|
|
"button",
|
|
{
|
|
className: "flex items-center gap-3",
|
|
onClick: n,
|
|
children: [
|
|
r && /* @__PURE__ */ q(
|
|
Us,
|
|
{
|
|
icon: r,
|
|
className: d
|
|
}
|
|
),
|
|
t
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Le("div", { className: "flex items-center gap-3", children: [
|
|
r && /* @__PURE__ */ q(
|
|
Us,
|
|
{
|
|
icon: r,
|
|
className: d
|
|
}
|
|
),
|
|
t
|
|
] }) })
|
|
}
|
|
) : /* @__PURE__ */ q(hw, { asChild: !0, children: /* @__PURE__ */ q(h1, { children: p ?? "Dialog" }) }),
|
|
/* @__PURE__ */ q("div", { className: "h-full".trim(), children: P }),
|
|
Q()
|
|
] }),
|
|
(g || S) && /* @__PURE__ */ Le("div", { className: "absolute top-0 right-0 m-2.5 z-[80] flex items-center gap-2", children: [
|
|
S && /* @__PURE__ */ q(wl.ExpandButton, {}),
|
|
g && /* @__PURE__ */ q(NR, { onClick: o })
|
|
] })
|
|
]
|
|
}
|
|
)
|
|
}
|
|
) : null)
|
|
}
|
|
) })
|
|
]
|
|
}
|
|
) })
|
|
}
|
|
);
|
|
};
|
|
wl.DragHandle = dh;
|
|
wl.DragHandle.displayName = "ModalDragHandle";
|
|
wl.ExpandButton = ey;
|
|
ey.displayName = "ModalExpandButton";
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function lz(e, t, r) {
|
|
return (t = uz(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function gw(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 ne(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? gw(Object(r), !0).forEach(function(n) {
|
|
lz(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : gw(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function cz(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 uz(e) {
|
|
var t = cz(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const bw = () => {
|
|
};
|
|
let ty = {}, G4 = {}, K4 = null, X4 = {
|
|
mark: bw,
|
|
measure: bw
|
|
};
|
|
try {
|
|
typeof window < "u" && (ty = window), typeof document < "u" && (G4 = document), typeof MutationObserver < "u" && (K4 = MutationObserver), typeof performance < "u" && (X4 = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: yw = ""
|
|
} = ty.navigator || {}, $o = ty, xt = G4, vw = K4, sc = X4;
|
|
$o.document;
|
|
const Tn = !!xt.documentElement && !!xt.head && typeof xt.addEventListener == "function" && typeof xt.createElement == "function", J4 = ~yw.indexOf("MSIE") || ~yw.indexOf("Trident/");
|
|
var fz = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, dz = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Q4 = {
|
|
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"
|
|
}
|
|
}, pz = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Z4 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Bt = "classic", df = "duotone", mz = "sharp", hz = "sharp-duotone", eS = [Bt, df, mz, hz], gz = {
|
|
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"
|
|
}
|
|
}, bz = {
|
|
"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"
|
|
}
|
|
}, yz = /* @__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
|
|
}]]), vz = {
|
|
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"
|
|
}
|
|
}, wz = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], ww = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, xz = ["kit"], $z = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, kz = ["fak", "fakd"], Oz = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, xw = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, lc = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Sz = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Ez = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Pz = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, Az = {
|
|
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"
|
|
}
|
|
}, Cz = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, ph = {
|
|
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"
|
|
}
|
|
}, Nz = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], mh = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...Sz, ...Nz], jz = ["solid", "regular", "light", "thin", "duotone", "brands"], tS = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], _z = tS.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Iz = [...Object.keys(Cz), ...jz, "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", lc.GROUP, lc.SWAP_OPACITY, lc.PRIMARY, lc.SECONDARY].concat(tS.map((e) => "".concat(e, "x"))).concat(_z.map((e) => "w-".concat(e))), Tz = {
|
|
"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 On = "___FONT_AWESOME___", hh = 16, rS = "fa", nS = "svg-inline--fa", la = "data-fa-i2svg", gh = "data-fa-pseudo-element", Rz = "data-fa-pseudo-element-pending", ry = "data-prefix", ny = "data-icon", $w = "fontawesome-i2svg", Mz = "async", zz = ["HTML", "HEAD", "STYLE", "SCRIPT"], oS = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function xl(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Bt];
|
|
}
|
|
});
|
|
}
|
|
const aS = ne({}, Q4);
|
|
aS[Bt] = ne(ne(ne(ne({}, {
|
|
"fa-duotone": "duotone"
|
|
}), Q4[Bt]), ww.kit), ww["kit-duotone"]);
|
|
const Lz = xl(aS), bh = ne({}, vz);
|
|
bh[Bt] = ne(ne(ne(ne({}, {
|
|
duotone: "fad"
|
|
}), bh[Bt]), xw.kit), xw["kit-duotone"]);
|
|
const kw = xl(bh), yh = ne({}, ph);
|
|
yh[Bt] = ne(ne({}, yh[Bt]), Oz.kit);
|
|
const oy = xl(yh), vh = ne({}, Az);
|
|
vh[Bt] = ne(ne({}, vh[Bt]), $z.kit);
|
|
xl(vh);
|
|
const Fz = fz, iS = "fa-layers-text", Dz = dz, Vz = ne({}, gz);
|
|
xl(Vz);
|
|
const Hz = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Xd = pz, Wz = [...xz, ...Iz], As = $o.FontAwesomeConfig || {};
|
|
function Uz(e) {
|
|
var t = xt.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function Yz(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
xt && typeof xt.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 = Yz(Uz(t));
|
|
n != null && (As[r] = n);
|
|
});
|
|
const sS = {
|
|
styleDefault: "solid",
|
|
familyDefault: Bt,
|
|
cssPrefix: rS,
|
|
replacementClass: nS,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
As.familyPrefix && (As.cssPrefix = As.familyPrefix);
|
|
const fi = ne(ne({}, sS), As);
|
|
fi.autoReplaceSvg || (fi.observeMutations = !1);
|
|
const ge = {};
|
|
Object.keys(sS).forEach((e) => {
|
|
Object.defineProperty(ge, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
fi[e] = t, Cs.forEach((r) => r(ge));
|
|
},
|
|
get: function() {
|
|
return fi[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ge, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
fi.cssPrefix = e, Cs.forEach((t) => t(ge));
|
|
},
|
|
get: function() {
|
|
return fi.cssPrefix;
|
|
}
|
|
});
|
|
$o.FontAwesomeConfig = ge;
|
|
const Cs = [];
|
|
function qz(e) {
|
|
return Cs.push(e), () => {
|
|
Cs.splice(Cs.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Kn = hh, Yr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function Bz(e) {
|
|
if (!e || !Tn)
|
|
return;
|
|
const t = xt.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = xt.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 xt.head.insertBefore(t, n), e;
|
|
}
|
|
const Gz = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function tl() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += Gz[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Ci(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function ay(e) {
|
|
return e.classList ? Ci(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function lS(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function Kz(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(lS(e[r]), '" '), "").trim();
|
|
}
|
|
function pf(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function iy(e) {
|
|
return e.size !== Yr.size || e.x !== Yr.x || e.y !== Yr.y || e.rotate !== Yr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function Xz(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)"), l = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: l,
|
|
path: c
|
|
};
|
|
}
|
|
function Jz(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = hh,
|
|
height: n = hh,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && J4 ? a += "translate(".concat(t.x / Kn - r / 2, "em, ").concat(t.y / Kn - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Kn, "em), calc(-50% + ").concat(t.y / Kn, "em)) ") : a += "translate(".concat(t.x / Kn, "em, ").concat(t.y / Kn, "em) "), a += "scale(".concat(t.size / Kn * (t.flipX ? -1 : 1), ", ").concat(t.size / Kn * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var Qz = `: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 cS() {
|
|
const e = rS, t = nS, r = ge.cssPrefix, n = ge.replacementClass;
|
|
let o = Qz;
|
|
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 Ow = !1;
|
|
function Jd() {
|
|
ge.autoAddCss && !Ow && (Bz(cS()), Ow = !0);
|
|
}
|
|
var Zz = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: cS,
|
|
insertCss: Jd
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Jd();
|
|
},
|
|
beforeI2svg() {
|
|
Jd();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Sn = $o || {};
|
|
Sn[On] || (Sn[On] = {});
|
|
Sn[On].styles || (Sn[On].styles = {});
|
|
Sn[On].hooks || (Sn[On].hooks = {});
|
|
Sn[On].shims || (Sn[On].shims = []);
|
|
var qr = Sn[On];
|
|
const uS = [], fS = function() {
|
|
xt.removeEventListener("DOMContentLoaded", fS), hu = 1, uS.map((e) => e());
|
|
};
|
|
let hu = !1;
|
|
Tn && (hu = (xt.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(xt.readyState), hu || xt.addEventListener("DOMContentLoaded", fS));
|
|
function e8(e) {
|
|
Tn && (hu ? setTimeout(e, 0) : uS.push(e));
|
|
}
|
|
function $l(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? lS(e) : "<".concat(t, " ").concat(Kz(r), ">").concat(n.map($l).join(""), "</").concat(t, ">");
|
|
}
|
|
function Sw(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Qd = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, l, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
l = o[s], c = i(c, e[l], l, e);
|
|
return c;
|
|
};
|
|
function t8(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 dS(e) {
|
|
const t = t8(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function r8(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 Ew(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 wh(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = Ew(t);
|
|
typeof qr.hooks.addPack == "function" && !n ? qr.hooks.addPack(e, Ew(t)) : qr.styles[e] = ne(ne({}, qr.styles[e] || {}), o), e === "fas" && wh("fa", t);
|
|
}
|
|
const {
|
|
styles: rl,
|
|
shims: n8
|
|
} = qr, pS = Object.keys(oy), o8 = pS.reduce((e, t) => (e[t] = Object.keys(oy[t]), e), {});
|
|
let sy = null, mS = {}, hS = {}, gS = {}, bS = {}, yS = {};
|
|
function a8(e) {
|
|
return ~Wz.indexOf(e);
|
|
}
|
|
function i8(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !a8(o) ? o : null;
|
|
}
|
|
const vS = () => {
|
|
const e = (n) => Qd(rl, (o, a, i) => (o[i] = Qd(a, n, {}), o), {});
|
|
mS = 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)), hS = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), yS = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in rl || ge.autoFetchSvg, r = Qd(n8, (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: {}
|
|
});
|
|
gS = r.names, bS = r.unicodes, sy = mf(ge.styleDefault, {
|
|
family: ge.familyDefault
|
|
});
|
|
};
|
|
qz((e) => {
|
|
sy = mf(e.styleDefault, {
|
|
family: ge.familyDefault
|
|
});
|
|
});
|
|
vS();
|
|
function ly(e, t) {
|
|
return (mS[e] || {})[t];
|
|
}
|
|
function s8(e, t) {
|
|
return (hS[e] || {})[t];
|
|
}
|
|
function Uo(e, t) {
|
|
return (yS[e] || {})[t];
|
|
}
|
|
function wS(e) {
|
|
return gS[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function l8(e) {
|
|
const t = bS[e], r = ly("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function ko() {
|
|
return sy;
|
|
}
|
|
const xS = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function c8(e) {
|
|
let t = Bt;
|
|
const r = pS.reduce((n, o) => (n[o] = "".concat(ge.cssPrefix, "-").concat(o), n), {});
|
|
return eS.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => o8[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function mf(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Bt
|
|
} = t, n = Lz[r][e];
|
|
if (r === df && !e)
|
|
return "fad";
|
|
const o = kw[r][e] || kw[r][n], a = e in qr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function u8(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = i8(ge.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Pw(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function hf(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = mh.concat(Ez), a = Pw(e.filter((f) => o.includes(f))), i = Pw(e.filter((f) => !mh.includes(f))), s = a.filter((f) => (n = f, !Z4.includes(f))), [l = null] = s, c = c8(a), u = ne(ne({}, u8(i)), {}, {
|
|
prefix: mf(l, {
|
|
family: c
|
|
})
|
|
});
|
|
return ne(ne(ne({}, u), m8({
|
|
values: e,
|
|
family: c,
|
|
styles: rl,
|
|
config: ge,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), f8(r, n, u));
|
|
}
|
|
function f8(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? wS(o) : {}, i = Uo(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !rl.far && rl.fas && !ge.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const d8 = eS.filter((e) => e !== Bt || e !== df), p8 = Object.keys(ph).filter((e) => e !== Bt).map((e) => Object.keys(ph[e])).flat();
|
|
function m8(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === df, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && d8.includes(r) && (Object.keys(a).find((f) => p8.includes(f)) || i.autoFetchSvg)) {
|
|
const f = yz.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Uo(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = ko() || "fas"), n;
|
|
}
|
|
let h8 = 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] = ne(ne({}, this.definitions[a] || {}), o[a]), wh(a, o[a]);
|
|
const i = oy[Bt][a];
|
|
i && wh(i, o[a]), vS();
|
|
});
|
|
}
|
|
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], l = s[2];
|
|
t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, Aw = [], La = {};
|
|
const ei = {}, g8 = Object.keys(ei);
|
|
function b8(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return Aw = e, La = {}, Object.keys(ei).forEach((n) => {
|
|
g8.indexOf(n) === -1 && delete ei[n];
|
|
}), Aw.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) => {
|
|
La[i] || (La[i] = []), La[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(ei);
|
|
}), r;
|
|
}
|
|
function xh(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 (La[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ca(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(La[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Oo() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return ei[e] ? ei[e].apply(null, t) : void 0;
|
|
}
|
|
function $h(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || ko();
|
|
if (t)
|
|
return t = Uo(r, t) || t, Sw($S.definitions, r, t) || Sw(qr.styles, r, t);
|
|
}
|
|
const $S = new h8(), y8 = () => {
|
|
ge.autoReplaceSvg = !1, ge.observeMutations = !1, ca("noAuto");
|
|
}, v8 = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Tn ? (ca("beforeI2svg", e), Oo("pseudoElements2svg", e), Oo("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
ge.autoReplaceSvg === !1 && (ge.autoReplaceSvg = !0), ge.observeMutations = !0, e8(() => {
|
|
x8({
|
|
autoReplaceSvgRoot: t
|
|
}), ca("watch", e);
|
|
});
|
|
}
|
|
}, w8 = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Uo(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 = mf(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Uo(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ge.cssPrefix, "-")) > -1 || e.match(Fz))) {
|
|
const t = hf(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || ko(),
|
|
iconName: Uo(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = ko();
|
|
return {
|
|
prefix: t,
|
|
iconName: Uo(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, ur = {
|
|
noAuto: y8,
|
|
config: ge,
|
|
dom: v8,
|
|
parse: w8,
|
|
library: $S,
|
|
findIconDefinition: $h,
|
|
toHtml: $l
|
|
}, x8 = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = xt
|
|
} = e;
|
|
(Object.keys(qr.styles).length > 0 || ge.autoFetchSvg) && Tn && ge.autoReplaceSvg && ur.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function gf(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => $l(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Tn) return;
|
|
const r = xt.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function $8(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (iy(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: l
|
|
} = r, c = {
|
|
x: s / l / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = pf(ne(ne({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function k8(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ge.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ne(ne({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function cy(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: l,
|
|
titleId: c,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: g
|
|
} = r.found ? r : t, v = kz.includes(n), m = [ge.replacementClass, o ? "".concat(ge.cssPrefix, "-").concat(o) : ""].filter((p) => u.classes.indexOf(p) === -1).filter((p) => p !== "" || !!p).concat(u.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: ne(ne({}, 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(g)
|
|
})
|
|
};
|
|
const w = v && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / g * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (h.attributes[la] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || tl())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const x = ne(ne({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: l,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ne(ne({}, w), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: S
|
|
} = r.found && t.found ? Oo("generateAbstractMask", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Oo("generateAbstractIcon", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return x.children = $, x.attributes = S, i ? k8(x) : $8(x);
|
|
}
|
|
function Cw(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, l = ne(ne(ne({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (l[la] = "");
|
|
const c = ne({}, i.styles);
|
|
iy(o) && (c.transform = Jz({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const u = pf(c);
|
|
u.length > 0 && (l.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: l,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function O8(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ne(ne(ne({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = pf(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: Zd
|
|
} = qr;
|
|
function kh(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ge.cssPrefix, "-").concat(Xd.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ge.cssPrefix, "-").concat(Xd.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ge.cssPrefix, "-").concat(Xd.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const S8 = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function E8(e, t) {
|
|
!oS && !ge.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Oh(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ge.styleDefault !== null && (t = ko()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = wS(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Zd[t] && Zd[t][e]) {
|
|
const a = Zd[t][e];
|
|
return n(kh(a));
|
|
}
|
|
E8(e, t), n(ne(ne({}, S8), {}, {
|
|
icon: ge.showMissingIcons && e ? Oo("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Nw = () => {
|
|
}, Sh = ge.measurePerformance && sc && sc.mark && sc.measure ? sc : {
|
|
mark: Nw,
|
|
measure: Nw
|
|
}, fs = 'FA "6.7.2"', P8 = (e) => (Sh.mark("".concat(fs, " ").concat(e, " begins")), () => kS(e)), kS = (e) => {
|
|
Sh.mark("".concat(fs, " ").concat(e, " ends")), Sh.measure("".concat(fs, " ").concat(e), "".concat(fs, " ").concat(e, " begins"), "".concat(fs, " ").concat(e, " ends"));
|
|
};
|
|
var uy = {
|
|
begin: P8,
|
|
end: kS
|
|
};
|
|
const Fc = () => {
|
|
};
|
|
function jw(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(la) : null) == "string";
|
|
}
|
|
function A8(e) {
|
|
const t = e.getAttribute ? e.getAttribute(ry) : null, r = e.getAttribute ? e.getAttribute(ny) : null;
|
|
return t && r;
|
|
}
|
|
function C8(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ge.replacementClass);
|
|
}
|
|
function N8() {
|
|
return ge.autoReplaceSvg === !0 ? Dc.replace : Dc[ge.autoReplaceSvg] || Dc.replace;
|
|
}
|
|
function j8(e) {
|
|
return xt.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function _8(e) {
|
|
return xt.createElement(e);
|
|
}
|
|
function OS(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? j8 : _8
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return xt.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(OS(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function I8(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Dc = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(OS(r), t);
|
|
}), t.getAttribute(la) === null && ge.keepOriginalSource) {
|
|
let r = xt.createComment(I8(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~ay(t).indexOf(ge.replacementClass))
|
|
return Dc.replace(e);
|
|
const n = new RegExp("".concat(ge.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ge.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => $l(a)).join(`
|
|
`);
|
|
t.setAttribute(la, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function _w(e) {
|
|
e();
|
|
}
|
|
function SS(e, t) {
|
|
const r = typeof t == "function" ? t : Fc;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = _w;
|
|
ge.mutateApproach === Mz && (n = $o.requestAnimationFrame || _w), n(() => {
|
|
const o = N8(), a = uy.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let fy = !1;
|
|
function ES() {
|
|
fy = !0;
|
|
}
|
|
function Eh() {
|
|
fy = !1;
|
|
}
|
|
let gu = null;
|
|
function Iw(e) {
|
|
if (!vw || !ge.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Fc,
|
|
nodeCallback: r = Fc,
|
|
pseudoElementsCallback: n = Fc,
|
|
observeMutationsRoot: o = xt
|
|
} = e;
|
|
gu = new vw((a) => {
|
|
if (fy) return;
|
|
const i = ko();
|
|
Ci(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !jw(s.addedNodes[0]) && (ge.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ge.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && jw(s.target) && ~Hz.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && A8(s.target)) {
|
|
const {
|
|
prefix: l,
|
|
iconName: c
|
|
} = hf(ay(s.target));
|
|
s.target.setAttribute(ry, l || i), c && s.target.setAttribute(ny, c);
|
|
} else C8(s.target) && r(s.target);
|
|
});
|
|
}), Tn && gu.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function T8() {
|
|
gu && gu.disconnect();
|
|
}
|
|
function R8(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 M8(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = hf(ay(e));
|
|
return o.prefix || (o.prefix = ko()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = s8(o.prefix, e.innerText) || ly(o.prefix, dS(e.innerText))), !o.iconName && ge.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function z8(e) {
|
|
const t = Ci(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ge.autoA11y && (r ? t["aria-labelledby"] = "".concat(ge.replacementClass, "-title-").concat(n || tl()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function L8() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Yr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function Tw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = M8(e), a = z8(e), i = xh("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? R8(e) : [];
|
|
return ne({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Yr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: F8
|
|
} = qr;
|
|
function PS(e) {
|
|
const t = ge.autoReplaceSvg === "nest" ? Tw(e, {
|
|
styleParser: !1
|
|
}) : Tw(e);
|
|
return ~t.extra.classes.indexOf(iS) ? Oo("generateLayersText", e, t) : Oo("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function D8() {
|
|
return [...wz, ...mh];
|
|
}
|
|
function Rw(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Tn) return Promise.resolve();
|
|
const r = xt.documentElement.classList, n = (u) => r.add("".concat($w, "-").concat(u)), o = (u) => r.remove("".concat($w, "-").concat(u)), a = ge.autoFetchSvg ? D8() : Z4.concat(Object.keys(F8));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(iS, ":not([").concat(la, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(la, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Ci(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const l = uy.begin("onTree"), c = s.reduce((u, f) => {
|
|
try {
|
|
const d = PS(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
oS || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(c).then((d) => {
|
|
SS(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u();
|
|
});
|
|
}).catch((d) => {
|
|
l(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function V8(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
PS(e).then((r) => {
|
|
r && SS([r], t);
|
|
});
|
|
}
|
|
function H8(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : $h(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : $h(o || {})), e(n, ne(ne({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const W8 = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Yr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: l = [],
|
|
attributes: c = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: g
|
|
} = e;
|
|
return gf(ne({
|
|
type: "icon"
|
|
}, e), () => (ca("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ge.autoA11y && (i ? c["aria-labelledby"] = "".concat(ge.replacementClass, "-title-").concat(s || tl()) : (c["aria-hidden"] = "true", c.focusable = "false")), cy({
|
|
icons: {
|
|
main: kh(g),
|
|
mask: o ? kh(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: ne(ne({}, Yr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: u,
|
|
classes: l
|
|
}
|
|
})));
|
|
};
|
|
var U8 = {
|
|
mixout() {
|
|
return {
|
|
icon: H8(W8)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Rw, e.nodeCallback = V8, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = xt,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Rw(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: l,
|
|
mask: c,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, g) => {
|
|
Promise.all([Oh(n, i), c.iconName ? Oh(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((v) => {
|
|
let [m, h] = v;
|
|
d([t, cy({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: l,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(g);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = pf(i);
|
|
s.length > 0 && (n.style = s);
|
|
let l;
|
|
return iy(a) && (l = Oo("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(l || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, Y8 = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return gf({
|
|
type: "layer"
|
|
}, () => {
|
|
ca("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ge.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, q8 = {
|
|
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 gf({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ca("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), O8({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ge.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, B8 = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Yr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return gf({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ca("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Cw({
|
|
content: e,
|
|
transform: ne(ne({}, Yr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ge.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (J4) {
|
|
const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / l, s = c.height / l;
|
|
}
|
|
return ge.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, Cw({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const G8 = new RegExp('"', "ug"), Mw = [1105920, 1112319], zw = ne(ne(ne(ne({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), bz), Tz), Pz), Ph = Object.keys(zw).reduce((e, t) => (e[t.toLowerCase()] = zw[t], e), {}), K8 = Object.keys(Ph).reduce((e, t) => {
|
|
const r = Ph[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function X8(e) {
|
|
const t = e.replace(G8, ""), r = r8(t, 0), n = r >= Mw[0] && r <= Mw[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: dS(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function J8(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (Ph[r] || {})[o] || K8[r];
|
|
}
|
|
function Lw(e, t) {
|
|
const r = "".concat(Rz).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Ci(e.children).filter((f) => f.getAttribute(gh) === t)[0], i = $o.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(Dz), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !l)
|
|
return e.removeChild(a), n();
|
|
if (l && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = J8(s, c);
|
|
const {
|
|
value: g,
|
|
isSecondary: v
|
|
} = X8(f), m = l[0].startsWith("FontAwesome");
|
|
let h = ly(d, g), w = h;
|
|
if (m) {
|
|
const x = l8(g);
|
|
x.iconName && x.prefix && (h = x.iconName, d = x.prefix);
|
|
}
|
|
if (h && !v && (!a || a.getAttribute(ry) !== d || a.getAttribute(ny) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const x = L8(), {
|
|
extra: $
|
|
} = x;
|
|
$.attributes[gh] = t, Oh(h, d).then((S) => {
|
|
const p = cy(ne(ne({}, x), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: xS()
|
|
},
|
|
prefix: d,
|
|
iconName: w,
|
|
extra: $,
|
|
watchable: !0
|
|
})), T = xt.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(T, e.firstChild) : e.appendChild(T), T.outerHTML = p.map((L) => $l(L)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function Q8(e) {
|
|
return Promise.all([Lw(e, "::before"), Lw(e, "::after")]);
|
|
}
|
|
function Z8(e) {
|
|
return e.parentNode !== document.head && !~zz.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(gh) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function Fw(e) {
|
|
if (Tn)
|
|
return new Promise((t, r) => {
|
|
const n = Ci(e.querySelectorAll("*")).filter(Z8).map(Q8), o = uy.begin("searchPseudoElements");
|
|
ES(), Promise.all(n).then(() => {
|
|
o(), Eh(), t();
|
|
}).catch(() => {
|
|
o(), Eh(), r();
|
|
});
|
|
});
|
|
}
|
|
var eL = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = Fw, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = xt
|
|
} = t;
|
|
ge.searchPseudoElements && Fw(r);
|
|
};
|
|
}
|
|
};
|
|
let Dw = !1;
|
|
var tL = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
ES(), Dw = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
Iw(xh("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
T8();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
Dw ? Eh() : Iw(xh("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Vw = (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 rL = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => Vw(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = Vw(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, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(l, " ").concat(c)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ne({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ne({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ne(ne({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const ep = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function Hw(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 nL(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var oL = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? hf(r.split(" ").map((o) => o.trim())) : xS();
|
|
return n.prefix || (n.prefix = ko()), 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: l,
|
|
icon: c
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = Xz({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: l
|
|
}), g = {
|
|
tag: "rect",
|
|
attributes: ne(ne({}, ep), {}, {
|
|
fill: "white"
|
|
})
|
|
}, v = c.children ? {
|
|
children: c.children.map(Hw)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ne({}, d.inner),
|
|
children: [Hw(ne({
|
|
tag: c.tag,
|
|
attributes: ne(ne({}, c.attributes), d.path)
|
|
}, v))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: ne({}, d.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || tl()), x = "clip-".concat(i || tl()), $ = {
|
|
tag: "mask",
|
|
attributes: ne(ne({}, ep), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [g, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: x
|
|
},
|
|
children: nL(f)
|
|
}, $]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: ne({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(x, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, ep)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, aL = {
|
|
provides(e) {
|
|
let t = !1;
|
|
$o.matchMedia && (t = $o.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: ne(ne({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = ne(ne({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ne(ne({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ne(ne({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ne(ne({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ne(ne({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: ne(ne({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ne(ne({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: ne(ne({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, iL = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, sL = [Zz, U8, Y8, q8, B8, eL, tL, rL, oL, aL, iL];
|
|
b8(sL, {
|
|
mixoutsTo: ur
|
|
});
|
|
ur.noAuto;
|
|
ur.config;
|
|
ur.library;
|
|
ur.dom;
|
|
const Ah = ur.parse;
|
|
ur.findIconDefinition;
|
|
ur.toHtml;
|
|
const lL = ur.icon;
|
|
ur.layer;
|
|
ur.text;
|
|
ur.counter;
|
|
function cL(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var cc = { exports: {} }, tp = { exports: {} }, Xe = {};
|
|
/** @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 Ww;
|
|
function uL() {
|
|
if (Ww) return Xe;
|
|
Ww = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(p) {
|
|
if (typeof p == "object" && p !== null) {
|
|
var T = p.$$typeof;
|
|
switch (T) {
|
|
case t:
|
|
switch (p = p.type, p) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return p;
|
|
default:
|
|
switch (p = p && p.$$typeof, p) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return p;
|
|
default:
|
|
return T;
|
|
}
|
|
}
|
|
case r:
|
|
return T;
|
|
}
|
|
}
|
|
}
|
|
function S(p) {
|
|
return $(p) === c;
|
|
}
|
|
return Xe.AsyncMode = l, Xe.ConcurrentMode = c, Xe.ContextConsumer = s, Xe.ContextProvider = i, Xe.Element = t, Xe.ForwardRef = u, Xe.Fragment = n, Xe.Lazy = v, Xe.Memo = g, Xe.Portal = r, Xe.Profiler = a, Xe.StrictMode = o, Xe.Suspense = f, Xe.isAsyncMode = function(p) {
|
|
return S(p) || $(p) === l;
|
|
}, Xe.isConcurrentMode = S, Xe.isContextConsumer = function(p) {
|
|
return $(p) === s;
|
|
}, Xe.isContextProvider = function(p) {
|
|
return $(p) === i;
|
|
}, Xe.isElement = function(p) {
|
|
return typeof p == "object" && p !== null && p.$$typeof === t;
|
|
}, Xe.isForwardRef = function(p) {
|
|
return $(p) === u;
|
|
}, Xe.isFragment = function(p) {
|
|
return $(p) === n;
|
|
}, Xe.isLazy = function(p) {
|
|
return $(p) === v;
|
|
}, Xe.isMemo = function(p) {
|
|
return $(p) === g;
|
|
}, Xe.isPortal = function(p) {
|
|
return $(p) === r;
|
|
}, Xe.isProfiler = function(p) {
|
|
return $(p) === a;
|
|
}, Xe.isStrictMode = function(p) {
|
|
return $(p) === o;
|
|
}, Xe.isSuspense = function(p) {
|
|
return $(p) === f;
|
|
}, Xe.isValidElementType = function(p) {
|
|
return typeof p == "string" || typeof p == "function" || p === n || p === c || p === a || p === o || p === f || p === d || typeof p == "object" && p !== null && (p.$$typeof === v || p.$$typeof === g || p.$$typeof === i || p.$$typeof === s || p.$$typeof === u || p.$$typeof === h || p.$$typeof === w || p.$$typeof === x || p.$$typeof === m);
|
|
}, Xe.typeOf = $, Xe;
|
|
}
|
|
var ot = {};
|
|
/** @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 Uw;
|
|
function fL() {
|
|
return Uw || (Uw = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === f || k === d || typeof k == "object" && k !== null && (k.$$typeof === v || k.$$typeof === g || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === h || k.$$typeof === w || k.$$typeof === x || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var fe = k.$$typeof;
|
|
switch (fe) {
|
|
case t:
|
|
var Ee = k.type;
|
|
switch (Ee) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ee;
|
|
default:
|
|
var xe = Ee && Ee.$$typeof;
|
|
switch (xe) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return xe;
|
|
default:
|
|
return fe;
|
|
}
|
|
}
|
|
case r:
|
|
return fe;
|
|
}
|
|
}
|
|
}
|
|
var p = l, T = c, L = s, G = i, J = t, B = u, Z = n, M = v, ee = g, D = r, V = a, H = o, W = f, Y = !1;
|
|
function K(k) {
|
|
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.")), y(k) || S(k) === l;
|
|
}
|
|
function y(k) {
|
|
return S(k) === c;
|
|
}
|
|
function b(k) {
|
|
return S(k) === s;
|
|
}
|
|
function E(k) {
|
|
return S(k) === i;
|
|
}
|
|
function A(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function C(k) {
|
|
return S(k) === u;
|
|
}
|
|
function j(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === v;
|
|
}
|
|
function P(k) {
|
|
return S(k) === g;
|
|
}
|
|
function _(k) {
|
|
return S(k) === r;
|
|
}
|
|
function I(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === f;
|
|
}
|
|
ot.AsyncMode = p, ot.ConcurrentMode = T, ot.ContextConsumer = L, ot.ContextProvider = G, ot.Element = J, ot.ForwardRef = B, ot.Fragment = Z, ot.Lazy = M, ot.Memo = ee, ot.Portal = D, ot.Profiler = V, ot.StrictMode = H, ot.Suspense = W, ot.isAsyncMode = K, ot.isConcurrentMode = y, ot.isContextConsumer = b, ot.isContextProvider = E, ot.isElement = A, ot.isForwardRef = C, ot.isFragment = j, ot.isLazy = N, ot.isMemo = P, ot.isPortal = _, ot.isProfiler = I, ot.isStrictMode = R, ot.isSuspense = Q, ot.isValidElementType = $, ot.typeOf = S;
|
|
}()), ot;
|
|
}
|
|
var Yw;
|
|
function AS() {
|
|
return Yw || (Yw = 1, process.env.NODE_ENV === "production" ? tp.exports = uL() : tp.exports = fL()), tp.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var rp, qw;
|
|
function dL() {
|
|
if (qw) return rp;
|
|
qw = 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 l = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (l.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
c[u] = u;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return rp = o() ? Object.assign : function(a, i) {
|
|
for (var s, l = n(a), c, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (l[f] = s[f]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var d = 0; d < c.length; d++)
|
|
r.call(s, c[d]) && (l[c[d]] = s[c[d]]);
|
|
}
|
|
}
|
|
return l;
|
|
}, rp;
|
|
}
|
|
var np, Bw;
|
|
function dy() {
|
|
if (Bw) return np;
|
|
Bw = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return np = e, np;
|
|
}
|
|
var Gw, Kw;
|
|
function CS() {
|
|
return Kw || (Kw = 1, Gw = Function.call.bind(Object.prototype.hasOwnProperty)), Gw;
|
|
}
|
|
var op, Xw;
|
|
function pL() {
|
|
if (Xw) return op;
|
|
Xw = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ dy(), r = {}, n = /* @__PURE__ */ CS();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, l, c) {
|
|
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(
|
|
(l || "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, l, s, null, t);
|
|
} catch (v) {
|
|
f = v;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(l || "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 g = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (g ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, op = o, op;
|
|
}
|
|
var ap, Jw;
|
|
function mL() {
|
|
if (Jw) return ap;
|
|
Jw = 1;
|
|
var e = AS(), t = dL(), r = /* @__PURE__ */ dy(), n = /* @__PURE__ */ CS(), o = /* @__PURE__ */ pL(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var l = "Warning: " + s;
|
|
typeof console < "u" && console.error(l);
|
|
try {
|
|
throw new Error(l);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return ap = function(s, l) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(y) {
|
|
var b = y && (c && y[c] || y[u]);
|
|
if (typeof b == "function")
|
|
return b;
|
|
}
|
|
var d = "<<anonymous>>", g = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: x(),
|
|
arrayOf: $,
|
|
element: S(),
|
|
elementType: p(),
|
|
instanceOf: T,
|
|
node: B(),
|
|
objectOf: G,
|
|
oneOf: L,
|
|
oneOfType: J,
|
|
shape: M,
|
|
exact: ee
|
|
};
|
|
function v(y, b) {
|
|
return y === b ? y !== 0 || 1 / y === 1 / b : y !== y && b !== b;
|
|
}
|
|
function m(y, b) {
|
|
this.message = y, this.data = b && typeof b == "object" ? b : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(y) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var b = {}, E = 0;
|
|
function A(j, N, P, _, I, R, Q) {
|
|
if (_ = _ || d, R = R || P, Q !== r) {
|
|
if (l) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var fe = _ + ":" + P;
|
|
!b[fe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
E < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + _ + "`. 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."
|
|
), b[fe] = !0, E++);
|
|
}
|
|
}
|
|
return N[P] == null ? j ? N[P] === null ? new m("The " + I + " `" + R + "` is marked as required " + ("in `" + _ + "`, but its value is `null`.")) : new m("The " + I + " `" + R + "` is marked as required in " + ("`" + _ + "`, but its value is `undefined`.")) : null : y(N, P, _, I, R);
|
|
}
|
|
var C = A.bind(null, !1);
|
|
return C.isRequired = A.bind(null, !0), C;
|
|
}
|
|
function w(y) {
|
|
function b(E, A, C, j, N, P) {
|
|
var _ = E[A], I = H(_);
|
|
if (I !== y) {
|
|
var R = W(_);
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` of type " + ("`" + R + "` supplied to `" + C + "`, expected ") + ("`" + y + "`."),
|
|
{ expectedType: y }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function x() {
|
|
return h(i);
|
|
}
|
|
function $(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside arrayOf.");
|
|
var P = E[A];
|
|
if (!Array.isArray(P)) {
|
|
var _ = H(P);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an array."));
|
|
}
|
|
for (var I = 0; I < P.length; I++) {
|
|
var R = y(P, I, C, j, N + "[" + I + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function S() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!s(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function p() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!e.isValidElementType(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function T(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (!(E[A] instanceof y)) {
|
|
var P = y.name || d, _ = K(E[A]);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected ") + ("instance of `" + P + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function L(y) {
|
|
if (!Array.isArray(y))
|
|
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 b(E, A, C, j, N) {
|
|
for (var P = E[A], _ = 0; _ < y.length; _++)
|
|
if (v(P, y[_]))
|
|
return null;
|
|
var I = JSON.stringify(y, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + j + " `" + N + "` of value `" + String(P) + "` " + ("supplied to `" + C + "`, expected one of " + I + "."));
|
|
}
|
|
return h(b);
|
|
}
|
|
function G(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside objectOf.");
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an object."));
|
|
for (var I in P)
|
|
if (n(P, I)) {
|
|
var R = y(P, I, C, j, N + "." + I, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function J(y) {
|
|
if (!Array.isArray(y))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var b = 0; b < y.length; b++) {
|
|
var E = y[b];
|
|
if (typeof E != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(E) + " at index " + b + "."
|
|
), i;
|
|
}
|
|
function A(C, j, N, P, _) {
|
|
for (var I = [], R = 0; R < y.length; R++) {
|
|
var Q = y[R], k = Q(C, j, N, P, _, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && I.push(k.data.expectedType);
|
|
}
|
|
var fe = I.length > 0 ? ", expected one of type [" + I.join(", ") + "]" : "";
|
|
return new m("Invalid " + P + " `" + _ + "` supplied to " + ("`" + N + "`" + fe + "."));
|
|
}
|
|
return h(A);
|
|
}
|
|
function B() {
|
|
function y(b, E, A, C, j) {
|
|
return D(b[E]) ? null : new m("Invalid " + C + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return h(y);
|
|
}
|
|
function Z(y, b, E, A, C) {
|
|
return new m(
|
|
(y || "React class") + ": " + b + " type `" + E + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + C + "`."
|
|
);
|
|
}
|
|
function M(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
for (var I in y) {
|
|
var R = y[I];
|
|
if (typeof R != "function")
|
|
return Z(C, j, N, I, W(R));
|
|
var Q = R(P, I, C, j, N + "." + I, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function ee(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
var I = t({}, E[A], y);
|
|
for (var R in I) {
|
|
var Q = y[R];
|
|
if (n(y, R) && typeof Q != "function")
|
|
return Z(C, j, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` key `" + R + "` supplied to `" + C + "`.\nBad object: " + JSON.stringify(E[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(y), null, " ")
|
|
);
|
|
var k = Q(P, R, C, j, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function D(y) {
|
|
switch (typeof y) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !y;
|
|
case "object":
|
|
if (Array.isArray(y))
|
|
return y.every(D);
|
|
if (y === null || s(y))
|
|
return !0;
|
|
var b = f(y);
|
|
if (b) {
|
|
var E = b.call(y), A;
|
|
if (b !== y.entries) {
|
|
for (; !(A = E.next()).done; )
|
|
if (!D(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = E.next()).done; ) {
|
|
var C = A.value;
|
|
if (C && !D(C[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function V(y, b) {
|
|
return y === "symbol" ? !0 : b ? b["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && b instanceof Symbol : !1;
|
|
}
|
|
function H(y) {
|
|
var b = typeof y;
|
|
return Array.isArray(y) ? "array" : y instanceof RegExp ? "object" : V(b, y) ? "symbol" : b;
|
|
}
|
|
function W(y) {
|
|
if (typeof y > "u" || y === null)
|
|
return "" + y;
|
|
var b = H(y);
|
|
if (b === "object") {
|
|
if (y instanceof Date)
|
|
return "date";
|
|
if (y instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return b;
|
|
}
|
|
function Y(y) {
|
|
var b = W(y);
|
|
switch (b) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + b;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + b;
|
|
default:
|
|
return b;
|
|
}
|
|
}
|
|
function K(y) {
|
|
return !y.constructor || !y.constructor.name ? d : y.constructor.name;
|
|
}
|
|
return g.checkPropTypes = o, g.resetWarningCache = o.resetWarningCache, g.PropTypes = g, g;
|
|
}, ap;
|
|
}
|
|
var ip, Qw;
|
|
function hL() {
|
|
if (Qw) return ip;
|
|
Qw = 1;
|
|
var e = /* @__PURE__ */ dy();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, ip = function() {
|
|
function n(i, s, l, c, 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;
|
|
}, ip;
|
|
}
|
|
var Zw;
|
|
function gL() {
|
|
if (Zw) return cc.exports;
|
|
if (Zw = 1, process.env.NODE_ENV !== "production") {
|
|
var e = AS(), t = !0;
|
|
cc.exports = /* @__PURE__ */ mL()(e.isElement, t);
|
|
} else
|
|
cc.exports = /* @__PURE__ */ hL()();
|
|
return cc.exports;
|
|
}
|
|
var bL = /* @__PURE__ */ gL();
|
|
const Ve = /* @__PURE__ */ cL(bL);
|
|
function ex(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 Rr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? ex(Object(r), !0).forEach(function(n) {
|
|
Fa(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ex(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function bu(e) {
|
|
"@babel/helpers - typeof";
|
|
return bu = 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;
|
|
}, bu(e);
|
|
}
|
|
function Fa(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function yL(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 vL(e, t) {
|
|
if (e == null) return {};
|
|
var r = yL(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 Ch(e) {
|
|
return wL(e) || xL(e) || $L(e) || kL();
|
|
}
|
|
function wL(e) {
|
|
if (Array.isArray(e)) return Nh(e);
|
|
}
|
|
function xL(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function $L(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Nh(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 Nh(e, t);
|
|
}
|
|
}
|
|
function Nh(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 kL() {
|
|
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 OL(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, g = e.inverse, v = e.border, m = e.listItem, h = e.flip, w = e.size, x = e.rotation, $ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": l,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": g,
|
|
"fa-border": v,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Fa(t, "fa-".concat(w), typeof w < "u" && w !== null), Fa(t, "fa-rotate-".concat(x), typeof x < "u" && x !== null && x !== 0), Fa(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Fa(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(p) {
|
|
return S[p] ? p : null;
|
|
}).filter(function(p) {
|
|
return p;
|
|
});
|
|
}
|
|
function SL(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function NS(e) {
|
|
return SL(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var EL = ["style"];
|
|
function PL(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function AL(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = NS(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[PL(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function jS(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(l) {
|
|
return jS(e, l);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(l, c) {
|
|
var u = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
l.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
l.attrs.style = AL(u);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[NS(c)] = u;
|
|
}
|
|
return l;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = vL(r, EL);
|
|
return o.attrs.style = Rr(Rr({}, o.attrs.style), i), e.apply(void 0, [t.tag, Rr(Rr({}, o.attrs), s)].concat(Ch(n)));
|
|
}
|
|
var _S = !1;
|
|
try {
|
|
_S = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function CL() {
|
|
if (!_S && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function tx(e) {
|
|
if (e && bu(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Ah.icon)
|
|
return Ah.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && bu(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 sp(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Fa({}, e, t) : {};
|
|
}
|
|
var rx = {
|
|
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
|
|
}, rr = /* @__PURE__ */ ue.forwardRef(function(e, t) {
|
|
var r = Rr(Rr({}, rx), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = tx(n), f = sp("classes", [].concat(Ch(OL(r)), Ch((i || "").split(" ")))), d = sp("transform", typeof r.transform == "string" ? Ah.transform(r.transform) : r.transform), g = sp("mask", tx(o)), v = lL(u, Rr(Rr(Rr(Rr({}, f), d), g), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: l,
|
|
maskId: c
|
|
}));
|
|
if (!v)
|
|
return CL("Could not find icon", u), null;
|
|
var m = v.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
rx.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), NL(m[0], h);
|
|
});
|
|
rr.displayName = "FontAwesomeIcon";
|
|
rr.propTypes = {
|
|
beat: Ve.bool,
|
|
border: Ve.bool,
|
|
beatFade: Ve.bool,
|
|
bounce: Ve.bool,
|
|
className: Ve.string,
|
|
fade: Ve.bool,
|
|
flash: Ve.bool,
|
|
mask: Ve.oneOfType([Ve.object, Ve.array, Ve.string]),
|
|
maskId: Ve.string,
|
|
fixedWidth: Ve.bool,
|
|
inverse: Ve.bool,
|
|
flip: Ve.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ve.oneOfType([Ve.object, Ve.array, Ve.string]),
|
|
listItem: Ve.bool,
|
|
pull: Ve.oneOf(["right", "left"]),
|
|
pulse: Ve.bool,
|
|
rotation: Ve.oneOf([0, 90, 180, 270]),
|
|
shake: Ve.bool,
|
|
size: Ve.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ve.bool,
|
|
spinPulse: Ve.bool,
|
|
spinReverse: Ve.bool,
|
|
symbol: Ve.oneOfType([Ve.bool, Ve.string]),
|
|
title: Ve.string,
|
|
titleId: Ve.string,
|
|
transform: Ve.oneOfType([Ve.string, Ve.object]),
|
|
swapOpacity: Ve.bool
|
|
};
|
|
var NL = jS.bind(null, ue.createElement);
|
|
const py = "-", jL = (e) => {
|
|
const t = IL(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(py);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), IS(a, t) || _L(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, IS = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? IS(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(py);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, nx = /^\[(.+)\]$/, _L = (e) => {
|
|
if (nx.test(e)) {
|
|
const t = nx.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, IL = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return RL(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
jh(a, n, o, t);
|
|
}), n;
|
|
}, jh = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : ox(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (TL(o)) {
|
|
jh(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
jh(i, ox(t, a), r, n);
|
|
});
|
|
});
|
|
}, ox = (e, t) => {
|
|
let r = e;
|
|
return t.split(py).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, TL = (e) => e.isThemeGetter, RL = (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, ML = (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);
|
|
}
|
|
};
|
|
}, TS = "!", zL = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const l = [];
|
|
let c = 0, u = 0, f;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
l.push(s.slice(u, h)), u = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
f = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const d = l.length === 0 ? s : s.substring(u), g = d.startsWith(TS), v = g ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: l,
|
|
hasImportantModifier: g,
|
|
baseClassName: v,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, LL = (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;
|
|
}, FL = (e) => ({
|
|
cache: ML(e.cacheSize),
|
|
parseClassName: zL(e),
|
|
...jL(e)
|
|
}), DL = /\s+/, VL = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(DL);
|
|
let s = "";
|
|
for (let l = i.length - 1; l >= 0; l -= 1) {
|
|
const c = i[l], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: g
|
|
} = r(c);
|
|
let v = !!g, m = n(v ? d.substring(0, g) : d);
|
|
if (!m) {
|
|
if (!v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
v = !1;
|
|
}
|
|
const h = LL(u).join(":"), w = f ? h + TS : h, x = w + m;
|
|
if (a.includes(x))
|
|
continue;
|
|
a.push(x);
|
|
const $ = o(m, v);
|
|
for (let S = 0; S < $.length; ++S) {
|
|
const p = $[S];
|
|
a.push(w + p);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function HL() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = RS(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const RS = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = RS(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function WL(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(l) {
|
|
const c = t.reduce((u, f) => f(u), e());
|
|
return r = FL(c), n = r.cache.get, o = r.cache.set, a = s, s(l);
|
|
}
|
|
function s(l) {
|
|
const c = n(l);
|
|
if (c)
|
|
return c;
|
|
const u = VL(l, r);
|
|
return o(l, u), u;
|
|
}
|
|
return function() {
|
|
return a(HL.apply(null, arguments));
|
|
};
|
|
}
|
|
const ht = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, MS = /^\[(?:([a-z-]+):)?(.+)\]$/i, UL = /^\d+\/\d+$/, YL = /* @__PURE__ */ new Set(["px", "full", "screen"]), qL = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, BL = /\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$/, GL = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, KL = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, XL = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, fn = (e) => ti(e) || YL.has(e) || UL.test(e), Xn = (e) => Ni(e, "length", oF), ti = (e) => !!e && !Number.isNaN(Number(e)), lp = (e) => Ni(e, "number", ti), es = (e) => !!e && Number.isInteger(Number(e)), JL = (e) => e.endsWith("%") && ti(e.slice(0, -1)), _e = (e) => MS.test(e), Jn = (e) => qL.test(e), QL = /* @__PURE__ */ new Set(["length", "size", "percentage"]), ZL = (e) => Ni(e, QL, zS), eF = (e) => Ni(e, "position", zS), tF = /* @__PURE__ */ new Set(["image", "url"]), rF = (e) => Ni(e, tF, iF), nF = (e) => Ni(e, "", aF), ts = () => !0, Ni = (e, t, r) => {
|
|
const n = MS.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, oF = (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.
|
|
BL.test(e) && !GL.test(e)
|
|
), zS = () => !1, aF = (e) => KL.test(e), iF = (e) => XL.test(e), sF = () => {
|
|
const e = ht("colors"), t = ht("spacing"), r = ht("blur"), n = ht("brightness"), o = ht("borderColor"), a = ht("borderRadius"), i = ht("borderSpacing"), s = ht("borderWidth"), l = ht("contrast"), c = ht("grayscale"), u = ht("hueRotate"), f = ht("invert"), d = ht("gap"), g = ht("gradientColorStops"), v = ht("gradientColorStopPositions"), m = ht("inset"), h = ht("margin"), w = ht("opacity"), x = ht("padding"), $ = ht("saturate"), S = ht("scale"), p = ht("sepia"), T = ht("skew"), L = ht("space"), G = ht("translate"), J = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", _e, t], M = () => [_e, t], ee = () => ["", fn, Xn], D = () => ["auto", ti, _e], V = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], H = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], K = () => ["", "0", _e], y = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], b = () => [ti, _e];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [ts],
|
|
spacing: [fn, Xn],
|
|
blur: ["none", "", Jn, _e],
|
|
brightness: b(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", Jn, _e],
|
|
borderSpacing: M(),
|
|
borderWidth: ee(),
|
|
contrast: b(),
|
|
grayscale: K(),
|
|
hueRotate: b(),
|
|
invert: K(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [JL, Xn],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: b(),
|
|
padding: M(),
|
|
saturate: b(),
|
|
scale: b(),
|
|
sepia: K(),
|
|
skew: b(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
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: [Jn]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": y()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": y()
|
|
}],
|
|
/**
|
|
* 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: [...V(), _e]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": J()
|
|
}],
|
|
/**
|
|
* 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", es, _e]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", _e]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: K()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: K()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", es, _e]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [ts]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", es, _e]
|
|
}, _e]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": D()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": D()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [ts]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [es, _e]
|
|
}, _e]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": D()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": D()
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [x]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [x]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [x]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [x]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [x]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [x]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [x]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [x]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [L]
|
|
}],
|
|
/**
|
|
* 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": [L]
|
|
}],
|
|
/**
|
|
* 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: [Jn]
|
|
}, Jn]
|
|
}],
|
|
/**
|
|
* 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", Jn, Xn]
|
|
}],
|
|
/**
|
|
* 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", lp]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [ts]
|
|
}],
|
|
/**
|
|
* 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", ti, lp]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", fn, _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": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...H(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", fn, Xn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", fn, _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: M()
|
|
}],
|
|
/**
|
|
* 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": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...V(), eF]
|
|
}],
|
|
/**
|
|
* 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", ZL]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, rF]
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [g]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...H(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: H()
|
|
}],
|
|
/**
|
|
* 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: ["", ...H()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [fn, _e]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [fn, Xn]
|
|
}],
|
|
/**
|
|
* 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: ee()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [fn, Xn]
|
|
}],
|
|
/**
|
|
* 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", Jn, nF]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [ts]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [l]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", Jn, _e]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* 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": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [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": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [p]
|
|
}],
|
|
// 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: b()
|
|
}],
|
|
/**
|
|
* 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: b()
|
|
}],
|
|
/**
|
|
* 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: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [es, _e]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [G]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [G]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [T]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [T]
|
|
}],
|
|
/**
|
|
* 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": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", _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: [fn, Xn, lp]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, ax = /* @__PURE__ */ WL(sF);
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const Na = {
|
|
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"]
|
|
}, nl = ({
|
|
icon: e,
|
|
iconClassName: t,
|
|
children: r,
|
|
className: n,
|
|
htmlFor: o,
|
|
variant: a = "primary",
|
|
disabled: i,
|
|
iconFlip: s = !1,
|
|
loading: l,
|
|
as: c = "button",
|
|
href: u,
|
|
target: f,
|
|
...d
|
|
}) => {
|
|
function g(h) {
|
|
switch (h) {
|
|
case "secondary":
|
|
return "i-am-a-unique-string bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-secondary";
|
|
case "action":
|
|
return "bg-ui-controls text-base-fg border border-ui-controls-border hover:bg-ui-controls/80 focus-visible:outline-action";
|
|
case "destructive":
|
|
return "bg-red hover:bg-red/90 text-white focus-visible:outline-red";
|
|
case "ghost":
|
|
return "bg-transparent text-base-fg border border-ui-controls-border/70 hover:bg-ui-controls/30 focus-visible:outline-primary-600";
|
|
case "primary":
|
|
default:
|
|
return "bg-primary hover:bg-primary-400 text-white focus-visible:outline-primary-600";
|
|
}
|
|
}
|
|
const v = ax(
|
|
i || l ? "opacity-50 pointer-events-none" : ""
|
|
), m = ax(
|
|
"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",
|
|
g(a),
|
|
n,
|
|
v
|
|
);
|
|
return o ? /* @__PURE__ */ Le("label", { className: m, htmlFor: o, style: d.style, children: [
|
|
l && !s ? /* @__PURE__ */ q(rr, { icon: Na, className: "animate-spin" }) : /* @__PURE__ */ q(jt, { children: e && !s ? /* @__PURE__ */ q(rr, { icon: e, className: t }) : null }),
|
|
r,
|
|
l && s ? /* @__PURE__ */ q(rr, { icon: Na, className: "animate-spin" }) : /* @__PURE__ */ q(jt, { children: e && s ? /* @__PURE__ */ q(rr, { icon: e, className: t }) : null })
|
|
] }) : c === "link" && u ? /* @__PURE__ */ Le(
|
|
"a",
|
|
{
|
|
href: u,
|
|
className: m,
|
|
style: d.style,
|
|
...d,
|
|
target: f,
|
|
children: [
|
|
l && !s ? /* @__PURE__ */ q(rr, { icon: Na, className: "animate-spin" }) : /* @__PURE__ */ q(jt, { children: e && !s ? /* @__PURE__ */ q(rr, { icon: e, className: t }) : null }),
|
|
r,
|
|
l && s ? /* @__PURE__ */ q(rr, { icon: Na, className: "animate-spin" }) : /* @__PURE__ */ q(jt, { children: e && s ? /* @__PURE__ */ q(rr, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
) : /* @__PURE__ */ Le(
|
|
"button",
|
|
{
|
|
className: m,
|
|
disabled: i || l,
|
|
...d,
|
|
htmlFor: o,
|
|
children: [
|
|
l && !s ? /* @__PURE__ */ q(rr, { icon: Na, className: "animate-spin" }) : /* @__PURE__ */ q(jt, { children: e && !s ? /* @__PURE__ */ q(rr, { icon: e, className: t }) : null }),
|
|
r,
|
|
l && s ? /* @__PURE__ */ q(rr, { icon: Na, className: "animate-spin" }) : /* @__PURE__ */ q(jt, { children: e && s ? /* @__PURE__ */ q(rr, { icon: e, className: t }) : null })
|
|
]
|
|
}
|
|
);
|
|
};
|
|
var Vc = /* @__PURE__ */ ((e) => (e[e.ALL = 0] = "ALL", e[e.FEATURED = 1] = "FEATURED", e[e.MINE = 2] = "MINE", e[e.BOOKMARKED = 3] = "BOOKMARKED", e))(Vc || {});
|
|
Vc.FEATURED, Vc.MINE, Vc.BOOKMARKED;
|
|
const ix = ({
|
|
onCancel: e,
|
|
onRetry: t,
|
|
type: r,
|
|
errorMessage: n
|
|
}) => /* @__PURE__ */ Le(jt, { children: [
|
|
/* @__PURE__ */ Le("h3", { children: [
|
|
"Error in Uploading ",
|
|
r
|
|
] }),
|
|
/* @__PURE__ */ q("p", { children: n ?? "Unknown Error" }),
|
|
/* @__PURE__ */ Le("div", { className: "mt-6 flex justify-end gap-2", children: [
|
|
/* @__PURE__ */ q(nl, { onClick: e, variant: "secondary", children: "Cancel" }),
|
|
/* @__PURE__ */ q(nl, { onClick: t, variant: "primary", children: "Try again" })
|
|
] })
|
|
] }), lF = ({ title: e, onOk: t }) => /* @__PURE__ */ Le(jt, { children: [
|
|
/* @__PURE__ */ q("div", { className: "w-100 text-center opacity-50", children: `Added ${e} to your library` }),
|
|
/* @__PURE__ */ q("div", { className: "mt-6 flex justify-end gap-2", children: /* @__PURE__ */ q(nl, { onClick: t, variant: "primary", children: "Ok" }) })
|
|
] }), LS = typeof document < "u" ? ue.useLayoutEffect : () => {
|
|
};
|
|
function cF(e) {
|
|
const t = ce(null);
|
|
return LS(() => {
|
|
t.current = e;
|
|
}, [
|
|
e
|
|
]), Ye((...r) => {
|
|
const n = t.current;
|
|
return n == null ? void 0 : n(...r);
|
|
}, []);
|
|
}
|
|
const Mo = (e) => {
|
|
var t;
|
|
return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document;
|
|
}, Yo = (e) => e && "window" in e && e.window === e ? e : Mo(e).defaultView || window;
|
|
function FS(e, t) {
|
|
return t && e ? e.contains(t) : !1;
|
|
}
|
|
const _h = (e = document) => e.activeElement;
|
|
function DS(e) {
|
|
return e.target;
|
|
}
|
|
function uF(e) {
|
|
var t;
|
|
return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((r) => e.test(r.brand))) || e.test(window.navigator.userAgent);
|
|
}
|
|
function fF(e) {
|
|
var t;
|
|
return typeof window < "u" && window.navigator != null ? e.test(((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.platform) || window.navigator.platform) : !1;
|
|
}
|
|
function VS(e) {
|
|
let t = null;
|
|
return () => (t == null && (t = e()), t);
|
|
}
|
|
const dF = VS(function() {
|
|
return fF(/^Mac/i);
|
|
}), pF = VS(function() {
|
|
return uF(/Android/i);
|
|
});
|
|
function HS() {
|
|
let e = ce(/* @__PURE__ */ new Map()), t = Ye((o, a, i, s) => {
|
|
let l = s != null && s.once ? (...c) => {
|
|
e.current.delete(i), i(...c);
|
|
} : i;
|
|
e.current.set(i, {
|
|
type: a,
|
|
eventTarget: o,
|
|
fn: l,
|
|
options: s
|
|
}), o.addEventListener(a, l, s);
|
|
}, []), r = Ye((o, a, i, s) => {
|
|
var l;
|
|
let c = ((l = e.current.get(i)) === null || l === void 0 ? void 0 : l.fn) || i;
|
|
o.removeEventListener(a, c, s), e.current.delete(i);
|
|
}, []), n = Ye(() => {
|
|
e.current.forEach((o, a) => {
|
|
r(o.eventTarget, o.type, a, o.options);
|
|
});
|
|
}, [
|
|
r
|
|
]);
|
|
return Se(() => n, [
|
|
n
|
|
]), {
|
|
addGlobalListener: t,
|
|
removeGlobalListener: r,
|
|
removeAllGlobalListeners: n
|
|
};
|
|
}
|
|
function mF(e) {
|
|
return e.mozInputSource === 0 && e.isTrusted ? !0 : pF() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
|
|
}
|
|
let WS = class {
|
|
isDefaultPrevented() {
|
|
return this.nativeEvent.defaultPrevented;
|
|
}
|
|
preventDefault() {
|
|
this.defaultPrevented = !0, this.nativeEvent.preventDefault();
|
|
}
|
|
stopPropagation() {
|
|
this.nativeEvent.stopPropagation(), this.isPropagationStopped = () => !0;
|
|
}
|
|
isPropagationStopped() {
|
|
return !1;
|
|
}
|
|
persist() {
|
|
}
|
|
constructor(t, r) {
|
|
this.nativeEvent = r, this.target = r.target, this.currentTarget = r.currentTarget, this.relatedTarget = r.relatedTarget, this.bubbles = r.bubbles, this.cancelable = r.cancelable, this.defaultPrevented = r.defaultPrevented, this.eventPhase = r.eventPhase, this.isTrusted = r.isTrusted, this.timeStamp = r.timeStamp, this.type = t;
|
|
}
|
|
};
|
|
function US(e) {
|
|
let t = ce({
|
|
isFocused: !1,
|
|
observer: null
|
|
});
|
|
LS(() => {
|
|
const n = t.current;
|
|
return () => {
|
|
n.observer && (n.observer.disconnect(), n.observer = null);
|
|
};
|
|
}, []);
|
|
let r = cF((n) => {
|
|
e == null || e(n);
|
|
});
|
|
return Ye((n) => {
|
|
if (n.target instanceof HTMLButtonElement || n.target instanceof HTMLInputElement || n.target instanceof HTMLTextAreaElement || n.target instanceof HTMLSelectElement) {
|
|
t.current.isFocused = !0;
|
|
let o = n.target, a = (i) => {
|
|
t.current.isFocused = !1, o.disabled && r(new WS("blur", i)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
|
|
};
|
|
o.addEventListener("focusout", a, {
|
|
once: !0
|
|
}), t.current.observer = new MutationObserver(() => {
|
|
if (t.current.isFocused && o.disabled) {
|
|
var i;
|
|
(i = t.current.observer) === null || i === void 0 || i.disconnect();
|
|
let s = o === document.activeElement ? null : document.activeElement;
|
|
o.dispatchEvent(new FocusEvent("blur", {
|
|
relatedTarget: s
|
|
})), o.dispatchEvent(new FocusEvent("focusout", {
|
|
bubbles: !0,
|
|
relatedTarget: s
|
|
}));
|
|
}
|
|
}), t.current.observer.observe(o, {
|
|
attributes: !0,
|
|
attributeFilter: [
|
|
"disabled"
|
|
]
|
|
});
|
|
}
|
|
}, [
|
|
r
|
|
]);
|
|
}
|
|
let hF = !1, kl = null, Ih = /* @__PURE__ */ new Set(), Ns = /* @__PURE__ */ new Map(), ua = !1, Th = !1;
|
|
const gF = {
|
|
Tab: !0,
|
|
Escape: !0
|
|
};
|
|
function my(e, t) {
|
|
for (let r of Ih) r(e, t);
|
|
}
|
|
function bF(e) {
|
|
return !(e.metaKey || !dF() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
|
|
}
|
|
function yu(e) {
|
|
ua = !0, bF(e) && (kl = "keyboard", my("keyboard", e));
|
|
}
|
|
function br(e) {
|
|
kl = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (ua = !0, my("pointer", e));
|
|
}
|
|
function YS(e) {
|
|
mF(e) && (ua = !0, kl = "virtual");
|
|
}
|
|
function qS(e) {
|
|
e.target === window || e.target === document || hF || !e.isTrusted || (!ua && !Th && (kl = "virtual", my("virtual", e)), ua = !1, Th = !1);
|
|
}
|
|
function BS() {
|
|
ua = !1, Th = !0;
|
|
}
|
|
function Rh(e) {
|
|
if (typeof window > "u" || Ns.get(Yo(e))) return;
|
|
const t = Yo(e), r = Mo(e);
|
|
let n = t.HTMLElement.prototype.focus;
|
|
t.HTMLElement.prototype.focus = function() {
|
|
ua = !0, n.apply(this, arguments);
|
|
}, r.addEventListener("keydown", yu, !0), r.addEventListener("keyup", yu, !0), r.addEventListener("click", YS, !0), t.addEventListener("focus", qS, !0), t.addEventListener("blur", BS, !1), typeof PointerEvent < "u" ? (r.addEventListener("pointerdown", br, !0), r.addEventListener("pointermove", br, !0), r.addEventListener("pointerup", br, !0)) : (r.addEventListener("mousedown", br, !0), r.addEventListener("mousemove", br, !0), r.addEventListener("mouseup", br, !0)), t.addEventListener("beforeunload", () => {
|
|
GS(e);
|
|
}, {
|
|
once: !0
|
|
}), Ns.set(t, {
|
|
focus: n
|
|
});
|
|
}
|
|
const GS = (e, t) => {
|
|
const r = Yo(e), n = Mo(e);
|
|
t && n.removeEventListener("DOMContentLoaded", t), Ns.has(r) && (r.HTMLElement.prototype.focus = Ns.get(r).focus, n.removeEventListener("keydown", yu, !0), n.removeEventListener("keyup", yu, !0), n.removeEventListener("click", YS, !0), r.removeEventListener("focus", qS, !0), r.removeEventListener("blur", BS, !1), typeof PointerEvent < "u" ? (n.removeEventListener("pointerdown", br, !0), n.removeEventListener("pointermove", br, !0), n.removeEventListener("pointerup", br, !0)) : (n.removeEventListener("mousedown", br, !0), n.removeEventListener("mousemove", br, !0), n.removeEventListener("mouseup", br, !0)), Ns.delete(r));
|
|
};
|
|
function yF(e) {
|
|
const t = Mo(e);
|
|
let r;
|
|
return t.readyState !== "loading" ? Rh(e) : (r = () => {
|
|
Rh(e);
|
|
}, t.addEventListener("DOMContentLoaded", r)), () => GS(e, r);
|
|
}
|
|
typeof document < "u" && yF();
|
|
function KS() {
|
|
return kl !== "pointer";
|
|
}
|
|
const vF = /* @__PURE__ */ new Set([
|
|
"checkbox",
|
|
"radio",
|
|
"range",
|
|
"color",
|
|
"file",
|
|
"image",
|
|
"button",
|
|
"submit",
|
|
"reset"
|
|
]);
|
|
function wF(e, t, r) {
|
|
let n = Mo(r == null ? void 0 : r.target);
|
|
const o = typeof window < "u" ? Yo(r == null ? void 0 : r.target).HTMLInputElement : HTMLInputElement, a = typeof window < "u" ? Yo(r == null ? void 0 : r.target).HTMLTextAreaElement : HTMLTextAreaElement, i = typeof window < "u" ? Yo(r == null ? void 0 : r.target).HTMLElement : HTMLElement, s = typeof window < "u" ? Yo(r == null ? void 0 : r.target).KeyboardEvent : KeyboardEvent;
|
|
return e = e || n.activeElement instanceof o && !vF.has(n.activeElement.type) || n.activeElement instanceof a || n.activeElement instanceof i && n.activeElement.isContentEditable, !(e && t === "keyboard" && r instanceof s && !gF[r.key]);
|
|
}
|
|
function xF(e, t, r) {
|
|
Rh(), Se(() => {
|
|
let n = (o, a) => {
|
|
wF(!!(r != null && r.isTextInput), o, a) && e(KS());
|
|
};
|
|
return Ih.add(n), () => {
|
|
Ih.delete(n);
|
|
};
|
|
}, t);
|
|
}
|
|
function $F(e) {
|
|
let { isDisabled: t, onFocus: r, onBlur: n, onFocusChange: o } = e;
|
|
const a = Ye((l) => {
|
|
if (l.target === l.currentTarget)
|
|
return n && n(l), o && o(!1), !0;
|
|
}, [
|
|
n,
|
|
o
|
|
]), i = US(a), s = Ye((l) => {
|
|
const c = Mo(l.target), u = c ? _h(c) : _h();
|
|
l.target === l.currentTarget && u === DS(l.nativeEvent) && (r && r(l), o && o(!0), i(l));
|
|
}, [
|
|
o,
|
|
r,
|
|
i
|
|
]);
|
|
return {
|
|
focusProps: {
|
|
onFocus: !t && (r || o || n) ? s : void 0,
|
|
onBlur: !t && (n || o) ? a : void 0
|
|
}
|
|
};
|
|
}
|
|
function kF(e) {
|
|
let { isDisabled: t, onBlurWithin: r, onFocusWithin: n, onFocusWithinChange: o } = e, a = ce({
|
|
isFocusWithin: !1
|
|
}), { addGlobalListener: i, removeAllGlobalListeners: s } = HS(), l = Ye((f) => {
|
|
f.currentTarget.contains(f.target) && a.current.isFocusWithin && !f.currentTarget.contains(f.relatedTarget) && (a.current.isFocusWithin = !1, s(), r && r(f), o && o(!1));
|
|
}, [
|
|
r,
|
|
o,
|
|
a,
|
|
s
|
|
]), c = US(l), u = Ye((f) => {
|
|
if (!f.currentTarget.contains(f.target)) return;
|
|
const d = Mo(f.target), g = _h(d);
|
|
if (!a.current.isFocusWithin && g === DS(f.nativeEvent)) {
|
|
n && n(f), o && o(!0), a.current.isFocusWithin = !0, c(f);
|
|
let v = f.currentTarget;
|
|
i(d, "focus", (m) => {
|
|
if (a.current.isFocusWithin && !FS(v, m.target)) {
|
|
let h = new WS("blur", new d.defaultView.FocusEvent("blur", {
|
|
relatedTarget: m.target
|
|
}));
|
|
h.target = v, h.currentTarget = v, l(h);
|
|
}
|
|
}, {
|
|
capture: !0
|
|
});
|
|
}
|
|
}, [
|
|
n,
|
|
o,
|
|
c,
|
|
i,
|
|
l
|
|
]);
|
|
return t ? {
|
|
focusWithinProps: {
|
|
// These cannot be null, that would conflict in mergeProps
|
|
onFocus: void 0,
|
|
onBlur: void 0
|
|
}
|
|
} : {
|
|
focusWithinProps: {
|
|
onFocus: u,
|
|
onBlur: l
|
|
}
|
|
};
|
|
}
|
|
let vu = !1, cp = 0;
|
|
function Mh() {
|
|
vu = !0, setTimeout(() => {
|
|
vu = !1;
|
|
}, 50);
|
|
}
|
|
function sx(e) {
|
|
e.pointerType === "touch" && Mh();
|
|
}
|
|
function OF() {
|
|
if (!(typeof document > "u"))
|
|
return typeof PointerEvent < "u" ? document.addEventListener("pointerup", sx) : document.addEventListener("touchend", Mh), cp++, () => {
|
|
cp--, !(cp > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", sx) : document.removeEventListener("touchend", Mh));
|
|
};
|
|
}
|
|
function SF(e) {
|
|
let { onHoverStart: t, onHoverChange: r, onHoverEnd: n, isDisabled: o } = e, [a, i] = $e(!1), s = ce({
|
|
isHovered: !1,
|
|
ignoreEmulatedMouseEvents: !1,
|
|
pointerType: "",
|
|
target: null
|
|
}).current;
|
|
Se(OF, []);
|
|
let { addGlobalListener: l, removeAllGlobalListeners: c } = HS(), { hoverProps: u, triggerHoverEnd: f } = ut(() => {
|
|
let d = (m, h) => {
|
|
if (s.pointerType = h, o || h === "touch" || s.isHovered || !m.currentTarget.contains(m.target)) return;
|
|
s.isHovered = !0;
|
|
let w = m.currentTarget;
|
|
s.target = w, l(Mo(m.target), "pointerover", (x) => {
|
|
s.isHovered && s.target && !FS(s.target, x.target) && g(x, x.pointerType);
|
|
}, {
|
|
capture: !0
|
|
}), t && t({
|
|
type: "hoverstart",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!0), i(!0);
|
|
}, g = (m, h) => {
|
|
let w = s.target;
|
|
s.pointerType = "", s.target = null, !(h === "touch" || !s.isHovered || !w) && (s.isHovered = !1, c(), n && n({
|
|
type: "hoverend",
|
|
target: w,
|
|
pointerType: h
|
|
}), r && r(!1), i(!1));
|
|
}, v = {};
|
|
return typeof PointerEvent < "u" ? (v.onPointerEnter = (m) => {
|
|
vu && m.pointerType === "mouse" || d(m, m.pointerType);
|
|
}, v.onPointerLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && g(m, m.pointerType);
|
|
}) : (v.onTouchStart = () => {
|
|
s.ignoreEmulatedMouseEvents = !0;
|
|
}, v.onMouseEnter = (m) => {
|
|
!s.ignoreEmulatedMouseEvents && !vu && d(m, "mouse"), s.ignoreEmulatedMouseEvents = !1;
|
|
}, v.onMouseLeave = (m) => {
|
|
!o && m.currentTarget.contains(m.target) && g(m, "mouse");
|
|
}), {
|
|
hoverProps: v,
|
|
triggerHoverEnd: g
|
|
};
|
|
}, [
|
|
t,
|
|
r,
|
|
n,
|
|
o,
|
|
s,
|
|
l,
|
|
c
|
|
]);
|
|
return Se(() => {
|
|
o && f({
|
|
currentTarget: s.target
|
|
}, s.pointerType);
|
|
}, [
|
|
o
|
|
]), {
|
|
hoverProps: u,
|
|
isHovered: a
|
|
};
|
|
}
|
|
function EF(e = {}) {
|
|
let { autoFocus: t = !1, isTextInput: r, within: n } = e, o = ce({
|
|
isFocused: !1,
|
|
isFocusVisible: t || KS()
|
|
}), [a, i] = $e(!1), [s, l] = $e(() => o.current.isFocused && o.current.isFocusVisible), c = Ye(() => l(o.current.isFocused && o.current.isFocusVisible), []), u = Ye((g) => {
|
|
o.current.isFocused = g, i(g), c();
|
|
}, [
|
|
c
|
|
]);
|
|
xF((g) => {
|
|
o.current.isFocusVisible = g, c();
|
|
}, [], {
|
|
isTextInput: r
|
|
});
|
|
let { focusProps: f } = $F({
|
|
isDisabled: n,
|
|
onFocusChange: u
|
|
}), { focusWithinProps: d } = kF({
|
|
isDisabled: !n,
|
|
onFocusWithinChange: u
|
|
});
|
|
return {
|
|
isFocused: a,
|
|
isFocusVisible: s,
|
|
focusProps: n ? d : f
|
|
};
|
|
}
|
|
var PF = Object.defineProperty, AF = (e, t, r) => t in e ? PF(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, up = (e, t, r) => (AF(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
let CF = class {
|
|
constructor() {
|
|
up(this, "current", this.detect()), up(this, "handoffState", "pending"), up(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";
|
|
}
|
|
}, Qo = new CF();
|
|
function Ol(e) {
|
|
var t, r;
|
|
return Qo.isServer ? null : e ? "ownerDocument" in e ? e.ownerDocument : "current" in e ? (r = (t = e.current) == null ? void 0 : t.ownerDocument) != null ? r : document : null : document;
|
|
}
|
|
function XS(e) {
|
|
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
|
|
throw t;
|
|
}));
|
|
}
|
|
function on() {
|
|
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 XS(() => {
|
|
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 = on();
|
|
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 ji() {
|
|
let [e] = $e(on);
|
|
return Se(() => () => e.dispose(), [e]), e;
|
|
}
|
|
let Pt = (e, t) => {
|
|
Qo.isServer ? Se(e, t) : pl(e, t);
|
|
};
|
|
function $a(e) {
|
|
let t = ce(e);
|
|
return Pt(() => {
|
|
t.current = e;
|
|
}, [e]), t;
|
|
}
|
|
let Be = function(e) {
|
|
let t = $a(e);
|
|
return ue.useCallback((...r) => t.current(...r), [t]);
|
|
};
|
|
function NF(e) {
|
|
let t = e.width / 2, r = e.height / 2;
|
|
return { top: e.clientY - r, right: e.clientX + t, bottom: e.clientY + r, left: e.clientX - t };
|
|
}
|
|
function jF(e, t) {
|
|
return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
|
|
}
|
|
function _F({ disabled: e = !1 } = {}) {
|
|
let t = ce(null), [r, n] = $e(!1), o = ji(), a = Be(() => {
|
|
t.current = null, n(!1), o.dispose();
|
|
}), i = Be((s) => {
|
|
if (o.dispose(), t.current === null) {
|
|
t.current = s.currentTarget, n(!0);
|
|
{
|
|
let l = Ol(s.currentTarget);
|
|
o.addEventListener(l, "pointerup", a, !1), o.addEventListener(l, "pointermove", (c) => {
|
|
if (t.current) {
|
|
let u = NF(c);
|
|
n(jF(u, t.current.getBoundingClientRect()));
|
|
}
|
|
}, !1), o.addEventListener(l, "pointercancel", a, !1);
|
|
}
|
|
}
|
|
});
|
|
return { pressed: r, pressProps: e ? {} : { onPointerDown: i, onPointerUp: a, onClick: a } };
|
|
}
|
|
let IF = It(void 0);
|
|
function hy() {
|
|
return lt(IF);
|
|
}
|
|
function zh(...e) {
|
|
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
|
|
}
|
|
function Cr(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, Cr), n;
|
|
}
|
|
var wu = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(wu || {}), fo = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(fo || {});
|
|
function fr() {
|
|
let e = RF();
|
|
return Ye((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 ?? MF;
|
|
let l = JS(t, e);
|
|
if (a) return uc(l, r, n, i, s);
|
|
let c = o ?? 0;
|
|
if (c & 2) {
|
|
let { static: u = !1, ...f } = l;
|
|
if (u) return uc(f, r, n, i, s);
|
|
}
|
|
if (c & 1) {
|
|
let { unmount: u = !0, ...f } = l;
|
|
return Cr(u ? 0 : 1, { 0() {
|
|
return null;
|
|
}, 1() {
|
|
return uc({ ...f, hidden: !0, style: { display: "none" } }, r, n, i, s);
|
|
} });
|
|
}
|
|
return uc(l, r, n, i, s);
|
|
}
|
|
function uc(e, t = {}, r, n, o) {
|
|
let { as: a = r, children: i, refName: s = "ref", ...l } = fp(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof i == "function" ? i(t) : i;
|
|
"className" in l && l.className && typeof l.className == "function" && (l.className = l.className(t)), l["aria-labelledby"] && l["aria-labelledby"] === l.id && (l["aria-labelledby"] = void 0);
|
|
let f = {};
|
|
if (t) {
|
|
let d = !1, g = [];
|
|
for (let [v, m] of Object.entries(t)) typeof m == "boolean" && (d = !0), m === !0 && g.push(v.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
|
|
if (d) {
|
|
f["data-headlessui-state"] = g.join(" ");
|
|
for (let v of g) f[`data-${v}`] = "";
|
|
}
|
|
}
|
|
if (a === Tt && (Object.keys(so(l)).length > 0 || Object.keys(so(f)).length > 0)) if (!tu(u) || Array.isArray(u) && u.length > 1) {
|
|
if (Object.keys(so(l)).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(so(l)).concat(Object.keys(so(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, g = d == null ? void 0 : d.className, v = typeof g == "function" ? (...w) => zh(g(...w), l.className) : zh(g, l.className), m = v ? { className: v } : {}, h = JS(u.props, so(fp(l, ["ref"])));
|
|
for (let w in f) w in h && delete f[w];
|
|
return ru(u, Object.assign({}, h, f, c, { ref: o(zF(u), c.ref) }, m));
|
|
}
|
|
return ib(a, Object.assign({}, fp(l, ["ref"]), a !== Tt && c, a !== Tt && f), u);
|
|
}
|
|
function RF() {
|
|
let e = ce([]), t = Ye((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 MF(...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 JS(...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 QS(...e) {
|
|
if (e.length === 0) return {};
|
|
if (e.length === 1) return e[0];
|
|
let t = {}, r = {};
|
|
for (let n of e) for (let o in n) o.startsWith("on") && typeof n[o] == "function" ? (r[o] != null || (r[o] = []), r[o].push(n[o])) : t[o] = n[o];
|
|
for (let n in r) Object.assign(t, { [n](...o) {
|
|
let a = r[n];
|
|
for (let i of a) i == null || i(...o);
|
|
} });
|
|
return t;
|
|
}
|
|
function ir(e) {
|
|
var t;
|
|
return Object.assign(ab(e), { displayName: (t = e.displayName) != null ? t : e.name });
|
|
}
|
|
function so(e) {
|
|
let t = Object.assign({}, e);
|
|
for (let r in t) t[r] === void 0 && delete t[r];
|
|
return t;
|
|
}
|
|
function fp(e, t = []) {
|
|
let r = Object.assign({}, e);
|
|
for (let n of t) n in r && delete r[n];
|
|
return r;
|
|
}
|
|
function zF(e) {
|
|
return ue.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
|
|
}
|
|
function LF(e, t, r) {
|
|
let [n, o] = $e(r), a = e !== void 0, i = ce(a), s = ce(!1), l = ce(!1);
|
|
return a && !i.current && !s.current ? (s.current = !0, i.current = a, console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")) : !a && i.current && !l.current && (l.current = !0, i.current = a, console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")), [a ? e : n, Be((c) => (a || o(c), t == null ? void 0 : t(c)))];
|
|
}
|
|
function FF(e) {
|
|
let [t] = $e(e);
|
|
return t;
|
|
}
|
|
function ZS(e = {}, t = null, r = []) {
|
|
for (let [n, o] of Object.entries(e)) t5(r, e5(t, n), o);
|
|
return r;
|
|
}
|
|
function e5(e, t) {
|
|
return e ? e + "[" + t + "]" : t;
|
|
}
|
|
function t5(e, t, r) {
|
|
if (Array.isArray(r)) for (let [n, o] of r.entries()) t5(e, e5(t, n.toString()), o);
|
|
else r instanceof Date ? e.push([t, r.toISOString()]) : typeof r == "boolean" ? e.push([t, r ? "1" : "0"]) : typeof r == "string" ? e.push([t, r]) : typeof r == "number" ? e.push([t, `${r}`]) : r == null ? e.push([t, ""]) : ZS(r, t, e);
|
|
}
|
|
function DF(e) {
|
|
var t, r;
|
|
let n = (t = e == null ? void 0 : e.form) != null ? t : e.closest("form");
|
|
if (n) {
|
|
for (let o of n.elements) if (o !== e && (o.tagName === "INPUT" && o.type === "submit" || o.tagName === "BUTTON" && o.type === "submit" || o.nodeName === "INPUT" && o.type === "image")) {
|
|
o.click();
|
|
return;
|
|
}
|
|
(r = n.requestSubmit) == null || r.call(n);
|
|
}
|
|
}
|
|
let VF = "span";
|
|
var gy = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(gy || {});
|
|
function HF(e, t) {
|
|
var r;
|
|
let { features: n = 1, ...o } = e, a = { ref: t, "aria-hidden": (n & 2) === 2 ? !0 : (r = o["aria-hidden"]) != null ? r : void 0, hidden: (n & 4) === 4 ? !0 : void 0, style: { position: "fixed", top: 1, left: 1, width: 1, height: 0, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0, 0, 0, 0)", whiteSpace: "nowrap", borderWidth: "0", ...(n & 4) === 4 && (n & 2) !== 2 && { display: "none" } } };
|
|
return fr()({ ourProps: a, theirProps: o, slot: {}, defaultTag: VF, name: "Hidden" });
|
|
}
|
|
let r5 = ir(HF), WF = It(null);
|
|
function UF({ children: e }) {
|
|
let t = lt(WF);
|
|
if (!t) return ue.createElement(ue.Fragment, null, e);
|
|
let { target: r } = t;
|
|
return r ? Rk(ue.createElement(ue.Fragment, null, e), r) : null;
|
|
}
|
|
function YF({ data: e, form: t, disabled: r, onReset: n, overrides: o }) {
|
|
let [a, i] = $e(null), s = ji();
|
|
return Se(() => {
|
|
if (n && a) return s.addEventListener(a, "reset", n);
|
|
}, [a, t, n]), ue.createElement(UF, null, ue.createElement(qF, { setForm: i, formId: t }), ZS(e).map(([l, c]) => ue.createElement(r5, { features: gy.Hidden, ...so({ key: l, as: "input", type: "hidden", hidden: !0, readOnly: !0, form: t, disabled: r, name: l, value: c, ...o }) })));
|
|
}
|
|
function qF({ setForm: e, formId: t }) {
|
|
return Se(() => {
|
|
if (t) {
|
|
let r = document.getElementById(t);
|
|
r && e(r);
|
|
}
|
|
}, [e, t]), t ? null : ue.createElement(r5, { features: gy.Hidden, as: "input", type: "hidden", hidden: !0, readOnly: !0, ref: (r) => {
|
|
if (!r) return;
|
|
let n = r.closest("form");
|
|
n && e(n);
|
|
} });
|
|
}
|
|
let BF = It(void 0);
|
|
function n5() {
|
|
return lt(BF);
|
|
}
|
|
function GF(e) {
|
|
let t = e.parentElement, r = null;
|
|
for (; t && !(t instanceof HTMLFieldSetElement); ) t instanceof HTMLLegendElement && (r = t), t = t.parentElement;
|
|
let n = (t == null ? void 0 : t.getAttribute("disabled")) === "";
|
|
return n && KF(r) ? !1 : n;
|
|
}
|
|
function KF(e) {
|
|
if (!e) return !1;
|
|
let t = e.previousElementSibling;
|
|
for (; t !== null; ) {
|
|
if (t instanceof HTMLLegendElement) return !1;
|
|
t = t.previousElementSibling;
|
|
}
|
|
return !0;
|
|
}
|
|
let o5 = Symbol();
|
|
function XF(e, t = !0) {
|
|
return Object.assign(e, { [o5]: t });
|
|
}
|
|
function wr(...e) {
|
|
let t = ce(e);
|
|
Se(() => {
|
|
t.current = e;
|
|
}, [e]);
|
|
let r = Be((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[o5])) ? void 0 : r;
|
|
}
|
|
let by = It(null);
|
|
by.displayName = "DescriptionContext";
|
|
function a5() {
|
|
let e = lt(by);
|
|
if (e === null) {
|
|
let t = new Error("You used a <Description /> component, but it is not inside a relevant parent.");
|
|
throw Error.captureStackTrace && Error.captureStackTrace(t, a5), t;
|
|
}
|
|
return e;
|
|
}
|
|
function JF() {
|
|
var e, t;
|
|
return (t = (e = lt(by)) == null ? void 0 : e.value) != null ? t : void 0;
|
|
}
|
|
let QF = "p";
|
|
function ZF(e, t) {
|
|
let r = $i(), n = hy(), { id: o = `headlessui-description-${r}`, ...a } = e, i = a5(), s = wr(t);
|
|
Pt(() => i.register(o), [o, i.register]);
|
|
let l = n || !1, c = ut(() => ({ ...i.slot, disabled: l }), [i.slot, l]), u = { ref: s, ...i.props, id: o };
|
|
return fr()({ ourProps: u, theirProps: a, slot: c, defaultTag: QF, name: i.name || "Description" });
|
|
}
|
|
let eD = ir(ZF);
|
|
Object.assign(eD, {});
|
|
var Mt = ((e) => (e.Space = " ", e.Enter = "Enter", e.Escape = "Escape", e.Backspace = "Backspace", e.Delete = "Delete", e.ArrowLeft = "ArrowLeft", e.ArrowUp = "ArrowUp", e.ArrowRight = "ArrowRight", e.ArrowDown = "ArrowDown", e.Home = "Home", e.End = "End", e.PageUp = "PageUp", e.PageDown = "PageDown", e.Tab = "Tab", e))(Mt || {});
|
|
let bf = It(null);
|
|
bf.displayName = "LabelContext";
|
|
function i5() {
|
|
let e = lt(bf);
|
|
if (e === null) {
|
|
let t = new Error("You used a <Label /> component, but it is not inside a relevant parent.");
|
|
throw Error.captureStackTrace && Error.captureStackTrace(t, i5), t;
|
|
}
|
|
return e;
|
|
}
|
|
function s5(e) {
|
|
var t, r, n;
|
|
let o = (r = (t = lt(bf)) == null ? void 0 : t.value) != null ? r : void 0;
|
|
return ((n = e == null ? void 0 : e.length) != null ? n : 0) > 0 ? [o, ...e].filter(Boolean).join(" ") : o;
|
|
}
|
|
function tD({ inherit: e = !1 } = {}) {
|
|
let t = s5(), [r, n] = $e([]), o = e ? [t, ...r].filter(Boolean) : r;
|
|
return [o.length > 0 ? o.join(" ") : void 0, ut(() => function(a) {
|
|
let i = Be((l) => (n((c) => [...c, l]), () => n((c) => {
|
|
let u = c.slice(), f = u.indexOf(l);
|
|
return f !== -1 && u.splice(f, 1), u;
|
|
}))), s = ut(() => ({ register: i, slot: a.slot, name: a.name, props: a.props, value: a.value }), [i, a.slot, a.name, a.props, a.value]);
|
|
return ue.createElement(bf.Provider, { value: s }, a.children);
|
|
}, [n])];
|
|
}
|
|
let rD = "label";
|
|
function nD(e, t) {
|
|
var r;
|
|
let n = $i(), o = i5(), a = n5(), i = hy(), { id: s = `headlessui-label-${n}`, htmlFor: l = a ?? ((r = o.props) == null ? void 0 : r.htmlFor), passive: c = !1, ...u } = e, f = wr(t);
|
|
Pt(() => o.register(s), [s, o.register]);
|
|
let d = Be((h) => {
|
|
let w = h.currentTarget;
|
|
if (w instanceof HTMLLabelElement && h.preventDefault(), o.props && "onClick" in o.props && typeof o.props.onClick == "function" && o.props.onClick(h), w instanceof HTMLLabelElement) {
|
|
let x = document.getElementById(w.htmlFor);
|
|
if (x) {
|
|
let $ = x.getAttribute("disabled");
|
|
if ($ === "true" || $ === "") return;
|
|
let S = x.getAttribute("aria-disabled");
|
|
if (S === "true" || S === "") return;
|
|
(x instanceof HTMLInputElement && (x.type === "radio" || x.type === "checkbox") || x.role === "radio" || x.role === "checkbox" || x.role === "switch") && x.click(), x.focus({ preventScroll: !0 });
|
|
}
|
|
}
|
|
}), g = i || !1, v = ut(() => ({ ...o.slot, disabled: g }), [o.slot, g]), m = { ref: f, ...o.props, id: s, htmlFor: l, onClick: d };
|
|
return c && ("onClick" in m && (delete m.htmlFor, delete m.onClick), "onClick" in u && delete u.onClick), fr()({ ourProps: m, theirProps: u, slot: v, defaultTag: l ? rD : "div", name: o.name || "Label" });
|
|
}
|
|
let oD = ir(nD), aD = Object.assign(oD, {});
|
|
function iD(e, t) {
|
|
return e !== null && t !== null && typeof e == "object" && typeof t == "object" && "id" in e && "id" in t ? e.id === t.id : e === t;
|
|
}
|
|
function sD(e = iD) {
|
|
return Ye((t, r) => {
|
|
if (typeof e == "string") {
|
|
let n = e;
|
|
return (t == null ? void 0 : t[n]) === (r == null ? void 0 : r[n]);
|
|
}
|
|
return e(t, r);
|
|
}, [e]);
|
|
}
|
|
function lD(e) {
|
|
if (e === null) return { width: 0, height: 0 };
|
|
let { width: t, height: r } = e.getBoundingClientRect();
|
|
return { width: t, height: r };
|
|
}
|
|
function cD(e, t = !1) {
|
|
let [r, n] = T6(() => ({}), {}), o = ut(() => lD(e), [e, r]);
|
|
return Pt(() => {
|
|
if (!e) return;
|
|
let a = new ResizeObserver(n);
|
|
return a.observe(e), () => {
|
|
a.disconnect();
|
|
};
|
|
}, [e]), t ? { width: `${o.width}px`, height: `${o.height}px` } : o;
|
|
}
|
|
let l5 = class extends Map {
|
|
constructor(t) {
|
|
super(), this.factory = t;
|
|
}
|
|
get(t) {
|
|
let r = super.get(t);
|
|
return r === void 0 && (r = this.factory(t), this.set(t, r)), r;
|
|
}
|
|
};
|
|
function c5(e, t) {
|
|
let r = e(), n = /* @__PURE__ */ new Set();
|
|
return { getSnapshot() {
|
|
return r;
|
|
}, subscribe(o) {
|
|
return n.add(o), () => n.delete(o);
|
|
}, dispatch(o, ...a) {
|
|
let i = t[o].call(r, ...a);
|
|
i && (r = i, n.forEach((s) => s()));
|
|
} };
|
|
}
|
|
function u5(e) {
|
|
return R6(e.subscribe, e.getSnapshot, e.getSnapshot);
|
|
}
|
|
let uD = new l5(() => c5(() => [], { ADD(e) {
|
|
return this.includes(e) ? this : [...this, e];
|
|
}, REMOVE(e) {
|
|
let t = this.indexOf(e);
|
|
if (t === -1) return this;
|
|
let r = this.slice();
|
|
return r.splice(t, 1), r;
|
|
} }));
|
|
function yy(e, t) {
|
|
let r = uD.get(t), n = $i(), o = u5(r);
|
|
if (Pt(() => {
|
|
if (e) return r.dispatch("ADD", n), () => r.dispatch("REMOVE", n);
|
|
}, [r, e]), !e) return !1;
|
|
let a = o.indexOf(n), i = o.length;
|
|
return a === -1 && (a = i, i += 1), a === i - 1;
|
|
}
|
|
let Lh = /* @__PURE__ */ new Map(), js = /* @__PURE__ */ new Map();
|
|
function lx(e) {
|
|
var t;
|
|
let r = (t = js.get(e)) != null ? t : 0;
|
|
return js.set(e, r + 1), r !== 0 ? () => cx(e) : (Lh.set(e, { "aria-hidden": e.getAttribute("aria-hidden"), inert: e.inert }), e.setAttribute("aria-hidden", "true"), e.inert = !0, () => cx(e));
|
|
}
|
|
function cx(e) {
|
|
var t;
|
|
let r = (t = js.get(e)) != null ? t : 1;
|
|
if (r === 1 ? js.delete(e) : js.set(e, r - 1), r !== 1) return;
|
|
let n = Lh.get(e);
|
|
n && (n["aria-hidden"] === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", n["aria-hidden"]), e.inert = n.inert, Lh.delete(e));
|
|
}
|
|
function fD(e, { allowed: t, disallowed: r } = {}) {
|
|
let n = yy(e, "inert-others");
|
|
Pt(() => {
|
|
var o, a;
|
|
if (!n) return;
|
|
let i = on();
|
|
for (let l of (o = r == null ? void 0 : r()) != null ? o : []) l && i.add(lx(l));
|
|
let s = (a = t == null ? void 0 : t()) != null ? a : [];
|
|
for (let l of s) {
|
|
if (!l) continue;
|
|
let c = Ol(l);
|
|
if (!c) continue;
|
|
let u = l.parentElement;
|
|
for (; u && u !== c.body; ) {
|
|
for (let f of u.children) s.some((d) => f.contains(d)) || i.add(lx(f));
|
|
u = u.parentElement;
|
|
}
|
|
}
|
|
return i.dispose;
|
|
}, [n, t, r]);
|
|
}
|
|
function dD(e, t, r) {
|
|
let n = $a((o) => {
|
|
let a = o.getBoundingClientRect();
|
|
a.x === 0 && a.y === 0 && a.width === 0 && a.height === 0 && r();
|
|
});
|
|
Se(() => {
|
|
if (!e) return;
|
|
let o = t === null ? null : t instanceof HTMLElement ? t : t.current;
|
|
if (!o) return;
|
|
let a = on();
|
|
if (typeof ResizeObserver < "u") {
|
|
let i = new ResizeObserver(() => n.current(o));
|
|
i.observe(o), a.add(() => i.disconnect());
|
|
}
|
|
if (typeof IntersectionObserver < "u") {
|
|
let i = new IntersectionObserver(() => n.current(o));
|
|
i.observe(o), a.add(() => i.disconnect());
|
|
}
|
|
return () => a.dispose();
|
|
}, [t, n, e]);
|
|
}
|
|
let Fh = ["[contentEditable=true]", "[tabindex]", "a[href]", "area[href]", "button:not([disabled])", "iframe", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])"].map((e) => `${e}:not([tabindex='-1'])`).join(","), pD = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
|
|
var Dh = ((e) => (e[e.First = 1] = "First", e[e.Previous = 2] = "Previous", e[e.Next = 4] = "Next", e[e.Last = 8] = "Last", e[e.WrapAround = 16] = "WrapAround", e[e.NoScroll = 32] = "NoScroll", e[e.AutoFocus = 64] = "AutoFocus", e))(Dh || {}), mD = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(mD || {}), hD = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(hD || {});
|
|
function f5(e = document.body) {
|
|
return e == null ? [] : Array.from(e.querySelectorAll(Fh)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER)));
|
|
}
|
|
function gD(e = document.body) {
|
|
return e == null ? [] : Array.from(e.querySelectorAll(pD)).sort((t, r) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (r.tabIndex || Number.MAX_SAFE_INTEGER)));
|
|
}
|
|
var vy = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(vy || {});
|
|
function d5(e, t = 0) {
|
|
var r;
|
|
return e === ((r = Ol(e)) == null ? void 0 : r.body) ? !1 : Cr(t, { 0() {
|
|
return e.matches(Fh);
|
|
}, 1() {
|
|
let n = e;
|
|
for (; n !== null; ) {
|
|
if (n.matches(Fh)) return !0;
|
|
n = n.parentElement;
|
|
}
|
|
return !1;
|
|
} });
|
|
}
|
|
var bD = ((e) => (e[e.Keyboard = 0] = "Keyboard", e[e.Mouse = 1] = "Mouse", e))(bD || {});
|
|
typeof window < "u" && typeof document < "u" && (document.addEventListener("keydown", (e) => {
|
|
e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
|
|
}, !0), document.addEventListener("click", (e) => {
|
|
e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = "");
|
|
}, !0));
|
|
let yD = ["textarea", "input"].join(",");
|
|
function vD(e) {
|
|
var t, r;
|
|
return (r = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, yD)) != null ? r : !1;
|
|
}
|
|
function p5(e, t = (r) => r) {
|
|
return e.slice().sort((r, n) => {
|
|
let o = t(r), a = t(n);
|
|
if (o === null || a === null) return 0;
|
|
let i = o.compareDocumentPosition(a);
|
|
return i & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : i & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
|
|
});
|
|
}
|
|
function wD(e, t) {
|
|
return xD(f5(), t, { relativeTo: e });
|
|
}
|
|
function xD(e, t, { sorted: r = !0, relativeTo: n = null, skipElements: o = [] } = {}) {
|
|
let a = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, i = Array.isArray(e) ? r ? p5(e) : e : t & 64 ? gD(e) : f5(e);
|
|
o.length > 0 && i.length > 1 && (i = i.filter((g) => !o.some((v) => v != null && "current" in v ? (v == null ? void 0 : v.current) === g : v === g))), n = n ?? a.activeElement;
|
|
let s = (() => {
|
|
if (t & 5) return 1;
|
|
if (t & 10) return -1;
|
|
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
|
|
})(), l = (() => {
|
|
if (t & 1) return 0;
|
|
if (t & 2) return Math.max(0, i.indexOf(n)) - 1;
|
|
if (t & 4) return Math.max(0, i.indexOf(n)) + 1;
|
|
if (t & 8) return i.length - 1;
|
|
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
|
|
})(), c = t & 32 ? { preventScroll: !0 } : {}, u = 0, f = i.length, d;
|
|
do {
|
|
if (u >= f || u + f <= 0) return 0;
|
|
let g = l + u;
|
|
if (t & 16) g = (g + f) % f;
|
|
else {
|
|
if (g < 0) return 3;
|
|
if (g >= f) return 1;
|
|
}
|
|
d = i[g], d == null || d.focus(c), u += s;
|
|
} while (d !== a.activeElement);
|
|
return t & 6 && vD(d) && d.select(), 2;
|
|
}
|
|
function m5() {
|
|
return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0;
|
|
}
|
|
function $D() {
|
|
return /Android/gi.test(window.navigator.userAgent);
|
|
}
|
|
function kD() {
|
|
return m5() || $D();
|
|
}
|
|
function rs(e, t, r, n) {
|
|
let o = $a(r);
|
|
Se(() => {
|
|
if (!e) return;
|
|
function a(i) {
|
|
o.current(i);
|
|
}
|
|
return document.addEventListener(t, a, n), () => document.removeEventListener(t, a, n);
|
|
}, [e, t, n]);
|
|
}
|
|
function OD(e, t, r, n) {
|
|
let o = $a(r);
|
|
Se(() => {
|
|
if (!e) return;
|
|
function a(i) {
|
|
o.current(i);
|
|
}
|
|
return window.addEventListener(t, a, n), () => window.removeEventListener(t, a, n);
|
|
}, [e, t, n]);
|
|
}
|
|
const ux = 30;
|
|
function SD(e, t, r) {
|
|
let n = yy(e, "outside-click"), o = $a(r), a = Ye(function(l, c) {
|
|
if (l.defaultPrevented) return;
|
|
let u = c(l);
|
|
if (u === null || !u.getRootNode().contains(u) || !u.isConnected) return;
|
|
let f = function d(g) {
|
|
return typeof g == "function" ? d(g()) : Array.isArray(g) || g instanceof Set ? g : [g];
|
|
}(t);
|
|
for (let d of f) if (d !== null && (d.contains(u) || l.composed && l.composedPath().includes(d))) return;
|
|
return !d5(u, vy.Loose) && u.tabIndex !== -1 && l.preventDefault(), o.current(l, u);
|
|
}, [o, t]), i = ce(null);
|
|
rs(n, "pointerdown", (l) => {
|
|
var c, u;
|
|
i.current = ((u = (c = l.composedPath) == null ? void 0 : c.call(l)) == null ? void 0 : u[0]) || l.target;
|
|
}, !0), rs(n, "mousedown", (l) => {
|
|
var c, u;
|
|
i.current = ((u = (c = l.composedPath) == null ? void 0 : c.call(l)) == null ? void 0 : u[0]) || l.target;
|
|
}, !0), rs(n, "click", (l) => {
|
|
kD() || i.current && (a(l, () => i.current), i.current = null);
|
|
}, !0);
|
|
let s = ce({ x: 0, y: 0 });
|
|
rs(n, "touchstart", (l) => {
|
|
s.current.x = l.touches[0].clientX, s.current.y = l.touches[0].clientY;
|
|
}, !0), rs(n, "touchend", (l) => {
|
|
let c = { x: l.changedTouches[0].clientX, y: l.changedTouches[0].clientY };
|
|
if (!(Math.abs(c.x - s.current.x) >= ux || Math.abs(c.y - s.current.y) >= ux)) return a(l, () => l.target instanceof HTMLElement ? l.target : null);
|
|
}, !0), OD(n, "blur", (l) => a(l, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);
|
|
}
|
|
function Vh(...e) {
|
|
return ut(() => Ol(...e), [...e]);
|
|
}
|
|
function ED(e, t) {
|
|
return ut(() => {
|
|
var r;
|
|
if (e.type) return e.type;
|
|
let n = (r = e.as) != null ? r : "button";
|
|
if (typeof n == "string" && n.toLowerCase() === "button" || (t == null ? void 0 : t.tagName) === "BUTTON" && !t.hasAttribute("type")) return "button";
|
|
}, [e.type, e.as, t]);
|
|
}
|
|
function PD() {
|
|
let e;
|
|
return { before({ doc: t }) {
|
|
var r;
|
|
let n = t.documentElement, o = (r = t.defaultView) != null ? r : window;
|
|
e = Math.max(0, o.innerWidth - n.clientWidth);
|
|
}, after({ doc: t, d: r }) {
|
|
let n = t.documentElement, o = Math.max(0, n.clientWidth - n.offsetWidth), a = Math.max(0, e - o);
|
|
r.style(n, "paddingRight", `${a}px`);
|
|
} };
|
|
}
|
|
function AD() {
|
|
return m5() ? { before({ doc: e, d: t, meta: r }) {
|
|
function n(o) {
|
|
return r.containers.flatMap((a) => a()).some((a) => a.contains(o));
|
|
}
|
|
t.microTask(() => {
|
|
var o;
|
|
if (window.getComputedStyle(e.documentElement).scrollBehavior !== "auto") {
|
|
let s = on();
|
|
s.style(e.documentElement, "scrollBehavior", "auto"), t.add(() => t.microTask(() => s.dispose()));
|
|
}
|
|
let a = (o = window.scrollY) != null ? o : window.pageYOffset, i = null;
|
|
t.addEventListener(e, "click", (s) => {
|
|
if (s.target instanceof HTMLElement) try {
|
|
let l = s.target.closest("a");
|
|
if (!l) return;
|
|
let { hash: c } = new URL(l.href), u = e.querySelector(c);
|
|
u && !n(u) && (i = u);
|
|
} catch {
|
|
}
|
|
}, !0), t.addEventListener(e, "touchstart", (s) => {
|
|
if (s.target instanceof HTMLElement) if (n(s.target)) {
|
|
let l = s.target;
|
|
for (; l.parentElement && n(l.parentElement); ) l = l.parentElement;
|
|
t.style(l, "overscrollBehavior", "contain");
|
|
} else t.style(s.target, "touchAction", "none");
|
|
}), t.addEventListener(e, "touchmove", (s) => {
|
|
if (s.target instanceof HTMLElement) {
|
|
if (s.target.tagName === "INPUT") return;
|
|
if (n(s.target)) {
|
|
let l = s.target;
|
|
for (; l.parentElement && l.dataset.headlessuiPortal !== "" && !(l.scrollHeight > l.clientHeight || l.scrollWidth > l.clientWidth); ) l = l.parentElement;
|
|
l.dataset.headlessuiPortal === "" && s.preventDefault();
|
|
} else s.preventDefault();
|
|
}
|
|
}, { passive: !1 }), t.add(() => {
|
|
var s;
|
|
let l = (s = window.scrollY) != null ? s : window.pageYOffset;
|
|
a !== l && window.scrollTo(0, a), i && i.isConnected && (i.scrollIntoView({ block: "nearest" }), i = null);
|
|
});
|
|
});
|
|
} } : {};
|
|
}
|
|
function CD() {
|
|
return { before({ doc: e, d: t }) {
|
|
t.style(e.documentElement, "overflow", "hidden");
|
|
} };
|
|
}
|
|
function ND(e) {
|
|
let t = {};
|
|
for (let r of e) Object.assign(t, r(t));
|
|
return t;
|
|
}
|
|
let qo = c5(() => /* @__PURE__ */ new Map(), { PUSH(e, t) {
|
|
var r;
|
|
let n = (r = this.get(e)) != null ? r : { doc: e, count: 0, d: on(), meta: /* @__PURE__ */ new Set() };
|
|
return n.count++, n.meta.add(t), this.set(e, n), this;
|
|
}, POP(e, t) {
|
|
let r = this.get(e);
|
|
return r && (r.count--, r.meta.delete(t)), this;
|
|
}, SCROLL_PREVENT({ doc: e, d: t, meta: r }) {
|
|
let n = { doc: e, d: t, meta: ND(r) }, o = [AD(), PD(), CD()];
|
|
o.forEach(({ before: a }) => a == null ? void 0 : a(n)), o.forEach(({ after: a }) => a == null ? void 0 : a(n));
|
|
}, SCROLL_ALLOW({ d: e }) {
|
|
e.dispose();
|
|
}, TEARDOWN({ doc: e }) {
|
|
this.delete(e);
|
|
} });
|
|
qo.subscribe(() => {
|
|
let e = qo.getSnapshot(), t = /* @__PURE__ */ new Map();
|
|
for (let [r] of e) t.set(r, r.documentElement.style.overflow);
|
|
for (let r of e.values()) {
|
|
let n = t.get(r.doc) === "hidden", o = r.count !== 0;
|
|
(o && !n || !o && n) && qo.dispatch(r.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", r), r.count === 0 && qo.dispatch("TEARDOWN", r);
|
|
}
|
|
});
|
|
function jD(e, t, r = () => ({ containers: [] })) {
|
|
let n = u5(qo), o = t ? n.get(t) : void 0, a = o ? o.count > 0 : !1;
|
|
return Pt(() => {
|
|
if (!(!t || !e)) return qo.dispatch("PUSH", t, r), () => qo.dispatch("POP", t, r);
|
|
}, [e, t]), a;
|
|
}
|
|
function _D(e, t, r = () => [document.body]) {
|
|
let n = yy(e, "scroll-lock");
|
|
jD(n, t, (o) => {
|
|
var a;
|
|
return { containers: [...(a = o.containers) != null ? a : [], r] };
|
|
});
|
|
}
|
|
function fx(e) {
|
|
return [e.screenX, e.screenY];
|
|
}
|
|
function ID() {
|
|
let e = ce([-1, -1]);
|
|
return { wasMoved(t) {
|
|
let r = fx(t);
|
|
return e.current[0] === r[0] && e.current[1] === r[1] ? !1 : (e.current = r, !0);
|
|
}, update(t) {
|
|
e.current = fx(t);
|
|
} };
|
|
}
|
|
function TD(e = 0) {
|
|
let [t, r] = $e(e), n = Ye((l) => r(l), [t]), o = Ye((l) => r((c) => c | l), [t]), a = Ye((l) => (t & l) === l, [t]), i = Ye((l) => r((c) => c & ~l), [r]), s = Ye((l) => r((c) => c ^ l), [r]);
|
|
return { flags: t, setFlag: n, addFlag: o, hasFlag: a, removeFlag: i, toggleFlag: s };
|
|
}
|
|
var dx, px;
|
|
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((dx = process == null ? void 0 : process.env) == null ? void 0 : dx.NODE_ENV) === "test" && typeof ((px = Element == null ? void 0 : Element.prototype) == null ? void 0 : px.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 RD = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(RD || {});
|
|
function h5(e) {
|
|
let t = {};
|
|
for (let r in e) e[r] === !0 && (t[`data-${r}`] = "");
|
|
return t;
|
|
}
|
|
function g5(e, t, r, n) {
|
|
let [o, a] = $e(r), { hasFlag: i, addFlag: s, removeFlag: l } = TD(e && o ? 3 : 0), c = ce(!1), u = ce(!1), f = ji();
|
|
return Pt(() => {
|
|
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: c, prepare() {
|
|
u.current ? u.current = !1 : u.current = c.current, c.current = !0, !u.current && (r ? (s(3), l(4)) : (s(4), l(2)));
|
|
}, run() {
|
|
u.current ? r ? (l(3), s(4)) : (l(4), s(3)) : r ? l(1) : s(1);
|
|
}, done() {
|
|
var g;
|
|
u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, l(7), r || a(!1), (g = n == null ? void 0 : n.end) == null || g.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 = on();
|
|
return LD(e, { prepare: t, inFlight: o }), a.nextFrame(() => {
|
|
r(), a.requestAnimationFrame(() => {
|
|
a.add(zD(e, n));
|
|
});
|
|
}), a.dispose;
|
|
}
|
|
function zD(e, t) {
|
|
var r, n;
|
|
let o = on();
|
|
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 LD(e, { inFlight: t, prepare: r }) {
|
|
if (t != null && t.current) {
|
|
r();
|
|
return;
|
|
}
|
|
let n = e.style.transition;
|
|
e.style.transition = "none", r(), e.offsetHeight, e.style.transition = n;
|
|
}
|
|
function yf() {
|
|
return typeof window < "u";
|
|
}
|
|
function _i(e) {
|
|
return b5(e) ? (e.nodeName || "").toLowerCase() : "#document";
|
|
}
|
|
function sr(e) {
|
|
var t;
|
|
return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
|
|
}
|
|
function an(e) {
|
|
var t;
|
|
return (t = (b5(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
|
|
}
|
|
function b5(e) {
|
|
return yf() ? e instanceof Node || e instanceof sr(e).Node : !1;
|
|
}
|
|
function Ut(e) {
|
|
return yf() ? e instanceof Element || e instanceof sr(e).Element : !1;
|
|
}
|
|
function rn(e) {
|
|
return yf() ? e instanceof HTMLElement || e instanceof sr(e).HTMLElement : !1;
|
|
}
|
|
function mx(e) {
|
|
return !yf() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof sr(e).ShadowRoot;
|
|
}
|
|
function Sl(e) {
|
|
const {
|
|
overflow: t,
|
|
overflowX: r,
|
|
overflowY: n,
|
|
display: o
|
|
} = Nr(e);
|
|
return /auto|scroll|overlay|hidden|clip/.test(t + n + r) && !["inline", "contents"].includes(o);
|
|
}
|
|
function FD(e) {
|
|
return ["table", "td", "th"].includes(_i(e));
|
|
}
|
|
function vf(e) {
|
|
return [":popover-open", ":modal"].some((t) => {
|
|
try {
|
|
return e.matches(t);
|
|
} catch {
|
|
return !1;
|
|
}
|
|
});
|
|
}
|
|
function wy(e) {
|
|
const t = xy(), r = Ut(e) ? Nr(e) : e;
|
|
return ["transform", "translate", "scale", "rotate", "perspective"].some((n) => r[n] ? r[n] !== "none" : !1) || (r.containerType ? r.containerType !== "normal" : !1) || !t && (r.backdropFilter ? r.backdropFilter !== "none" : !1) || !t && (r.filter ? r.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((n) => (r.willChange || "").includes(n)) || ["paint", "layout", "strict", "content"].some((n) => (r.contain || "").includes(n));
|
|
}
|
|
function DD(e) {
|
|
let t = So(e);
|
|
for (; rn(t) && !di(t); ) {
|
|
if (wy(t))
|
|
return t;
|
|
if (vf(t))
|
|
return null;
|
|
t = So(t);
|
|
}
|
|
return null;
|
|
}
|
|
function xy() {
|
|
return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
|
|
}
|
|
function di(e) {
|
|
return ["html", "body", "#document"].includes(_i(e));
|
|
}
|
|
function Nr(e) {
|
|
return sr(e).getComputedStyle(e);
|
|
}
|
|
function wf(e) {
|
|
return Ut(e) ? {
|
|
scrollLeft: e.scrollLeft,
|
|
scrollTop: e.scrollTop
|
|
} : {
|
|
scrollLeft: e.scrollX,
|
|
scrollTop: e.scrollY
|
|
};
|
|
}
|
|
function So(e) {
|
|
if (_i(e) === "html")
|
|
return e;
|
|
const t = (
|
|
// Step into the shadow DOM of the parent of a slotted node.
|
|
e.assignedSlot || // DOM Element detected.
|
|
e.parentNode || // ShadowRoot detected.
|
|
mx(e) && e.host || // Fallback.
|
|
an(e)
|
|
);
|
|
return mx(t) ? t.host : t;
|
|
}
|
|
function y5(e) {
|
|
const t = So(e);
|
|
return di(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : rn(t) && Sl(t) ? t : y5(t);
|
|
}
|
|
function ol(e, t, r) {
|
|
var n;
|
|
t === void 0 && (t = []), r === void 0 && (r = !0);
|
|
const o = y5(e), a = o === ((n = e.ownerDocument) == null ? void 0 : n.body), i = sr(o);
|
|
if (a) {
|
|
const s = Hh(i);
|
|
return t.concat(i, i.visualViewport || [], Sl(o) ? o : [], s && r ? ol(s) : []);
|
|
}
|
|
return t.concat(o, ol(o, [], r));
|
|
}
|
|
function Hh(e) {
|
|
return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
|
|
}
|
|
function VD() {
|
|
const e = navigator.userAgentData;
|
|
return e && Array.isArray(e.brands) ? e.brands.map((t) => {
|
|
let {
|
|
brand: r,
|
|
version: n
|
|
} = t;
|
|
return r + "/" + n;
|
|
}).join(" ") : navigator.userAgent;
|
|
}
|
|
const fa = Math.min, Wt = Math.max, al = Math.round, fc = Math.floor, en = (e) => ({
|
|
x: e,
|
|
y: e
|
|
}), HD = {
|
|
left: "right",
|
|
right: "left",
|
|
bottom: "top",
|
|
top: "bottom"
|
|
}, WD = {
|
|
start: "end",
|
|
end: "start"
|
|
};
|
|
function hx(e, t, r) {
|
|
return Wt(e, fa(t, r));
|
|
}
|
|
function Ii(e, t) {
|
|
return typeof e == "function" ? e(t) : e;
|
|
}
|
|
function Eo(e) {
|
|
return e.split("-")[0];
|
|
}
|
|
function El(e) {
|
|
return e.split("-")[1];
|
|
}
|
|
function v5(e) {
|
|
return e === "x" ? "y" : "x";
|
|
}
|
|
function w5(e) {
|
|
return e === "y" ? "height" : "width";
|
|
}
|
|
function da(e) {
|
|
return ["top", "bottom"].includes(Eo(e)) ? "y" : "x";
|
|
}
|
|
function x5(e) {
|
|
return v5(da(e));
|
|
}
|
|
function UD(e, t, r) {
|
|
r === void 0 && (r = !1);
|
|
const n = El(e), o = x5(e), a = w5(o);
|
|
let i = o === "x" ? n === (r ? "end" : "start") ? "right" : "left" : n === "start" ? "bottom" : "top";
|
|
return t.reference[a] > t.floating[a] && (i = xu(i)), [i, xu(i)];
|
|
}
|
|
function YD(e) {
|
|
const t = xu(e);
|
|
return [Wh(e), t, Wh(t)];
|
|
}
|
|
function Wh(e) {
|
|
return e.replace(/start|end/g, (t) => WD[t]);
|
|
}
|
|
function qD(e, t, r) {
|
|
const n = ["left", "right"], o = ["right", "left"], a = ["top", "bottom"], i = ["bottom", "top"];
|
|
switch (e) {
|
|
case "top":
|
|
case "bottom":
|
|
return r ? t ? o : n : t ? n : o;
|
|
case "left":
|
|
case "right":
|
|
return t ? a : i;
|
|
default:
|
|
return [];
|
|
}
|
|
}
|
|
function BD(e, t, r, n) {
|
|
const o = El(e);
|
|
let a = qD(Eo(e), r === "start", n);
|
|
return o && (a = a.map((i) => i + "-" + o), t && (a = a.concat(a.map(Wh)))), a;
|
|
}
|
|
function xu(e) {
|
|
return e.replace(/left|right|bottom|top/g, (t) => HD[t]);
|
|
}
|
|
function GD(e) {
|
|
return {
|
|
top: 0,
|
|
right: 0,
|
|
bottom: 0,
|
|
left: 0,
|
|
...e
|
|
};
|
|
}
|
|
function KD(e) {
|
|
return typeof e != "number" ? GD(e) : {
|
|
top: e,
|
|
right: e,
|
|
bottom: e,
|
|
left: e
|
|
};
|
|
}
|
|
function $u(e) {
|
|
const {
|
|
x: t,
|
|
y: r,
|
|
width: n,
|
|
height: o
|
|
} = e;
|
|
return {
|
|
width: n,
|
|
height: o,
|
|
top: r,
|
|
left: t,
|
|
right: t + n,
|
|
bottom: r + o,
|
|
x: t,
|
|
y: r
|
|
};
|
|
}
|
|
function gx(e, t, r) {
|
|
let {
|
|
reference: n,
|
|
floating: o
|
|
} = e;
|
|
const a = da(t), i = x5(t), s = w5(i), l = Eo(t), c = a === "y", u = n.x + n.width / 2 - o.width / 2, f = n.y + n.height / 2 - o.height / 2, d = n[s] / 2 - o[s] / 2;
|
|
let g;
|
|
switch (l) {
|
|
case "top":
|
|
g = {
|
|
x: u,
|
|
y: n.y - o.height
|
|
};
|
|
break;
|
|
case "bottom":
|
|
g = {
|
|
x: u,
|
|
y: n.y + n.height
|
|
};
|
|
break;
|
|
case "right":
|
|
g = {
|
|
x: n.x + n.width,
|
|
y: f
|
|
};
|
|
break;
|
|
case "left":
|
|
g = {
|
|
x: n.x - o.width,
|
|
y: f
|
|
};
|
|
break;
|
|
default:
|
|
g = {
|
|
x: n.x,
|
|
y: n.y
|
|
};
|
|
}
|
|
switch (El(t)) {
|
|
case "start":
|
|
g[i] -= d * (r && c ? -1 : 1);
|
|
break;
|
|
case "end":
|
|
g[i] += d * (r && c ? -1 : 1);
|
|
break;
|
|
}
|
|
return g;
|
|
}
|
|
const XD = async (e, t, r) => {
|
|
const {
|
|
placement: n = "bottom",
|
|
strategy: o = "absolute",
|
|
middleware: a = [],
|
|
platform: i
|
|
} = r, s = a.filter(Boolean), l = await (i.isRTL == null ? void 0 : i.isRTL(t));
|
|
let c = await i.getElementRects({
|
|
reference: e,
|
|
floating: t,
|
|
strategy: o
|
|
}), {
|
|
x: u,
|
|
y: f
|
|
} = gx(c, n, l), d = n, g = {}, v = 0;
|
|
for (let m = 0; m < s.length; m++) {
|
|
const {
|
|
name: h,
|
|
fn: w
|
|
} = s[m], {
|
|
x,
|
|
y: $,
|
|
data: S,
|
|
reset: p
|
|
} = await w({
|
|
x: u,
|
|
y: f,
|
|
initialPlacement: n,
|
|
placement: d,
|
|
strategy: o,
|
|
middlewareData: g,
|
|
rects: c,
|
|
platform: i,
|
|
elements: {
|
|
reference: e,
|
|
floating: t
|
|
}
|
|
});
|
|
u = x ?? u, f = $ ?? f, g = {
|
|
...g,
|
|
[h]: {
|
|
...g[h],
|
|
...S
|
|
}
|
|
}, p && v <= 50 && (v++, typeof p == "object" && (p.placement && (d = p.placement), p.rects && (c = p.rects === !0 ? await i.getElementRects({
|
|
reference: e,
|
|
floating: t,
|
|
strategy: o
|
|
}) : p.rects), {
|
|
x: u,
|
|
y: f
|
|
} = gx(c, d, l)), m = -1);
|
|
}
|
|
return {
|
|
x: u,
|
|
y: f,
|
|
placement: d,
|
|
strategy: o,
|
|
middlewareData: g
|
|
};
|
|
};
|
|
async function xf(e, t) {
|
|
var r;
|
|
t === void 0 && (t = {});
|
|
const {
|
|
x: n,
|
|
y: o,
|
|
platform: a,
|
|
rects: i,
|
|
elements: s,
|
|
strategy: l
|
|
} = e, {
|
|
boundary: c = "clippingAncestors",
|
|
rootBoundary: u = "viewport",
|
|
elementContext: f = "floating",
|
|
altBoundary: d = !1,
|
|
padding: g = 0
|
|
} = Ii(t, e), v = KD(g), m = s[d ? f === "floating" ? "reference" : "floating" : f], h = $u(await a.getClippingRect({
|
|
element: (r = await (a.isElement == null ? void 0 : a.isElement(m))) == null || r ? m : m.contextElement || await (a.getDocumentElement == null ? void 0 : a.getDocumentElement(s.floating)),
|
|
boundary: c,
|
|
rootBoundary: u,
|
|
strategy: l
|
|
})), w = f === "floating" ? {
|
|
x: n,
|
|
y: o,
|
|
width: i.floating.width,
|
|
height: i.floating.height
|
|
} : i.reference, x = await (a.getOffsetParent == null ? void 0 : a.getOffsetParent(s.floating)), $ = await (a.isElement == null ? void 0 : a.isElement(x)) ? await (a.getScale == null ? void 0 : a.getScale(x)) || {
|
|
x: 1,
|
|
y: 1
|
|
} : {
|
|
x: 1,
|
|
y: 1
|
|
}, S = $u(a.convertOffsetParentRelativeRectToViewportRelativeRect ? await a.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
elements: s,
|
|
rect: w,
|
|
offsetParent: x,
|
|
strategy: l
|
|
}) : w);
|
|
return {
|
|
top: (h.top - S.top + v.top) / $.y,
|
|
bottom: (S.bottom - h.bottom + v.bottom) / $.y,
|
|
left: (h.left - S.left + v.left) / $.x,
|
|
right: (S.right - h.right + v.right) / $.x
|
|
};
|
|
}
|
|
const JD = function(e) {
|
|
return e === void 0 && (e = {}), {
|
|
name: "flip",
|
|
options: e,
|
|
async fn(t) {
|
|
var r, n;
|
|
const {
|
|
placement: o,
|
|
middlewareData: a,
|
|
rects: i,
|
|
initialPlacement: s,
|
|
platform: l,
|
|
elements: c
|
|
} = t, {
|
|
mainAxis: u = !0,
|
|
crossAxis: f = !0,
|
|
fallbackPlacements: d,
|
|
fallbackStrategy: g = "bestFit",
|
|
fallbackAxisSideDirection: v = "none",
|
|
flipAlignment: m = !0,
|
|
...h
|
|
} = Ii(e, t);
|
|
if ((r = a.arrow) != null && r.alignmentOffset)
|
|
return {};
|
|
const w = Eo(o), x = da(s), $ = Eo(s) === s, S = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), p = d || ($ || !m ? [xu(s)] : YD(s)), T = v !== "none";
|
|
!d && T && p.push(...BD(s, m, v, S));
|
|
const L = [s, ...p], G = await xf(t, h), J = [];
|
|
let B = ((n = a.flip) == null ? void 0 : n.overflows) || [];
|
|
if (u && J.push(G[w]), f) {
|
|
const D = UD(o, i, S);
|
|
J.push(G[D[0]], G[D[1]]);
|
|
}
|
|
if (B = [...B, {
|
|
placement: o,
|
|
overflows: J
|
|
}], !J.every((D) => D <= 0)) {
|
|
var Z, M;
|
|
const D = (((Z = a.flip) == null ? void 0 : Z.index) || 0) + 1, V = L[D];
|
|
if (V)
|
|
return {
|
|
data: {
|
|
index: D,
|
|
overflows: B
|
|
},
|
|
reset: {
|
|
placement: V
|
|
}
|
|
};
|
|
let H = (M = B.filter((W) => W.overflows[0] <= 0).sort((W, Y) => W.overflows[1] - Y.overflows[1])[0]) == null ? void 0 : M.placement;
|
|
if (!H)
|
|
switch (g) {
|
|
case "bestFit": {
|
|
var ee;
|
|
const W = (ee = B.filter((Y) => {
|
|
if (T) {
|
|
const K = da(Y.placement);
|
|
return K === x || // Create a bias to the `y` side axis due to horizontal
|
|
// reading directions favoring greater width.
|
|
K === "y";
|
|
}
|
|
return !0;
|
|
}).map((Y) => [Y.placement, Y.overflows.filter((K) => K > 0).reduce((K, y) => K + y, 0)]).sort((Y, K) => Y[1] - K[1])[0]) == null ? void 0 : ee[0];
|
|
W && (H = W);
|
|
break;
|
|
}
|
|
case "initialPlacement":
|
|
H = s;
|
|
break;
|
|
}
|
|
if (o !== H)
|
|
return {
|
|
reset: {
|
|
placement: H
|
|
}
|
|
};
|
|
}
|
|
return {};
|
|
}
|
|
};
|
|
};
|
|
async function QD(e, t) {
|
|
const {
|
|
placement: r,
|
|
platform: n,
|
|
elements: o
|
|
} = e, a = await (n.isRTL == null ? void 0 : n.isRTL(o.floating)), i = Eo(r), s = El(r), l = da(r) === "y", c = ["left", "top"].includes(i) ? -1 : 1, u = a && l ? -1 : 1, f = Ii(t, e);
|
|
let {
|
|
mainAxis: d,
|
|
crossAxis: g,
|
|
alignmentAxis: v
|
|
} = typeof f == "number" ? {
|
|
mainAxis: f,
|
|
crossAxis: 0,
|
|
alignmentAxis: null
|
|
} : {
|
|
mainAxis: f.mainAxis || 0,
|
|
crossAxis: f.crossAxis || 0,
|
|
alignmentAxis: f.alignmentAxis
|
|
};
|
|
return s && typeof v == "number" && (g = s === "end" ? v * -1 : v), l ? {
|
|
x: g * u,
|
|
y: d * c
|
|
} : {
|
|
x: d * c,
|
|
y: g * u
|
|
};
|
|
}
|
|
const ZD = function(e) {
|
|
return e === void 0 && (e = 0), {
|
|
name: "offset",
|
|
options: e,
|
|
async fn(t) {
|
|
var r, n;
|
|
const {
|
|
x: o,
|
|
y: a,
|
|
placement: i,
|
|
middlewareData: s
|
|
} = t, l = await QD(t, e);
|
|
return i === ((r = s.offset) == null ? void 0 : r.placement) && (n = s.arrow) != null && n.alignmentOffset ? {} : {
|
|
x: o + l.x,
|
|
y: a + l.y,
|
|
data: {
|
|
...l,
|
|
placement: i
|
|
}
|
|
};
|
|
}
|
|
};
|
|
}, eV = function(e) {
|
|
return e === void 0 && (e = {}), {
|
|
name: "shift",
|
|
options: e,
|
|
async fn(t) {
|
|
const {
|
|
x: r,
|
|
y: n,
|
|
placement: o
|
|
} = t, {
|
|
mainAxis: a = !0,
|
|
crossAxis: i = !1,
|
|
limiter: s = {
|
|
fn: (h) => {
|
|
let {
|
|
x: w,
|
|
y: x
|
|
} = h;
|
|
return {
|
|
x: w,
|
|
y: x
|
|
};
|
|
}
|
|
},
|
|
...l
|
|
} = Ii(e, t), c = {
|
|
x: r,
|
|
y: n
|
|
}, u = await xf(t, l), f = da(Eo(o)), d = v5(f);
|
|
let g = c[d], v = c[f];
|
|
if (a) {
|
|
const h = d === "y" ? "top" : "left", w = d === "y" ? "bottom" : "right", x = g + u[h], $ = g - u[w];
|
|
g = hx(x, g, $);
|
|
}
|
|
if (i) {
|
|
const h = f === "y" ? "top" : "left", w = f === "y" ? "bottom" : "right", x = v + u[h], $ = v - u[w];
|
|
v = hx(x, v, $);
|
|
}
|
|
const m = s.fn({
|
|
...t,
|
|
[d]: g,
|
|
[f]: v
|
|
});
|
|
return {
|
|
...m,
|
|
data: {
|
|
x: m.x - r,
|
|
y: m.y - n,
|
|
enabled: {
|
|
[d]: a,
|
|
[f]: i
|
|
}
|
|
}
|
|
};
|
|
}
|
|
};
|
|
}, tV = function(e) {
|
|
return e === void 0 && (e = {}), {
|
|
name: "size",
|
|
options: e,
|
|
async fn(t) {
|
|
var r, n;
|
|
const {
|
|
placement: o,
|
|
rects: a,
|
|
platform: i,
|
|
elements: s
|
|
} = t, {
|
|
apply: l = () => {
|
|
},
|
|
...c
|
|
} = Ii(e, t), u = await xf(t, c), f = Eo(o), d = El(o), g = da(o) === "y", {
|
|
width: v,
|
|
height: m
|
|
} = a.floating;
|
|
let h, w;
|
|
f === "top" || f === "bottom" ? (h = f, w = d === (await (i.isRTL == null ? void 0 : i.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (w = f, h = d === "end" ? "top" : "bottom");
|
|
const x = m - u.top - u.bottom, $ = v - u.left - u.right, S = fa(m - u[h], x), p = fa(v - u[w], $), T = !t.middlewareData.shift;
|
|
let L = S, G = p;
|
|
if ((r = t.middlewareData.shift) != null && r.enabled.x && (G = $), (n = t.middlewareData.shift) != null && n.enabled.y && (L = x), T && !d) {
|
|
const B = Wt(u.left, 0), Z = Wt(u.right, 0), M = Wt(u.top, 0), ee = Wt(u.bottom, 0);
|
|
g ? G = v - 2 * (B !== 0 || Z !== 0 ? B + Z : Wt(u.left, u.right)) : L = m - 2 * (M !== 0 || ee !== 0 ? M + ee : Wt(u.top, u.bottom));
|
|
}
|
|
await l({
|
|
...t,
|
|
availableWidth: G,
|
|
availableHeight: L
|
|
});
|
|
const J = await i.getDimensions(s.floating);
|
|
return v !== J.width || m !== J.height ? {
|
|
reset: {
|
|
rects: !0
|
|
}
|
|
} : {};
|
|
}
|
|
};
|
|
};
|
|
function $5(e) {
|
|
const t = Nr(e);
|
|
let r = parseFloat(t.width) || 0, n = parseFloat(t.height) || 0;
|
|
const o = rn(e), a = o ? e.offsetWidth : r, i = o ? e.offsetHeight : n, s = al(r) !== a || al(n) !== i;
|
|
return s && (r = a, n = i), {
|
|
width: r,
|
|
height: n,
|
|
$: s
|
|
};
|
|
}
|
|
function $y(e) {
|
|
return Ut(e) ? e : e.contextElement;
|
|
}
|
|
function ri(e) {
|
|
const t = $y(e);
|
|
if (!rn(t))
|
|
return en(1);
|
|
const r = t.getBoundingClientRect(), {
|
|
width: n,
|
|
height: o,
|
|
$: a
|
|
} = $5(t);
|
|
let i = (a ? al(r.width) : r.width) / n, s = (a ? al(r.height) : r.height) / o;
|
|
return (!i || !Number.isFinite(i)) && (i = 1), (!s || !Number.isFinite(s)) && (s = 1), {
|
|
x: i,
|
|
y: s
|
|
};
|
|
}
|
|
const rV = /* @__PURE__ */ en(0);
|
|
function k5(e) {
|
|
const t = sr(e);
|
|
return !xy() || !t.visualViewport ? rV : {
|
|
x: t.visualViewport.offsetLeft,
|
|
y: t.visualViewport.offsetTop
|
|
};
|
|
}
|
|
function nV(e, t, r) {
|
|
return t === void 0 && (t = !1), !r || t && r !== sr(e) ? !1 : t;
|
|
}
|
|
function pa(e, t, r, n) {
|
|
t === void 0 && (t = !1), r === void 0 && (r = !1);
|
|
const o = e.getBoundingClientRect(), a = $y(e);
|
|
let i = en(1);
|
|
t && (n ? Ut(n) && (i = ri(n)) : i = ri(e));
|
|
const s = nV(a, r, n) ? k5(a) : en(0);
|
|
let l = (o.left + s.x) / i.x, c = (o.top + s.y) / i.y, u = o.width / i.x, f = o.height / i.y;
|
|
if (a) {
|
|
const d = sr(a), g = n && Ut(n) ? sr(n) : n;
|
|
let v = d, m = Hh(v);
|
|
for (; m && n && g !== v; ) {
|
|
const h = ri(m), w = m.getBoundingClientRect(), x = Nr(m), $ = w.left + (m.clientLeft + parseFloat(x.paddingLeft)) * h.x, S = w.top + (m.clientTop + parseFloat(x.paddingTop)) * h.y;
|
|
l *= h.x, c *= h.y, u *= h.x, f *= h.y, l += $, c += S, v = sr(m), m = Hh(v);
|
|
}
|
|
}
|
|
return $u({
|
|
width: u,
|
|
height: f,
|
|
x: l,
|
|
y: c
|
|
});
|
|
}
|
|
function ky(e, t) {
|
|
const r = wf(e).scrollLeft;
|
|
return t ? t.left + r : pa(an(e)).left + r;
|
|
}
|
|
function O5(e, t, r) {
|
|
r === void 0 && (r = !1);
|
|
const n = e.getBoundingClientRect(), o = n.left + t.scrollLeft - (r ? 0 : (
|
|
// RTL <body> scrollbar.
|
|
ky(e, n)
|
|
)), a = n.top + t.scrollTop;
|
|
return {
|
|
x: o,
|
|
y: a
|
|
};
|
|
}
|
|
function oV(e) {
|
|
let {
|
|
elements: t,
|
|
rect: r,
|
|
offsetParent: n,
|
|
strategy: o
|
|
} = e;
|
|
const a = o === "fixed", i = an(n), s = t ? vf(t.floating) : !1;
|
|
if (n === i || s && a)
|
|
return r;
|
|
let l = {
|
|
scrollLeft: 0,
|
|
scrollTop: 0
|
|
}, c = en(1);
|
|
const u = en(0), f = rn(n);
|
|
if ((f || !f && !a) && ((_i(n) !== "body" || Sl(i)) && (l = wf(n)), rn(n))) {
|
|
const g = pa(n);
|
|
c = ri(n), u.x = g.x + n.clientLeft, u.y = g.y + n.clientTop;
|
|
}
|
|
const d = i && !f && !a ? O5(i, l, !0) : en(0);
|
|
return {
|
|
width: r.width * c.x,
|
|
height: r.height * c.y,
|
|
x: r.x * c.x - l.scrollLeft * c.x + u.x + d.x,
|
|
y: r.y * c.y - l.scrollTop * c.y + u.y + d.y
|
|
};
|
|
}
|
|
function aV(e) {
|
|
return Array.from(e.getClientRects());
|
|
}
|
|
function iV(e) {
|
|
const t = an(e), r = wf(e), n = e.ownerDocument.body, o = Wt(t.scrollWidth, t.clientWidth, n.scrollWidth, n.clientWidth), a = Wt(t.scrollHeight, t.clientHeight, n.scrollHeight, n.clientHeight);
|
|
let i = -r.scrollLeft + ky(e);
|
|
const s = -r.scrollTop;
|
|
return Nr(n).direction === "rtl" && (i += Wt(t.clientWidth, n.clientWidth) - o), {
|
|
width: o,
|
|
height: a,
|
|
x: i,
|
|
y: s
|
|
};
|
|
}
|
|
function sV(e, t) {
|
|
const r = sr(e), n = an(e), o = r.visualViewport;
|
|
let a = n.clientWidth, i = n.clientHeight, s = 0, l = 0;
|
|
if (o) {
|
|
a = o.width, i = o.height;
|
|
const c = xy();
|
|
(!c || c && t === "fixed") && (s = o.offsetLeft, l = o.offsetTop);
|
|
}
|
|
return {
|
|
width: a,
|
|
height: i,
|
|
x: s,
|
|
y: l
|
|
};
|
|
}
|
|
function lV(e, t) {
|
|
const r = pa(e, !0, t === "fixed"), n = r.top + e.clientTop, o = r.left + e.clientLeft, a = rn(e) ? ri(e) : en(1), i = e.clientWidth * a.x, s = e.clientHeight * a.y, l = o * a.x, c = n * a.y;
|
|
return {
|
|
width: i,
|
|
height: s,
|
|
x: l,
|
|
y: c
|
|
};
|
|
}
|
|
function bx(e, t, r) {
|
|
let n;
|
|
if (t === "viewport")
|
|
n = sV(e, r);
|
|
else if (t === "document")
|
|
n = iV(an(e));
|
|
else if (Ut(t))
|
|
n = lV(t, r);
|
|
else {
|
|
const o = k5(e);
|
|
n = {
|
|
x: t.x - o.x,
|
|
y: t.y - o.y,
|
|
width: t.width,
|
|
height: t.height
|
|
};
|
|
}
|
|
return $u(n);
|
|
}
|
|
function S5(e, t) {
|
|
const r = So(e);
|
|
return r === t || !Ut(r) || di(r) ? !1 : Nr(r).position === "fixed" || S5(r, t);
|
|
}
|
|
function cV(e, t) {
|
|
const r = t.get(e);
|
|
if (r)
|
|
return r;
|
|
let n = ol(e, [], !1).filter((s) => Ut(s) && _i(s) !== "body"), o = null;
|
|
const a = Nr(e).position === "fixed";
|
|
let i = a ? So(e) : e;
|
|
for (; Ut(i) && !di(i); ) {
|
|
const s = Nr(i), l = wy(i);
|
|
!l && s.position === "fixed" && (o = null), (a ? !l && !o : !l && s.position === "static" && o && ["absolute", "fixed"].includes(o.position) || Sl(i) && !l && S5(e, i)) ? n = n.filter((c) => c !== i) : o = s, i = So(i);
|
|
}
|
|
return t.set(e, n), n;
|
|
}
|
|
function uV(e) {
|
|
let {
|
|
element: t,
|
|
boundary: r,
|
|
rootBoundary: n,
|
|
strategy: o
|
|
} = e;
|
|
const a = [...r === "clippingAncestors" ? vf(t) ? [] : cV(t, this._c) : [].concat(r), n], i = a[0], s = a.reduce((l, c) => {
|
|
const u = bx(t, c, o);
|
|
return l.top = Wt(u.top, l.top), l.right = fa(u.right, l.right), l.bottom = fa(u.bottom, l.bottom), l.left = Wt(u.left, l.left), l;
|
|
}, bx(t, i, o));
|
|
return {
|
|
width: s.right - s.left,
|
|
height: s.bottom - s.top,
|
|
x: s.left,
|
|
y: s.top
|
|
};
|
|
}
|
|
function fV(e) {
|
|
const {
|
|
width: t,
|
|
height: r
|
|
} = $5(e);
|
|
return {
|
|
width: t,
|
|
height: r
|
|
};
|
|
}
|
|
function dV(e, t, r) {
|
|
const n = rn(t), o = an(t), a = r === "fixed", i = pa(e, !0, a, t);
|
|
let s = {
|
|
scrollLeft: 0,
|
|
scrollTop: 0
|
|
};
|
|
const l = en(0);
|
|
if (n || !n && !a)
|
|
if ((_i(t) !== "body" || Sl(o)) && (s = wf(t)), n) {
|
|
const d = pa(t, !0, a, t);
|
|
l.x = d.x + t.clientLeft, l.y = d.y + t.clientTop;
|
|
} else o && (l.x = ky(o));
|
|
const c = o && !n && !a ? O5(o, s) : en(0), u = i.left + s.scrollLeft - l.x - c.x, f = i.top + s.scrollTop - l.y - c.y;
|
|
return {
|
|
x: u,
|
|
y: f,
|
|
width: i.width,
|
|
height: i.height
|
|
};
|
|
}
|
|
function dp(e) {
|
|
return Nr(e).position === "static";
|
|
}
|
|
function yx(e, t) {
|
|
if (!rn(e) || Nr(e).position === "fixed")
|
|
return null;
|
|
if (t)
|
|
return t(e);
|
|
let r = e.offsetParent;
|
|
return an(e) === r && (r = r.ownerDocument.body), r;
|
|
}
|
|
function E5(e, t) {
|
|
const r = sr(e);
|
|
if (vf(e))
|
|
return r;
|
|
if (!rn(e)) {
|
|
let o = So(e);
|
|
for (; o && !di(o); ) {
|
|
if (Ut(o) && !dp(o))
|
|
return o;
|
|
o = So(o);
|
|
}
|
|
return r;
|
|
}
|
|
let n = yx(e, t);
|
|
for (; n && FD(n) && dp(n); )
|
|
n = yx(n, t);
|
|
return n && di(n) && dp(n) && !wy(n) ? r : n || DD(e) || r;
|
|
}
|
|
const pV = async function(e) {
|
|
const t = this.getOffsetParent || E5, r = this.getDimensions, n = await r(e.floating);
|
|
return {
|
|
reference: dV(e.reference, await t(e.floating), e.strategy),
|
|
floating: {
|
|
x: 0,
|
|
y: 0,
|
|
width: n.width,
|
|
height: n.height
|
|
}
|
|
};
|
|
};
|
|
function mV(e) {
|
|
return Nr(e).direction === "rtl";
|
|
}
|
|
const hV = {
|
|
convertOffsetParentRelativeRectToViewportRelativeRect: oV,
|
|
getDocumentElement: an,
|
|
getClippingRect: uV,
|
|
getOffsetParent: E5,
|
|
getElementRects: pV,
|
|
getClientRects: aV,
|
|
getDimensions: fV,
|
|
getScale: ri,
|
|
isElement: Ut,
|
|
isRTL: mV
|
|
};
|
|
function P5(e, t) {
|
|
return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
|
|
}
|
|
function gV(e, t) {
|
|
let r = null, n;
|
|
const o = an(e);
|
|
function a() {
|
|
var s;
|
|
clearTimeout(n), (s = r) == null || s.disconnect(), r = null;
|
|
}
|
|
function i(s, l) {
|
|
s === void 0 && (s = !1), l === void 0 && (l = 1), a();
|
|
const c = e.getBoundingClientRect(), {
|
|
left: u,
|
|
top: f,
|
|
width: d,
|
|
height: g
|
|
} = c;
|
|
if (s || t(), !d || !g)
|
|
return;
|
|
const v = fc(f), m = fc(o.clientWidth - (u + d)), h = fc(o.clientHeight - (f + g)), w = fc(u), x = {
|
|
rootMargin: -v + "px " + -m + "px " + -h + "px " + -w + "px",
|
|
threshold: Wt(0, fa(1, l)) || 1
|
|
};
|
|
let $ = !0;
|
|
function S(p) {
|
|
const T = p[0].intersectionRatio;
|
|
if (T !== l) {
|
|
if (!$)
|
|
return i();
|
|
T ? i(!1, T) : n = setTimeout(() => {
|
|
i(!1, 1e-7);
|
|
}, 1e3);
|
|
}
|
|
T === 1 && !P5(c, e.getBoundingClientRect()) && i(), $ = !1;
|
|
}
|
|
try {
|
|
r = new IntersectionObserver(S, {
|
|
...x,
|
|
// Handle <iframe>s
|
|
root: o.ownerDocument
|
|
});
|
|
} catch {
|
|
r = new IntersectionObserver(S, x);
|
|
}
|
|
r.observe(e);
|
|
}
|
|
return i(!0), a;
|
|
}
|
|
function bV(e, t, r, n) {
|
|
n === void 0 && (n = {});
|
|
const {
|
|
ancestorScroll: o = !0,
|
|
ancestorResize: a = !0,
|
|
elementResize: i = typeof ResizeObserver == "function",
|
|
layoutShift: s = typeof IntersectionObserver == "function",
|
|
animationFrame: l = !1
|
|
} = n, c = $y(e), u = o || a ? [...c ? ol(c) : [], ...ol(t)] : [];
|
|
u.forEach((w) => {
|
|
o && w.addEventListener("scroll", r, {
|
|
passive: !0
|
|
}), a && w.addEventListener("resize", r);
|
|
});
|
|
const f = c && s ? gV(c, r) : null;
|
|
let d = -1, g = null;
|
|
i && (g = new ResizeObserver((w) => {
|
|
let [x] = w;
|
|
x && x.target === c && g && (g.unobserve(t), cancelAnimationFrame(d), d = requestAnimationFrame(() => {
|
|
var $;
|
|
($ = g) == null || $.observe(t);
|
|
})), r();
|
|
}), c && !l && g.observe(c), g.observe(t));
|
|
let v, m = l ? pa(e) : null;
|
|
l && h();
|
|
function h() {
|
|
const w = pa(e);
|
|
m && !P5(m, w) && r(), m = w, v = requestAnimationFrame(h);
|
|
}
|
|
return r(), () => {
|
|
var w;
|
|
u.forEach((x) => {
|
|
o && x.removeEventListener("scroll", r), a && x.removeEventListener("resize", r);
|
|
}), f == null || f(), (w = g) == null || w.disconnect(), g = null, l && cancelAnimationFrame(v);
|
|
};
|
|
}
|
|
const pp = xf, yV = ZD, vV = eV, wV = JD, xV = tV, $V = (e, t, r) => {
|
|
const n = /* @__PURE__ */ new Map(), o = {
|
|
platform: hV,
|
|
...r
|
|
}, a = {
|
|
...o.platform,
|
|
_c: n
|
|
};
|
|
return XD(e, t, {
|
|
...o,
|
|
platform: a
|
|
});
|
|
};
|
|
var Hc = typeof document < "u" ? pl : Se;
|
|
function ku(e, t) {
|
|
if (e === t)
|
|
return !0;
|
|
if (typeof e != typeof t)
|
|
return !1;
|
|
if (typeof e == "function" && e.toString() === t.toString())
|
|
return !0;
|
|
let r, n, o;
|
|
if (e && t && typeof e == "object") {
|
|
if (Array.isArray(e)) {
|
|
if (r = e.length, r !== t.length) return !1;
|
|
for (n = r; n-- !== 0; )
|
|
if (!ku(e[n], t[n]))
|
|
return !1;
|
|
return !0;
|
|
}
|
|
if (o = Object.keys(e), r = o.length, r !== Object.keys(t).length)
|
|
return !1;
|
|
for (n = r; n-- !== 0; )
|
|
if (!{}.hasOwnProperty.call(t, o[n]))
|
|
return !1;
|
|
for (n = r; n-- !== 0; ) {
|
|
const a = o[n];
|
|
if (!(a === "_owner" && e.$$typeof) && !ku(e[a], t[a]))
|
|
return !1;
|
|
}
|
|
return !0;
|
|
}
|
|
return e !== e && t !== t;
|
|
}
|
|
function A5(e) {
|
|
return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
|
|
}
|
|
function vx(e, t) {
|
|
const r = A5(e);
|
|
return Math.round(t * r) / r;
|
|
}
|
|
function mp(e) {
|
|
const t = F.useRef(e);
|
|
return Hc(() => {
|
|
t.current = e;
|
|
}), t;
|
|
}
|
|
function kV(e) {
|
|
e === void 0 && (e = {});
|
|
const {
|
|
placement: t = "bottom",
|
|
strategy: r = "absolute",
|
|
middleware: n = [],
|
|
platform: o,
|
|
elements: {
|
|
reference: a,
|
|
floating: i
|
|
} = {},
|
|
transform: s = !0,
|
|
whileElementsMounted: l,
|
|
open: c
|
|
} = e, [u, f] = F.useState({
|
|
x: 0,
|
|
y: 0,
|
|
strategy: r,
|
|
placement: t,
|
|
middlewareData: {},
|
|
isPositioned: !1
|
|
}), [d, g] = F.useState(n);
|
|
ku(d, n) || g(n);
|
|
const [v, m] = F.useState(null), [h, w] = F.useState(null), x = F.useCallback((Y) => {
|
|
Y !== T.current && (T.current = Y, m(Y));
|
|
}, []), $ = F.useCallback((Y) => {
|
|
Y !== L.current && (L.current = Y, w(Y));
|
|
}, []), S = a || v, p = i || h, T = F.useRef(null), L = F.useRef(null), G = F.useRef(u), J = l != null, B = mp(l), Z = mp(o), M = mp(c), ee = F.useCallback(() => {
|
|
if (!T.current || !L.current)
|
|
return;
|
|
const Y = {
|
|
placement: t,
|
|
strategy: r,
|
|
middleware: d
|
|
};
|
|
Z.current && (Y.platform = Z.current), $V(T.current, L.current, Y).then((K) => {
|
|
const y = {
|
|
...K,
|
|
// The floating element's position may be recomputed while it's closed
|
|
// but still mounted (such as when transitioning out). To ensure
|
|
// `isPositioned` will be `false` initially on the next open, avoid
|
|
// setting it to `true` when `open === false` (must be specified).
|
|
isPositioned: M.current !== !1
|
|
};
|
|
D.current && !ku(G.current, y) && (G.current = y, Fs.flushSync(() => {
|
|
f(y);
|
|
}));
|
|
});
|
|
}, [d, t, r, Z, M]);
|
|
Hc(() => {
|
|
c === !1 && G.current.isPositioned && (G.current.isPositioned = !1, f((Y) => ({
|
|
...Y,
|
|
isPositioned: !1
|
|
})));
|
|
}, [c]);
|
|
const D = F.useRef(!1);
|
|
Hc(() => (D.current = !0, () => {
|
|
D.current = !1;
|
|
}), []), Hc(() => {
|
|
if (S && (T.current = S), p && (L.current = p), S && p) {
|
|
if (B.current)
|
|
return B.current(S, p, ee);
|
|
ee();
|
|
}
|
|
}, [S, p, ee, B, J]);
|
|
const V = F.useMemo(() => ({
|
|
reference: T,
|
|
floating: L,
|
|
setReference: x,
|
|
setFloating: $
|
|
}), [x, $]), H = F.useMemo(() => ({
|
|
reference: S,
|
|
floating: p
|
|
}), [S, p]), W = F.useMemo(() => {
|
|
const Y = {
|
|
position: r,
|
|
left: 0,
|
|
top: 0
|
|
};
|
|
if (!H.floating)
|
|
return Y;
|
|
const K = vx(H.floating, u.x), y = vx(H.floating, u.y);
|
|
return s ? {
|
|
...Y,
|
|
transform: "translate(" + K + "px, " + y + "px)",
|
|
...A5(H.floating) >= 1.5 && {
|
|
willChange: "transform"
|
|
}
|
|
} : {
|
|
position: r,
|
|
left: K,
|
|
top: y
|
|
};
|
|
}, [r, s, H.floating, u.x, u.y]);
|
|
return F.useMemo(() => ({
|
|
...u,
|
|
update: ee,
|
|
refs: V,
|
|
elements: H,
|
|
floatingStyles: W
|
|
}), [u, ee, V, H, W]);
|
|
}
|
|
const C5 = (e, t) => ({
|
|
...yV(e),
|
|
options: [e, t]
|
|
}), OV = (e, t) => ({
|
|
...vV(e),
|
|
options: [e, t]
|
|
}), SV = (e, t) => ({
|
|
...wV(e),
|
|
options: [e, t]
|
|
}), EV = (e, t) => ({
|
|
...xV(e),
|
|
options: [e, t]
|
|
}), N5 = {
|
|
...F
|
|
}, PV = N5.useInsertionEffect, AV = PV || ((e) => e());
|
|
function j5(e) {
|
|
const t = F.useRef(() => {
|
|
if (process.env.NODE_ENV !== "production")
|
|
throw new Error("Cannot call an event handler while rendering.");
|
|
});
|
|
return AV(() => {
|
|
t.current = e;
|
|
}), F.useCallback(function() {
|
|
for (var r = arguments.length, n = new Array(r), o = 0; o < r; o++)
|
|
n[o] = arguments[o];
|
|
return t.current == null ? void 0 : t.current(...n);
|
|
}, []);
|
|
}
|
|
var Uh = typeof document < "u" ? pl : Se;
|
|
let wx = !1, CV = 0;
|
|
const xx = () => (
|
|
// Ensure the id is unique with multiple independent versions of Floating UI
|
|
// on <React 18
|
|
"floating-ui-" + Math.random().toString(36).slice(2, 6) + CV++
|
|
);
|
|
function NV() {
|
|
const [e, t] = F.useState(() => wx ? xx() : void 0);
|
|
return Uh(() => {
|
|
e == null && t(xx());
|
|
}, []), F.useEffect(() => {
|
|
wx = !0;
|
|
}, []), e;
|
|
}
|
|
const jV = N5.useId, _V = jV || NV;
|
|
let il;
|
|
process.env.NODE_ENV !== "production" && (il = /* @__PURE__ */ new Set());
|
|
function IV() {
|
|
for (var e, t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = "Floating UI: " + r.join(" ");
|
|
if (!((e = il) != null && e.has(o))) {
|
|
var a;
|
|
(a = il) == null || a.add(o), console.warn(o);
|
|
}
|
|
}
|
|
function TV() {
|
|
for (var e, t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = "Floating UI: " + r.join(" ");
|
|
if (!((e = il) != null && e.has(o))) {
|
|
var a;
|
|
(a = il) == null || a.add(o), console.error(o);
|
|
}
|
|
}
|
|
function RV() {
|
|
const e = /* @__PURE__ */ new Map();
|
|
return {
|
|
emit(t, r) {
|
|
var n;
|
|
(n = e.get(t)) == null || n.forEach((o) => o(r));
|
|
},
|
|
on(t, r) {
|
|
e.set(t, [...e.get(t) || [], r]);
|
|
},
|
|
off(t, r) {
|
|
var n;
|
|
e.set(t, ((n = e.get(t)) == null ? void 0 : n.filter((o) => o !== r)) || []);
|
|
}
|
|
};
|
|
}
|
|
const MV = /* @__PURE__ */ F.createContext(null), zV = /* @__PURE__ */ F.createContext(null), LV = () => {
|
|
var e;
|
|
return ((e = F.useContext(MV)) == null ? void 0 : e.id) || null;
|
|
}, FV = () => F.useContext(zV), DV = "data-floating-ui-focusable";
|
|
function VV(e) {
|
|
const {
|
|
open: t = !1,
|
|
onOpenChange: r,
|
|
elements: n
|
|
} = e, o = _V(), a = F.useRef({}), [i] = F.useState(() => RV()), s = LV() != null;
|
|
if (process.env.NODE_ENV !== "production") {
|
|
const g = n.reference;
|
|
g && !Ut(g) && TV("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead.");
|
|
}
|
|
const [l, c] = F.useState(n.reference), u = j5((g, v, m) => {
|
|
a.current.openEvent = g ? v : void 0, i.emit("openchange", {
|
|
open: g,
|
|
event: v,
|
|
reason: m,
|
|
nested: s
|
|
}), r == null || r(g, v, m);
|
|
}), f = F.useMemo(() => ({
|
|
setPositionReference: c
|
|
}), []), d = F.useMemo(() => ({
|
|
reference: l || n.reference || null,
|
|
floating: n.floating || null,
|
|
domReference: n.reference
|
|
}), [l, n.reference, n.floating]);
|
|
return F.useMemo(() => ({
|
|
dataRef: a,
|
|
open: t,
|
|
onOpenChange: u,
|
|
elements: d,
|
|
events: i,
|
|
floatingId: o,
|
|
refs: f
|
|
}), [t, u, d, i, o, f]);
|
|
}
|
|
function HV(e) {
|
|
e === void 0 && (e = {});
|
|
const {
|
|
nodeId: t
|
|
} = e, r = VV({
|
|
...e,
|
|
elements: {
|
|
reference: null,
|
|
floating: null,
|
|
...e.elements
|
|
}
|
|
}), n = e.rootContext || r, o = n.elements, [a, i] = F.useState(null), [s, l] = F.useState(null), c = (o == null ? void 0 : o.domReference) || a, u = F.useRef(null), f = FV();
|
|
Uh(() => {
|
|
c && (u.current = c);
|
|
}, [c]);
|
|
const d = kV({
|
|
...e,
|
|
elements: {
|
|
...o,
|
|
...s && {
|
|
reference: s
|
|
}
|
|
}
|
|
}), g = F.useCallback((x) => {
|
|
const $ = Ut(x) ? {
|
|
getBoundingClientRect: () => x.getBoundingClientRect(),
|
|
contextElement: x
|
|
} : x;
|
|
l($), d.refs.setReference($);
|
|
}, [d.refs]), v = F.useCallback((x) => {
|
|
(Ut(x) || x === null) && (u.current = x, i(x)), (Ut(d.refs.reference.current) || d.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
|
|
// `null` to support `positionReference` + an unstable `reference`
|
|
// callback ref.
|
|
x !== null && !Ut(x)) && d.refs.setReference(x);
|
|
}, [d.refs]), m = F.useMemo(() => ({
|
|
...d.refs,
|
|
setReference: v,
|
|
setPositionReference: g,
|
|
domReference: u
|
|
}), [d.refs, v, g]), h = F.useMemo(() => ({
|
|
...d.elements,
|
|
domReference: c
|
|
}), [d.elements, c]), w = F.useMemo(() => ({
|
|
...d,
|
|
...n,
|
|
refs: m,
|
|
elements: h,
|
|
nodeId: t
|
|
}), [d, m, h, t, n]);
|
|
return Uh(() => {
|
|
n.dataRef.current.floatingContext = w;
|
|
const x = f == null ? void 0 : f.nodesRef.current.find(($) => $.id === t);
|
|
x && (x.context = w);
|
|
}), F.useMemo(() => ({
|
|
...d,
|
|
context: w,
|
|
refs: m,
|
|
elements: h
|
|
}), [d, m, h, w]);
|
|
}
|
|
const $x = "active", kx = "selected";
|
|
function hp(e, t, r) {
|
|
const n = /* @__PURE__ */ new Map(), o = r === "item";
|
|
let a = e;
|
|
if (o && e) {
|
|
const {
|
|
[$x]: i,
|
|
[kx]: s,
|
|
...l
|
|
} = e;
|
|
a = l;
|
|
}
|
|
return {
|
|
...r === "floating" && {
|
|
tabIndex: -1,
|
|
[DV]: ""
|
|
},
|
|
...a,
|
|
...t.map((i) => {
|
|
const s = i ? i[r] : null;
|
|
return typeof s == "function" ? e ? s(e) : null : s;
|
|
}).concat(e).reduce((i, s) => (s && Object.entries(s).forEach((l) => {
|
|
let [c, u] = l;
|
|
if (!(o && [$x, kx].includes(c)))
|
|
if (c.indexOf("on") === 0) {
|
|
if (n.has(c) || n.set(c, []), typeof u == "function") {
|
|
var f;
|
|
(f = n.get(c)) == null || f.push(u), i[c] = function() {
|
|
for (var d, g = arguments.length, v = new Array(g), m = 0; m < g; m++)
|
|
v[m] = arguments[m];
|
|
return (d = n.get(c)) == null ? void 0 : d.map((h) => h(...v)).find((h) => h !== void 0);
|
|
};
|
|
}
|
|
} else
|
|
i[c] = u;
|
|
}), i), {})
|
|
};
|
|
}
|
|
function WV(e) {
|
|
e === void 0 && (e = []);
|
|
const t = e.map((s) => s == null ? void 0 : s.reference), r = e.map((s) => s == null ? void 0 : s.floating), n = e.map((s) => s == null ? void 0 : s.item), o = F.useCallback(
|
|
(s) => hp(s, e, "reference"),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
t
|
|
), a = F.useCallback(
|
|
(s) => hp(s, e, "floating"),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
r
|
|
), i = F.useCallback(
|
|
(s) => hp(s, e, "item"),
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
n
|
|
);
|
|
return F.useMemo(() => ({
|
|
getReferenceProps: o,
|
|
getFloatingProps: a,
|
|
getItemProps: i
|
|
}), [o, a, i]);
|
|
}
|
|
function Ox(e, t) {
|
|
return {
|
|
...e,
|
|
rects: {
|
|
...e.rects,
|
|
floating: {
|
|
...e.rects.floating,
|
|
height: t
|
|
}
|
|
}
|
|
};
|
|
}
|
|
const UV = (e) => ({
|
|
name: "inner",
|
|
options: e,
|
|
async fn(t) {
|
|
const {
|
|
listRef: r,
|
|
overflowRef: n,
|
|
onFallbackChange: o,
|
|
offset: a = 0,
|
|
index: i = 0,
|
|
minItemsVisible: s = 4,
|
|
referenceOverflowThreshold: l = 0,
|
|
scrollRef: c,
|
|
...u
|
|
} = Ii(e, t), {
|
|
rects: f,
|
|
elements: {
|
|
floating: d
|
|
}
|
|
} = t, g = r.current[i], v = (c == null ? void 0 : c.current) || d, m = d.clientTop || v.clientTop, h = d.clientTop !== 0, w = v.clientTop !== 0, x = d === v;
|
|
if (process.env.NODE_ENV !== "production" && (t.placement.startsWith("bottom") || IV('`placement` side must be "bottom" when using the `inner`', "middleware.")), !g)
|
|
return {};
|
|
const $ = {
|
|
...t,
|
|
...await C5(-g.offsetTop - d.clientTop - f.reference.height / 2 - g.offsetHeight / 2 - a).fn(t)
|
|
}, S = await pp(Ox($, v.scrollHeight + m + d.clientTop), u), p = await pp($, {
|
|
...u,
|
|
elementContext: "reference"
|
|
}), T = Wt(0, S.top), L = $.y + T, G = (v.scrollHeight > v.clientHeight ? (J) => J : al)(Wt(0, v.scrollHeight + (h && x || w ? m * 2 : 0) - T - Wt(0, S.bottom)));
|
|
if (v.style.maxHeight = G + "px", v.scrollTop = T, o) {
|
|
const J = v.offsetHeight < g.offsetHeight * fa(s, r.current.length) - 1 || p.top >= -l || p.bottom >= -l;
|
|
Fs.flushSync(() => o(J));
|
|
}
|
|
return n && (n.current = await pp(Ox({
|
|
...$,
|
|
y: L
|
|
}, v.offsetHeight + m + d.clientTop), u)), {
|
|
y: L
|
|
};
|
|
}
|
|
});
|
|
function YV(e, t) {
|
|
const {
|
|
open: r,
|
|
elements: n
|
|
} = e, {
|
|
enabled: o = !0,
|
|
overflowRef: a,
|
|
scrollRef: i,
|
|
onChange: s
|
|
} = t, l = j5(s), c = F.useRef(!1), u = F.useRef(null), f = F.useRef(null);
|
|
F.useEffect(() => {
|
|
if (!o) return;
|
|
function g(m) {
|
|
if (m.ctrlKey || !v || a.current == null)
|
|
return;
|
|
const h = m.deltaY, w = a.current.top >= -0.5, x = a.current.bottom >= -0.5, $ = v.scrollHeight - v.clientHeight, S = h < 0 ? -1 : 1, p = h < 0 ? "max" : "min";
|
|
v.scrollHeight <= v.clientHeight || (!w && h > 0 || !x && h < 0 ? (m.preventDefault(), Fs.flushSync(() => {
|
|
l((T) => T + Math[p](h, $ * S));
|
|
})) : /firefox/i.test(VD()) && (v.scrollTop += h));
|
|
}
|
|
const v = (i == null ? void 0 : i.current) || n.floating;
|
|
if (r && v)
|
|
return v.addEventListener("wheel", g), requestAnimationFrame(() => {
|
|
u.current = v.scrollTop, a.current != null && (f.current = {
|
|
...a.current
|
|
});
|
|
}), () => {
|
|
u.current = null, f.current = null, v.removeEventListener("wheel", g);
|
|
};
|
|
}, [o, r, n.floating, a, i, l]);
|
|
const d = F.useMemo(() => ({
|
|
onKeyDown() {
|
|
c.current = !0;
|
|
},
|
|
onWheel() {
|
|
c.current = !1;
|
|
},
|
|
onPointerMove() {
|
|
c.current = !1;
|
|
},
|
|
onScroll() {
|
|
const g = (i == null ? void 0 : i.current) || n.floating;
|
|
if (!(!a.current || !g || !c.current)) {
|
|
if (u.current !== null) {
|
|
const v = g.scrollTop - u.current;
|
|
(a.current.bottom < -0.5 && v < -1 || a.current.top < -0.5 && v > 1) && Fs.flushSync(() => l((m) => m + v));
|
|
}
|
|
requestAnimationFrame(() => {
|
|
u.current = g.scrollTop;
|
|
});
|
|
}
|
|
}
|
|
}), [n.floating, l, a, i]);
|
|
return F.useMemo(() => o ? {
|
|
floating: d
|
|
} : {}, [o, d]);
|
|
}
|
|
let Ti = It({ styles: void 0, setReference: () => {
|
|
}, setFloating: () => {
|
|
}, getReferenceProps: () => ({}), getFloatingProps: () => ({}), slot: {} });
|
|
Ti.displayName = "FloatingContext";
|
|
let Oy = It(null);
|
|
Oy.displayName = "PlacementContext";
|
|
function qV(e) {
|
|
return ut(() => e ? typeof e == "string" ? { to: e } : e : null, [e]);
|
|
}
|
|
function BV() {
|
|
return lt(Ti).setReference;
|
|
}
|
|
function GV() {
|
|
return lt(Ti).getReferenceProps;
|
|
}
|
|
function KV() {
|
|
let { getFloatingProps: e, slot: t } = lt(Ti);
|
|
return Ye((...r) => Object.assign({}, e(...r), { "data-anchor": t.anchor }), [e, t]);
|
|
}
|
|
function XV(e = null) {
|
|
e === !1 && (e = null), typeof e == "string" && (e = { to: e });
|
|
let t = lt(Oy), r = ut(() => e, [JSON.stringify(e, (o, a) => {
|
|
var i;
|
|
return (i = a == null ? void 0 : a.outerHTML) != null ? i : a;
|
|
})]);
|
|
Pt(() => {
|
|
t == null || t(r ?? null);
|
|
}, [t, r]);
|
|
let n = lt(Ti);
|
|
return ut(() => [n.setFloating, e ? n.styles : {}], [n.setFloating, e, n.styles]);
|
|
}
|
|
let Sx = 4;
|
|
function JV({ children: e, enabled: t = !0 }) {
|
|
let [r, n] = $e(null), [o, a] = $e(0), i = ce(null), [s, l] = $e(null);
|
|
QV(s);
|
|
let c = t && r !== null && s !== null, { to: u = "bottom", gap: f = 0, offset: d = 0, padding: g = 0, inner: v } = ZV(r, s), [m, h = "center"] = u.split(" ");
|
|
Pt(() => {
|
|
c && a(0);
|
|
}, [c]);
|
|
let { refs: w, floatingStyles: x, context: $ } = HV({ open: c, placement: m === "selection" ? h === "center" ? "bottom" : `bottom-${h}` : h === "center" ? `${m}` : `${m}-${h}`, strategy: "absolute", transform: !1, middleware: [C5({ mainAxis: m === "selection" ? 0 : f, crossAxis: d }), OV({ padding: g }), m !== "selection" && SV({ padding: g }), m === "selection" && v ? UV({ ...v, padding: g, overflowRef: i, offset: o, minItemsVisible: Sx, referenceOverflowThreshold: g, onFallbackChange(Z) {
|
|
var M, ee;
|
|
if (!Z) return;
|
|
let D = $.elements.floating;
|
|
if (!D) return;
|
|
let V = parseFloat(getComputedStyle(D).scrollPaddingBottom) || 0, H = Math.min(Sx, D.childElementCount), W = 0, Y = 0;
|
|
for (let K of (ee = (M = $.elements.floating) == null ? void 0 : M.childNodes) != null ? ee : []) if (K instanceof HTMLElement) {
|
|
let y = K.offsetTop, b = y + K.clientHeight + V, E = D.scrollTop, A = E + D.clientHeight;
|
|
if (y >= E && b <= A) H--;
|
|
else {
|
|
Y = Math.max(0, Math.min(b, A) - Math.max(y, E)), W = K.clientHeight;
|
|
break;
|
|
}
|
|
}
|
|
H >= 1 && a((K) => {
|
|
let y = W * H - Y + V;
|
|
return K >= y ? K : y;
|
|
});
|
|
} }) : null, EV({ padding: g, apply({ availableWidth: Z, availableHeight: M, elements: ee }) {
|
|
Object.assign(ee.floating.style, { overflow: "auto", maxWidth: `${Z}px`, maxHeight: `min(var(--anchor-max-height, 100vh), ${M}px)` });
|
|
} })].filter(Boolean), whileElementsMounted: bV }), [S = m, p = h] = $.placement.split("-");
|
|
m === "selection" && (S = "selection");
|
|
let T = ut(() => ({ anchor: [S, p].filter(Boolean).join(" ") }), [S, p]), L = YV($, { overflowRef: i, onChange: a }), { getReferenceProps: G, getFloatingProps: J } = WV([L]), B = Be((Z) => {
|
|
l(Z), w.setFloating(Z);
|
|
});
|
|
return F.createElement(Oy.Provider, { value: n }, F.createElement(Ti.Provider, { value: { setFloating: B, setReference: w.setReference, styles: x, getReferenceProps: G, getFloatingProps: J, slot: T } }, e));
|
|
}
|
|
function QV(e) {
|
|
Pt(() => {
|
|
if (!e) return;
|
|
let t = new MutationObserver(() => {
|
|
let r = window.getComputedStyle(e).maxHeight, n = parseFloat(r);
|
|
if (isNaN(n)) return;
|
|
let o = parseInt(r);
|
|
isNaN(o) || n !== o && (e.style.maxHeight = `${Math.ceil(n)}px`);
|
|
});
|
|
return t.observe(e, { attributes: !0, attributeFilter: ["style"] }), () => {
|
|
t.disconnect();
|
|
};
|
|
}, [e]);
|
|
}
|
|
function ZV(e, t) {
|
|
var r, n, o;
|
|
let a = gp((r = e == null ? void 0 : e.gap) != null ? r : "var(--anchor-gap, 0)", t), i = gp((n = e == null ? void 0 : e.offset) != null ? n : "var(--anchor-offset, 0)", t), s = gp((o = e == null ? void 0 : e.padding) != null ? o : "var(--anchor-padding, 0)", t);
|
|
return { ...e, gap: a, offset: i, padding: s };
|
|
}
|
|
function gp(e, t, r = void 0) {
|
|
let n = ji(), o = Be((l, c) => {
|
|
if (l == null) return [r, null];
|
|
if (typeof l == "number") return [l, null];
|
|
if (typeof l == "string") {
|
|
if (!c) return [r, null];
|
|
let u = Ex(l, c);
|
|
return [u, (f) => {
|
|
let d = _5(l);
|
|
{
|
|
let g = d.map((v) => window.getComputedStyle(c).getPropertyValue(v));
|
|
n.requestAnimationFrame(function v() {
|
|
n.nextFrame(v);
|
|
let m = !1;
|
|
for (let [w, x] of d.entries()) {
|
|
let $ = window.getComputedStyle(c).getPropertyValue(x);
|
|
if (g[w] !== $) {
|
|
g[w] = $, m = !0;
|
|
break;
|
|
}
|
|
}
|
|
if (!m) return;
|
|
let h = Ex(l, c);
|
|
u !== h && (f(h), u = h);
|
|
});
|
|
}
|
|
return n.dispose;
|
|
}];
|
|
}
|
|
return [r, null];
|
|
}), a = ut(() => o(e, t)[0], [e, t]), [i = a, s] = $e();
|
|
return Pt(() => {
|
|
let [l, c] = o(e, t);
|
|
if (s(l), !!c) return c(s);
|
|
}, [e, t]), i;
|
|
}
|
|
function _5(e) {
|
|
let t = /var\((.*)\)/.exec(e);
|
|
if (t) {
|
|
let r = t[1].indexOf(",");
|
|
if (r === -1) return [t[1]];
|
|
let n = t[1].slice(0, r).trim(), o = t[1].slice(r + 1).trim();
|
|
return o ? [n, ..._5(o)] : [n];
|
|
}
|
|
return [];
|
|
}
|
|
function Ex(e, t) {
|
|
let r = document.createElement("div");
|
|
t.appendChild(r), r.style.setProperty("margin-top", "0px", "important"), r.style.setProperty("margin-top", e, "important");
|
|
let n = parseFloat(window.getComputedStyle(r).marginTop) || 0;
|
|
return t.removeChild(r), n;
|
|
}
|
|
function eH(e, t) {
|
|
let [r, n] = $e(t);
|
|
return !e && r !== t && n(t), e ? r : t;
|
|
}
|
|
let Sy = It(null);
|
|
Sy.displayName = "OpenClosedContext";
|
|
var Sr = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(Sr || {});
|
|
function Ey() {
|
|
return lt(Sy);
|
|
}
|
|
function I5({ value: e, children: t }) {
|
|
return ue.createElement(Sy.Provider, { value: e }, t);
|
|
}
|
|
function tH(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var bp = { exports: {} }, yp = {};
|
|
/**
|
|
* @license React
|
|
* use-sync-external-store-with-selector.production.js
|
|
*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var Px;
|
|
function rH() {
|
|
if (Px) return yp;
|
|
Px = 1;
|
|
var e = ue;
|
|
function t(l, c) {
|
|
return l === c && (l !== 0 || 1 / l === 1 / c) || l !== l && c !== c;
|
|
}
|
|
var r = typeof Object.is == "function" ? Object.is : t, n = e.useSyncExternalStore, o = e.useRef, a = e.useEffect, i = e.useMemo, s = e.useDebugValue;
|
|
return yp.useSyncExternalStoreWithSelector = function(l, c, u, f, d) {
|
|
var g = o(null);
|
|
if (g.current === null) {
|
|
var v = { hasValue: !1, value: null };
|
|
g.current = v;
|
|
} else v = g.current;
|
|
g = i(
|
|
function() {
|
|
function h(p) {
|
|
if (!w) {
|
|
if (w = !0, x = p, p = f(p), d !== void 0 && v.hasValue) {
|
|
var T = v.value;
|
|
if (d(T, p))
|
|
return $ = T;
|
|
}
|
|
return $ = p;
|
|
}
|
|
if (T = $, r(x, p)) return T;
|
|
var L = f(p);
|
|
return d !== void 0 && d(T, L) ? (x = p, T) : (x = p, $ = L);
|
|
}
|
|
var w = !1, x, $, S = u === void 0 ? null : u;
|
|
return [
|
|
function() {
|
|
return h(c());
|
|
},
|
|
S === null ? void 0 : function() {
|
|
return h(S());
|
|
}
|
|
];
|
|
},
|
|
[c, u, f, d]
|
|
);
|
|
var m = n(l, g[0], g[1]);
|
|
return a(
|
|
function() {
|
|
v.hasValue = !0, v.value = m;
|
|
},
|
|
[m]
|
|
), s(m), m;
|
|
}, yp;
|
|
}
|
|
var Ax = {};
|
|
/**
|
|
* @license React
|
|
* use-sync-external-store-with-selector.development.js
|
|
*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var Cx;
|
|
function nH() {
|
|
return Cx || (Cx = 1, process.env.NODE_ENV !== "production" && function() {
|
|
function e(l, c) {
|
|
return l === c && (l !== 0 || 1 / l === 1 / c) || l !== l && c !== c;
|
|
}
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
var t = ue, r = typeof Object.is == "function" ? Object.is : e, n = t.useSyncExternalStore, o = t.useRef, a = t.useEffect, i = t.useMemo, s = t.useDebugValue;
|
|
Ax.useSyncExternalStoreWithSelector = function(l, c, u, f, d) {
|
|
var g = o(null);
|
|
if (g.current === null) {
|
|
var v = { hasValue: !1, value: null };
|
|
g.current = v;
|
|
} else v = g.current;
|
|
g = i(
|
|
function() {
|
|
function h(p) {
|
|
if (!w) {
|
|
if (w = !0, x = p, p = f(p), d !== void 0 && v.hasValue) {
|
|
var T = v.value;
|
|
if (d(T, p))
|
|
return $ = T;
|
|
}
|
|
return $ = p;
|
|
}
|
|
if (T = $, r(x, p))
|
|
return T;
|
|
var L = f(p);
|
|
return d !== void 0 && d(T, L) ? (x = p, T) : (x = p, $ = L);
|
|
}
|
|
var w = !1, x, $, S = u === void 0 ? null : u;
|
|
return [
|
|
function() {
|
|
return h(c());
|
|
},
|
|
S === null ? void 0 : function() {
|
|
return h(S());
|
|
}
|
|
];
|
|
},
|
|
[c, u, f, d]
|
|
);
|
|
var m = n(l, g[0], g[1]);
|
|
return a(
|
|
function() {
|
|
v.hasValue = !0, v.value = m;
|
|
},
|
|
[m]
|
|
), s(m), m;
|
|
}, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
|
}()), Ax;
|
|
}
|
|
var Nx;
|
|
function oH() {
|
|
return Nx || (Nx = 1, process.env.NODE_ENV === "production" ? bp.exports = rH() : bp.exports = nH()), bp.exports;
|
|
}
|
|
var aH = oH(), T5 = (e, t, r) => {
|
|
if (!t.has(e)) throw TypeError("Cannot " + r);
|
|
}, $r = (e, t, r) => (T5(e, t, "read from private field"), r ? r.call(e) : t.get(e)), vp = (e, t, r) => {
|
|
if (t.has(e)) throw TypeError("Cannot add the same private member more than once");
|
|
t instanceof WeakSet ? t.add(e) : t.set(e, r);
|
|
}, jx = (e, t, r, n) => (T5(e, t, "write to private field"), t.set(e, r), r), mn, ds, ps;
|
|
let iH = class {
|
|
constructor(t) {
|
|
vp(this, mn, {}), vp(this, ds, new l5(() => /* @__PURE__ */ new Set())), vp(this, ps, /* @__PURE__ */ new Set()), jx(this, mn, t);
|
|
}
|
|
get state() {
|
|
return $r(this, mn);
|
|
}
|
|
subscribe(t, r) {
|
|
let n = { selector: t, callback: r, current: t($r(this, mn)) };
|
|
return $r(this, ps).add(n), () => {
|
|
$r(this, ps).delete(n);
|
|
};
|
|
}
|
|
on(t, r) {
|
|
return $r(this, ds).get(t).add(r), () => {
|
|
$r(this, ds).get(t).delete(r);
|
|
};
|
|
}
|
|
send(t) {
|
|
jx(this, mn, this.reduce($r(this, mn), t));
|
|
for (let r of $r(this, ps)) {
|
|
let n = r.selector($r(this, mn));
|
|
R5(r.current, n) || (r.current = n, r.callback(n));
|
|
}
|
|
for (let r of $r(this, ds).get(t.type)) r($r(this, mn), t);
|
|
}
|
|
};
|
|
mn = /* @__PURE__ */ new WeakMap(), ds = /* @__PURE__ */ new WeakMap(), ps = /* @__PURE__ */ new WeakMap();
|
|
function R5(e, t) {
|
|
return Object.is(e, t) ? !0 : typeof e != "object" || e === null || typeof t != "object" || t === null ? !1 : Array.isArray(e) && Array.isArray(t) ? e.length !== t.length ? !1 : wp(e[Symbol.iterator](), t[Symbol.iterator]()) : e instanceof Map && t instanceof Map || e instanceof Set && t instanceof Set ? e.size !== t.size ? !1 : wp(e.entries(), t.entries()) : _x(e) && _x(t) ? wp(Object.entries(e)[Symbol.iterator](), Object.entries(t)[Symbol.iterator]()) : !1;
|
|
}
|
|
function wp(e, t) {
|
|
do {
|
|
let r = e.next(), n = t.next();
|
|
if (r.done && n.done) return !0;
|
|
if (r.done || n.done || !Object.is(r.value, n.value)) return !1;
|
|
} while (!0);
|
|
}
|
|
function _x(e) {
|
|
if (Object.prototype.toString.call(e) !== "[object Object]") return !1;
|
|
let t = Object.getPrototypeOf(e);
|
|
return t === null || Object.getPrototypeOf(t) === null;
|
|
}
|
|
function xp(e) {
|
|
let [t, r] = e(), n = on();
|
|
return (...o) => {
|
|
t(...o), n.dispose(), n.microTask(r);
|
|
};
|
|
}
|
|
function Er(e, t, r = R5) {
|
|
return aH.useSyncExternalStoreWithSelector(Be((n) => e.subscribe(sH, n)), Be(() => e.state), Be(() => e.state), Be(t), r);
|
|
}
|
|
function sH(e) {
|
|
return e;
|
|
}
|
|
function lH(e) {
|
|
throw new Error("Unexpected object: " + e);
|
|
}
|
|
var Vt = ((e) => (e[e.First = 0] = "First", e[e.Previous = 1] = "Previous", e[e.Next = 2] = "Next", e[e.Last = 3] = "Last", e[e.Specific = 4] = "Specific", e[e.Nothing = 5] = "Nothing", e))(Vt || {});
|
|
function $p(e, t) {
|
|
let r = t.resolveItems();
|
|
if (r.length <= 0) return null;
|
|
let n = t.resolveActiveIndex(), o = n ?? -1;
|
|
switch (e.focus) {
|
|
case 0: {
|
|
for (let a = 0; a < r.length; ++a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 1: {
|
|
o === -1 && (o = r.length);
|
|
for (let a = o - 1; a >= 0; --a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 2: {
|
|
for (let a = o + 1; a < r.length; ++a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 3: {
|
|
for (let a = r.length - 1; a >= 0; --a) if (!t.resolveDisabled(r[a], a, r)) return a;
|
|
return n;
|
|
}
|
|
case 4: {
|
|
for (let a = 0; a < r.length; ++a) if (t.resolveId(r[a], a, r) === e.id) return a;
|
|
return n;
|
|
}
|
|
case 5:
|
|
return null;
|
|
default:
|
|
lH(e);
|
|
}
|
|
}
|
|
function cH(e) {
|
|
let t = Be(e), r = ce(!1);
|
|
Se(() => (r.current = !1, () => {
|
|
r.current = !0, XS(() => {
|
|
r.current && t();
|
|
});
|
|
}), [t]);
|
|
}
|
|
function uH() {
|
|
let e = typeof document > "u";
|
|
return "useSyncExternalStore" in F ? ((t) => t.useSyncExternalStore)(F)(() => () => {
|
|
}, () => !1, () => !e) : !1;
|
|
}
|
|
function Py() {
|
|
let e = uH(), [t, r] = F.useState(Qo.isHandoffComplete);
|
|
return t && Qo.isHandoffComplete === !1 && r(!1), F.useEffect(() => {
|
|
t !== !0 && r(!0);
|
|
}, [t]), F.useEffect(() => Qo.handoff(), []), e ? !1 : t;
|
|
}
|
|
let fH = It(!1);
|
|
function dH() {
|
|
return lt(fH);
|
|
}
|
|
function pH(e) {
|
|
let t = dH(), r = lt(z5), [n, o] = $e(() => {
|
|
var a;
|
|
if (!t && r !== null) return (a = r.current) != null ? a : null;
|
|
if (Qo.isServer) return null;
|
|
let i = e == null ? void 0 : e.getElementById("headlessui-portal-root");
|
|
if (i) return i;
|
|
if (e === null) return null;
|
|
let s = e.createElement("div");
|
|
return s.setAttribute("id", "headlessui-portal-root"), e.body.appendChild(s);
|
|
});
|
|
return Se(() => {
|
|
n !== null && (e != null && e.body.contains(n) || e == null || e.body.appendChild(n));
|
|
}, [n, e]), Se(() => {
|
|
t || r !== null && o(r.current);
|
|
}, [r, o, t]), n;
|
|
}
|
|
let M5 = Tt, mH = ir(function(e, t) {
|
|
let { ownerDocument: r = null, ...n } = e, o = ce(null), a = wr(XF((g) => {
|
|
o.current = g;
|
|
}), t), i = Vh(o), s = r ?? i, l = pH(s), [c] = $e(() => {
|
|
var g;
|
|
return Qo.isServer ? null : (g = s == null ? void 0 : s.createElement("div")) != null ? g : null;
|
|
}), u = lt(yH), f = Py();
|
|
Pt(() => {
|
|
!l || !c || l.contains(c) || (c.setAttribute("data-headlessui-portal", ""), l.appendChild(c));
|
|
}, [l, c]), Pt(() => {
|
|
if (c && u) return u.register(c);
|
|
}, [u, c]), cH(() => {
|
|
var g;
|
|
!l || !c || (c instanceof Node && l.contains(c) && l.removeChild(c), l.childNodes.length <= 0 && ((g = l.parentElement) == null || g.removeChild(l)));
|
|
});
|
|
let d = fr();
|
|
return f ? !l || !c ? null : Rk(d({ ourProps: { ref: a }, theirProps: n, slot: {}, defaultTag: M5, name: "Portal" }), c) : null;
|
|
});
|
|
function hH(e, t) {
|
|
let r = wr(t), { enabled: n = !0, ownerDocument: o, ...a } = e, i = fr();
|
|
return n ? ue.createElement(mH, { ...a, ownerDocument: o, ref: r }) : i({ ourProps: { ref: r }, theirProps: a, slot: {}, defaultTag: M5, name: "Portal" });
|
|
}
|
|
let gH = Tt, z5 = It(null);
|
|
function bH(e, t) {
|
|
let { target: r, ...n } = e, o = { ref: wr(t) }, a = fr();
|
|
return ue.createElement(z5.Provider, { value: r }, a({ ourProps: o, theirProps: n, defaultTag: gH, name: "Popover.Group" }));
|
|
}
|
|
let yH = It(null), vH = ir(hH), wH = ir(bH), xH = Object.assign(vH, { Group: wH });
|
|
function $H() {
|
|
let e = ce(!1);
|
|
return Pt(() => (e.current = !0, () => {
|
|
e.current = !1;
|
|
}), []), e;
|
|
}
|
|
function L5(e) {
|
|
var t;
|
|
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : D5) !== Tt || ue.Children.count(e.children) === 1;
|
|
}
|
|
let $f = It(null);
|
|
$f.displayName = "TransitionContext";
|
|
var kH = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(kH || {});
|
|
function OH() {
|
|
let e = lt($f);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
function SH() {
|
|
let e = lt(kf);
|
|
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
|
|
return e;
|
|
}
|
|
let kf = It(null);
|
|
kf.displayName = "NestingContext";
|
|
function Of(e) {
|
|
return "children" in e ? Of(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
|
|
}
|
|
function F5(e, t) {
|
|
let r = $a(e), n = ce([]), o = $H(), a = ji(), i = Be((g, v = fo.Hidden) => {
|
|
let m = n.current.findIndex(({ el: h }) => h === g);
|
|
m !== -1 && (Cr(v, { [fo.Unmount]() {
|
|
n.current.splice(m, 1);
|
|
}, [fo.Hidden]() {
|
|
n.current[m].state = "hidden";
|
|
} }), a.microTask(() => {
|
|
var h;
|
|
!Of(n) && o.current && ((h = r.current) == null || h.call(r));
|
|
}));
|
|
}), s = Be((g) => {
|
|
let v = n.current.find(({ el: m }) => m === g);
|
|
return v ? v.state !== "visible" && (v.state = "visible") : n.current.push({ el: g, state: "visible" }), () => i(g, fo.Unmount);
|
|
}), l = ce([]), c = ce(Promise.resolve()), u = ce({ enter: [], leave: [] }), f = Be((g, v, m) => {
|
|
l.current.splice(0), t && (t.chains.current[v] = t.chains.current[v].filter(([h]) => h !== g)), t == null || t.chains.current[v].push([g, new Promise((h) => {
|
|
l.current.push(h);
|
|
})]), t == null || t.chains.current[v].push([g, new Promise((h) => {
|
|
Promise.all(u.current[v].map(([w, x]) => x)).then(() => h());
|
|
})]), v === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => m(v)) : m(v);
|
|
}), d = Be((g, v, m) => {
|
|
Promise.all(u.current[v].splice(0).map(([h, w]) => w)).then(() => {
|
|
var h;
|
|
(h = l.current.shift()) == null || h();
|
|
}).then(() => m(v));
|
|
});
|
|
return ut(() => ({ children: n, register: s, unregister: i, onStart: f, onStop: d, wait: c, chains: u }), [s, i, n, f, d, u, c]);
|
|
}
|
|
let D5 = Tt, V5 = wu.RenderStrategy;
|
|
function EH(e, t) {
|
|
var r, n;
|
|
let { transition: o = !0, beforeEnter: a, afterEnter: i, beforeLeave: s, afterLeave: l, enter: c, enterFrom: u, enterTo: f, entered: d, leave: g, leaveFrom: v, leaveTo: m, ...h } = e, [w, x] = $e(null), $ = ce(null), S = L5(e), p = wr(...S ? [$, t, x] : t === null ? [] : [t]), T = (r = h.unmount) == null || r ? fo.Unmount : fo.Hidden, { show: L, appear: G, initial: J } = OH(), [B, Z] = $e(L ? "visible" : "hidden"), M = SH(), { register: ee, unregister: D } = M;
|
|
Pt(() => ee($), [ee, $]), Pt(() => {
|
|
if (T === fo.Hidden && $.current) {
|
|
if (L && B !== "visible") {
|
|
Z("visible");
|
|
return;
|
|
}
|
|
return Cr(B, { hidden: () => D($), visible: () => ee($) });
|
|
}
|
|
}, [B, $, ee, D, L, T]);
|
|
let V = Py();
|
|
Pt(() => {
|
|
if (S && V && B === "visible" && $.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
|
|
}, [$, B, V, S]);
|
|
let H = J && !G, W = G && L && J, Y = ce(!1), K = F5(() => {
|
|
Y.current || (Z("hidden"), D($));
|
|
}, M), y = Be((P) => {
|
|
Y.current = !0;
|
|
let _ = P ? "enter" : "leave";
|
|
K.onStart($, _, (I) => {
|
|
I === "enter" ? a == null || a() : I === "leave" && (s == null || s());
|
|
});
|
|
}), b = Be((P) => {
|
|
let _ = P ? "enter" : "leave";
|
|
Y.current = !1, K.onStop($, _, (I) => {
|
|
I === "enter" ? i == null || i() : I === "leave" && (l == null || l());
|
|
}), _ === "leave" && !Of(K) && (Z("hidden"), D($));
|
|
});
|
|
Se(() => {
|
|
S && o || (y(L), b(L));
|
|
}, [L, S, o]);
|
|
let E = !(!o || !S || !V || H), [, A] = g5(E, w, L, { start: y, end: b }), C = so({ ref: p, className: ((n = zh(h.className, W && c, W && u, A.enter && c, A.enter && A.closed && u, A.enter && !A.closed && f, A.leave && g, A.leave && !A.closed && v, A.leave && A.closed && m, !A.transition && L && d)) == null ? void 0 : n.trim()) || void 0, ...h5(A) }), j = 0;
|
|
B === "visible" && (j |= Sr.Open), B === "hidden" && (j |= Sr.Closed), L && B === "hidden" && (j |= Sr.Opening), !L && B === "visible" && (j |= Sr.Closing);
|
|
let N = fr();
|
|
return ue.createElement(kf.Provider, { value: K }, ue.createElement(I5, { value: j }, N({ ourProps: C, theirProps: h, defaultTag: D5, features: V5, visible: B === "visible", name: "Transition.Child" })));
|
|
}
|
|
function PH(e, t) {
|
|
let { show: r, appear: n = !1, unmount: o = !0, ...a } = e, i = ce(null), s = L5(e), l = wr(...s ? [i, t] : t === null ? [] : [t]);
|
|
Py();
|
|
let c = Ey();
|
|
if (r === void 0 && c !== null && (r = (c & Sr.Open) === Sr.Open), r === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
|
|
let [u, f] = $e(r ? "visible" : "hidden"), d = F5(() => {
|
|
r || f("hidden");
|
|
}), [g, v] = $e(!0), m = ce([r]);
|
|
Pt(() => {
|
|
g !== !1 && m.current[m.current.length - 1] !== r && (m.current.push(r), v(!1));
|
|
}, [m, r]);
|
|
let h = ut(() => ({ show: r, appear: n, initial: g }), [r, n, g]);
|
|
Pt(() => {
|
|
r ? f("visible") : !Of(d) && i.current !== null && f("hidden");
|
|
}, [r, d]);
|
|
let w = { unmount: o }, x = Be(() => {
|
|
var p;
|
|
g && v(!1), (p = e.beforeEnter) == null || p.call(e);
|
|
}), $ = Be(() => {
|
|
var p;
|
|
g && v(!1), (p = e.beforeLeave) == null || p.call(e);
|
|
}), S = fr();
|
|
return ue.createElement(kf.Provider, { value: d }, ue.createElement($f.Provider, { value: h }, S({ ourProps: { ...w, as: Tt, children: ue.createElement(H5, { ref: l, ...w, ...a, beforeEnter: x, beforeLeave: $ }) }, theirProps: {}, defaultTag: Tt, features: V5, visible: u === "visible", name: "Transition" })));
|
|
}
|
|
function AH(e, t) {
|
|
let r = lt($f) !== null, n = Ey() !== null;
|
|
return ue.createElement(ue.Fragment, null, !r && n ? ue.createElement(Yh, { ref: t, ...e }) : ue.createElement(H5, { ref: t, ...e }));
|
|
}
|
|
let Yh = ir(PH), H5 = ir(EH), CH = ir(AH), NH = Object.assign(Yh, { Child: CH, Root: Yh });
|
|
function jH(e, t) {
|
|
let r = ce({ left: 0, top: 0 });
|
|
if (Pt(() => {
|
|
if (!t) return;
|
|
let o = t.getBoundingClientRect();
|
|
o && (r.current = o);
|
|
}, [e, t]), t == null || !e || t === document.activeElement) return !1;
|
|
let n = t.getBoundingClientRect();
|
|
return n.top !== r.current.top || n.left !== r.current.left;
|
|
}
|
|
let Ix = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
|
|
function Tx(e) {
|
|
var t, r;
|
|
let n = (t = e.innerText) != null ? t : "", o = e.cloneNode(!0);
|
|
if (!(o instanceof HTMLElement)) return n;
|
|
let a = !1;
|
|
for (let s of o.querySelectorAll('[hidden],[aria-hidden],[role="img"]')) s.remove(), a = !0;
|
|
let i = a ? (r = o.innerText) != null ? r : "" : n;
|
|
return Ix.test(i) && (i = i.replace(Ix, "")), i;
|
|
}
|
|
function _H(e) {
|
|
let t = e.getAttribute("aria-label");
|
|
if (typeof t == "string") return t.trim();
|
|
let r = e.getAttribute("aria-labelledby");
|
|
if (r) {
|
|
let n = r.split(" ").map((o) => {
|
|
let a = document.getElementById(o);
|
|
if (a) {
|
|
let i = a.getAttribute("aria-label");
|
|
return typeof i == "string" ? i.trim() : Tx(a).trim();
|
|
}
|
|
return null;
|
|
}).filter(Boolean);
|
|
if (n.length > 0) return n.join(", ");
|
|
}
|
|
return Tx(e).trim();
|
|
}
|
|
function IH(e) {
|
|
let t = ce(""), r = ce("");
|
|
return Be(() => {
|
|
let n = e.current;
|
|
if (!n) return "";
|
|
let o = n.innerText;
|
|
if (t.current === o) return r.current;
|
|
let a = _H(n).trim().toLowerCase();
|
|
return t.current = o, r.current = a, a;
|
|
});
|
|
}
|
|
var TH = Object.defineProperty, RH = (e, t, r) => t in e ? TH(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Rx = (e, t, r) => (RH(e, typeof t != "symbol" ? t + "" : t, r), r), zt = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(zt || {}), Br = ((e) => (e[e.Single = 0] = "Single", e[e.Multi = 1] = "Multi", e))(Br || {}), qh = ((e) => (e[e.Pointer = 0] = "Pointer", e[e.Other = 1] = "Other", e))(qh || {}), W5 = ((e) => (e[e.OpenListbox = 0] = "OpenListbox", e[e.CloseListbox = 1] = "CloseListbox", e[e.GoToOption = 2] = "GoToOption", e[e.Search = 3] = "Search", e[e.ClearSearch = 4] = "ClearSearch", e[e.RegisterOptions = 5] = "RegisterOptions", e[e.UnregisterOptions = 6] = "UnregisterOptions", e[e.SetButtonElement = 7] = "SetButtonElement", e[e.SetOptionsElement = 8] = "SetOptionsElement", e[e.SortOptions = 9] = "SortOptions", e))(W5 || {});
|
|
function Mx(e, t = (r) => r) {
|
|
let r = e.activeOptionIndex !== null ? e.options[e.activeOptionIndex] : null, n = p5(t(e.options.slice()), (a) => a.dataRef.current.domRef.current), o = r ? n.indexOf(r) : null;
|
|
return o === -1 && (o = null), { options: n, activeOptionIndex: o };
|
|
}
|
|
let MH = { 1(e) {
|
|
return e.dataRef.current.disabled || e.listboxState === 1 ? e : { ...e, activeOptionIndex: null, listboxState: 1, __demoMode: !1 };
|
|
}, 0(e) {
|
|
if (e.dataRef.current.disabled || e.listboxState === 0) return e;
|
|
let t = e.activeOptionIndex, { isSelected: r } = e.dataRef.current, n = e.options.findIndex((o) => r(o.dataRef.current.value));
|
|
return n !== -1 && (t = n), { ...e, listboxState: 0, activeOptionIndex: t, __demoMode: !1 };
|
|
}, 2(e, t) {
|
|
var r, n, o, a, i;
|
|
if (e.dataRef.current.disabled || e.listboxState === 1) return e;
|
|
let s = { ...e, searchQuery: "", activationTrigger: (r = t.trigger) != null ? r : 1, __demoMode: !1 };
|
|
if (t.focus === Vt.Nothing) return { ...s, activeOptionIndex: null };
|
|
if (t.focus === Vt.Specific) return { ...s, activeOptionIndex: e.options.findIndex((u) => u.id === t.id) };
|
|
if (t.focus === Vt.Previous) {
|
|
let u = e.activeOptionIndex;
|
|
if (u !== null) {
|
|
let f = e.options[u].dataRef.current.domRef, d = $p(t, { resolveItems: () => e.options, resolveActiveIndex: () => e.activeOptionIndex, resolveId: (g) => g.id, resolveDisabled: (g) => g.dataRef.current.disabled });
|
|
if (d !== null) {
|
|
let g = e.options[d].dataRef.current.domRef;
|
|
if (((n = f.current) == null ? void 0 : n.previousElementSibling) === g.current || ((o = g.current) == null ? void 0 : o.previousElementSibling) === null) return { ...s, activeOptionIndex: d };
|
|
}
|
|
}
|
|
} else if (t.focus === Vt.Next) {
|
|
let u = e.activeOptionIndex;
|
|
if (u !== null) {
|
|
let f = e.options[u].dataRef.current.domRef, d = $p(t, { resolveItems: () => e.options, resolveActiveIndex: () => e.activeOptionIndex, resolveId: (g) => g.id, resolveDisabled: (g) => g.dataRef.current.disabled });
|
|
if (d !== null) {
|
|
let g = e.options[d].dataRef.current.domRef;
|
|
if (((a = f.current) == null ? void 0 : a.nextElementSibling) === g.current || ((i = g.current) == null ? void 0 : i.nextElementSibling) === null) return { ...s, activeOptionIndex: d };
|
|
}
|
|
}
|
|
}
|
|
let l = Mx(e), c = $p(t, { resolveItems: () => l.options, resolveActiveIndex: () => l.activeOptionIndex, resolveId: (u) => u.id, resolveDisabled: (u) => u.dataRef.current.disabled });
|
|
return { ...s, ...l, activeOptionIndex: c };
|
|
}, 3: (e, t) => {
|
|
if (e.dataRef.current.disabled || e.listboxState === 1) return e;
|
|
let r = e.searchQuery !== "" ? 0 : 1, n = e.searchQuery + t.value.toLowerCase(), o = (e.activeOptionIndex !== null ? e.options.slice(e.activeOptionIndex + r).concat(e.options.slice(0, e.activeOptionIndex + r)) : e.options).find((i) => {
|
|
var s;
|
|
return !i.dataRef.current.disabled && ((s = i.dataRef.current.textValue) == null ? void 0 : s.startsWith(n));
|
|
}), a = o ? e.options.indexOf(o) : -1;
|
|
return a === -1 || a === e.activeOptionIndex ? { ...e, searchQuery: n } : { ...e, searchQuery: n, activeOptionIndex: a, activationTrigger: 1 };
|
|
}, 4(e) {
|
|
return e.dataRef.current.disabled || e.listboxState === 1 || e.searchQuery === "" ? e : { ...e, searchQuery: "" };
|
|
}, 5: (e, t) => {
|
|
let r = e.options.concat(t.options), n = e.activeOptionIndex;
|
|
if (e.activeOptionIndex === null) {
|
|
let { isSelected: o } = e.dataRef.current;
|
|
if (o) {
|
|
let a = r.findIndex((i) => o == null ? void 0 : o(i.dataRef.current.value));
|
|
a !== -1 && (n = a);
|
|
}
|
|
}
|
|
return { ...e, options: r, activeOptionIndex: n, pendingShouldSort: !0 };
|
|
}, 6: (e, t) => {
|
|
let r = e.options, n = [], o = new Set(t.options);
|
|
for (let [a, i] of r.entries()) if (o.has(i.id) && (n.push(a), o.delete(i.id), o.size === 0)) break;
|
|
if (n.length > 0) {
|
|
r = r.slice();
|
|
for (let a of n.reverse()) r.splice(a, 1);
|
|
}
|
|
return { ...e, options: r, activationTrigger: 1 };
|
|
}, 7: (e, t) => e.buttonElement === t.element ? e : { ...e, buttonElement: t.element }, 8: (e, t) => e.optionsElement === t.element ? e : { ...e, optionsElement: t.element }, 9: (e) => e.pendingShouldSort ? { ...e, ...Mx(e), pendingShouldSort: !1 } : e }, zH = class U5 extends iH {
|
|
constructor(t) {
|
|
super(t), Rx(this, "actions", { onChange: (r) => {
|
|
let { onChange: n, compare: o, mode: a, value: i } = this.state.dataRef.current;
|
|
return Cr(a, { 0: () => n == null ? void 0 : n(r), 1: () => {
|
|
let s = i.slice(), l = s.findIndex((c) => o(c, r));
|
|
return l === -1 ? s.push(r) : s.splice(l, 1), n == null ? void 0 : n(s);
|
|
} });
|
|
}, registerOption: xp(() => {
|
|
let r = [], n = /* @__PURE__ */ new Set();
|
|
return [(o, a) => {
|
|
n.has(a) || (n.add(a), r.push({ id: o, dataRef: a }));
|
|
}, () => (n.clear(), this.send({ type: 5, options: r.splice(0) }))];
|
|
}), unregisterOption: xp(() => {
|
|
let r = [];
|
|
return [(n) => r.push(n), () => {
|
|
this.send({ type: 6, options: r.splice(0) });
|
|
}];
|
|
}), goToOption: xp(() => {
|
|
let r = null;
|
|
return [(n, o) => {
|
|
r = { type: 2, ...n, trigger: o };
|
|
}, () => r && this.send(r)];
|
|
}), closeListbox: () => {
|
|
this.send({ type: 1 });
|
|
}, openListbox: () => {
|
|
this.send({ type: 0 });
|
|
}, selectActiveOption: () => {
|
|
if (this.state.activeOptionIndex !== null) {
|
|
let { dataRef: r, id: n } = this.state.options[this.state.activeOptionIndex];
|
|
this.actions.onChange(r.current.value), this.send({ type: 2, focus: Vt.Specific, id: n });
|
|
}
|
|
}, selectOption: (r) => {
|
|
let n = this.state.options.find((o) => o.id === r);
|
|
n && this.actions.onChange(n.dataRef.current.value);
|
|
}, search: (r) => {
|
|
this.send({ type: 3, value: r });
|
|
}, clearSearch: () => {
|
|
this.send({ type: 4 });
|
|
}, setButtonElement: (r) => {
|
|
this.send({ type: 7, element: r });
|
|
}, setOptionsElement: (r) => {
|
|
this.send({ type: 8, element: r });
|
|
} }), Rx(this, "selectors", { activeDescendantId(r) {
|
|
var n;
|
|
let o = r.activeOptionIndex, a = r.options;
|
|
return o === null || (n = a[o]) == null ? void 0 : n.id;
|
|
}, isActive(r, n) {
|
|
var o;
|
|
let a = r.activeOptionIndex, i = r.options;
|
|
return a !== null ? ((o = i[a]) == null ? void 0 : o.id) === n : !1;
|
|
}, shouldScrollIntoView(r, n) {
|
|
return r.__demoMode || r.listboxState !== 0 || r.activationTrigger === 0 ? !1 : this.isActive(r, n);
|
|
} }), this.on(5, () => {
|
|
requestAnimationFrame(() => {
|
|
this.send({ type: 9 });
|
|
});
|
|
});
|
|
}
|
|
static new({ __demoMode: t = !1 } = {}) {
|
|
return new U5({ dataRef: { current: {} }, listboxState: t ? 0 : 1, options: [], searchQuery: "", activeOptionIndex: null, activationTrigger: 1, buttonElement: null, optionsElement: null, __demoMode: t });
|
|
}
|
|
reduce(t, r) {
|
|
return Cr(r.type, MH, t, r);
|
|
}
|
|
};
|
|
const Y5 = It(null);
|
|
function Ay(e) {
|
|
let t = lt(Y5);
|
|
if (t === null) {
|
|
let r = new Error(`<${e} /> is missing a parent <Listbox /> component.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(r, q5), r;
|
|
}
|
|
return t;
|
|
}
|
|
function q5({ __demoMode: e = !1 } = {}) {
|
|
return ut(() => zH.new({ __demoMode: e }), []);
|
|
}
|
|
let Sf = It(null);
|
|
Sf.displayName = "ListboxDataContext";
|
|
function Pl(e) {
|
|
let t = lt(Sf);
|
|
if (t === null) {
|
|
let r = new Error(`<${e} /> is missing a parent <Listbox /> component.`);
|
|
throw Error.captureStackTrace && Error.captureStackTrace(r, Pl), r;
|
|
}
|
|
return t;
|
|
}
|
|
let LH = Tt;
|
|
function FH(e, t) {
|
|
let r = hy(), { value: n, defaultValue: o, form: a, name: i, onChange: s, by: l, invalid: c = !1, disabled: u = r || !1, horizontal: f = !1, multiple: d = !1, __demoMode: g = !1, ...v } = e;
|
|
const m = f ? "horizontal" : "vertical";
|
|
let h = wr(t), w = FF(o), [x = d ? [] : void 0, $] = LF(n, s, w), S = q5({ __demoMode: g }), p = ce({ static: !1, hold: !1 }), T = ce(/* @__PURE__ */ new Map()), L = sD(l), G = Ye((y) => Cr(J.mode, { [Br.Multi]: () => x.some((b) => L(b, y)), [Br.Single]: () => L(x, y) }), [x]), J = ut(() => ({ value: x, disabled: u, invalid: c, mode: d ? Br.Multi : Br.Single, orientation: m, onChange: $, compare: L, isSelected: G, optionsPropsRef: p, listRef: T }), [x, u, c, d, m, $, L, G, p, T]);
|
|
Pt(() => {
|
|
S.state.dataRef.current = J;
|
|
}, [J]);
|
|
let B = Er(S, (y) => y.listboxState), Z = B === zt.Open, [M, ee] = Er(S, (y) => [y.buttonElement, y.optionsElement]);
|
|
SD(Z, [M, ee], (y, b) => {
|
|
S.send({ type: W5.CloseListbox }), d5(b, vy.Loose) || (y.preventDefault(), M == null || M.focus());
|
|
});
|
|
let D = ut(() => ({ open: B === zt.Open, disabled: u, invalid: c, value: x }), [B, u, c, x]), [V, H] = tD({ inherit: !0 }), W = { ref: h }, Y = Ye(() => {
|
|
if (w !== void 0) return $ == null ? void 0 : $(w);
|
|
}, [$, w]), K = fr();
|
|
return ue.createElement(H, { value: V, props: { htmlFor: M == null ? void 0 : M.id }, slot: { open: B === zt.Open, disabled: u } }, ue.createElement(JV, null, ue.createElement(Y5.Provider, { value: S }, ue.createElement(Sf.Provider, { value: J }, ue.createElement(I5, { value: Cr(B, { [zt.Open]: Sr.Open, [zt.Closed]: Sr.Closed }) }, i != null && x != null && ue.createElement(YF, { disabled: u, data: { [i]: x }, form: a, onReset: Y }), K({ ourProps: W, theirProps: v, slot: D, defaultTag: LH, name: "Listbox" }))))));
|
|
}
|
|
let DH = "button";
|
|
function VH(e, t) {
|
|
let r = $i(), n = n5(), o = Pl("Listbox.Button"), a = Ay("Listbox.Button"), { id: i = n || `headlessui-listbox-button-${r}`, disabled: s = o.disabled || !1, autoFocus: l = !1, ...c } = e, u = wr(t, BV(), a.actions.setButtonElement), f = GV(), d = Be((D) => {
|
|
switch (D.key) {
|
|
case Mt.Enter:
|
|
DF(D.currentTarget);
|
|
break;
|
|
case Mt.Space:
|
|
case Mt.ArrowDown:
|
|
D.preventDefault(), Jo(() => a.actions.openListbox()), o.value || a.actions.goToOption({ focus: Vt.First });
|
|
break;
|
|
case Mt.ArrowUp:
|
|
D.preventDefault(), Jo(() => a.actions.openListbox()), o.value || a.actions.goToOption({ focus: Vt.Last });
|
|
break;
|
|
}
|
|
}), g = Be((D) => {
|
|
switch (D.key) {
|
|
case Mt.Space:
|
|
D.preventDefault();
|
|
break;
|
|
}
|
|
}), v = Be((D) => {
|
|
var V;
|
|
if (D.button === 0) {
|
|
if (GF(D.currentTarget)) return D.preventDefault();
|
|
a.state.listboxState === zt.Open ? (Jo(() => a.actions.closeListbox()), (V = a.state.buttonElement) == null || V.focus({ preventScroll: !0 })) : (D.preventDefault(), a.actions.openListbox());
|
|
}
|
|
}), m = Be((D) => D.preventDefault()), h = s5([i]), w = JF(), { isFocusVisible: x, focusProps: $ } = EF({ autoFocus: l }), { isHovered: S, hoverProps: p } = SF({ isDisabled: s }), { pressed: T, pressProps: L } = _F({ disabled: s }), G = Er(a, (D) => D.listboxState), J = ut(() => ({ open: G === zt.Open, active: T || G === zt.Open, disabled: s, invalid: o.invalid, value: o.value, hover: S, focus: x, autofocus: l }), [G, o.value, s, S, x, T, o.invalid, l]), B = Er(a, (D) => D.listboxState === zt.Open), [Z, M] = Er(a, (D) => [D.buttonElement, D.optionsElement]), ee = QS(f(), { ref: u, id: i, type: ED(e, Z), "aria-haspopup": "listbox", "aria-controls": M == null ? void 0 : M.id, "aria-expanded": B, "aria-labelledby": h, "aria-describedby": w, disabled: s || void 0, autoFocus: l, onKeyDown: d, onKeyUp: g, onKeyPress: m, onMouseDown: v }, $, p, L);
|
|
return fr()({ ourProps: ee, theirProps: c, slot: J, defaultTag: DH, name: "Listbox.Button" });
|
|
}
|
|
let B5 = It(!1), HH = "div", WH = wu.RenderStrategy | wu.Static;
|
|
function UH(e, t) {
|
|
let r = $i(), { id: n = `headlessui-listbox-options-${r}`, anchor: o, portal: a = !1, modal: i = !0, transition: s = !1, ...l } = e, c = qV(o), [u, f] = $e(null);
|
|
c && (a = !0);
|
|
let d = Pl("Listbox.Options"), g = Ay("Listbox.Options"), [v, m, h, w] = Er(g, (P) => [P.listboxState, P.buttonElement, P.optionsElement, P.__demoMode]), x = Vh(m), $ = Vh(h), S = Ey(), [p, T] = g5(s, u, S !== null ? (S & Sr.Open) === Sr.Open : v === zt.Open);
|
|
dD(p, m, g.actions.closeListbox);
|
|
let L = w ? !1 : i && v === zt.Open;
|
|
_D(L, $);
|
|
let G = w ? !1 : i && v === zt.Open;
|
|
fD(G, { allowed: Ye(() => [m, h], [m, h]) });
|
|
let J = v !== zt.Open, B = jH(J, m) ? !1 : p, Z = p && v === zt.Closed, M = eH(Z, d.value), ee = Be((P) => d.compare(M, P)), D = Er(g, (P) => {
|
|
var _;
|
|
if (c == null || !((_ = c == null ? void 0 : c.to) != null && _.includes("selection"))) return null;
|
|
let I = P.options.findIndex((R) => ee(R.dataRef.current.value));
|
|
return I === -1 && (I = 0), I;
|
|
}), V = (() => {
|
|
if (c == null) return;
|
|
if (D === null) return { ...c, inner: void 0 };
|
|
let P = Array.from(d.listRef.current.values());
|
|
return { ...c, inner: { listRef: { current: P }, index: D } };
|
|
})(), [H, W] = XV(V), Y = KV(), K = wr(t, c ? H : null, g.actions.setOptionsElement, f), y = ji();
|
|
Se(() => {
|
|
var P;
|
|
let _ = h;
|
|
_ && v === zt.Open && _ !== ((P = Ol(_)) == null ? void 0 : P.activeElement) && (_ == null || _.focus({ preventScroll: !0 }));
|
|
}, [v, h]);
|
|
let b = Be((P) => {
|
|
var _, I;
|
|
switch (y.dispose(), P.key) {
|
|
case Mt.Space:
|
|
if (g.state.searchQuery !== "") return P.preventDefault(), P.stopPropagation(), g.actions.search(P.key);
|
|
case Mt.Enter:
|
|
if (P.preventDefault(), P.stopPropagation(), g.state.activeOptionIndex !== null) {
|
|
let { dataRef: R } = g.state.options[g.state.activeOptionIndex];
|
|
g.actions.onChange(R.current.value);
|
|
}
|
|
d.mode === Br.Single && (Jo(() => g.actions.closeListbox()), (_ = g.state.buttonElement) == null || _.focus({ preventScroll: !0 }));
|
|
break;
|
|
case Cr(d.orientation, { vertical: Mt.ArrowDown, horizontal: Mt.ArrowRight }):
|
|
return P.preventDefault(), P.stopPropagation(), g.actions.goToOption({ focus: Vt.Next });
|
|
case Cr(d.orientation, { vertical: Mt.ArrowUp, horizontal: Mt.ArrowLeft }):
|
|
return P.preventDefault(), P.stopPropagation(), g.actions.goToOption({ focus: Vt.Previous });
|
|
case Mt.Home:
|
|
case Mt.PageUp:
|
|
return P.preventDefault(), P.stopPropagation(), g.actions.goToOption({ focus: Vt.First });
|
|
case Mt.End:
|
|
case Mt.PageDown:
|
|
return P.preventDefault(), P.stopPropagation(), g.actions.goToOption({ focus: Vt.Last });
|
|
case Mt.Escape:
|
|
P.preventDefault(), P.stopPropagation(), Jo(() => g.actions.closeListbox()), (I = g.state.buttonElement) == null || I.focus({ preventScroll: !0 });
|
|
return;
|
|
case Mt.Tab:
|
|
P.preventDefault(), P.stopPropagation(), Jo(() => g.actions.closeListbox()), wD(g.state.buttonElement, P.shiftKey ? Dh.Previous : Dh.Next);
|
|
break;
|
|
default:
|
|
P.key.length === 1 && (g.actions.search(P.key), y.setTimeout(() => g.actions.clearSearch(), 350));
|
|
break;
|
|
}
|
|
}), E = Er(g, (P) => {
|
|
var _;
|
|
return (_ = P.buttonElement) == null ? void 0 : _.id;
|
|
}), A = ut(() => ({ open: v === zt.Open }), [v]), C = QS(c ? Y() : {}, { id: n, ref: K, "aria-activedescendant": Er(g, g.selectors.activeDescendantId), "aria-multiselectable": d.mode === Br.Multi ? !0 : void 0, "aria-labelledby": E, "aria-orientation": d.orientation, onKeyDown: b, role: "listbox", tabIndex: v === zt.Open ? 0 : void 0, style: { ...l.style, ...W, "--button-width": cD(m, !0).width }, ...h5(T) }), j = fr(), N = ut(() => d.mode === Br.Multi ? d : { ...d, isSelected: ee }, [d, ee]);
|
|
return ue.createElement(xH, { enabled: a ? e.static || p : !1, ownerDocument: x }, ue.createElement(Sf.Provider, { value: N }, j({ ourProps: C, theirProps: l, slot: A, defaultTag: HH, features: WH, visible: B, name: "Listbox.Options" })));
|
|
}
|
|
let YH = "div";
|
|
function qH(e, t) {
|
|
let r = $i(), { id: n = `headlessui-listbox-option-${r}`, disabled: o = !1, value: a, ...i } = e, s = lt(B5) === !0, l = Pl("Listbox.Option"), c = Ay("Listbox.Option"), u = Er(c, (B) => c.selectors.isActive(B, n)), f = l.isSelected(a), d = ce(null), g = IH(d), v = $a({ disabled: o, value: a, domRef: d, get textValue() {
|
|
return g();
|
|
} }), m = wr(t, d, (B) => {
|
|
B ? l.listRef.current.set(n, B) : l.listRef.current.delete(n);
|
|
}), h = Er(c, (B) => c.selectors.shouldScrollIntoView(B, n));
|
|
Pt(() => {
|
|
if (h) return on().requestAnimationFrame(() => {
|
|
var B, Z;
|
|
(Z = (B = d.current) == null ? void 0 : B.scrollIntoView) == null || Z.call(B, { block: "nearest" });
|
|
});
|
|
}, [h, d]), Pt(() => {
|
|
if (!s) return c.actions.registerOption(n, v), () => c.actions.unregisterOption(n);
|
|
}, [v, n, s]);
|
|
let w = Be((B) => {
|
|
var Z;
|
|
if (o) return B.preventDefault();
|
|
c.actions.onChange(a), l.mode === Br.Single && (Jo(() => c.actions.closeListbox()), (Z = c.state.buttonElement) == null || Z.focus({ preventScroll: !0 }));
|
|
}), x = Be(() => {
|
|
if (o) return c.actions.goToOption({ focus: Vt.Nothing });
|
|
c.actions.goToOption({ focus: Vt.Specific, id: n });
|
|
}), $ = ID(), S = Be((B) => {
|
|
$.update(B), !o && (u || c.actions.goToOption({ focus: Vt.Specific, id: n }, qh.Pointer));
|
|
}), p = Be((B) => {
|
|
$.wasMoved(B) && (o || u || c.actions.goToOption({ focus: Vt.Specific, id: n }, qh.Pointer));
|
|
}), T = Be((B) => {
|
|
$.wasMoved(B) && (o || u && c.actions.goToOption({ focus: Vt.Nothing }));
|
|
}), L = ut(() => ({ active: u, focus: u, selected: f, disabled: o, selectedOption: f && s }), [u, f, o, s]), G = s ? {} : { id: n, ref: m, role: "option", tabIndex: o === !0 ? void 0 : -1, "aria-disabled": o === !0 ? !0 : void 0, "aria-selected": f, disabled: void 0, onClick: w, onFocus: x, onPointerEnter: S, onMouseEnter: S, onPointerMove: p, onMouseMove: p, onPointerLeave: T, onMouseLeave: T }, J = fr();
|
|
return !f && s ? null : J({ ourProps: G, theirProps: i, slot: L, defaultTag: YH, name: "Listbox.Option" });
|
|
}
|
|
let BH = Tt;
|
|
function GH(e, t) {
|
|
let { options: r, placeholder: n, ...o } = e, a = { ref: wr(t) }, i = Pl("ListboxSelectedOption"), s = ut(() => ({}), []), l = i.value === void 0 || i.value === null || i.mode === Br.Multi && Array.isArray(i.value) && i.value.length === 0, c = fr();
|
|
return ue.createElement(B5.Provider, { value: !0 }, c({ ourProps: a, theirProps: { ...o, children: ue.createElement(ue.Fragment, null, n && l ? n : r) }, slot: s, defaultTag: BH, name: "ListboxSelectedOption" }));
|
|
}
|
|
let KH = ir(FH), XH = ir(VH), JH = aD, QH = ir(UH), ZH = ir(qH), eW = ir(GH), dc = Object.assign(KH, { Button: XH, Label: JH, Options: QH, Option: ZH, SelectedOption: eW });
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const tW = {
|
|
prefix: "fas",
|
|
iconName: "chevron-down",
|
|
icon: [512, 512, [], "f078", "M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"]
|
|
}, rW = {
|
|
prefix: "fas",
|
|
iconName: "check",
|
|
icon: [448, 512, [10003, 10004], "f00c", "M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]
|
|
};
|
|
/*!
|
|
* Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
function nW(e, t, r) {
|
|
return (t = aW(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function zx(e, t) {
|
|
var r = Object.keys(e);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var n = Object.getOwnPropertySymbols(e);
|
|
t && (n = n.filter(function(o) {
|
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
})), r.push.apply(r, n);
|
|
}
|
|
return r;
|
|
}
|
|
function oe(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? zx(Object(r), !0).forEach(function(n) {
|
|
nW(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : zx(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function oW(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 aW(e) {
|
|
var t = oW(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const Lx = () => {
|
|
};
|
|
let Cy = {}, G5 = {}, K5 = null, X5 = {
|
|
mark: Lx,
|
|
measure: Lx
|
|
};
|
|
try {
|
|
typeof window < "u" && (Cy = window), typeof document < "u" && (G5 = document), typeof MutationObserver < "u" && (K5 = MutationObserver), typeof performance < "u" && (X5 = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: Fx = ""
|
|
} = Cy.navigator || {}, Po = Cy, $t = G5, Dx = K5, pc = X5;
|
|
Po.document;
|
|
const Rn = !!$t.documentElement && !!$t.head && typeof $t.addEventListener == "function" && typeof $t.createElement == "function", J5 = ~Fx.indexOf("MSIE") || ~Fx.indexOf("Trident/");
|
|
var iW = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, sW = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, Q5 = {
|
|
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"
|
|
}
|
|
}, lW = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, Z5 = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Gt = "classic", Ef = "duotone", cW = "sharp", uW = "sharp-duotone", eE = [Gt, Ef, cW, uW], fW = {
|
|
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"
|
|
}
|
|
}, dW = {
|
|
"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"
|
|
}
|
|
}, pW = /* @__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
|
|
}]]), mW = {
|
|
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"
|
|
}
|
|
}, hW = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], Vx = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, gW = ["kit"], bW = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, yW = ["fak", "fakd"], vW = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, Hx = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, mc = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, wW = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xW = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], $W = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, kW = {
|
|
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"
|
|
}
|
|
}, OW = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Bh = {
|
|
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"
|
|
}
|
|
}, SW = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Gh = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...wW, ...SW], EW = ["solid", "regular", "light", "thin", "duotone", "brands"], tE = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], PW = tE.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), AW = [...Object.keys(OW), ...EW, "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", mc.GROUP, mc.SWAP_OPACITY, mc.PRIMARY, mc.SECONDARY].concat(tE.map((e) => "".concat(e, "x"))).concat(PW.map((e) => "w-".concat(e))), CW = {
|
|
"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 En = "___FONT_AWESOME___", Kh = 16, rE = "fa", nE = "svg-inline--fa", ma = "data-fa-i2svg", Xh = "data-fa-pseudo-element", NW = "data-fa-pseudo-element-pending", Ny = "data-prefix", jy = "data-icon", Wx = "fontawesome-i2svg", jW = "async", _W = ["HTML", "HEAD", "STYLE", "SCRIPT"], oE = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Al(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Gt];
|
|
}
|
|
});
|
|
}
|
|
const aE = oe({}, Q5);
|
|
aE[Gt] = oe(oe(oe(oe({}, {
|
|
"fa-duotone": "duotone"
|
|
}), Q5[Gt]), Vx.kit), Vx["kit-duotone"]);
|
|
const IW = Al(aE), Jh = oe({}, mW);
|
|
Jh[Gt] = oe(oe(oe(oe({}, {
|
|
duotone: "fad"
|
|
}), Jh[Gt]), Hx.kit), Hx["kit-duotone"]);
|
|
const Ux = Al(Jh), Qh = oe({}, Bh);
|
|
Qh[Gt] = oe(oe({}, Qh[Gt]), vW.kit);
|
|
const _y = Al(Qh), Zh = oe({}, kW);
|
|
Zh[Gt] = oe(oe({}, Zh[Gt]), bW.kit);
|
|
Al(Zh);
|
|
const TW = iW, iE = "fa-layers-text", RW = sW, MW = oe({}, fW);
|
|
Al(MW);
|
|
const zW = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], kp = lW, LW = [...gW, ...AW], _s = Po.FontAwesomeConfig || {};
|
|
function FW(e) {
|
|
var t = $t.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function DW(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
$t && typeof $t.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 = DW(FW(t));
|
|
n != null && (_s[r] = n);
|
|
});
|
|
const sE = {
|
|
styleDefault: "solid",
|
|
familyDefault: Gt,
|
|
cssPrefix: rE,
|
|
replacementClass: nE,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
_s.familyPrefix && (_s.cssPrefix = _s.familyPrefix);
|
|
const pi = oe(oe({}, sE), _s);
|
|
pi.autoReplaceSvg || (pi.observeMutations = !1);
|
|
const be = {};
|
|
Object.keys(sE).forEach((e) => {
|
|
Object.defineProperty(be, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
pi[e] = t, Is.forEach((r) => r(be));
|
|
},
|
|
get: function() {
|
|
return pi[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(be, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
pi.cssPrefix = e, Is.forEach((t) => t(be));
|
|
},
|
|
get: function() {
|
|
return pi.cssPrefix;
|
|
}
|
|
});
|
|
Po.FontAwesomeConfig = be;
|
|
const Is = [];
|
|
function VW(e) {
|
|
return Is.push(e), () => {
|
|
Is.splice(Is.indexOf(e), 1);
|
|
};
|
|
}
|
|
const Qn = Kh, Gr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function HW(e) {
|
|
if (!e || !Rn)
|
|
return;
|
|
const t = $t.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = $t.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 $t.head.insertBefore(t, n), e;
|
|
}
|
|
const WW = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function sl() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += WW[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Ri(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function Iy(e) {
|
|
return e.classList ? Ri(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function lE(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function UW(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(lE(e[r]), '" '), "").trim();
|
|
}
|
|
function Pf(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function Ty(e) {
|
|
return e.size !== Gr.size || e.x !== Gr.x || e.y !== Gr.y || e.rotate !== Gr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function YW(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)"), l = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: l,
|
|
path: c
|
|
};
|
|
}
|
|
function qW(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Kh,
|
|
height: n = Kh,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && J5 ? a += "translate(".concat(t.x / Qn - r / 2, "em, ").concat(t.y / Qn - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / Qn, "em), calc(-50% + ").concat(t.y / Qn, "em)) ") : a += "translate(".concat(t.x / Qn, "em, ").concat(t.y / Qn, "em) "), a += "scale(".concat(t.size / Qn * (t.flipX ? -1 : 1), ", ").concat(t.size / Qn * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var BW = `: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 cE() {
|
|
const e = rE, t = nE, r = be.cssPrefix, n = be.replacementClass;
|
|
let o = BW;
|
|
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 Yx = !1;
|
|
function Op() {
|
|
be.autoAddCss && !Yx && (HW(cE()), Yx = !0);
|
|
}
|
|
var GW = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: cE,
|
|
insertCss: Op
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Op();
|
|
},
|
|
beforeI2svg() {
|
|
Op();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Pn = Po || {};
|
|
Pn[En] || (Pn[En] = {});
|
|
Pn[En].styles || (Pn[En].styles = {});
|
|
Pn[En].hooks || (Pn[En].hooks = {});
|
|
Pn[En].shims || (Pn[En].shims = []);
|
|
var Kr = Pn[En];
|
|
const uE = [], fE = function() {
|
|
$t.removeEventListener("DOMContentLoaded", fE), Ou = 1, uE.map((e) => e());
|
|
};
|
|
let Ou = !1;
|
|
Rn && (Ou = ($t.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test($t.readyState), Ou || $t.addEventListener("DOMContentLoaded", fE));
|
|
function KW(e) {
|
|
Rn && (Ou ? setTimeout(e, 0) : uE.push(e));
|
|
}
|
|
function Cl(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? lE(e) : "<".concat(t, " ").concat(UW(r), ">").concat(n.map(Cl).join(""), "</").concat(t, ">");
|
|
}
|
|
function qx(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Sp = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, l, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
l = o[s], c = i(c, e[l], l, e);
|
|
return c;
|
|
};
|
|
function XW(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 dE(e) {
|
|
const t = XW(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function JW(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 Bx(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 eg(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = Bx(t);
|
|
typeof Kr.hooks.addPack == "function" && !n ? Kr.hooks.addPack(e, Bx(t)) : Kr.styles[e] = oe(oe({}, Kr.styles[e] || {}), o), e === "fas" && eg("fa", t);
|
|
}
|
|
const {
|
|
styles: ll,
|
|
shims: QW
|
|
} = Kr, pE = Object.keys(_y), ZW = pE.reduce((e, t) => (e[t] = Object.keys(_y[t]), e), {});
|
|
let Ry = null, mE = {}, hE = {}, gE = {}, bE = {}, yE = {};
|
|
function eU(e) {
|
|
return ~LW.indexOf(e);
|
|
}
|
|
function tU(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !eU(o) ? o : null;
|
|
}
|
|
const vE = () => {
|
|
const e = (n) => Sp(ll, (o, a, i) => (o[i] = Sp(a, n, {}), o), {});
|
|
mE = 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)), hE = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), yE = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in ll || be.autoFetchSvg, r = Sp(QW, (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: {}
|
|
});
|
|
gE = r.names, bE = r.unicodes, Ry = Af(be.styleDefault, {
|
|
family: be.familyDefault
|
|
});
|
|
};
|
|
VW((e) => {
|
|
Ry = Af(e.styleDefault, {
|
|
family: be.familyDefault
|
|
});
|
|
});
|
|
vE();
|
|
function My(e, t) {
|
|
return (mE[e] || {})[t];
|
|
}
|
|
function rU(e, t) {
|
|
return (hE[e] || {})[t];
|
|
}
|
|
function Bo(e, t) {
|
|
return (yE[e] || {})[t];
|
|
}
|
|
function wE(e) {
|
|
return gE[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function nU(e) {
|
|
const t = bE[e], r = My("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function Ao() {
|
|
return Ry;
|
|
}
|
|
const xE = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function oU(e) {
|
|
let t = Gt;
|
|
const r = pE.reduce((n, o) => (n[o] = "".concat(be.cssPrefix, "-").concat(o), n), {});
|
|
return eE.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => ZW[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Af(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Gt
|
|
} = t, n = IW[r][e];
|
|
if (r === Ef && !e)
|
|
return "fad";
|
|
const o = Ux[r][e] || Ux[r][n], a = e in Kr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function aU(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = tU(be.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function Gx(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Cf(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Gh.concat(xW), a = Gx(e.filter((f) => o.includes(f))), i = Gx(e.filter((f) => !Gh.includes(f))), s = a.filter((f) => (n = f, !Z5.includes(f))), [l = null] = s, c = oU(a), u = oe(oe({}, aU(i)), {}, {
|
|
prefix: Af(l, {
|
|
family: c
|
|
})
|
|
});
|
|
return oe(oe(oe({}, u), cU({
|
|
values: e,
|
|
family: c,
|
|
styles: ll,
|
|
config: be,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), iU(r, n, u));
|
|
}
|
|
function iU(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? wE(o) : {}, i = Bo(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !ll.far && ll.fas && !be.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const sU = eE.filter((e) => e !== Gt || e !== Ef), lU = Object.keys(Bh).filter((e) => e !== Gt).map((e) => Object.keys(Bh[e])).flat();
|
|
function cU(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Ef, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && sU.includes(r) && (Object.keys(a).find((f) => lU.includes(f)) || i.autoFetchSvg)) {
|
|
const f = pW.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Bo(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = Ao() || "fas"), n;
|
|
}
|
|
class uU {
|
|
constructor() {
|
|
this.definitions = {};
|
|
}
|
|
add() {
|
|
for (var t = arguments.length, r = new Array(t), n = 0; n < t; n++)
|
|
r[n] = arguments[n];
|
|
const o = r.reduce(this._pullDefinitions, {});
|
|
Object.keys(o).forEach((a) => {
|
|
this.definitions[a] = oe(oe({}, this.definitions[a] || {}), o[a]), eg(a, o[a]);
|
|
const i = _y[Gt][a];
|
|
i && eg(i, o[a]), vE();
|
|
});
|
|
}
|
|
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], l = s[2];
|
|
t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let Kx = [], Da = {};
|
|
const ni = {}, fU = Object.keys(ni);
|
|
function dU(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return Kx = e, Da = {}, Object.keys(ni).forEach((n) => {
|
|
fU.indexOf(n) === -1 && delete ni[n];
|
|
}), Kx.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) => {
|
|
Da[i] || (Da[i] = []), Da[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(ni);
|
|
}), r;
|
|
}
|
|
function tg(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 (Da[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ha(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Da[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Co() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return ni[e] ? ni[e].apply(null, t) : void 0;
|
|
}
|
|
function rg(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || Ao();
|
|
if (t)
|
|
return t = Bo(r, t) || t, qx($E.definitions, r, t) || qx(Kr.styles, r, t);
|
|
}
|
|
const $E = new uU(), pU = () => {
|
|
be.autoReplaceSvg = !1, be.observeMutations = !1, ha("noAuto");
|
|
}, mU = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Rn ? (ha("beforeI2svg", e), Co("pseudoElements2svg", e), Co("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
be.autoReplaceSvg === !1 && (be.autoReplaceSvg = !0), be.observeMutations = !0, KW(() => {
|
|
gU({
|
|
autoReplaceSvgRoot: t
|
|
}), ha("watch", e);
|
|
});
|
|
}
|
|
}, hU = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Bo(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 = Af(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Bo(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(be.cssPrefix, "-")) > -1 || e.match(TW))) {
|
|
const t = Cf(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || Ao(),
|
|
iconName: Bo(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = Ao();
|
|
return {
|
|
prefix: t,
|
|
iconName: Bo(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, dr = {
|
|
noAuto: pU,
|
|
config: be,
|
|
dom: mU,
|
|
parse: hU,
|
|
library: $E,
|
|
findIconDefinition: rg,
|
|
toHtml: Cl
|
|
}, gU = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = $t
|
|
} = e;
|
|
(Object.keys(Kr.styles).length > 0 || be.autoFetchSvg) && Rn && be.autoReplaceSvg && dr.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Nf(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Cl(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Rn) return;
|
|
const r = $t.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function bU(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (Ty(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: l
|
|
} = r, c = {
|
|
x: s / l / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Pf(oe(oe({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function yU(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(be.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: oe(oe({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function zy(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: l,
|
|
titleId: c,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: g
|
|
} = r.found ? r : t, v = yW.includes(n), m = [be.replacementClass, o ? "".concat(be.cssPrefix, "-").concat(o) : ""].filter((p) => u.classes.indexOf(p) === -1).filter((p) => p !== "" || !!p).concat(u.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: oe(oe({}, 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(g)
|
|
})
|
|
};
|
|
const w = v && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / g * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (h.attributes[ma] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || sl())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const x = oe(oe({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: l,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: oe(oe({}, w), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: S
|
|
} = r.found && t.found ? Co("generateAbstractMask", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Co("generateAbstractIcon", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return x.children = $, x.attributes = S, i ? yU(x) : bU(x);
|
|
}
|
|
function Xx(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, l = oe(oe(oe({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (l[ma] = "");
|
|
const c = oe({}, i.styles);
|
|
Ty(o) && (c.transform = qW({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const u = Pf(c);
|
|
u.length > 0 && (l.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: l,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function vU(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = oe(oe(oe({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Pf(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: Ep
|
|
} = Kr;
|
|
function ng(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(be.cssPrefix, "-").concat(kp.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(be.cssPrefix, "-").concat(kp.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(be.cssPrefix, "-").concat(kp.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const wU = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function xU(e, t) {
|
|
!oE && !be.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function og(e, t) {
|
|
let r = t;
|
|
return t === "fa" && be.styleDefault !== null && (t = Ao()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = wE(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Ep[t] && Ep[t][e]) {
|
|
const a = Ep[t][e];
|
|
return n(ng(a));
|
|
}
|
|
xU(e, t), n(oe(oe({}, wU), {}, {
|
|
icon: be.showMissingIcons && e ? Co("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Jx = () => {
|
|
}, ag = be.measurePerformance && pc && pc.mark && pc.measure ? pc : {
|
|
mark: Jx,
|
|
measure: Jx
|
|
}, ms = 'FA "6.7.2"', $U = (e) => (ag.mark("".concat(ms, " ").concat(e, " begins")), () => kE(e)), kE = (e) => {
|
|
ag.mark("".concat(ms, " ").concat(e, " ends")), ag.measure("".concat(ms, " ").concat(e), "".concat(ms, " ").concat(e, " begins"), "".concat(ms, " ").concat(e, " ends"));
|
|
};
|
|
var Ly = {
|
|
begin: $U,
|
|
end: kE
|
|
};
|
|
const Wc = () => {
|
|
};
|
|
function Qx(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(ma) : null) == "string";
|
|
}
|
|
function kU(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Ny) : null, r = e.getAttribute ? e.getAttribute(jy) : null;
|
|
return t && r;
|
|
}
|
|
function OU(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(be.replacementClass);
|
|
}
|
|
function SU() {
|
|
return be.autoReplaceSvg === !0 ? Uc.replace : Uc[be.autoReplaceSvg] || Uc.replace;
|
|
}
|
|
function EU(e) {
|
|
return $t.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function PU(e) {
|
|
return $t.createElement(e);
|
|
}
|
|
function OE(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? EU : PU
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return $t.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(OE(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function AU(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Uc = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(OE(r), t);
|
|
}), t.getAttribute(ma) === null && be.keepOriginalSource) {
|
|
let r = $t.createComment(AU(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~Iy(t).indexOf(be.replacementClass))
|
|
return Uc.replace(e);
|
|
const n = new RegExp("".concat(be.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === be.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Cl(a)).join(`
|
|
`);
|
|
t.setAttribute(ma, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function Zx(e) {
|
|
e();
|
|
}
|
|
function SE(e, t) {
|
|
const r = typeof t == "function" ? t : Wc;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = Zx;
|
|
be.mutateApproach === jW && (n = Po.requestAnimationFrame || Zx), n(() => {
|
|
const o = SU(), a = Ly.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Fy = !1;
|
|
function EE() {
|
|
Fy = !0;
|
|
}
|
|
function ig() {
|
|
Fy = !1;
|
|
}
|
|
let Su = null;
|
|
function e2(e) {
|
|
if (!Dx || !be.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Wc,
|
|
nodeCallback: r = Wc,
|
|
pseudoElementsCallback: n = Wc,
|
|
observeMutationsRoot: o = $t
|
|
} = e;
|
|
Su = new Dx((a) => {
|
|
if (Fy) return;
|
|
const i = Ao();
|
|
Ri(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !Qx(s.addedNodes[0]) && (be.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && be.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && Qx(s.target) && ~zW.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && kU(s.target)) {
|
|
const {
|
|
prefix: l,
|
|
iconName: c
|
|
} = Cf(Iy(s.target));
|
|
s.target.setAttribute(Ny, l || i), c && s.target.setAttribute(jy, c);
|
|
} else OU(s.target) && r(s.target);
|
|
});
|
|
}), Rn && Su.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function CU() {
|
|
Su && Su.disconnect();
|
|
}
|
|
function NU(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 jU(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Cf(Iy(e));
|
|
return o.prefix || (o.prefix = Ao()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = rU(o.prefix, e.innerText) || My(o.prefix, dE(e.innerText))), !o.iconName && be.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function _U(e) {
|
|
const t = Ri(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return be.autoA11y && (r ? t["aria-labelledby"] = "".concat(be.replacementClass, "-title-").concat(n || sl()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function IU() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Gr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function t2(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = jU(e), a = _U(e), i = tg("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? NU(e) : [];
|
|
return oe({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Gr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: TU
|
|
} = Kr;
|
|
function PE(e) {
|
|
const t = be.autoReplaceSvg === "nest" ? t2(e, {
|
|
styleParser: !1
|
|
}) : t2(e);
|
|
return ~t.extra.classes.indexOf(iE) ? Co("generateLayersText", e, t) : Co("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function RU() {
|
|
return [...hW, ...Gh];
|
|
}
|
|
function r2(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Rn) return Promise.resolve();
|
|
const r = $t.documentElement.classList, n = (u) => r.add("".concat(Wx, "-").concat(u)), o = (u) => r.remove("".concat(Wx, "-").concat(u)), a = be.autoFetchSvg ? RU() : Z5.concat(Object.keys(TU));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(iE, ":not([").concat(ma, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(ma, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Ri(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const l = Ly.begin("onTree"), c = s.reduce((u, f) => {
|
|
try {
|
|
const d = PE(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
oE || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(c).then((d) => {
|
|
SE(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u();
|
|
});
|
|
}).catch((d) => {
|
|
l(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function MU(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
PE(e).then((r) => {
|
|
r && SE([r], t);
|
|
});
|
|
}
|
|
function zU(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : rg(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : rg(o || {})), e(n, oe(oe({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const LU = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Gr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: l = [],
|
|
attributes: c = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: g
|
|
} = e;
|
|
return Nf(oe({
|
|
type: "icon"
|
|
}, e), () => (ha("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), be.autoA11y && (i ? c["aria-labelledby"] = "".concat(be.replacementClass, "-title-").concat(s || sl()) : (c["aria-hidden"] = "true", c.focusable = "false")), zy({
|
|
icons: {
|
|
main: ng(g),
|
|
mask: o ? ng(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: oe(oe({}, Gr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: u,
|
|
classes: l
|
|
}
|
|
})));
|
|
};
|
|
var FU = {
|
|
mixout() {
|
|
return {
|
|
icon: zU(LU)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = r2, e.nodeCallback = MU, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = $t,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return r2(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: l,
|
|
mask: c,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, g) => {
|
|
Promise.all([og(n, i), c.iconName ? og(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((v) => {
|
|
let [m, h] = v;
|
|
d([t, zy({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: l,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(g);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Pf(i);
|
|
s.length > 0 && (n.style = s);
|
|
let l;
|
|
return Ty(a) && (l = Co("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(l || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, DU = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Nf({
|
|
type: "layer"
|
|
}, () => {
|
|
ha("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(be.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, VU = {
|
|
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 Nf({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ha("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), vU({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(be.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, HU = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Gr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Nf({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ha("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Xx({
|
|
content: e,
|
|
transform: oe(oe({}, Gr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(be.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (J5) {
|
|
const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / l, s = c.height / l;
|
|
}
|
|
return be.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, Xx({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const WU = new RegExp('"', "ug"), n2 = [1105920, 1112319], o2 = oe(oe(oe(oe({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), dW), CW), $W), sg = Object.keys(o2).reduce((e, t) => (e[t.toLowerCase()] = o2[t], e), {}), UU = Object.keys(sg).reduce((e, t) => {
|
|
const r = sg[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function YU(e) {
|
|
const t = e.replace(WU, ""), r = JW(t, 0), n = r >= n2[0] && r <= n2[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: dE(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function qU(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (sg[r] || {})[o] || UU[r];
|
|
}
|
|
function a2(e, t) {
|
|
const r = "".concat(NW).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Ri(e.children).filter((f) => f.getAttribute(Xh) === t)[0], i = Po.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(RW), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !l)
|
|
return e.removeChild(a), n();
|
|
if (l && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = qU(s, c);
|
|
const {
|
|
value: g,
|
|
isSecondary: v
|
|
} = YU(f), m = l[0].startsWith("FontAwesome");
|
|
let h = My(d, g), w = h;
|
|
if (m) {
|
|
const x = nU(g);
|
|
x.iconName && x.prefix && (h = x.iconName, d = x.prefix);
|
|
}
|
|
if (h && !v && (!a || a.getAttribute(Ny) !== d || a.getAttribute(jy) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const x = IU(), {
|
|
extra: $
|
|
} = x;
|
|
$.attributes[Xh] = t, og(h, d).then((S) => {
|
|
const p = zy(oe(oe({}, x), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: xE()
|
|
},
|
|
prefix: d,
|
|
iconName: w,
|
|
extra: $,
|
|
watchable: !0
|
|
})), T = $t.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(T, e.firstChild) : e.appendChild(T), T.outerHTML = p.map((L) => Cl(L)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function BU(e) {
|
|
return Promise.all([a2(e, "::before"), a2(e, "::after")]);
|
|
}
|
|
function GU(e) {
|
|
return e.parentNode !== document.head && !~_W.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Xh) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function i2(e) {
|
|
if (Rn)
|
|
return new Promise((t, r) => {
|
|
const n = Ri(e.querySelectorAll("*")).filter(GU).map(BU), o = Ly.begin("searchPseudoElements");
|
|
EE(), Promise.all(n).then(() => {
|
|
o(), ig(), t();
|
|
}).catch(() => {
|
|
o(), ig(), r();
|
|
});
|
|
});
|
|
}
|
|
var KU = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = i2, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = $t
|
|
} = t;
|
|
be.searchPseudoElements && i2(r);
|
|
};
|
|
}
|
|
};
|
|
let s2 = !1;
|
|
var XU = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
EE(), s2 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
e2(tg("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
CU();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
s2 ? ig() : e2(tg("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const l2 = (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 JU = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => l2(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = l2(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, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(l, " ").concat(c)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: oe({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: oe({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: oe(oe({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Pp = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function c2(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 QU(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var ZU = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Cf(r.split(" ").map((o) => o.trim())) : xE();
|
|
return n.prefix || (n.prefix = Ao()), 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: l,
|
|
icon: c
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = YW({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: l
|
|
}), g = {
|
|
tag: "rect",
|
|
attributes: oe(oe({}, Pp), {}, {
|
|
fill: "white"
|
|
})
|
|
}, v = c.children ? {
|
|
children: c.children.map(c2)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: oe({}, d.inner),
|
|
children: [c2(oe({
|
|
tag: c.tag,
|
|
attributes: oe(oe({}, c.attributes), d.path)
|
|
}, v))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: oe({}, d.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || sl()), x = "clip-".concat(i || sl()), $ = {
|
|
tag: "mask",
|
|
attributes: oe(oe({}, Pp), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [g, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: x
|
|
},
|
|
children: QU(f)
|
|
}, $]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: oe({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(x, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, Pp)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, eY = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Po.matchMedia && (t = Po.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
|
|
const r = [], n = {
|
|
fill: "currentColor"
|
|
}, o = {
|
|
attributeType: "XML",
|
|
repeatCount: "indefinite",
|
|
dur: "2s"
|
|
};
|
|
r.push({
|
|
tag: "path",
|
|
attributes: oe(oe({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = oe(oe({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: oe(oe({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: oe(oe({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: oe(oe({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: oe(oe({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: oe(oe({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: oe(oe({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: oe(oe({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, tY = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, rY = [GW, FU, DU, VU, HU, KU, XU, JU, ZU, eY, tY];
|
|
dU(rY, {
|
|
mixoutsTo: dr
|
|
});
|
|
dr.noAuto;
|
|
dr.config;
|
|
dr.library;
|
|
dr.dom;
|
|
const lg = dr.parse;
|
|
dr.findIconDefinition;
|
|
dr.toHtml;
|
|
const nY = dr.icon;
|
|
dr.layer;
|
|
dr.text;
|
|
dr.counter;
|
|
var hc = { exports: {} }, Ap = { exports: {} }, Je = {};
|
|
/** @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 u2;
|
|
function oY() {
|
|
if (u2) return Je;
|
|
u2 = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(p) {
|
|
if (typeof p == "object" && p !== null) {
|
|
var T = p.$$typeof;
|
|
switch (T) {
|
|
case t:
|
|
switch (p = p.type, p) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return p;
|
|
default:
|
|
switch (p = p && p.$$typeof, p) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return p;
|
|
default:
|
|
return T;
|
|
}
|
|
}
|
|
case r:
|
|
return T;
|
|
}
|
|
}
|
|
}
|
|
function S(p) {
|
|
return $(p) === c;
|
|
}
|
|
return Je.AsyncMode = l, Je.ConcurrentMode = c, Je.ContextConsumer = s, Je.ContextProvider = i, Je.Element = t, Je.ForwardRef = u, Je.Fragment = n, Je.Lazy = v, Je.Memo = g, Je.Portal = r, Je.Profiler = a, Je.StrictMode = o, Je.Suspense = f, Je.isAsyncMode = function(p) {
|
|
return S(p) || $(p) === l;
|
|
}, Je.isConcurrentMode = S, Je.isContextConsumer = function(p) {
|
|
return $(p) === s;
|
|
}, Je.isContextProvider = function(p) {
|
|
return $(p) === i;
|
|
}, Je.isElement = function(p) {
|
|
return typeof p == "object" && p !== null && p.$$typeof === t;
|
|
}, Je.isForwardRef = function(p) {
|
|
return $(p) === u;
|
|
}, Je.isFragment = function(p) {
|
|
return $(p) === n;
|
|
}, Je.isLazy = function(p) {
|
|
return $(p) === v;
|
|
}, Je.isMemo = function(p) {
|
|
return $(p) === g;
|
|
}, Je.isPortal = function(p) {
|
|
return $(p) === r;
|
|
}, Je.isProfiler = function(p) {
|
|
return $(p) === a;
|
|
}, Je.isStrictMode = function(p) {
|
|
return $(p) === o;
|
|
}, Je.isSuspense = function(p) {
|
|
return $(p) === f;
|
|
}, Je.isValidElementType = function(p) {
|
|
return typeof p == "string" || typeof p == "function" || p === n || p === c || p === a || p === o || p === f || p === d || typeof p == "object" && p !== null && (p.$$typeof === v || p.$$typeof === g || p.$$typeof === i || p.$$typeof === s || p.$$typeof === u || p.$$typeof === h || p.$$typeof === w || p.$$typeof === x || p.$$typeof === m);
|
|
}, Je.typeOf = $, Je;
|
|
}
|
|
var at = {};
|
|
/** @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 f2;
|
|
function aY() {
|
|
return f2 || (f2 = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === f || k === d || typeof k == "object" && k !== null && (k.$$typeof === v || k.$$typeof === g || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === h || k.$$typeof === w || k.$$typeof === x || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var fe = k.$$typeof;
|
|
switch (fe) {
|
|
case t:
|
|
var Ee = k.type;
|
|
switch (Ee) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ee;
|
|
default:
|
|
var xe = Ee && Ee.$$typeof;
|
|
switch (xe) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return xe;
|
|
default:
|
|
return fe;
|
|
}
|
|
}
|
|
case r:
|
|
return fe;
|
|
}
|
|
}
|
|
}
|
|
var p = l, T = c, L = s, G = i, J = t, B = u, Z = n, M = v, ee = g, D = r, V = a, H = o, W = f, Y = !1;
|
|
function K(k) {
|
|
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.")), y(k) || S(k) === l;
|
|
}
|
|
function y(k) {
|
|
return S(k) === c;
|
|
}
|
|
function b(k) {
|
|
return S(k) === s;
|
|
}
|
|
function E(k) {
|
|
return S(k) === i;
|
|
}
|
|
function A(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function C(k) {
|
|
return S(k) === u;
|
|
}
|
|
function j(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === v;
|
|
}
|
|
function P(k) {
|
|
return S(k) === g;
|
|
}
|
|
function _(k) {
|
|
return S(k) === r;
|
|
}
|
|
function I(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === f;
|
|
}
|
|
at.AsyncMode = p, at.ConcurrentMode = T, at.ContextConsumer = L, at.ContextProvider = G, at.Element = J, at.ForwardRef = B, at.Fragment = Z, at.Lazy = M, at.Memo = ee, at.Portal = D, at.Profiler = V, at.StrictMode = H, at.Suspense = W, at.isAsyncMode = K, at.isConcurrentMode = y, at.isContextConsumer = b, at.isContextProvider = E, at.isElement = A, at.isForwardRef = C, at.isFragment = j, at.isLazy = N, at.isMemo = P, at.isPortal = _, at.isProfiler = I, at.isStrictMode = R, at.isSuspense = Q, at.isValidElementType = $, at.typeOf = S;
|
|
}()), at;
|
|
}
|
|
var d2;
|
|
function AE() {
|
|
return d2 || (d2 = 1, process.env.NODE_ENV === "production" ? Ap.exports = oY() : Ap.exports = aY()), Ap.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Cp, p2;
|
|
function iY() {
|
|
if (p2) return Cp;
|
|
p2 = 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 l = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (l.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
c[u] = u;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Cp = o() ? Object.assign : function(a, i) {
|
|
for (var s, l = n(a), c, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (l[f] = s[f]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var d = 0; d < c.length; d++)
|
|
r.call(s, c[d]) && (l[c[d]] = s[c[d]]);
|
|
}
|
|
}
|
|
return l;
|
|
}, Cp;
|
|
}
|
|
var Np, m2;
|
|
function Dy() {
|
|
if (m2) return Np;
|
|
m2 = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Np = e, Np;
|
|
}
|
|
var h2, g2;
|
|
function CE() {
|
|
return g2 || (g2 = 1, h2 = Function.call.bind(Object.prototype.hasOwnProperty)), h2;
|
|
}
|
|
var jp, b2;
|
|
function sY() {
|
|
if (b2) return jp;
|
|
b2 = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Dy(), r = {}, n = /* @__PURE__ */ CE();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, l, c) {
|
|
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(
|
|
(l || "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, l, s, null, t);
|
|
} catch (v) {
|
|
f = v;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(l || "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 g = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (g ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, jp = o, jp;
|
|
}
|
|
var _p, y2;
|
|
function lY() {
|
|
if (y2) return _p;
|
|
y2 = 1;
|
|
var e = AE(), t = iY(), r = /* @__PURE__ */ Dy(), n = /* @__PURE__ */ CE(), o = /* @__PURE__ */ sY(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var l = "Warning: " + s;
|
|
typeof console < "u" && console.error(l);
|
|
try {
|
|
throw new Error(l);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return _p = function(s, l) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(y) {
|
|
var b = y && (c && y[c] || y[u]);
|
|
if (typeof b == "function")
|
|
return b;
|
|
}
|
|
var d = "<<anonymous>>", g = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: x(),
|
|
arrayOf: $,
|
|
element: S(),
|
|
elementType: p(),
|
|
instanceOf: T,
|
|
node: B(),
|
|
objectOf: G,
|
|
oneOf: L,
|
|
oneOfType: J,
|
|
shape: M,
|
|
exact: ee
|
|
};
|
|
function v(y, b) {
|
|
return y === b ? y !== 0 || 1 / y === 1 / b : y !== y && b !== b;
|
|
}
|
|
function m(y, b) {
|
|
this.message = y, this.data = b && typeof b == "object" ? b : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(y) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var b = {}, E = 0;
|
|
function A(j, N, P, _, I, R, Q) {
|
|
if (_ = _ || d, R = R || P, Q !== r) {
|
|
if (l) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var fe = _ + ":" + P;
|
|
!b[fe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
E < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + _ + "`. 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."
|
|
), b[fe] = !0, E++);
|
|
}
|
|
}
|
|
return N[P] == null ? j ? N[P] === null ? new m("The " + I + " `" + R + "` is marked as required " + ("in `" + _ + "`, but its value is `null`.")) : new m("The " + I + " `" + R + "` is marked as required in " + ("`" + _ + "`, but its value is `undefined`.")) : null : y(N, P, _, I, R);
|
|
}
|
|
var C = A.bind(null, !1);
|
|
return C.isRequired = A.bind(null, !0), C;
|
|
}
|
|
function w(y) {
|
|
function b(E, A, C, j, N, P) {
|
|
var _ = E[A], I = H(_);
|
|
if (I !== y) {
|
|
var R = W(_);
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` of type " + ("`" + R + "` supplied to `" + C + "`, expected ") + ("`" + y + "`."),
|
|
{ expectedType: y }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function x() {
|
|
return h(i);
|
|
}
|
|
function $(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside arrayOf.");
|
|
var P = E[A];
|
|
if (!Array.isArray(P)) {
|
|
var _ = H(P);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an array."));
|
|
}
|
|
for (var I = 0; I < P.length; I++) {
|
|
var R = y(P, I, C, j, N + "[" + I + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function S() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!s(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function p() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!e.isValidElementType(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function T(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (!(E[A] instanceof y)) {
|
|
var P = y.name || d, _ = K(E[A]);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected ") + ("instance of `" + P + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function L(y) {
|
|
if (!Array.isArray(y))
|
|
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 b(E, A, C, j, N) {
|
|
for (var P = E[A], _ = 0; _ < y.length; _++)
|
|
if (v(P, y[_]))
|
|
return null;
|
|
var I = JSON.stringify(y, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + j + " `" + N + "` of value `" + String(P) + "` " + ("supplied to `" + C + "`, expected one of " + I + "."));
|
|
}
|
|
return h(b);
|
|
}
|
|
function G(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside objectOf.");
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an object."));
|
|
for (var I in P)
|
|
if (n(P, I)) {
|
|
var R = y(P, I, C, j, N + "." + I, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function J(y) {
|
|
if (!Array.isArray(y))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var b = 0; b < y.length; b++) {
|
|
var E = y[b];
|
|
if (typeof E != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(E) + " at index " + b + "."
|
|
), i;
|
|
}
|
|
function A(C, j, N, P, _) {
|
|
for (var I = [], R = 0; R < y.length; R++) {
|
|
var Q = y[R], k = Q(C, j, N, P, _, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && I.push(k.data.expectedType);
|
|
}
|
|
var fe = I.length > 0 ? ", expected one of type [" + I.join(", ") + "]" : "";
|
|
return new m("Invalid " + P + " `" + _ + "` supplied to " + ("`" + N + "`" + fe + "."));
|
|
}
|
|
return h(A);
|
|
}
|
|
function B() {
|
|
function y(b, E, A, C, j) {
|
|
return D(b[E]) ? null : new m("Invalid " + C + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return h(y);
|
|
}
|
|
function Z(y, b, E, A, C) {
|
|
return new m(
|
|
(y || "React class") + ": " + b + " type `" + E + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + C + "`."
|
|
);
|
|
}
|
|
function M(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
for (var I in y) {
|
|
var R = y[I];
|
|
if (typeof R != "function")
|
|
return Z(C, j, N, I, W(R));
|
|
var Q = R(P, I, C, j, N + "." + I, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function ee(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
var I = t({}, E[A], y);
|
|
for (var R in I) {
|
|
var Q = y[R];
|
|
if (n(y, R) && typeof Q != "function")
|
|
return Z(C, j, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` key `" + R + "` supplied to `" + C + "`.\nBad object: " + JSON.stringify(E[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(y), null, " ")
|
|
);
|
|
var k = Q(P, R, C, j, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function D(y) {
|
|
switch (typeof y) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !y;
|
|
case "object":
|
|
if (Array.isArray(y))
|
|
return y.every(D);
|
|
if (y === null || s(y))
|
|
return !0;
|
|
var b = f(y);
|
|
if (b) {
|
|
var E = b.call(y), A;
|
|
if (b !== y.entries) {
|
|
for (; !(A = E.next()).done; )
|
|
if (!D(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = E.next()).done; ) {
|
|
var C = A.value;
|
|
if (C && !D(C[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function V(y, b) {
|
|
return y === "symbol" ? !0 : b ? b["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && b instanceof Symbol : !1;
|
|
}
|
|
function H(y) {
|
|
var b = typeof y;
|
|
return Array.isArray(y) ? "array" : y instanceof RegExp ? "object" : V(b, y) ? "symbol" : b;
|
|
}
|
|
function W(y) {
|
|
if (typeof y > "u" || y === null)
|
|
return "" + y;
|
|
var b = H(y);
|
|
if (b === "object") {
|
|
if (y instanceof Date)
|
|
return "date";
|
|
if (y instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return b;
|
|
}
|
|
function Y(y) {
|
|
var b = W(y);
|
|
switch (b) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + b;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + b;
|
|
default:
|
|
return b;
|
|
}
|
|
}
|
|
function K(y) {
|
|
return !y.constructor || !y.constructor.name ? d : y.constructor.name;
|
|
}
|
|
return g.checkPropTypes = o, g.resetWarningCache = o.resetWarningCache, g.PropTypes = g, g;
|
|
}, _p;
|
|
}
|
|
var Ip, v2;
|
|
function cY() {
|
|
if (v2) return Ip;
|
|
v2 = 1;
|
|
var e = /* @__PURE__ */ Dy();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Ip = function() {
|
|
function n(i, s, l, c, 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;
|
|
}, Ip;
|
|
}
|
|
var w2;
|
|
function uY() {
|
|
if (w2) return hc.exports;
|
|
if (w2 = 1, process.env.NODE_ENV !== "production") {
|
|
var e = AE(), t = !0;
|
|
hc.exports = /* @__PURE__ */ lY()(e.isElement, t);
|
|
} else
|
|
hc.exports = /* @__PURE__ */ cY()();
|
|
return hc.exports;
|
|
}
|
|
var fY = /* @__PURE__ */ uY();
|
|
const He = /* @__PURE__ */ tH(fY);
|
|
function x2(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 Mr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? x2(Object(r), !0).forEach(function(n) {
|
|
Va(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : x2(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Eu(e) {
|
|
"@babel/helpers - typeof";
|
|
return Eu = 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;
|
|
}, Eu(e);
|
|
}
|
|
function Va(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function dY(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 pY(e, t) {
|
|
if (e == null) return {};
|
|
var r = dY(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 cg(e) {
|
|
return mY(e) || hY(e) || gY(e) || bY();
|
|
}
|
|
function mY(e) {
|
|
if (Array.isArray(e)) return ug(e);
|
|
}
|
|
function hY(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function gY(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return ug(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 ug(e, t);
|
|
}
|
|
}
|
|
function ug(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 bY() {
|
|
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 yY(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, g = e.inverse, v = e.border, m = e.listItem, h = e.flip, w = e.size, x = e.rotation, $ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": l,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": g,
|
|
"fa-border": v,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Va(t, "fa-".concat(w), typeof w < "u" && w !== null), Va(t, "fa-rotate-".concat(x), typeof x < "u" && x !== null && x !== 0), Va(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Va(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(p) {
|
|
return S[p] ? p : null;
|
|
}).filter(function(p) {
|
|
return p;
|
|
});
|
|
}
|
|
function vY(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function NE(e) {
|
|
return vY(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var wY = ["style"];
|
|
function xY(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function $Y(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = NE(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[xY(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function jE(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(l) {
|
|
return jE(e, l);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(l, c) {
|
|
var u = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
l.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
l.attrs.style = $Y(u);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[NE(c)] = u;
|
|
}
|
|
return l;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = pY(r, wY);
|
|
return o.attrs.style = Mr(Mr({}, o.attrs.style), i), e.apply(void 0, [t.tag, Mr(Mr({}, o.attrs), s)].concat(cg(n)));
|
|
}
|
|
var _E = !1;
|
|
try {
|
|
_E = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function kY() {
|
|
if (!_E && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function $2(e) {
|
|
if (e && Eu(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (lg.icon)
|
|
return lg.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && Eu(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 Tp(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Va({}, e, t) : {};
|
|
}
|
|
var k2 = {
|
|
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
|
|
}, Pu = /* @__PURE__ */ ue.forwardRef(function(e, t) {
|
|
var r = Mr(Mr({}, k2), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = $2(n), f = Tp("classes", [].concat(cg(yY(r)), cg((i || "").split(" ")))), d = Tp("transform", typeof r.transform == "string" ? lg.transform(r.transform) : r.transform), g = Tp("mask", $2(o)), v = nY(u, Mr(Mr(Mr(Mr({}, f), d), g), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: l,
|
|
maskId: c
|
|
}));
|
|
if (!v)
|
|
return kY("Could not find icon", u), null;
|
|
var m = v.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
k2.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), OY(m[0], h);
|
|
});
|
|
Pu.displayName = "FontAwesomeIcon";
|
|
Pu.propTypes = {
|
|
beat: He.bool,
|
|
border: He.bool,
|
|
beatFade: He.bool,
|
|
bounce: He.bool,
|
|
className: He.string,
|
|
fade: He.bool,
|
|
flash: He.bool,
|
|
mask: He.oneOfType([He.object, He.array, He.string]),
|
|
maskId: He.string,
|
|
fixedWidth: He.bool,
|
|
inverse: He.bool,
|
|
flip: He.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: He.oneOfType([He.object, He.array, He.string]),
|
|
listItem: He.bool,
|
|
pull: He.oneOf(["right", "left"]),
|
|
pulse: He.bool,
|
|
rotation: He.oneOf([0, 90, 180, 270]),
|
|
shake: He.bool,
|
|
size: He.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: He.bool,
|
|
spinPulse: He.bool,
|
|
spinReverse: He.bool,
|
|
symbol: He.oneOfType([He.bool, He.string]),
|
|
title: He.string,
|
|
titleId: He.string,
|
|
transform: He.oneOfType([He.string, He.object]),
|
|
swapOpacity: He.bool
|
|
};
|
|
var OY = jE.bind(null, ue.createElement);
|
|
const SY = ({ list: e, onSelect: t }) => {
|
|
const [r, n] = $e(e[0]);
|
|
return Se(() => {
|
|
t(Object.values(r)[0]);
|
|
}, [r]), /* @__PURE__ */ q(dc, { value: r, onChange: n, children: /* @__PURE__ */ Le("div", { className: "relative mt-1", children: [
|
|
/* @__PURE__ */ Le(dc.Button, { className: "relative h-10 w-full cursor-pointer rounded-md bg-brand-secondary py-2 pl-3 pr-10 text-left outline-none outline-offset-0 transition-all duration-150 ease-in-out focus:outline-brand-primary sm:text-sm", children: [
|
|
/* @__PURE__ */ q("span", { className: "block truncate", children: Object.keys(r)[0] }),
|
|
/* @__PURE__ */ q("span", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2", children: /* @__PURE__ */ q(Pu, { icon: tW, "aria-hidden": "true" }) })
|
|
] }),
|
|
/* @__PURE__ */ q(
|
|
NH,
|
|
{
|
|
as: Tt,
|
|
leave: "transition ease-in duration-100",
|
|
leaveFrom: "opacity-100",
|
|
leaveTo: "opacity-0",
|
|
children: /* @__PURE__ */ q(dc.Options, { className: "absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-brand-secondary py-1 text-base shadow-lg focus:outline-none sm:text-sm", children: e.map((o, a) => /* @__PURE__ */ q(
|
|
dc.Option,
|
|
{
|
|
className: ({ active: i }) => `relative cursor-pointer select-none py-2 pl-10 pr-4 text-white ${i ? "text-white" : "text-gray-400"}`,
|
|
value: o,
|
|
children: ({ selected: i }) => /* @__PURE__ */ Le(jt, { children: [
|
|
/* @__PURE__ */ q(
|
|
"span",
|
|
{
|
|
className: `block truncate ${i ? "font-medium" : "font-normal"}`,
|
|
children: Object.values(o)[0]
|
|
}
|
|
),
|
|
i ? /* @__PURE__ */ q("span", { className: "absolute inset-y-0 left-0 flex items-center pl-3", children: /* @__PURE__ */ q(Pu, { icon: rW, "aria-hidden": "true" }) }) : null
|
|
] })
|
|
},
|
|
a
|
|
)) })
|
|
}
|
|
)
|
|
] }) });
|
|
}, Vy = "-", EY = (e) => {
|
|
const t = AY(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(Vy);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), IE(a, t) || PY(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, IE = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? IE(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(Vy);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, O2 = /^\[(.+)\]$/, PY = (e) => {
|
|
if (O2.test(e)) {
|
|
const t = O2.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, AY = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return NY(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
fg(a, n, o, t);
|
|
}), n;
|
|
}, fg = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : S2(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (CY(o)) {
|
|
fg(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
fg(i, S2(t, a), r, n);
|
|
});
|
|
});
|
|
}, S2 = (e, t) => {
|
|
let r = e;
|
|
return t.split(Vy).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, CY = (e) => e.isThemeGetter, NY = (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, jY = (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);
|
|
}
|
|
};
|
|
}, TE = "!", _Y = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const l = [];
|
|
let c = 0, u = 0, f;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
l.push(s.slice(u, h)), u = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
f = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const d = l.length === 0 ? s : s.substring(u), g = d.startsWith(TE), v = g ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: l,
|
|
hasImportantModifier: g,
|
|
baseClassName: v,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, IY = (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;
|
|
}, TY = (e) => ({
|
|
cache: jY(e.cacheSize),
|
|
parseClassName: _Y(e),
|
|
...EY(e)
|
|
}), RY = /\s+/, MY = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(RY);
|
|
let s = "";
|
|
for (let l = i.length - 1; l >= 0; l -= 1) {
|
|
const c = i[l], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: g
|
|
} = r(c);
|
|
let v = !!g, m = n(v ? d.substring(0, g) : d);
|
|
if (!m) {
|
|
if (!v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
v = !1;
|
|
}
|
|
const h = IY(u).join(":"), w = f ? h + TE : h, x = w + m;
|
|
if (a.includes(x))
|
|
continue;
|
|
a.push(x);
|
|
const $ = o(m, v);
|
|
for (let S = 0; S < $.length; ++S) {
|
|
const p = $[S];
|
|
a.push(w + p);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function zY() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = RE(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const RE = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = RE(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function LY(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(l) {
|
|
const c = t.reduce((u, f) => f(u), e());
|
|
return r = TY(c), n = r.cache.get, o = r.cache.set, a = s, s(l);
|
|
}
|
|
function s(l) {
|
|
const c = n(l);
|
|
if (c)
|
|
return c;
|
|
const u = MY(l, r);
|
|
return o(l, u), u;
|
|
}
|
|
return function() {
|
|
return a(zY.apply(null, arguments));
|
|
};
|
|
}
|
|
const gt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, ME = /^\[(?:([a-z-]+):)?(.+)\]$/i, FY = /^\d+\/\d+$/, DY = /* @__PURE__ */ new Set(["px", "full", "screen"]), VY = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, HY = /\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$/, WY = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, UY = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, YY = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, dn = (e) => oi(e) || DY.has(e) || FY.test(e), Zn = (e) => Mi(e, "length", ZY), oi = (e) => !!e && !Number.isNaN(Number(e)), Rp = (e) => Mi(e, "number", oi), ns = (e) => !!e && Number.isInteger(Number(e)), qY = (e) => e.endsWith("%") && oi(e.slice(0, -1)), Ie = (e) => ME.test(e), eo = (e) => VY.test(e), BY = /* @__PURE__ */ new Set(["length", "size", "percentage"]), GY = (e) => Mi(e, BY, zE), KY = (e) => Mi(e, "position", zE), XY = /* @__PURE__ */ new Set(["image", "url"]), JY = (e) => Mi(e, XY, tq), QY = (e) => Mi(e, "", eq), os = () => !0, Mi = (e, t, r) => {
|
|
const n = ME.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, ZY = (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.
|
|
HY.test(e) && !WY.test(e)
|
|
), zE = () => !1, eq = (e) => UY.test(e), tq = (e) => YY.test(e), rq = () => {
|
|
const e = gt("colors"), t = gt("spacing"), r = gt("blur"), n = gt("brightness"), o = gt("borderColor"), a = gt("borderRadius"), i = gt("borderSpacing"), s = gt("borderWidth"), l = gt("contrast"), c = gt("grayscale"), u = gt("hueRotate"), f = gt("invert"), d = gt("gap"), g = gt("gradientColorStops"), v = gt("gradientColorStopPositions"), m = gt("inset"), h = gt("margin"), w = gt("opacity"), x = gt("padding"), $ = gt("saturate"), S = gt("scale"), p = gt("sepia"), T = gt("skew"), L = gt("space"), G = gt("translate"), J = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", Ie, t], M = () => [Ie, t], ee = () => ["", dn, Zn], D = () => ["auto", oi, Ie], V = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], H = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], K = () => ["", "0", Ie], y = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], b = () => [oi, Ie];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [os],
|
|
spacing: [dn, Zn],
|
|
blur: ["none", "", eo, Ie],
|
|
brightness: b(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", eo, Ie],
|
|
borderSpacing: M(),
|
|
borderWidth: ee(),
|
|
contrast: b(),
|
|
grayscale: K(),
|
|
hueRotate: b(),
|
|
invert: K(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [qY, Zn],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: b(),
|
|
padding: M(),
|
|
saturate: b(),
|
|
scale: b(),
|
|
sepia: K(),
|
|
skew: b(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Ie]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [eo]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": y()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": y()
|
|
}],
|
|
/**
|
|
* 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: [...V(), Ie]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": J()
|
|
}],
|
|
/**
|
|
* 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", ns, Ie]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", Ie]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: K()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: K()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", ns, Ie]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [os]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", ns, Ie]
|
|
}, Ie]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": D()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": D()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [os]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [ns, Ie]
|
|
}, Ie]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": D()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": D()
|
|
}],
|
|
/**
|
|
* 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", Ie]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Ie]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [x]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [x]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [x]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [x]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [x]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [x]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [x]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [x]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [L]
|
|
}],
|
|
/**
|
|
* 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": [L]
|
|
}],
|
|
/**
|
|
* 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", Ie, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Ie, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Ie, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [eo]
|
|
}, eo]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Ie, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Ie, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Ie, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Ie, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", eo, Zn]
|
|
}],
|
|
/**
|
|
* 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", Rp]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [os]
|
|
}],
|
|
/**
|
|
* 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", Ie]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", oi, Rp]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", dn, Ie]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Ie]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Ie]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...H(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", dn, Zn]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", dn, Ie]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Ie]
|
|
}],
|
|
/**
|
|
* 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", Ie]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...V(), KY]
|
|
}],
|
|
/**
|
|
* 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", GY]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, JY]
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [g]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...H(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: H()
|
|
}],
|
|
/**
|
|
* 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: ["", ...H()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [dn, Ie]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [dn, Zn]
|
|
}],
|
|
/**
|
|
* 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: ee()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [dn, Zn]
|
|
}],
|
|
/**
|
|
* 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", eo, QY]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [os]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [l]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", eo, Ie]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* 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": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [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": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [p]
|
|
}],
|
|
// 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", Ie]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: b()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Ie]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: b()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Ie]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [ns, Ie]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [G]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [G]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [T]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [T]
|
|
}],
|
|
/**
|
|
* 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", Ie]
|
|
}],
|
|
// 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", Ie]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", Ie]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [dn, Zn, Rp]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, Mp = /* @__PURE__ */ LY(rq);
|
|
/*!
|
|
* 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 nq(e, t, r) {
|
|
return (t = aq(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function E2(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 ae(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? E2(Object(r), !0).forEach(function(n) {
|
|
nq(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : E2(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function oq(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 aq(e) {
|
|
var t = oq(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const P2 = () => {
|
|
};
|
|
let Hy = {}, LE = {}, FE = null, DE = {
|
|
mark: P2,
|
|
measure: P2
|
|
};
|
|
try {
|
|
typeof window < "u" && (Hy = window), typeof document < "u" && (LE = document), typeof MutationObserver < "u" && (FE = MutationObserver), typeof performance < "u" && (DE = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: A2 = ""
|
|
} = Hy.navigator || {}, No = Hy, kt = LE, C2 = FE, gc = DE;
|
|
No.document;
|
|
const Mn = !!kt.documentElement && !!kt.head && typeof kt.addEventListener == "function" && typeof kt.createElement == "function", VE = ~A2.indexOf("MSIE") || ~A2.indexOf("Trident/");
|
|
var iq = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, sq = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, HE = {
|
|
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"
|
|
}
|
|
}, lq = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, WE = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Kt = "classic", jf = "duotone", cq = "sharp", uq = "sharp-duotone", UE = [Kt, jf, cq, uq], fq = {
|
|
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"
|
|
}
|
|
}, dq = {
|
|
"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"
|
|
}
|
|
}, pq = /* @__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
|
|
}]]), mq = {
|
|
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"
|
|
}
|
|
}, hq = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], N2 = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, gq = ["kit"], bq = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, yq = ["fak", "fakd"], vq = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, j2 = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, bc = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, wq = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], xq = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], $q = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, kq = {
|
|
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"
|
|
}
|
|
}, Oq = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, dg = {
|
|
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"
|
|
}
|
|
}, Sq = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], pg = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...wq, ...Sq], Eq = ["solid", "regular", "light", "thin", "duotone", "brands"], YE = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], Pq = YE.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), Aq = [...Object.keys(Oq), ...Eq, "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", bc.GROUP, bc.SWAP_OPACITY, bc.PRIMARY, bc.SECONDARY].concat(YE.map((e) => "".concat(e, "x"))).concat(Pq.map((e) => "w-".concat(e))), Cq = {
|
|
"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 An = "___FONT_AWESOME___", mg = 16, qE = "fa", BE = "svg-inline--fa", ga = "data-fa-i2svg", hg = "data-fa-pseudo-element", Nq = "data-fa-pseudo-element-pending", Wy = "data-prefix", Uy = "data-icon", _2 = "fontawesome-i2svg", jq = "async", _q = ["HTML", "HEAD", "STYLE", "SCRIPT"], GE = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Nl(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Kt];
|
|
}
|
|
});
|
|
}
|
|
const KE = ae({}, HE);
|
|
KE[Kt] = ae(ae(ae(ae({}, {
|
|
"fa-duotone": "duotone"
|
|
}), HE[Kt]), N2.kit), N2["kit-duotone"]);
|
|
const Iq = Nl(KE), gg = ae({}, mq);
|
|
gg[Kt] = ae(ae(ae(ae({}, {
|
|
duotone: "fad"
|
|
}), gg[Kt]), j2.kit), j2["kit-duotone"]);
|
|
const I2 = Nl(gg), bg = ae({}, dg);
|
|
bg[Kt] = ae(ae({}, bg[Kt]), vq.kit);
|
|
const Yy = Nl(bg), yg = ae({}, kq);
|
|
yg[Kt] = ae(ae({}, yg[Kt]), bq.kit);
|
|
Nl(yg);
|
|
const Tq = iq, XE = "fa-layers-text", Rq = sq, Mq = ae({}, fq);
|
|
Nl(Mq);
|
|
const zq = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], zp = lq, Lq = [...gq, ...Aq], Ts = No.FontAwesomeConfig || {};
|
|
function Fq(e) {
|
|
var t = kt.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function Dq(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
kt && typeof kt.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 = Dq(Fq(t));
|
|
n != null && (Ts[r] = n);
|
|
});
|
|
const JE = {
|
|
styleDefault: "solid",
|
|
familyDefault: Kt,
|
|
cssPrefix: qE,
|
|
replacementClass: BE,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
Ts.familyPrefix && (Ts.cssPrefix = Ts.familyPrefix);
|
|
const mi = ae(ae({}, JE), Ts);
|
|
mi.autoReplaceSvg || (mi.observeMutations = !1);
|
|
const ye = {};
|
|
Object.keys(JE).forEach((e) => {
|
|
Object.defineProperty(ye, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
mi[e] = t, Rs.forEach((r) => r(ye));
|
|
},
|
|
get: function() {
|
|
return mi[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ye, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
mi.cssPrefix = e, Rs.forEach((t) => t(ye));
|
|
},
|
|
get: function() {
|
|
return mi.cssPrefix;
|
|
}
|
|
});
|
|
No.FontAwesomeConfig = ye;
|
|
const Rs = [];
|
|
function Vq(e) {
|
|
return Rs.push(e), () => {
|
|
Rs.splice(Rs.indexOf(e), 1);
|
|
};
|
|
}
|
|
const to = mg, Xr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function Hq(e) {
|
|
if (!e || !Mn)
|
|
return;
|
|
const t = kt.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = kt.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 kt.head.insertBefore(t, n), e;
|
|
}
|
|
const Wq = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function cl() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += Wq[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function zi(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function qy(e) {
|
|
return e.classList ? zi(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function QE(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function Uq(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(QE(e[r]), '" '), "").trim();
|
|
}
|
|
function _f(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function By(e) {
|
|
return e.size !== Xr.size || e.x !== Xr.x || e.y !== Xr.y || e.rotate !== Xr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function Yq(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)"), l = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: l,
|
|
path: c
|
|
};
|
|
}
|
|
function qq(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = mg,
|
|
height: n = mg,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && VE ? a += "translate(".concat(t.x / to - r / 2, "em, ").concat(t.y / to - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / to, "em), calc(-50% + ").concat(t.y / to, "em)) ") : a += "translate(".concat(t.x / to, "em, ").concat(t.y / to, "em) "), a += "scale(".concat(t.size / to * (t.flipX ? -1 : 1), ", ").concat(t.size / to * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var Bq = `: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 ZE() {
|
|
const e = qE, t = BE, r = ye.cssPrefix, n = ye.replacementClass;
|
|
let o = Bq;
|
|
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 T2 = !1;
|
|
function Lp() {
|
|
ye.autoAddCss && !T2 && (Hq(ZE()), T2 = !0);
|
|
}
|
|
var Gq = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: ZE,
|
|
insertCss: Lp
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
Lp();
|
|
},
|
|
beforeI2svg() {
|
|
Lp();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const Cn = No || {};
|
|
Cn[An] || (Cn[An] = {});
|
|
Cn[An].styles || (Cn[An].styles = {});
|
|
Cn[An].hooks || (Cn[An].hooks = {});
|
|
Cn[An].shims || (Cn[An].shims = []);
|
|
var Jr = Cn[An];
|
|
const eP = [], tP = function() {
|
|
kt.removeEventListener("DOMContentLoaded", tP), Au = 1, eP.map((e) => e());
|
|
};
|
|
let Au = !1;
|
|
Mn && (Au = (kt.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(kt.readyState), Au || kt.addEventListener("DOMContentLoaded", tP));
|
|
function Kq(e) {
|
|
Mn && (Au ? setTimeout(e, 0) : eP.push(e));
|
|
}
|
|
function jl(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? QE(e) : "<".concat(t, " ").concat(Uq(r), ">").concat(n.map(jl).join(""), "</").concat(t, ">");
|
|
}
|
|
function R2(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var Fp = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, l, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
l = o[s], c = i(c, e[l], l, e);
|
|
return c;
|
|
};
|
|
function Xq(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 rP(e) {
|
|
const t = Xq(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function Jq(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 M2(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 vg(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = M2(t);
|
|
typeof Jr.hooks.addPack == "function" && !n ? Jr.hooks.addPack(e, M2(t)) : Jr.styles[e] = ae(ae({}, Jr.styles[e] || {}), o), e === "fas" && vg("fa", t);
|
|
}
|
|
const {
|
|
styles: ul,
|
|
shims: Qq
|
|
} = Jr, nP = Object.keys(Yy), Zq = nP.reduce((e, t) => (e[t] = Object.keys(Yy[t]), e), {});
|
|
let Gy = null, oP = {}, aP = {}, iP = {}, sP = {}, lP = {};
|
|
function eB(e) {
|
|
return ~Lq.indexOf(e);
|
|
}
|
|
function tB(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !eB(o) ? o : null;
|
|
}
|
|
const cP = () => {
|
|
const e = (n) => Fp(ul, (o, a, i) => (o[i] = Fp(a, n, {}), o), {});
|
|
oP = 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)), aP = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), lP = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in ul || ye.autoFetchSvg, r = Fp(Qq, (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: {}
|
|
});
|
|
iP = r.names, sP = r.unicodes, Gy = If(ye.styleDefault, {
|
|
family: ye.familyDefault
|
|
});
|
|
};
|
|
Vq((e) => {
|
|
Gy = If(e.styleDefault, {
|
|
family: ye.familyDefault
|
|
});
|
|
});
|
|
cP();
|
|
function Ky(e, t) {
|
|
return (oP[e] || {})[t];
|
|
}
|
|
function rB(e, t) {
|
|
return (aP[e] || {})[t];
|
|
}
|
|
function Go(e, t) {
|
|
return (lP[e] || {})[t];
|
|
}
|
|
function uP(e) {
|
|
return iP[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function nB(e) {
|
|
const t = sP[e], r = Ky("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function jo() {
|
|
return Gy;
|
|
}
|
|
const fP = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function oB(e) {
|
|
let t = Kt;
|
|
const r = nP.reduce((n, o) => (n[o] = "".concat(ye.cssPrefix, "-").concat(o), n), {});
|
|
return UE.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => Zq[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function If(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Kt
|
|
} = t, n = Iq[r][e];
|
|
if (r === jf && !e)
|
|
return "fad";
|
|
const o = I2[r][e] || I2[r][n], a = e in Jr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function aB(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = tB(ye.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function z2(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Tf(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = pg.concat(xq), a = z2(e.filter((f) => o.includes(f))), i = z2(e.filter((f) => !pg.includes(f))), s = a.filter((f) => (n = f, !WE.includes(f))), [l = null] = s, c = oB(a), u = ae(ae({}, aB(i)), {}, {
|
|
prefix: If(l, {
|
|
family: c
|
|
})
|
|
});
|
|
return ae(ae(ae({}, u), cB({
|
|
values: e,
|
|
family: c,
|
|
styles: ul,
|
|
config: ye,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), iB(r, n, u));
|
|
}
|
|
function iB(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? uP(o) : {}, i = Go(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !ul.far && ul.fas && !ye.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const sB = UE.filter((e) => e !== Kt || e !== jf), lB = Object.keys(dg).filter((e) => e !== Kt).map((e) => Object.keys(dg[e])).flat();
|
|
function cB(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === jf, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && sB.includes(r) && (Object.keys(a).find((f) => lB.includes(f)) || i.autoFetchSvg)) {
|
|
const f = pq.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Go(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = jo() || "fas"), n;
|
|
}
|
|
let uB = 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] = ae(ae({}, this.definitions[a] || {}), o[a]), vg(a, o[a]);
|
|
const i = Yy[Kt][a];
|
|
i && vg(i, o[a]), cP();
|
|
});
|
|
}
|
|
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], l = s[2];
|
|
t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}, L2 = [], Ha = {};
|
|
const ai = {}, fB = Object.keys(ai);
|
|
function dB(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return L2 = e, Ha = {}, Object.keys(ai).forEach((n) => {
|
|
fB.indexOf(n) === -1 && delete ai[n];
|
|
}), L2.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) => {
|
|
Ha[i] || (Ha[i] = []), Ha[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(ai);
|
|
}), r;
|
|
}
|
|
function wg(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 (Ha[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function ba(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Ha[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function _o() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return ai[e] ? ai[e].apply(null, t) : void 0;
|
|
}
|
|
function xg(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || jo();
|
|
if (t)
|
|
return t = Go(r, t) || t, R2(dP.definitions, r, t) || R2(Jr.styles, r, t);
|
|
}
|
|
const dP = new uB(), pB = () => {
|
|
ye.autoReplaceSvg = !1, ye.observeMutations = !1, ba("noAuto");
|
|
}, mB = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return Mn ? (ba("beforeI2svg", e), _o("pseudoElements2svg", e), _o("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
ye.autoReplaceSvg === !1 && (ye.autoReplaceSvg = !0), ye.observeMutations = !0, Kq(() => {
|
|
gB({
|
|
autoReplaceSvgRoot: t
|
|
}), ba("watch", e);
|
|
});
|
|
}
|
|
}, hB = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Go(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 = If(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Go(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ye.cssPrefix, "-")) > -1 || e.match(Tq))) {
|
|
const t = Tf(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || jo(),
|
|
iconName: Go(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = jo();
|
|
return {
|
|
prefix: t,
|
|
iconName: Go(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, pr = {
|
|
noAuto: pB,
|
|
config: ye,
|
|
dom: mB,
|
|
parse: hB,
|
|
library: dP,
|
|
findIconDefinition: xg,
|
|
toHtml: jl
|
|
}, gB = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = kt
|
|
} = e;
|
|
(Object.keys(Jr.styles).length > 0 || ye.autoFetchSvg) && Mn && ye.autoReplaceSvg && pr.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function Rf(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => jl(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!Mn) return;
|
|
const r = kt.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function bB(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (By(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: l
|
|
} = r, c = {
|
|
x: s / l / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = _f(ae(ae({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function yB(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ye.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ae(ae({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function Xy(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: l,
|
|
titleId: c,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: g
|
|
} = r.found ? r : t, v = yq.includes(n), m = [ye.replacementClass, o ? "".concat(ye.cssPrefix, "-").concat(o) : ""].filter((p) => u.classes.indexOf(p) === -1).filter((p) => p !== "" || !!p).concat(u.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: ae(ae({}, 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(g)
|
|
})
|
|
};
|
|
const w = v && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / g * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (h.attributes[ga] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || cl())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const x = ae(ae({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: l,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ae(ae({}, w), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: S
|
|
} = r.found && t.found ? _o("generateAbstractMask", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : _o("generateAbstractIcon", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return x.children = $, x.attributes = S, i ? yB(x) : bB(x);
|
|
}
|
|
function F2(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, l = ae(ae(ae({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (l[ga] = "");
|
|
const c = ae({}, i.styles);
|
|
By(o) && (c.transform = qq({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const u = _f(c);
|
|
u.length > 0 && (l.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: l,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function vB(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ae(ae(ae({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = _f(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: Dp
|
|
} = Jr;
|
|
function $g(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ye.cssPrefix, "-").concat(zp.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ye.cssPrefix, "-").concat(zp.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ye.cssPrefix, "-").concat(zp.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const wB = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function xB(e, t) {
|
|
!GE && !ye.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function kg(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ye.styleDefault !== null && (t = jo()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = uP(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && Dp[t] && Dp[t][e]) {
|
|
const a = Dp[t][e];
|
|
return n($g(a));
|
|
}
|
|
xB(e, t), n(ae(ae({}, wB), {}, {
|
|
icon: ye.showMissingIcons && e ? _o("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const D2 = () => {
|
|
}, Og = ye.measurePerformance && gc && gc.mark && gc.measure ? gc : {
|
|
mark: D2,
|
|
measure: D2
|
|
}, hs = 'FA "6.7.2"', $B = (e) => (Og.mark("".concat(hs, " ").concat(e, " begins")), () => pP(e)), pP = (e) => {
|
|
Og.mark("".concat(hs, " ").concat(e, " ends")), Og.measure("".concat(hs, " ").concat(e), "".concat(hs, " ").concat(e, " begins"), "".concat(hs, " ").concat(e, " ends"));
|
|
};
|
|
var Jy = {
|
|
begin: $B,
|
|
end: pP
|
|
};
|
|
const Yc = () => {
|
|
};
|
|
function V2(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(ga) : null) == "string";
|
|
}
|
|
function kB(e) {
|
|
const t = e.getAttribute ? e.getAttribute(Wy) : null, r = e.getAttribute ? e.getAttribute(Uy) : null;
|
|
return t && r;
|
|
}
|
|
function OB(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ye.replacementClass);
|
|
}
|
|
function SB() {
|
|
return ye.autoReplaceSvg === !0 ? qc.replace : qc[ye.autoReplaceSvg] || qc.replace;
|
|
}
|
|
function EB(e) {
|
|
return kt.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function PB(e) {
|
|
return kt.createElement(e);
|
|
}
|
|
function mP(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? EB : PB
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return kt.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(mP(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function AB(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const qc = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(mP(r), t);
|
|
}), t.getAttribute(ga) === null && ye.keepOriginalSource) {
|
|
let r = kt.createComment(AB(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~qy(t).indexOf(ye.replacementClass))
|
|
return qc.replace(e);
|
|
const n = new RegExp("".concat(ye.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ye.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => jl(a)).join(`
|
|
`);
|
|
t.setAttribute(ga, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function H2(e) {
|
|
e();
|
|
}
|
|
function hP(e, t) {
|
|
const r = typeof t == "function" ? t : Yc;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = H2;
|
|
ye.mutateApproach === jq && (n = No.requestAnimationFrame || H2), n(() => {
|
|
const o = SB(), a = Jy.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let Qy = !1;
|
|
function gP() {
|
|
Qy = !0;
|
|
}
|
|
function Sg() {
|
|
Qy = !1;
|
|
}
|
|
let Cu = null;
|
|
function W2(e) {
|
|
if (!C2 || !ye.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Yc,
|
|
nodeCallback: r = Yc,
|
|
pseudoElementsCallback: n = Yc,
|
|
observeMutationsRoot: o = kt
|
|
} = e;
|
|
Cu = new C2((a) => {
|
|
if (Qy) return;
|
|
const i = jo();
|
|
zi(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !V2(s.addedNodes[0]) && (ye.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ye.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && V2(s.target) && ~zq.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && kB(s.target)) {
|
|
const {
|
|
prefix: l,
|
|
iconName: c
|
|
} = Tf(qy(s.target));
|
|
s.target.setAttribute(Wy, l || i), c && s.target.setAttribute(Uy, c);
|
|
} else OB(s.target) && r(s.target);
|
|
});
|
|
}), Mn && Cu.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function CB() {
|
|
Cu && Cu.disconnect();
|
|
}
|
|
function NB(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 jB(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Tf(qy(e));
|
|
return o.prefix || (o.prefix = jo()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = rB(o.prefix, e.innerText) || Ky(o.prefix, rP(e.innerText))), !o.iconName && ye.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function _B(e) {
|
|
const t = zi(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ye.autoA11y && (r ? t["aria-labelledby"] = "".concat(ye.replacementClass, "-title-").concat(n || cl()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function IB() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Xr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function U2(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = jB(e), a = _B(e), i = wg("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? NB(e) : [];
|
|
return ae({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Xr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: TB
|
|
} = Jr;
|
|
function bP(e) {
|
|
const t = ye.autoReplaceSvg === "nest" ? U2(e, {
|
|
styleParser: !1
|
|
}) : U2(e);
|
|
return ~t.extra.classes.indexOf(XE) ? _o("generateLayersText", e, t) : _o("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function RB() {
|
|
return [...hq, ...pg];
|
|
}
|
|
function Y2(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!Mn) return Promise.resolve();
|
|
const r = kt.documentElement.classList, n = (u) => r.add("".concat(_2, "-").concat(u)), o = (u) => r.remove("".concat(_2, "-").concat(u)), a = ye.autoFetchSvg ? RB() : WE.concat(Object.keys(TB));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(XE, ":not([").concat(ga, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(ga, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = zi(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const l = Jy.begin("onTree"), c = s.reduce((u, f) => {
|
|
try {
|
|
const d = bP(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
GE || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(c).then((d) => {
|
|
hP(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u();
|
|
});
|
|
}).catch((d) => {
|
|
l(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function MB(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
bP(e).then((r) => {
|
|
r && hP([r], t);
|
|
});
|
|
}
|
|
function zB(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : xg(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : xg(o || {})), e(n, ae(ae({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const LB = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Xr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: l = [],
|
|
attributes: c = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: g
|
|
} = e;
|
|
return Rf(ae({
|
|
type: "icon"
|
|
}, e), () => (ba("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ye.autoA11y && (i ? c["aria-labelledby"] = "".concat(ye.replacementClass, "-title-").concat(s || cl()) : (c["aria-hidden"] = "true", c.focusable = "false")), Xy({
|
|
icons: {
|
|
main: $g(g),
|
|
mask: o ? $g(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: ae(ae({}, Xr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: u,
|
|
classes: l
|
|
}
|
|
})));
|
|
};
|
|
var FB = {
|
|
mixout() {
|
|
return {
|
|
icon: zB(LB)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = Y2, e.nodeCallback = MB, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = kt,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return Y2(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: l,
|
|
mask: c,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, g) => {
|
|
Promise.all([kg(n, i), c.iconName ? kg(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((v) => {
|
|
let [m, h] = v;
|
|
d([t, Xy({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: l,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(g);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = _f(i);
|
|
s.length > 0 && (n.style = s);
|
|
let l;
|
|
return By(a) && (l = _o("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(l || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, DB = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return Rf({
|
|
type: "layer"
|
|
}, () => {
|
|
ba("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ye.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, VB = {
|
|
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 Rf({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (ba("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), vB({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ye.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, HB = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Xr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return Rf({
|
|
type: "text",
|
|
content: e
|
|
}, () => (ba("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), F2({
|
|
content: e,
|
|
transform: ae(ae({}, Xr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ye.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (VE) {
|
|
const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / l, s = c.height / l;
|
|
}
|
|
return ye.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, F2({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const WB = new RegExp('"', "ug"), q2 = [1105920, 1112319], B2 = ae(ae(ae(ae({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), dq), Cq), $q), Eg = Object.keys(B2).reduce((e, t) => (e[t.toLowerCase()] = B2[t], e), {}), UB = Object.keys(Eg).reduce((e, t) => {
|
|
const r = Eg[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function YB(e) {
|
|
const t = e.replace(WB, ""), r = Jq(t, 0), n = r >= q2[0] && r <= q2[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: rP(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function qB(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (Eg[r] || {})[o] || UB[r];
|
|
}
|
|
function G2(e, t) {
|
|
const r = "".concat(Nq).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = zi(e.children).filter((f) => f.getAttribute(hg) === t)[0], i = No.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(Rq), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !l)
|
|
return e.removeChild(a), n();
|
|
if (l && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = qB(s, c);
|
|
const {
|
|
value: g,
|
|
isSecondary: v
|
|
} = YB(f), m = l[0].startsWith("FontAwesome");
|
|
let h = Ky(d, g), w = h;
|
|
if (m) {
|
|
const x = nB(g);
|
|
x.iconName && x.prefix && (h = x.iconName, d = x.prefix);
|
|
}
|
|
if (h && !v && (!a || a.getAttribute(Wy) !== d || a.getAttribute(Uy) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const x = IB(), {
|
|
extra: $
|
|
} = x;
|
|
$.attributes[hg] = t, kg(h, d).then((S) => {
|
|
const p = Xy(ae(ae({}, x), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: fP()
|
|
},
|
|
prefix: d,
|
|
iconName: w,
|
|
extra: $,
|
|
watchable: !0
|
|
})), T = kt.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(T, e.firstChild) : e.appendChild(T), T.outerHTML = p.map((L) => jl(L)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function BB(e) {
|
|
return Promise.all([G2(e, "::before"), G2(e, "::after")]);
|
|
}
|
|
function GB(e) {
|
|
return e.parentNode !== document.head && !~_q.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(hg) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function K2(e) {
|
|
if (Mn)
|
|
return new Promise((t, r) => {
|
|
const n = zi(e.querySelectorAll("*")).filter(GB).map(BB), o = Jy.begin("searchPseudoElements");
|
|
gP(), Promise.all(n).then(() => {
|
|
o(), Sg(), t();
|
|
}).catch(() => {
|
|
o(), Sg(), r();
|
|
});
|
|
});
|
|
}
|
|
var KB = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = K2, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = kt
|
|
} = t;
|
|
ye.searchPseudoElements && K2(r);
|
|
};
|
|
}
|
|
};
|
|
let X2 = !1;
|
|
var XB = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
gP(), X2 = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
W2(wg("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
CB();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
X2 ? Sg() : W2(wg("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const J2 = (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 JB = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => J2(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = J2(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, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(l, " ").concat(c)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ae({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ae({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ae(ae({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const Vp = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function Q2(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 QB(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var ZB = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Tf(r.split(" ").map((o) => o.trim())) : fP();
|
|
return n.prefix || (n.prefix = jo()), 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: l,
|
|
icon: c
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = Yq({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: l
|
|
}), g = {
|
|
tag: "rect",
|
|
attributes: ae(ae({}, Vp), {}, {
|
|
fill: "white"
|
|
})
|
|
}, v = c.children ? {
|
|
children: c.children.map(Q2)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ae({}, d.inner),
|
|
children: [Q2(ae({
|
|
tag: c.tag,
|
|
attributes: ae(ae({}, c.attributes), d.path)
|
|
}, v))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: ae({}, d.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || cl()), x = "clip-".concat(i || cl()), $ = {
|
|
tag: "mask",
|
|
attributes: ae(ae({}, Vp), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [g, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: x
|
|
},
|
|
children: QB(f)
|
|
}, $]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: ae({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(x, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, Vp)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, eG = {
|
|
provides(e) {
|
|
let t = !1;
|
|
No.matchMedia && (t = No.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: ae(ae({}, n), {}, {
|
|
d: "M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"
|
|
})
|
|
});
|
|
const a = ae(ae({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ae(ae({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ae(ae({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ae(ae({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ae(ae({}, n), {}, {
|
|
opacity: "1",
|
|
d: "M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"
|
|
}),
|
|
children: t ? [] : [{
|
|
tag: "animate",
|
|
attributes: ae(ae({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ae(ae({}, n), {}, {
|
|
opacity: "0",
|
|
d: "M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"
|
|
}),
|
|
children: [{
|
|
tag: "animate",
|
|
attributes: ae(ae({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, tG = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, rG = [Gq, FB, DB, VB, HB, KB, XB, JB, ZB, eG, tG];
|
|
dB(rG, {
|
|
mixoutsTo: pr
|
|
});
|
|
pr.noAuto;
|
|
pr.config;
|
|
pr.library;
|
|
pr.dom;
|
|
const Pg = pr.parse;
|
|
pr.findIconDefinition;
|
|
pr.toHtml;
|
|
const nG = pr.icon;
|
|
pr.layer;
|
|
pr.text;
|
|
pr.counter;
|
|
function oG(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var yc = { exports: {} }, Hp = { exports: {} }, Qe = {};
|
|
/** @license React v16.13.1
|
|
* react-is.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var Z2;
|
|
function aG() {
|
|
if (Z2) return Qe;
|
|
Z2 = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(p) {
|
|
if (typeof p == "object" && p !== null) {
|
|
var T = p.$$typeof;
|
|
switch (T) {
|
|
case t:
|
|
switch (p = p.type, p) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return p;
|
|
default:
|
|
switch (p = p && p.$$typeof, p) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return p;
|
|
default:
|
|
return T;
|
|
}
|
|
}
|
|
case r:
|
|
return T;
|
|
}
|
|
}
|
|
}
|
|
function S(p) {
|
|
return $(p) === c;
|
|
}
|
|
return Qe.AsyncMode = l, Qe.ConcurrentMode = c, Qe.ContextConsumer = s, Qe.ContextProvider = i, Qe.Element = t, Qe.ForwardRef = u, Qe.Fragment = n, Qe.Lazy = v, Qe.Memo = g, Qe.Portal = r, Qe.Profiler = a, Qe.StrictMode = o, Qe.Suspense = f, Qe.isAsyncMode = function(p) {
|
|
return S(p) || $(p) === l;
|
|
}, Qe.isConcurrentMode = S, Qe.isContextConsumer = function(p) {
|
|
return $(p) === s;
|
|
}, Qe.isContextProvider = function(p) {
|
|
return $(p) === i;
|
|
}, Qe.isElement = function(p) {
|
|
return typeof p == "object" && p !== null && p.$$typeof === t;
|
|
}, Qe.isForwardRef = function(p) {
|
|
return $(p) === u;
|
|
}, Qe.isFragment = function(p) {
|
|
return $(p) === n;
|
|
}, Qe.isLazy = function(p) {
|
|
return $(p) === v;
|
|
}, Qe.isMemo = function(p) {
|
|
return $(p) === g;
|
|
}, Qe.isPortal = function(p) {
|
|
return $(p) === r;
|
|
}, Qe.isProfiler = function(p) {
|
|
return $(p) === a;
|
|
}, Qe.isStrictMode = function(p) {
|
|
return $(p) === o;
|
|
}, Qe.isSuspense = function(p) {
|
|
return $(p) === f;
|
|
}, Qe.isValidElementType = function(p) {
|
|
return typeof p == "string" || typeof p == "function" || p === n || p === c || p === a || p === o || p === f || p === d || typeof p == "object" && p !== null && (p.$$typeof === v || p.$$typeof === g || p.$$typeof === i || p.$$typeof === s || p.$$typeof === u || p.$$typeof === h || p.$$typeof === w || p.$$typeof === x || p.$$typeof === m);
|
|
}, Qe.typeOf = $, Qe;
|
|
}
|
|
var it = {};
|
|
/** @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 e$;
|
|
function iG() {
|
|
return e$ || (e$ = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === f || k === d || typeof k == "object" && k !== null && (k.$$typeof === v || k.$$typeof === g || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === h || k.$$typeof === w || k.$$typeof === x || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var fe = k.$$typeof;
|
|
switch (fe) {
|
|
case t:
|
|
var Ee = k.type;
|
|
switch (Ee) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ee;
|
|
default:
|
|
var xe = Ee && Ee.$$typeof;
|
|
switch (xe) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return xe;
|
|
default:
|
|
return fe;
|
|
}
|
|
}
|
|
case r:
|
|
return fe;
|
|
}
|
|
}
|
|
}
|
|
var p = l, T = c, L = s, G = i, J = t, B = u, Z = n, M = v, ee = g, D = r, V = a, H = o, W = f, Y = !1;
|
|
function K(k) {
|
|
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.")), y(k) || S(k) === l;
|
|
}
|
|
function y(k) {
|
|
return S(k) === c;
|
|
}
|
|
function b(k) {
|
|
return S(k) === s;
|
|
}
|
|
function E(k) {
|
|
return S(k) === i;
|
|
}
|
|
function A(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function C(k) {
|
|
return S(k) === u;
|
|
}
|
|
function j(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === v;
|
|
}
|
|
function P(k) {
|
|
return S(k) === g;
|
|
}
|
|
function _(k) {
|
|
return S(k) === r;
|
|
}
|
|
function I(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === f;
|
|
}
|
|
it.AsyncMode = p, it.ConcurrentMode = T, it.ContextConsumer = L, it.ContextProvider = G, it.Element = J, it.ForwardRef = B, it.Fragment = Z, it.Lazy = M, it.Memo = ee, it.Portal = D, it.Profiler = V, it.StrictMode = H, it.Suspense = W, it.isAsyncMode = K, it.isConcurrentMode = y, it.isContextConsumer = b, it.isContextProvider = E, it.isElement = A, it.isForwardRef = C, it.isFragment = j, it.isLazy = N, it.isMemo = P, it.isPortal = _, it.isProfiler = I, it.isStrictMode = R, it.isSuspense = Q, it.isValidElementType = $, it.typeOf = S;
|
|
}()), it;
|
|
}
|
|
var t$;
|
|
function yP() {
|
|
return t$ || (t$ = 1, process.env.NODE_ENV === "production" ? Hp.exports = aG() : Hp.exports = iG()), Hp.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var Wp, r$;
|
|
function sG() {
|
|
if (r$) return Wp;
|
|
r$ = 1;
|
|
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
|
|
function n(a) {
|
|
if (a == null)
|
|
throw new TypeError("Object.assign cannot be called with null or undefined");
|
|
return Object(a);
|
|
}
|
|
function o() {
|
|
try {
|
|
if (!Object.assign)
|
|
return !1;
|
|
var a = new String("abc");
|
|
if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
|
|
return !1;
|
|
for (var i = {}, s = 0; s < 10; s++)
|
|
i["_" + String.fromCharCode(s)] = s;
|
|
var l = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (l.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
c[u] = u;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return Wp = o() ? Object.assign : function(a, i) {
|
|
for (var s, l = n(a), c, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (l[f] = s[f]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var d = 0; d < c.length; d++)
|
|
r.call(s, c[d]) && (l[c[d]] = s[c[d]]);
|
|
}
|
|
}
|
|
return l;
|
|
}, Wp;
|
|
}
|
|
var Up, n$;
|
|
function Zy() {
|
|
if (n$) return Up;
|
|
n$ = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return Up = e, Up;
|
|
}
|
|
var o$, a$;
|
|
function vP() {
|
|
return a$ || (a$ = 1, o$ = Function.call.bind(Object.prototype.hasOwnProperty)), o$;
|
|
}
|
|
var Yp, i$;
|
|
function lG() {
|
|
if (i$) return Yp;
|
|
i$ = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ Zy(), r = {}, n = /* @__PURE__ */ vP();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, l, c) {
|
|
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(
|
|
(l || "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, l, s, null, t);
|
|
} catch (v) {
|
|
f = v;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(l || "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 g = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (g ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, Yp = o, Yp;
|
|
}
|
|
var qp, s$;
|
|
function cG() {
|
|
if (s$) return qp;
|
|
s$ = 1;
|
|
var e = yP(), t = sG(), r = /* @__PURE__ */ Zy(), n = /* @__PURE__ */ vP(), o = /* @__PURE__ */ lG(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var l = "Warning: " + s;
|
|
typeof console < "u" && console.error(l);
|
|
try {
|
|
throw new Error(l);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return qp = function(s, l) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(y) {
|
|
var b = y && (c && y[c] || y[u]);
|
|
if (typeof b == "function")
|
|
return b;
|
|
}
|
|
var d = "<<anonymous>>", g = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: x(),
|
|
arrayOf: $,
|
|
element: S(),
|
|
elementType: p(),
|
|
instanceOf: T,
|
|
node: B(),
|
|
objectOf: G,
|
|
oneOf: L,
|
|
oneOfType: J,
|
|
shape: M,
|
|
exact: ee
|
|
};
|
|
function v(y, b) {
|
|
return y === b ? y !== 0 || 1 / y === 1 / b : y !== y && b !== b;
|
|
}
|
|
function m(y, b) {
|
|
this.message = y, this.data = b && typeof b == "object" ? b : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(y) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var b = {}, E = 0;
|
|
function A(j, N, P, _, I, R, Q) {
|
|
if (_ = _ || d, R = R || P, Q !== r) {
|
|
if (l) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var fe = _ + ":" + P;
|
|
!b[fe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
E < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + _ + "`. 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."
|
|
), b[fe] = !0, E++);
|
|
}
|
|
}
|
|
return N[P] == null ? j ? N[P] === null ? new m("The " + I + " `" + R + "` is marked as required " + ("in `" + _ + "`, but its value is `null`.")) : new m("The " + I + " `" + R + "` is marked as required in " + ("`" + _ + "`, but its value is `undefined`.")) : null : y(N, P, _, I, R);
|
|
}
|
|
var C = A.bind(null, !1);
|
|
return C.isRequired = A.bind(null, !0), C;
|
|
}
|
|
function w(y) {
|
|
function b(E, A, C, j, N, P) {
|
|
var _ = E[A], I = H(_);
|
|
if (I !== y) {
|
|
var R = W(_);
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` of type " + ("`" + R + "` supplied to `" + C + "`, expected ") + ("`" + y + "`."),
|
|
{ expectedType: y }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function x() {
|
|
return h(i);
|
|
}
|
|
function $(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside arrayOf.");
|
|
var P = E[A];
|
|
if (!Array.isArray(P)) {
|
|
var _ = H(P);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an array."));
|
|
}
|
|
for (var I = 0; I < P.length; I++) {
|
|
var R = y(P, I, C, j, N + "[" + I + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function S() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!s(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function p() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!e.isValidElementType(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function T(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (!(E[A] instanceof y)) {
|
|
var P = y.name || d, _ = K(E[A]);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected ") + ("instance of `" + P + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function L(y) {
|
|
if (!Array.isArray(y))
|
|
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 b(E, A, C, j, N) {
|
|
for (var P = E[A], _ = 0; _ < y.length; _++)
|
|
if (v(P, y[_]))
|
|
return null;
|
|
var I = JSON.stringify(y, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + j + " `" + N + "` of value `" + String(P) + "` " + ("supplied to `" + C + "`, expected one of " + I + "."));
|
|
}
|
|
return h(b);
|
|
}
|
|
function G(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside objectOf.");
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an object."));
|
|
for (var I in P)
|
|
if (n(P, I)) {
|
|
var R = y(P, I, C, j, N + "." + I, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function J(y) {
|
|
if (!Array.isArray(y))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var b = 0; b < y.length; b++) {
|
|
var E = y[b];
|
|
if (typeof E != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(E) + " at index " + b + "."
|
|
), i;
|
|
}
|
|
function A(C, j, N, P, _) {
|
|
for (var I = [], R = 0; R < y.length; R++) {
|
|
var Q = y[R], k = Q(C, j, N, P, _, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && I.push(k.data.expectedType);
|
|
}
|
|
var fe = I.length > 0 ? ", expected one of type [" + I.join(", ") + "]" : "";
|
|
return new m("Invalid " + P + " `" + _ + "` supplied to " + ("`" + N + "`" + fe + "."));
|
|
}
|
|
return h(A);
|
|
}
|
|
function B() {
|
|
function y(b, E, A, C, j) {
|
|
return D(b[E]) ? null : new m("Invalid " + C + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return h(y);
|
|
}
|
|
function Z(y, b, E, A, C) {
|
|
return new m(
|
|
(y || "React class") + ": " + b + " type `" + E + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + C + "`."
|
|
);
|
|
}
|
|
function M(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
for (var I in y) {
|
|
var R = y[I];
|
|
if (typeof R != "function")
|
|
return Z(C, j, N, I, W(R));
|
|
var Q = R(P, I, C, j, N + "." + I, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function ee(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
var I = t({}, E[A], y);
|
|
for (var R in I) {
|
|
var Q = y[R];
|
|
if (n(y, R) && typeof Q != "function")
|
|
return Z(C, j, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` key `" + R + "` supplied to `" + C + "`.\nBad object: " + JSON.stringify(E[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(y), null, " ")
|
|
);
|
|
var k = Q(P, R, C, j, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function D(y) {
|
|
switch (typeof y) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !y;
|
|
case "object":
|
|
if (Array.isArray(y))
|
|
return y.every(D);
|
|
if (y === null || s(y))
|
|
return !0;
|
|
var b = f(y);
|
|
if (b) {
|
|
var E = b.call(y), A;
|
|
if (b !== y.entries) {
|
|
for (; !(A = E.next()).done; )
|
|
if (!D(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = E.next()).done; ) {
|
|
var C = A.value;
|
|
if (C && !D(C[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function V(y, b) {
|
|
return y === "symbol" ? !0 : b ? b["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && b instanceof Symbol : !1;
|
|
}
|
|
function H(y) {
|
|
var b = typeof y;
|
|
return Array.isArray(y) ? "array" : y instanceof RegExp ? "object" : V(b, y) ? "symbol" : b;
|
|
}
|
|
function W(y) {
|
|
if (typeof y > "u" || y === null)
|
|
return "" + y;
|
|
var b = H(y);
|
|
if (b === "object") {
|
|
if (y instanceof Date)
|
|
return "date";
|
|
if (y instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return b;
|
|
}
|
|
function Y(y) {
|
|
var b = W(y);
|
|
switch (b) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + b;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + b;
|
|
default:
|
|
return b;
|
|
}
|
|
}
|
|
function K(y) {
|
|
return !y.constructor || !y.constructor.name ? d : y.constructor.name;
|
|
}
|
|
return g.checkPropTypes = o, g.resetWarningCache = o.resetWarningCache, g.PropTypes = g, g;
|
|
}, qp;
|
|
}
|
|
var Bp, l$;
|
|
function uG() {
|
|
if (l$) return Bp;
|
|
l$ = 1;
|
|
var e = /* @__PURE__ */ Zy();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, Bp = function() {
|
|
function n(i, s, l, c, 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;
|
|
}, Bp;
|
|
}
|
|
var c$;
|
|
function fG() {
|
|
if (c$) return yc.exports;
|
|
if (c$ = 1, process.env.NODE_ENV !== "production") {
|
|
var e = yP(), t = !0;
|
|
yc.exports = /* @__PURE__ */ cG()(e.isElement, t);
|
|
} else
|
|
yc.exports = /* @__PURE__ */ uG()();
|
|
return yc.exports;
|
|
}
|
|
var dG = /* @__PURE__ */ fG();
|
|
const We = /* @__PURE__ */ oG(dG);
|
|
function u$(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 zr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? u$(Object(r), !0).forEach(function(n) {
|
|
Wa(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : u$(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Nu(e) {
|
|
"@babel/helpers - typeof";
|
|
return Nu = 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;
|
|
}, Nu(e);
|
|
}
|
|
function Wa(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function pG(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 mG(e, t) {
|
|
if (e == null) return {};
|
|
var r = pG(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 Ag(e) {
|
|
return hG(e) || gG(e) || bG(e) || yG();
|
|
}
|
|
function hG(e) {
|
|
if (Array.isArray(e)) return Cg(e);
|
|
}
|
|
function gG(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function bG(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return Cg(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 Cg(e, t);
|
|
}
|
|
}
|
|
function Cg(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 yG() {
|
|
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 vG(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, g = e.inverse, v = e.border, m = e.listItem, h = e.flip, w = e.size, x = e.rotation, $ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": l,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": g,
|
|
"fa-border": v,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Wa(t, "fa-".concat(w), typeof w < "u" && w !== null), Wa(t, "fa-rotate-".concat(x), typeof x < "u" && x !== null && x !== 0), Wa(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Wa(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(p) {
|
|
return S[p] ? p : null;
|
|
}).filter(function(p) {
|
|
return p;
|
|
});
|
|
}
|
|
function wG(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function wP(e) {
|
|
return wG(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var xG = ["style"];
|
|
function $G(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function kG(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = wP(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[$G(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function xP(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(l) {
|
|
return xP(e, l);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(l, c) {
|
|
var u = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
l.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
l.attrs.style = kG(u);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[wP(c)] = u;
|
|
}
|
|
return l;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = mG(r, xG);
|
|
return o.attrs.style = zr(zr({}, o.attrs.style), i), e.apply(void 0, [t.tag, zr(zr({}, o.attrs), s)].concat(Ag(n)));
|
|
}
|
|
var $P = !1;
|
|
try {
|
|
$P = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function OG() {
|
|
if (!$P && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function f$(e) {
|
|
if (e && Nu(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (Pg.icon)
|
|
return Pg.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && Nu(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 Gp(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Wa({}, e, t) : {};
|
|
}
|
|
var d$ = {
|
|
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
|
|
}, ev = /* @__PURE__ */ ue.forwardRef(function(e, t) {
|
|
var r = zr(zr({}, d$), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = f$(n), f = Gp("classes", [].concat(Ag(vG(r)), Ag((i || "").split(" ")))), d = Gp("transform", typeof r.transform == "string" ? Pg.transform(r.transform) : r.transform), g = Gp("mask", f$(o)), v = nG(u, zr(zr(zr(zr({}, f), d), g), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: l,
|
|
maskId: c
|
|
}));
|
|
if (!v)
|
|
return OG("Could not find icon", u), null;
|
|
var m = v.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
d$.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), SG(m[0], h);
|
|
});
|
|
ev.displayName = "FontAwesomeIcon";
|
|
ev.propTypes = {
|
|
beat: We.bool,
|
|
border: We.bool,
|
|
beatFade: We.bool,
|
|
bounce: We.bool,
|
|
className: We.string,
|
|
fade: We.bool,
|
|
flash: We.bool,
|
|
mask: We.oneOfType([We.object, We.array, We.string]),
|
|
maskId: We.string,
|
|
fixedWidth: We.bool,
|
|
inverse: We.bool,
|
|
flip: We.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: We.oneOfType([We.object, We.array, We.string]),
|
|
listItem: We.bool,
|
|
pull: We.oneOf(["right", "left"]),
|
|
pulse: We.bool,
|
|
rotation: We.oneOf([0, 90, 180, 270]),
|
|
shake: We.bool,
|
|
size: We.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: We.bool,
|
|
spinPulse: We.bool,
|
|
spinReverse: We.bool,
|
|
symbol: We.oneOfType([We.bool, We.string]),
|
|
title: We.string,
|
|
titleId: We.string,
|
|
transform: We.oneOfType([We.string, We.object]),
|
|
swapOpacity: We.bool
|
|
};
|
|
var SG = xP.bind(null, ue.createElement);
|
|
const tv = "-", EG = (e) => {
|
|
const t = AG(e), {
|
|
conflictingClassGroups: r,
|
|
conflictingClassGroupModifiers: n
|
|
} = e;
|
|
return {
|
|
getClassGroupId: (o) => {
|
|
const a = o.split(tv);
|
|
return a[0] === "" && a.length !== 1 && a.shift(), kP(a, t) || PG(o);
|
|
},
|
|
getConflictingClassGroupIds: (o, a) => {
|
|
const i = r[o] || [];
|
|
return a && n[o] ? [...i, ...n[o]] : i;
|
|
}
|
|
};
|
|
}, kP = (e, t) => {
|
|
var r;
|
|
if (e.length === 0)
|
|
return t.classGroupId;
|
|
const n = e[0], o = t.nextPart.get(n), a = o ? kP(e.slice(1), o) : void 0;
|
|
if (a)
|
|
return a;
|
|
if (t.validators.length === 0)
|
|
return;
|
|
const i = e.join(tv);
|
|
return (r = t.validators.find(({
|
|
validator: s
|
|
}) => s(i))) == null ? void 0 : r.classGroupId;
|
|
}, p$ = /^\[(.+)\]$/, PG = (e) => {
|
|
if (p$.test(e)) {
|
|
const t = p$.exec(e)[1], r = t == null ? void 0 : t.substring(0, t.indexOf(":"));
|
|
if (r)
|
|
return "arbitrary.." + r;
|
|
}
|
|
}, AG = (e) => {
|
|
const {
|
|
theme: t,
|
|
prefix: r
|
|
} = e, n = {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
};
|
|
return NG(Object.entries(e.classGroups), r).forEach(([o, a]) => {
|
|
Ng(a, n, o, t);
|
|
}), n;
|
|
}, Ng = (e, t, r, n) => {
|
|
e.forEach((o) => {
|
|
if (typeof o == "string") {
|
|
const a = o === "" ? t : m$(t, o);
|
|
a.classGroupId = r;
|
|
return;
|
|
}
|
|
if (typeof o == "function") {
|
|
if (CG(o)) {
|
|
Ng(o(n), t, r, n);
|
|
return;
|
|
}
|
|
t.validators.push({
|
|
validator: o,
|
|
classGroupId: r
|
|
});
|
|
return;
|
|
}
|
|
Object.entries(o).forEach(([a, i]) => {
|
|
Ng(i, m$(t, a), r, n);
|
|
});
|
|
});
|
|
}, m$ = (e, t) => {
|
|
let r = e;
|
|
return t.split(tv).forEach((n) => {
|
|
r.nextPart.has(n) || r.nextPart.set(n, {
|
|
nextPart: /* @__PURE__ */ new Map(),
|
|
validators: []
|
|
}), r = r.nextPart.get(n);
|
|
}), r;
|
|
}, CG = (e) => e.isThemeGetter, NG = (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, jG = (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);
|
|
}
|
|
};
|
|
}, OP = "!", _G = (e) => {
|
|
const {
|
|
separator: t,
|
|
experimentalParseClassName: r
|
|
} = e, n = t.length === 1, o = t[0], a = t.length, i = (s) => {
|
|
const l = [];
|
|
let c = 0, u = 0, f;
|
|
for (let h = 0; h < s.length; h++) {
|
|
let w = s[h];
|
|
if (c === 0) {
|
|
if (w === o && (n || s.slice(h, h + a) === t)) {
|
|
l.push(s.slice(u, h)), u = h + a;
|
|
continue;
|
|
}
|
|
if (w === "/") {
|
|
f = h;
|
|
continue;
|
|
}
|
|
}
|
|
w === "[" ? c++ : w === "]" && c--;
|
|
}
|
|
const d = l.length === 0 ? s : s.substring(u), g = d.startsWith(OP), v = g ? d.substring(1) : d, m = f && f > u ? f - u : void 0;
|
|
return {
|
|
modifiers: l,
|
|
hasImportantModifier: g,
|
|
baseClassName: v,
|
|
maybePostfixModifierPosition: m
|
|
};
|
|
};
|
|
return r ? (s) => r({
|
|
className: s,
|
|
parseClassName: i
|
|
}) : i;
|
|
}, IG = (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;
|
|
}, TG = (e) => ({
|
|
cache: jG(e.cacheSize),
|
|
parseClassName: _G(e),
|
|
...EG(e)
|
|
}), RG = /\s+/, MG = (e, t) => {
|
|
const {
|
|
parseClassName: r,
|
|
getClassGroupId: n,
|
|
getConflictingClassGroupIds: o
|
|
} = t, a = [], i = e.trim().split(RG);
|
|
let s = "";
|
|
for (let l = i.length - 1; l >= 0; l -= 1) {
|
|
const c = i[l], {
|
|
modifiers: u,
|
|
hasImportantModifier: f,
|
|
baseClassName: d,
|
|
maybePostfixModifierPosition: g
|
|
} = r(c);
|
|
let v = !!g, m = n(v ? d.substring(0, g) : d);
|
|
if (!m) {
|
|
if (!v) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
if (m = n(d), !m) {
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
continue;
|
|
}
|
|
v = !1;
|
|
}
|
|
const h = IG(u).join(":"), w = f ? h + OP : h, x = w + m;
|
|
if (a.includes(x))
|
|
continue;
|
|
a.push(x);
|
|
const $ = o(m, v);
|
|
for (let S = 0; S < $.length; ++S) {
|
|
const p = $[S];
|
|
a.push(w + p);
|
|
}
|
|
s = c + (s.length > 0 ? " " + s : s);
|
|
}
|
|
return s;
|
|
};
|
|
function zG() {
|
|
let e = 0, t, r, n = "";
|
|
for (; e < arguments.length; )
|
|
(t = arguments[e++]) && (r = SP(t)) && (n && (n += " "), n += r);
|
|
return n;
|
|
}
|
|
const SP = (e) => {
|
|
if (typeof e == "string")
|
|
return e;
|
|
let t, r = "";
|
|
for (let n = 0; n < e.length; n++)
|
|
e[n] && (t = SP(e[n])) && (r && (r += " "), r += t);
|
|
return r;
|
|
};
|
|
function LG(e, ...t) {
|
|
let r, n, o, a = i;
|
|
function i(l) {
|
|
const c = t.reduce((u, f) => f(u), e());
|
|
return r = TG(c), n = r.cache.get, o = r.cache.set, a = s, s(l);
|
|
}
|
|
function s(l) {
|
|
const c = n(l);
|
|
if (c)
|
|
return c;
|
|
const u = MG(l, r);
|
|
return o(l, u), u;
|
|
}
|
|
return function() {
|
|
return a(zG.apply(null, arguments));
|
|
};
|
|
}
|
|
const bt = (e) => {
|
|
const t = (r) => r[e] || [];
|
|
return t.isThemeGetter = !0, t;
|
|
}, EP = /^\[(?:([a-z-]+):)?(.+)\]$/i, FG = /^\d+\/\d+$/, DG = /* @__PURE__ */ new Set(["px", "full", "screen"]), VG = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, HG = /\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$/, WG = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, UG = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, YG = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, pn = (e) => ii(e) || DG.has(e) || FG.test(e), ro = (e) => Li(e, "length", ZG), ii = (e) => !!e && !Number.isNaN(Number(e)), Kp = (e) => Li(e, "number", ii), as = (e) => !!e && Number.isInteger(Number(e)), qG = (e) => e.endsWith("%") && ii(e.slice(0, -1)), Te = (e) => EP.test(e), no = (e) => VG.test(e), BG = /* @__PURE__ */ new Set(["length", "size", "percentage"]), GG = (e) => Li(e, BG, PP), KG = (e) => Li(e, "position", PP), XG = /* @__PURE__ */ new Set(["image", "url"]), JG = (e) => Li(e, XG, tK), QG = (e) => Li(e, "", eK), is = () => !0, Li = (e, t, r) => {
|
|
const n = EP.exec(e);
|
|
return n ? n[1] ? typeof t == "string" ? n[1] === t : t.has(n[1]) : r(n[2]) : !1;
|
|
}, ZG = (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.
|
|
HG.test(e) && !WG.test(e)
|
|
), PP = () => !1, eK = (e) => UG.test(e), tK = (e) => YG.test(e), rK = () => {
|
|
const e = bt("colors"), t = bt("spacing"), r = bt("blur"), n = bt("brightness"), o = bt("borderColor"), a = bt("borderRadius"), i = bt("borderSpacing"), s = bt("borderWidth"), l = bt("contrast"), c = bt("grayscale"), u = bt("hueRotate"), f = bt("invert"), d = bt("gap"), g = bt("gradientColorStops"), v = bt("gradientColorStopPositions"), m = bt("inset"), h = bt("margin"), w = bt("opacity"), x = bt("padding"), $ = bt("saturate"), S = bt("scale"), p = bt("sepia"), T = bt("skew"), L = bt("space"), G = bt("translate"), J = () => ["auto", "contain", "none"], B = () => ["auto", "hidden", "clip", "visible", "scroll"], Z = () => ["auto", Te, t], M = () => [Te, t], ee = () => ["", pn, ro], D = () => ["auto", ii, Te], V = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], H = () => ["solid", "dashed", "dotted", "double", "none"], W = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], Y = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], K = () => ["", "0", Te], y = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], b = () => [ii, Te];
|
|
return {
|
|
cacheSize: 500,
|
|
separator: ":",
|
|
theme: {
|
|
colors: [is],
|
|
spacing: [pn, ro],
|
|
blur: ["none", "", no, Te],
|
|
brightness: b(),
|
|
borderColor: [e],
|
|
borderRadius: ["none", "", "full", no, Te],
|
|
borderSpacing: M(),
|
|
borderWidth: ee(),
|
|
contrast: b(),
|
|
grayscale: K(),
|
|
hueRotate: b(),
|
|
invert: K(),
|
|
gap: M(),
|
|
gradientColorStops: [e],
|
|
gradientColorStopPositions: [qG, ro],
|
|
inset: Z(),
|
|
margin: Z(),
|
|
opacity: b(),
|
|
padding: M(),
|
|
saturate: b(),
|
|
scale: b(),
|
|
sepia: K(),
|
|
skew: b(),
|
|
space: M(),
|
|
translate: M()
|
|
},
|
|
classGroups: {
|
|
// Layout
|
|
/**
|
|
* Aspect Ratio
|
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
*/
|
|
aspect: [{
|
|
aspect: ["auto", "square", "video", Te]
|
|
}],
|
|
/**
|
|
* Container
|
|
* @see https://tailwindcss.com/docs/container
|
|
*/
|
|
container: ["container"],
|
|
/**
|
|
* Columns
|
|
* @see https://tailwindcss.com/docs/columns
|
|
*/
|
|
columns: [{
|
|
columns: [no]
|
|
}],
|
|
/**
|
|
* Break After
|
|
* @see https://tailwindcss.com/docs/break-after
|
|
*/
|
|
"break-after": [{
|
|
"break-after": y()
|
|
}],
|
|
/**
|
|
* Break Before
|
|
* @see https://tailwindcss.com/docs/break-before
|
|
*/
|
|
"break-before": [{
|
|
"break-before": y()
|
|
}],
|
|
/**
|
|
* 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: [...V(), Te]
|
|
}],
|
|
/**
|
|
* Overflow
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
overflow: [{
|
|
overflow: B()
|
|
}],
|
|
/**
|
|
* Overflow X
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-x": [{
|
|
"overflow-x": B()
|
|
}],
|
|
/**
|
|
* Overflow Y
|
|
* @see https://tailwindcss.com/docs/overflow
|
|
*/
|
|
"overflow-y": [{
|
|
"overflow-y": B()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
overscroll: [{
|
|
overscroll: J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior X
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-x": [{
|
|
"overscroll-x": J()
|
|
}],
|
|
/**
|
|
* Overscroll Behavior Y
|
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
*/
|
|
"overscroll-y": [{
|
|
"overscroll-y": J()
|
|
}],
|
|
/**
|
|
* 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", as, Te]
|
|
}],
|
|
// Flexbox and Grid
|
|
/**
|
|
* Flex Basis
|
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
*/
|
|
basis: [{
|
|
basis: Z()
|
|
}],
|
|
/**
|
|
* Flex Direction
|
|
* @see https://tailwindcss.com/docs/flex-direction
|
|
*/
|
|
"flex-direction": [{
|
|
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
}],
|
|
/**
|
|
* Flex Wrap
|
|
* @see https://tailwindcss.com/docs/flex-wrap
|
|
*/
|
|
"flex-wrap": [{
|
|
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
}],
|
|
/**
|
|
* Flex
|
|
* @see https://tailwindcss.com/docs/flex
|
|
*/
|
|
flex: [{
|
|
flex: ["1", "auto", "initial", "none", Te]
|
|
}],
|
|
/**
|
|
* Flex Grow
|
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
*/
|
|
grow: [{
|
|
grow: K()
|
|
}],
|
|
/**
|
|
* Flex Shrink
|
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
*/
|
|
shrink: [{
|
|
shrink: K()
|
|
}],
|
|
/**
|
|
* Order
|
|
* @see https://tailwindcss.com/docs/order
|
|
*/
|
|
order: [{
|
|
order: ["first", "last", "none", as, Te]
|
|
}],
|
|
/**
|
|
* Grid Template Columns
|
|
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
*/
|
|
"grid-cols": [{
|
|
"grid-cols": [is]
|
|
}],
|
|
/**
|
|
* Grid Column Start / End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start-end": [{
|
|
col: ["auto", {
|
|
span: ["full", as, Te]
|
|
}, Te]
|
|
}],
|
|
/**
|
|
* Grid Column Start
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-start": [{
|
|
"col-start": D()
|
|
}],
|
|
/**
|
|
* Grid Column End
|
|
* @see https://tailwindcss.com/docs/grid-column
|
|
*/
|
|
"col-end": [{
|
|
"col-end": D()
|
|
}],
|
|
/**
|
|
* Grid Template Rows
|
|
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
*/
|
|
"grid-rows": [{
|
|
"grid-rows": [is]
|
|
}],
|
|
/**
|
|
* Grid Row Start / End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start-end": [{
|
|
row: ["auto", {
|
|
span: [as, Te]
|
|
}, Te]
|
|
}],
|
|
/**
|
|
* Grid Row Start
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-start": [{
|
|
"row-start": D()
|
|
}],
|
|
/**
|
|
* Grid Row End
|
|
* @see https://tailwindcss.com/docs/grid-row
|
|
*/
|
|
"row-end": [{
|
|
"row-end": D()
|
|
}],
|
|
/**
|
|
* 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", Te]
|
|
}],
|
|
/**
|
|
* Grid Auto Rows
|
|
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
*/
|
|
"auto-rows": [{
|
|
"auto-rows": ["auto", "min", "max", "fr", Te]
|
|
}],
|
|
/**
|
|
* 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: [x]
|
|
}],
|
|
/**
|
|
* Padding X
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
px: [{
|
|
px: [x]
|
|
}],
|
|
/**
|
|
* Padding Y
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
py: [{
|
|
py: [x]
|
|
}],
|
|
/**
|
|
* Padding Start
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
ps: [{
|
|
ps: [x]
|
|
}],
|
|
/**
|
|
* Padding End
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pe: [{
|
|
pe: [x]
|
|
}],
|
|
/**
|
|
* Padding Top
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pt: [{
|
|
pt: [x]
|
|
}],
|
|
/**
|
|
* Padding Right
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pr: [{
|
|
pr: [x]
|
|
}],
|
|
/**
|
|
* Padding Bottom
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pb: [{
|
|
pb: [x]
|
|
}],
|
|
/**
|
|
* Padding Left
|
|
* @see https://tailwindcss.com/docs/padding
|
|
*/
|
|
pl: [{
|
|
pl: [x]
|
|
}],
|
|
/**
|
|
* Margin
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
m: [{
|
|
m: [h]
|
|
}],
|
|
/**
|
|
* Margin X
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mx: [{
|
|
mx: [h]
|
|
}],
|
|
/**
|
|
* Margin Y
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
my: [{
|
|
my: [h]
|
|
}],
|
|
/**
|
|
* Margin Start
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ms: [{
|
|
ms: [h]
|
|
}],
|
|
/**
|
|
* Margin End
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
me: [{
|
|
me: [h]
|
|
}],
|
|
/**
|
|
* Margin Top
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mt: [{
|
|
mt: [h]
|
|
}],
|
|
/**
|
|
* Margin Right
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mr: [{
|
|
mr: [h]
|
|
}],
|
|
/**
|
|
* Margin Bottom
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
mb: [{
|
|
mb: [h]
|
|
}],
|
|
/**
|
|
* Margin Left
|
|
* @see https://tailwindcss.com/docs/margin
|
|
*/
|
|
ml: [{
|
|
ml: [h]
|
|
}],
|
|
/**
|
|
* Space Between X
|
|
* @see https://tailwindcss.com/docs/space
|
|
*/
|
|
"space-x": [{
|
|
"space-x": [L]
|
|
}],
|
|
/**
|
|
* 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": [L]
|
|
}],
|
|
/**
|
|
* 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", Te, t]
|
|
}],
|
|
/**
|
|
* Min-Width
|
|
* @see https://tailwindcss.com/docs/min-width
|
|
*/
|
|
"min-w": [{
|
|
"min-w": [Te, t, "min", "max", "fit"]
|
|
}],
|
|
/**
|
|
* Max-Width
|
|
* @see https://tailwindcss.com/docs/max-width
|
|
*/
|
|
"max-w": [{
|
|
"max-w": [Te, t, "none", "full", "min", "max", "fit", "prose", {
|
|
screen: [no]
|
|
}, no]
|
|
}],
|
|
/**
|
|
* Height
|
|
* @see https://tailwindcss.com/docs/height
|
|
*/
|
|
h: [{
|
|
h: [Te, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Min-Height
|
|
* @see https://tailwindcss.com/docs/min-height
|
|
*/
|
|
"min-h": [{
|
|
"min-h": [Te, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Max-Height
|
|
* @see https://tailwindcss.com/docs/max-height
|
|
*/
|
|
"max-h": [{
|
|
"max-h": [Te, t, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
}],
|
|
/**
|
|
* Size
|
|
* @see https://tailwindcss.com/docs/size
|
|
*/
|
|
size: [{
|
|
size: [Te, t, "auto", "min", "max", "fit"]
|
|
}],
|
|
// Typography
|
|
/**
|
|
* Font Size
|
|
* @see https://tailwindcss.com/docs/font-size
|
|
*/
|
|
"font-size": [{
|
|
text: ["base", no, ro]
|
|
}],
|
|
/**
|
|
* 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", Kp]
|
|
}],
|
|
/**
|
|
* Font Family
|
|
* @see https://tailwindcss.com/docs/font-family
|
|
*/
|
|
"font-family": [{
|
|
font: [is]
|
|
}],
|
|
/**
|
|
* 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", Te]
|
|
}],
|
|
/**
|
|
* Line Clamp
|
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
*/
|
|
"line-clamp": [{
|
|
"line-clamp": ["none", ii, Kp]
|
|
}],
|
|
/**
|
|
* Line Height
|
|
* @see https://tailwindcss.com/docs/line-height
|
|
*/
|
|
leading: [{
|
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", pn, Te]
|
|
}],
|
|
/**
|
|
* List Style Image
|
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
*/
|
|
"list-image": [{
|
|
"list-image": ["none", Te]
|
|
}],
|
|
/**
|
|
* List Style Type
|
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
*/
|
|
"list-style-type": [{
|
|
list: ["none", "disc", "decimal", Te]
|
|
}],
|
|
/**
|
|
* List Style Position
|
|
* @see https://tailwindcss.com/docs/list-style-position
|
|
*/
|
|
"list-style-position": [{
|
|
list: ["inside", "outside"]
|
|
}],
|
|
/**
|
|
* Placeholder Color
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/placeholder-color
|
|
*/
|
|
"placeholder-color": [{
|
|
placeholder: [e]
|
|
}],
|
|
/**
|
|
* Placeholder Opacity
|
|
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
*/
|
|
"placeholder-opacity": [{
|
|
"placeholder-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Alignment
|
|
* @see https://tailwindcss.com/docs/text-align
|
|
*/
|
|
"text-alignment": [{
|
|
text: ["left", "center", "right", "justify", "start", "end"]
|
|
}],
|
|
/**
|
|
* Text Color
|
|
* @see https://tailwindcss.com/docs/text-color
|
|
*/
|
|
"text-color": [{
|
|
text: [e]
|
|
}],
|
|
/**
|
|
* Text Opacity
|
|
* @see https://tailwindcss.com/docs/text-opacity
|
|
*/
|
|
"text-opacity": [{
|
|
"text-opacity": [w]
|
|
}],
|
|
/**
|
|
* Text Decoration
|
|
* @see https://tailwindcss.com/docs/text-decoration
|
|
*/
|
|
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
/**
|
|
* Text Decoration Style
|
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
*/
|
|
"text-decoration-style": [{
|
|
decoration: [...H(), "wavy"]
|
|
}],
|
|
/**
|
|
* Text Decoration Thickness
|
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
*/
|
|
"text-decoration-thickness": [{
|
|
decoration: ["auto", "from-font", pn, ro]
|
|
}],
|
|
/**
|
|
* Text Underline Offset
|
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
*/
|
|
"underline-offset": [{
|
|
"underline-offset": ["auto", pn, Te]
|
|
}],
|
|
/**
|
|
* Text Decoration Color
|
|
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
*/
|
|
"text-decoration-color": [{
|
|
decoration: [e]
|
|
}],
|
|
/**
|
|
* Text Transform
|
|
* @see https://tailwindcss.com/docs/text-transform
|
|
*/
|
|
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
/**
|
|
* Text Overflow
|
|
* @see https://tailwindcss.com/docs/text-overflow
|
|
*/
|
|
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
/**
|
|
* Text Wrap
|
|
* @see https://tailwindcss.com/docs/text-wrap
|
|
*/
|
|
"text-wrap": [{
|
|
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
}],
|
|
/**
|
|
* Text Indent
|
|
* @see https://tailwindcss.com/docs/text-indent
|
|
*/
|
|
indent: [{
|
|
indent: M()
|
|
}],
|
|
/**
|
|
* Vertical Alignment
|
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
*/
|
|
"vertical-align": [{
|
|
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", Te]
|
|
}],
|
|
/**
|
|
* 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", Te]
|
|
}],
|
|
// Backgrounds
|
|
/**
|
|
* Background Attachment
|
|
* @see https://tailwindcss.com/docs/background-attachment
|
|
*/
|
|
"bg-attachment": [{
|
|
bg: ["fixed", "local", "scroll"]
|
|
}],
|
|
/**
|
|
* Background Clip
|
|
* @see https://tailwindcss.com/docs/background-clip
|
|
*/
|
|
"bg-clip": [{
|
|
"bg-clip": ["border", "padding", "content", "text"]
|
|
}],
|
|
/**
|
|
* Background Opacity
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/background-opacity
|
|
*/
|
|
"bg-opacity": [{
|
|
"bg-opacity": [w]
|
|
}],
|
|
/**
|
|
* Background Origin
|
|
* @see https://tailwindcss.com/docs/background-origin
|
|
*/
|
|
"bg-origin": [{
|
|
"bg-origin": ["border", "padding", "content"]
|
|
}],
|
|
/**
|
|
* Background Position
|
|
* @see https://tailwindcss.com/docs/background-position
|
|
*/
|
|
"bg-position": [{
|
|
bg: [...V(), KG]
|
|
}],
|
|
/**
|
|
* 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", GG]
|
|
}],
|
|
/**
|
|
* Background Image
|
|
* @see https://tailwindcss.com/docs/background-image
|
|
*/
|
|
"bg-image": [{
|
|
bg: ["none", {
|
|
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
}, JG]
|
|
}],
|
|
/**
|
|
* 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: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via-pos": [{
|
|
via: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To Position
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to-pos": [{
|
|
to: [v]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops From
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-from": [{
|
|
from: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops Via
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-via": [{
|
|
via: [g]
|
|
}],
|
|
/**
|
|
* Gradient Color Stops To
|
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
*/
|
|
"gradient-to": [{
|
|
to: [g]
|
|
}],
|
|
// Borders
|
|
/**
|
|
* Border Radius
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
rounded: [{
|
|
rounded: [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-s": [{
|
|
"rounded-s": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-e": [{
|
|
"rounded-e": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-t": [{
|
|
"rounded-t": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-r": [{
|
|
"rounded-r": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-b": [{
|
|
"rounded-b": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-l": [{
|
|
"rounded-l": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ss": [{
|
|
"rounded-ss": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Start End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-se": [{
|
|
"rounded-se": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End End
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-ee": [{
|
|
"rounded-ee": [a]
|
|
}],
|
|
/**
|
|
* Border Radius End Start
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-es": [{
|
|
"rounded-es": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tl": [{
|
|
"rounded-tl": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Top Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-tr": [{
|
|
"rounded-tr": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Right
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-br": [{
|
|
"rounded-br": [a]
|
|
}],
|
|
/**
|
|
* Border Radius Bottom Left
|
|
* @see https://tailwindcss.com/docs/border-radius
|
|
*/
|
|
"rounded-bl": [{
|
|
"rounded-bl": [a]
|
|
}],
|
|
/**
|
|
* Border Width
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w": [{
|
|
border: [s]
|
|
}],
|
|
/**
|
|
* Border Width X
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-x": [{
|
|
"border-x": [s]
|
|
}],
|
|
/**
|
|
* Border Width Y
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-y": [{
|
|
"border-y": [s]
|
|
}],
|
|
/**
|
|
* Border Width Start
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-s": [{
|
|
"border-s": [s]
|
|
}],
|
|
/**
|
|
* Border Width End
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-e": [{
|
|
"border-e": [s]
|
|
}],
|
|
/**
|
|
* Border Width Top
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-t": [{
|
|
"border-t": [s]
|
|
}],
|
|
/**
|
|
* Border Width Right
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-r": [{
|
|
"border-r": [s]
|
|
}],
|
|
/**
|
|
* Border Width Bottom
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-b": [{
|
|
"border-b": [s]
|
|
}],
|
|
/**
|
|
* Border Width Left
|
|
* @see https://tailwindcss.com/docs/border-width
|
|
*/
|
|
"border-w-l": [{
|
|
"border-l": [s]
|
|
}],
|
|
/**
|
|
* Border Opacity
|
|
* @see https://tailwindcss.com/docs/border-opacity
|
|
*/
|
|
"border-opacity": [{
|
|
"border-opacity": [w]
|
|
}],
|
|
/**
|
|
* Border Style
|
|
* @see https://tailwindcss.com/docs/border-style
|
|
*/
|
|
"border-style": [{
|
|
border: [...H(), "hidden"]
|
|
}],
|
|
/**
|
|
* Divide Width X
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x": [{
|
|
"divide-x": [s]
|
|
}],
|
|
/**
|
|
* Divide Width X Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-x-reverse": ["divide-x-reverse"],
|
|
/**
|
|
* Divide Width Y
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y": [{
|
|
"divide-y": [s]
|
|
}],
|
|
/**
|
|
* Divide Width Y Reverse
|
|
* @see https://tailwindcss.com/docs/divide-width
|
|
*/
|
|
"divide-y-reverse": ["divide-y-reverse"],
|
|
/**
|
|
* Divide Opacity
|
|
* @see https://tailwindcss.com/docs/divide-opacity
|
|
*/
|
|
"divide-opacity": [{
|
|
"divide-opacity": [w]
|
|
}],
|
|
/**
|
|
* Divide Style
|
|
* @see https://tailwindcss.com/docs/divide-style
|
|
*/
|
|
"divide-style": [{
|
|
divide: H()
|
|
}],
|
|
/**
|
|
* 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: ["", ...H()]
|
|
}],
|
|
/**
|
|
* Outline Offset
|
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
*/
|
|
"outline-offset": [{
|
|
"outline-offset": [pn, Te]
|
|
}],
|
|
/**
|
|
* Outline Width
|
|
* @see https://tailwindcss.com/docs/outline-width
|
|
*/
|
|
"outline-w": [{
|
|
outline: [pn, ro]
|
|
}],
|
|
/**
|
|
* 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: ee()
|
|
}],
|
|
/**
|
|
* Ring Width Inset
|
|
* @see https://tailwindcss.com/docs/ring-width
|
|
*/
|
|
"ring-w-inset": ["ring-inset"],
|
|
/**
|
|
* Ring Color
|
|
* @see https://tailwindcss.com/docs/ring-color
|
|
*/
|
|
"ring-color": [{
|
|
ring: [e]
|
|
}],
|
|
/**
|
|
* Ring Opacity
|
|
* @see https://tailwindcss.com/docs/ring-opacity
|
|
*/
|
|
"ring-opacity": [{
|
|
"ring-opacity": [w]
|
|
}],
|
|
/**
|
|
* Ring Offset Width
|
|
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
*/
|
|
"ring-offset-w": [{
|
|
"ring-offset": [pn, ro]
|
|
}],
|
|
/**
|
|
* 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", no, QG]
|
|
}],
|
|
/**
|
|
* Box Shadow Color
|
|
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
*/
|
|
"shadow-color": [{
|
|
shadow: [is]
|
|
}],
|
|
/**
|
|
* Opacity
|
|
* @see https://tailwindcss.com/docs/opacity
|
|
*/
|
|
opacity: [{
|
|
opacity: [w]
|
|
}],
|
|
/**
|
|
* Mix Blend Mode
|
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
*/
|
|
"mix-blend": [{
|
|
"mix-blend": [...W(), "plus-lighter", "plus-darker"]
|
|
}],
|
|
/**
|
|
* Background Blend Mode
|
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
*/
|
|
"bg-blend": [{
|
|
"bg-blend": W()
|
|
}],
|
|
// Filters
|
|
/**
|
|
* Filter
|
|
* @deprecated since Tailwind CSS v3.0.0
|
|
* @see https://tailwindcss.com/docs/filter
|
|
*/
|
|
filter: [{
|
|
filter: ["", "none"]
|
|
}],
|
|
/**
|
|
* Blur
|
|
* @see https://tailwindcss.com/docs/blur
|
|
*/
|
|
blur: [{
|
|
blur: [r]
|
|
}],
|
|
/**
|
|
* Brightness
|
|
* @see https://tailwindcss.com/docs/brightness
|
|
*/
|
|
brightness: [{
|
|
brightness: [n]
|
|
}],
|
|
/**
|
|
* Contrast
|
|
* @see https://tailwindcss.com/docs/contrast
|
|
*/
|
|
contrast: [{
|
|
contrast: [l]
|
|
}],
|
|
/**
|
|
* Drop Shadow
|
|
* @see https://tailwindcss.com/docs/drop-shadow
|
|
*/
|
|
"drop-shadow": [{
|
|
"drop-shadow": ["", "none", no, Te]
|
|
}],
|
|
/**
|
|
* Grayscale
|
|
* @see https://tailwindcss.com/docs/grayscale
|
|
*/
|
|
grayscale: [{
|
|
grayscale: [c]
|
|
}],
|
|
/**
|
|
* 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: [p]
|
|
}],
|
|
/**
|
|
* 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": [l]
|
|
}],
|
|
/**
|
|
* Backdrop Grayscale
|
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
*/
|
|
"backdrop-grayscale": [{
|
|
"backdrop-grayscale": [c]
|
|
}],
|
|
/**
|
|
* Backdrop Hue Rotate
|
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
*/
|
|
"backdrop-hue-rotate": [{
|
|
"backdrop-hue-rotate": [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": [w]
|
|
}],
|
|
/**
|
|
* Backdrop Saturate
|
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
*/
|
|
"backdrop-saturate": [{
|
|
"backdrop-saturate": [$]
|
|
}],
|
|
/**
|
|
* Backdrop Sepia
|
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
*/
|
|
"backdrop-sepia": [{
|
|
"backdrop-sepia": [p]
|
|
}],
|
|
// 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", Te]
|
|
}],
|
|
/**
|
|
* Transition Duration
|
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
*/
|
|
duration: [{
|
|
duration: b()
|
|
}],
|
|
/**
|
|
* Transition Timing Function
|
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
*/
|
|
ease: [{
|
|
ease: ["linear", "in", "out", "in-out", Te]
|
|
}],
|
|
/**
|
|
* Transition Delay
|
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
*/
|
|
delay: [{
|
|
delay: b()
|
|
}],
|
|
/**
|
|
* Animation
|
|
* @see https://tailwindcss.com/docs/animation
|
|
*/
|
|
animate: [{
|
|
animate: ["none", "spin", "ping", "pulse", "bounce", Te]
|
|
}],
|
|
// Transforms
|
|
/**
|
|
* Transform
|
|
* @see https://tailwindcss.com/docs/transform
|
|
*/
|
|
transform: [{
|
|
transform: ["", "gpu", "none"]
|
|
}],
|
|
/**
|
|
* Scale
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
scale: [{
|
|
scale: [S]
|
|
}],
|
|
/**
|
|
* Scale X
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-x": [{
|
|
"scale-x": [S]
|
|
}],
|
|
/**
|
|
* Scale Y
|
|
* @see https://tailwindcss.com/docs/scale
|
|
*/
|
|
"scale-y": [{
|
|
"scale-y": [S]
|
|
}],
|
|
/**
|
|
* Rotate
|
|
* @see https://tailwindcss.com/docs/rotate
|
|
*/
|
|
rotate: [{
|
|
rotate: [as, Te]
|
|
}],
|
|
/**
|
|
* Translate X
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-x": [{
|
|
"translate-x": [G]
|
|
}],
|
|
/**
|
|
* Translate Y
|
|
* @see https://tailwindcss.com/docs/translate
|
|
*/
|
|
"translate-y": [{
|
|
"translate-y": [G]
|
|
}],
|
|
/**
|
|
* Skew X
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-x": [{
|
|
"skew-x": [T]
|
|
}],
|
|
/**
|
|
* Skew Y
|
|
* @see https://tailwindcss.com/docs/skew
|
|
*/
|
|
"skew-y": [{
|
|
"skew-y": [T]
|
|
}],
|
|
/**
|
|
* 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", Te]
|
|
}],
|
|
// 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", Te]
|
|
}],
|
|
/**
|
|
* Caret Color
|
|
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
*/
|
|
"caret-color": [{
|
|
caret: [e]
|
|
}],
|
|
/**
|
|
* Pointer Events
|
|
* @see https://tailwindcss.com/docs/pointer-events
|
|
*/
|
|
"pointer-events": [{
|
|
"pointer-events": ["none", "auto"]
|
|
}],
|
|
/**
|
|
* Resize
|
|
* @see https://tailwindcss.com/docs/resize
|
|
*/
|
|
resize: [{
|
|
resize: ["none", "y", "x", ""]
|
|
}],
|
|
/**
|
|
* Scroll Behavior
|
|
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
*/
|
|
"scroll-behavior": [{
|
|
scroll: ["auto", "smooth"]
|
|
}],
|
|
/**
|
|
* Scroll Margin
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-m": [{
|
|
"scroll-m": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin X
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mx": [{
|
|
"scroll-mx": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Y
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-my": [{
|
|
"scroll-my": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Start
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ms": [{
|
|
"scroll-ms": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin End
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-me": [{
|
|
"scroll-me": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Top
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mt": [{
|
|
"scroll-mt": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Right
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mr": [{
|
|
"scroll-mr": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-mb": [{
|
|
"scroll-mb": M()
|
|
}],
|
|
/**
|
|
* Scroll Margin Left
|
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
*/
|
|
"scroll-ml": [{
|
|
"scroll-ml": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-p": [{
|
|
"scroll-p": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding X
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-px": [{
|
|
"scroll-px": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Y
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-py": [{
|
|
"scroll-py": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Start
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-ps": [{
|
|
"scroll-ps": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding End
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pe": [{
|
|
"scroll-pe": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Top
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pt": [{
|
|
"scroll-pt": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Right
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pr": [{
|
|
"scroll-pr": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Bottom
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pb": [{
|
|
"scroll-pb": M()
|
|
}],
|
|
/**
|
|
* Scroll Padding Left
|
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
*/
|
|
"scroll-pl": [{
|
|
"scroll-pl": M()
|
|
}],
|
|
/**
|
|
* Scroll Snap Align
|
|
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
*/
|
|
"snap-align": [{
|
|
snap: ["start", "end", "center", "align-none"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Stop
|
|
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
*/
|
|
"snap-stop": [{
|
|
snap: ["normal", "always"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-type": [{
|
|
snap: ["none", "x", "y", "both"]
|
|
}],
|
|
/**
|
|
* Scroll Snap Type Strictness
|
|
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
*/
|
|
"snap-strictness": [{
|
|
snap: ["mandatory", "proximity"]
|
|
}],
|
|
/**
|
|
* Touch Action
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
touch: [{
|
|
touch: ["auto", "none", "manipulation"]
|
|
}],
|
|
/**
|
|
* Touch Action X
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-x": [{
|
|
"touch-pan": ["x", "left", "right"]
|
|
}],
|
|
/**
|
|
* Touch Action Y
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-y": [{
|
|
"touch-pan": ["y", "up", "down"]
|
|
}],
|
|
/**
|
|
* Touch Action Pinch Zoom
|
|
* @see https://tailwindcss.com/docs/touch-action
|
|
*/
|
|
"touch-pz": ["touch-pinch-zoom"],
|
|
/**
|
|
* User Select
|
|
* @see https://tailwindcss.com/docs/user-select
|
|
*/
|
|
select: [{
|
|
select: ["none", "text", "all", "auto"]
|
|
}],
|
|
/**
|
|
* Will Change
|
|
* @see https://tailwindcss.com/docs/will-change
|
|
*/
|
|
"will-change": [{
|
|
"will-change": ["auto", "scroll", "contents", "transform", Te]
|
|
}],
|
|
// SVG
|
|
/**
|
|
* Fill
|
|
* @see https://tailwindcss.com/docs/fill
|
|
*/
|
|
fill: [{
|
|
fill: [e, "none"]
|
|
}],
|
|
/**
|
|
* Stroke Width
|
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
*/
|
|
"stroke-w": [{
|
|
stroke: [pn, ro, Kp]
|
|
}],
|
|
/**
|
|
* 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"]
|
|
}
|
|
};
|
|
}, nK = /* @__PURE__ */ LG(rK), oK = ({
|
|
className: e,
|
|
children: t,
|
|
required: r,
|
|
...n
|
|
}) => /* @__PURE__ */ Le(
|
|
"label",
|
|
{
|
|
className: nK("text-base-fg mb-2 text-[15px] font-medium", e),
|
|
...n,
|
|
children: [
|
|
t,
|
|
r && /* @__PURE__ */ q("span", { className: "ml-0.5 text-[#ff6467]", children: "*" })
|
|
]
|
|
}
|
|
), jg = ue.forwardRef(
|
|
({
|
|
label: e,
|
|
icon: t,
|
|
inputClassName: r,
|
|
iconClassName: n,
|
|
className: o,
|
|
id: a,
|
|
isError: i,
|
|
onBlur: s,
|
|
onFocus: l,
|
|
errorMessage: c,
|
|
...u
|
|
}, f) => /* @__PURE__ */ Le("div", { className: Mp("flex flex-col", o), children: [
|
|
e && /* @__PURE__ */ q(oK, { htmlFor: a || e, children: e }),
|
|
/* @__PURE__ */ Le("div", { className: "relative w-full", children: [
|
|
t && /* @__PURE__ */ q(
|
|
ev,
|
|
{
|
|
icon: t,
|
|
className: Mp("text-md absolute pl-3 pt-3", n)
|
|
}
|
|
),
|
|
/* @__PURE__ */ q(
|
|
"input",
|
|
{
|
|
ref: f,
|
|
id: a || e || void 0,
|
|
className: Mp(
|
|
"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) => {
|
|
l && l(d);
|
|
},
|
|
onBlur: (d) => {
|
|
s && s(d);
|
|
},
|
|
...u
|
|
}
|
|
),
|
|
c && /* @__PURE__ */ q("h6", { className: "absolute z-10 text-red", children: c })
|
|
] })
|
|
] })
|
|
);
|
|
jg.displayName = "Input";
|
|
var ar = function() {
|
|
return ar = Object.assign || function(e) {
|
|
for (var t, r = 1, n = arguments.length; r < n; r++) {
|
|
t = arguments[r];
|
|
for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
|
|
}
|
|
return e;
|
|
}, ar.apply(this, arguments);
|
|
};
|
|
function hi(e, t, r) {
|
|
if (r || arguments.length === 2) 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));
|
|
}
|
|
function aK(e) {
|
|
var t = /* @__PURE__ */ Object.create(null);
|
|
return function(r) {
|
|
return t[r] === void 0 && (t[r] = e(r)), t[r];
|
|
};
|
|
}
|
|
var iK = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/, sK = /* @__PURE__ */ aK(
|
|
function(e) {
|
|
return iK.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91;
|
|
}
|
|
/* Z+1 */
|
|
);
|
|
function lK(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var yt = "-ms-", Ms = "-moz-", et = "-webkit-", AP = "comm", Mf = "rule", rv = "decl", cK = "@import", CP = "@keyframes", uK = "@layer", NP = Math.abs, nv = String.fromCharCode, _g = Object.assign;
|
|
function fK(e, t) {
|
|
return Lt(e, 0) ^ 45 ? (((t << 2 ^ Lt(e, 0)) << 2 ^ Lt(e, 1)) << 2 ^ Lt(e, 2)) << 2 ^ Lt(e, 3) : 0;
|
|
}
|
|
function jP(e) {
|
|
return e.trim();
|
|
}
|
|
function yn(e, t) {
|
|
return (e = t.exec(e)) ? e[0] : e;
|
|
}
|
|
function Me(e, t, r) {
|
|
return e.replace(t, r);
|
|
}
|
|
function Bc(e, t, r) {
|
|
return e.indexOf(t, r);
|
|
}
|
|
function Lt(e, t) {
|
|
return e.charCodeAt(t) | 0;
|
|
}
|
|
function gi(e, t, r) {
|
|
return e.slice(t, r);
|
|
}
|
|
function Lr(e) {
|
|
return e.length;
|
|
}
|
|
function _P(e) {
|
|
return e.length;
|
|
}
|
|
function gs(e, t) {
|
|
return t.push(e), e;
|
|
}
|
|
function dK(e, t) {
|
|
return e.map(t).join("");
|
|
}
|
|
function h$(e, t) {
|
|
return e.filter(function(r) {
|
|
return !yn(r, t);
|
|
});
|
|
}
|
|
var zf = 1, bi = 1, IP = 0, vr = 0, _t = 0, Fi = "";
|
|
function Lf(e, t, r, n, o, a, i, s) {
|
|
return { value: e, root: t, parent: r, type: n, props: o, children: a, line: zf, column: bi, length: i, return: "", siblings: s };
|
|
}
|
|
function io(e, t) {
|
|
return _g(Lf("", null, null, "", null, null, 0, e.siblings), e, { length: -e.length }, t);
|
|
}
|
|
function ja(e) {
|
|
for (; e.root; )
|
|
e = io(e.root, { children: [e] });
|
|
gs(e, e.siblings);
|
|
}
|
|
function pK() {
|
|
return _t;
|
|
}
|
|
function mK() {
|
|
return _t = vr > 0 ? Lt(Fi, --vr) : 0, bi--, _t === 10 && (bi = 1, zf--), _t;
|
|
}
|
|
function Pr() {
|
|
return _t = vr < IP ? Lt(Fi, vr++) : 0, bi++, _t === 10 && (bi = 1, zf++), _t;
|
|
}
|
|
function Zo() {
|
|
return Lt(Fi, vr);
|
|
}
|
|
function Gc() {
|
|
return vr;
|
|
}
|
|
function Ff(e, t) {
|
|
return gi(Fi, e, t);
|
|
}
|
|
function Ig(e) {
|
|
switch (e) {
|
|
// \0 \t \n \r \s whitespace token
|
|
case 0:
|
|
case 9:
|
|
case 10:
|
|
case 13:
|
|
case 32:
|
|
return 5;
|
|
// ! + , / > @ ~ isolate token
|
|
case 33:
|
|
case 43:
|
|
case 44:
|
|
case 47:
|
|
case 62:
|
|
case 64:
|
|
case 126:
|
|
// ; { } breakpoint token
|
|
case 59:
|
|
case 123:
|
|
case 125:
|
|
return 4;
|
|
// : accompanied token
|
|
case 58:
|
|
return 3;
|
|
// " ' ( [ opening delimit token
|
|
case 34:
|
|
case 39:
|
|
case 40:
|
|
case 91:
|
|
return 2;
|
|
// ) ] closing delimit token
|
|
case 41:
|
|
case 93:
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
function hK(e) {
|
|
return zf = bi = 1, IP = Lr(Fi = e), vr = 0, [];
|
|
}
|
|
function gK(e) {
|
|
return Fi = "", e;
|
|
}
|
|
function Xp(e) {
|
|
return jP(Ff(vr - 1, Tg(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
|
|
}
|
|
function bK(e) {
|
|
for (; (_t = Zo()) && _t < 33; )
|
|
Pr();
|
|
return Ig(e) > 2 || Ig(_t) > 3 ? "" : " ";
|
|
}
|
|
function yK(e, t) {
|
|
for (; --t && Pr() && !(_t < 48 || _t > 102 || _t > 57 && _t < 65 || _t > 70 && _t < 97); )
|
|
;
|
|
return Ff(e, Gc() + (t < 6 && Zo() == 32 && Pr() == 32));
|
|
}
|
|
function Tg(e) {
|
|
for (; Pr(); )
|
|
switch (_t) {
|
|
// ] ) " '
|
|
case e:
|
|
return vr;
|
|
// " '
|
|
case 34:
|
|
case 39:
|
|
e !== 34 && e !== 39 && Tg(_t);
|
|
break;
|
|
// (
|
|
case 40:
|
|
e === 41 && Tg(e);
|
|
break;
|
|
// \
|
|
case 92:
|
|
Pr();
|
|
break;
|
|
}
|
|
return vr;
|
|
}
|
|
function vK(e, t) {
|
|
for (; Pr() && e + _t !== 57 && !(e + _t === 84 && Zo() === 47); )
|
|
;
|
|
return "/*" + Ff(t, vr - 1) + "*" + nv(e === 47 ? e : Pr());
|
|
}
|
|
function wK(e) {
|
|
for (; !Ig(Zo()); )
|
|
Pr();
|
|
return Ff(e, vr);
|
|
}
|
|
function xK(e) {
|
|
return gK(Kc("", null, null, null, [""], e = hK(e), 0, [0], e));
|
|
}
|
|
function Kc(e, t, r, n, o, a, i, s, l) {
|
|
for (var c = 0, u = 0, f = i, d = 0, g = 0, v = 0, m = 1, h = 1, w = 1, x = 0, $ = "", S = o, p = a, T = n, L = $; h; )
|
|
switch (v = x, x = Pr()) {
|
|
// (
|
|
case 40:
|
|
if (v != 108 && Lt(L, f - 1) == 58) {
|
|
Bc(L += Me(Xp(x), "&", "&\f"), "&\f", NP(c ? s[c - 1] : 0)) != -1 && (w = -1);
|
|
break;
|
|
}
|
|
// " ' [
|
|
case 34:
|
|
case 39:
|
|
case 91:
|
|
L += Xp(x);
|
|
break;
|
|
// \t \n \r \s
|
|
case 9:
|
|
case 10:
|
|
case 13:
|
|
case 32:
|
|
L += bK(v);
|
|
break;
|
|
// \
|
|
case 92:
|
|
L += yK(Gc() - 1, 7);
|
|
continue;
|
|
// /
|
|
case 47:
|
|
switch (Zo()) {
|
|
case 42:
|
|
case 47:
|
|
gs($K(vK(Pr(), Gc()), t, r, l), l);
|
|
break;
|
|
default:
|
|
L += "/";
|
|
}
|
|
break;
|
|
// {
|
|
case 123 * m:
|
|
s[c++] = Lr(L) * w;
|
|
// } ; \0
|
|
case 125 * m:
|
|
case 59:
|
|
case 0:
|
|
switch (x) {
|
|
// \0 }
|
|
case 0:
|
|
case 125:
|
|
h = 0;
|
|
// ;
|
|
case 59 + u:
|
|
w == -1 && (L = Me(L, /\f/g, "")), g > 0 && Lr(L) - f && gs(g > 32 ? b$(L + ";", n, r, f - 1, l) : b$(Me(L, " ", "") + ";", n, r, f - 2, l), l);
|
|
break;
|
|
// @ ;
|
|
case 59:
|
|
L += ";";
|
|
// { rule/at-rule
|
|
default:
|
|
if (gs(T = g$(L, t, r, c, u, o, s, $, S = [], p = [], f, a), a), x === 123)
|
|
if (u === 0)
|
|
Kc(L, t, T, T, S, a, f, s, p);
|
|
else
|
|
switch (d === 99 && Lt(L, 3) === 110 ? 100 : d) {
|
|
// d l m s
|
|
case 100:
|
|
case 108:
|
|
case 109:
|
|
case 115:
|
|
Kc(e, T, T, n && gs(g$(e, T, T, 0, 0, o, s, $, o, S = [], f, p), p), o, p, f, s, n ? S : p);
|
|
break;
|
|
default:
|
|
Kc(L, T, T, T, [""], p, 0, s, p);
|
|
}
|
|
}
|
|
c = u = g = 0, m = w = 1, $ = L = "", f = i;
|
|
break;
|
|
// :
|
|
case 58:
|
|
f = 1 + Lr(L), g = v;
|
|
default:
|
|
if (m < 1) {
|
|
if (x == 123)
|
|
--m;
|
|
else if (x == 125 && m++ == 0 && mK() == 125)
|
|
continue;
|
|
}
|
|
switch (L += nv(x), x * m) {
|
|
// &
|
|
case 38:
|
|
w = u > 0 ? 1 : (L += "\f", -1);
|
|
break;
|
|
// ,
|
|
case 44:
|
|
s[c++] = (Lr(L) - 1) * w, w = 1;
|
|
break;
|
|
// @
|
|
case 64:
|
|
Zo() === 45 && (L += Xp(Pr())), d = Zo(), u = f = Lr($ = L += wK(Gc())), x++;
|
|
break;
|
|
// -
|
|
case 45:
|
|
v === 45 && Lr(L) == 2 && (m = 0);
|
|
}
|
|
}
|
|
return a;
|
|
}
|
|
function g$(e, t, r, n, o, a, i, s, l, c, u, f) {
|
|
for (var d = o - 1, g = o === 0 ? a : [""], v = _P(g), m = 0, h = 0, w = 0; m < n; ++m)
|
|
for (var x = 0, $ = gi(e, d + 1, d = NP(h = i[m])), S = e; x < v; ++x)
|
|
(S = jP(h > 0 ? g[x] + " " + $ : Me($, /&\f/g, g[x]))) && (l[w++] = S);
|
|
return Lf(e, t, r, o === 0 ? Mf : s, l, c, u, f);
|
|
}
|
|
function $K(e, t, r, n) {
|
|
return Lf(e, t, r, AP, nv(pK()), gi(e, 2, -2), 0, n);
|
|
}
|
|
function b$(e, t, r, n, o) {
|
|
return Lf(e, t, r, rv, gi(e, 0, n), gi(e, n + 1, -1), n, o);
|
|
}
|
|
function TP(e, t, r) {
|
|
switch (fK(e, t)) {
|
|
// color-adjust
|
|
case 5103:
|
|
return et + "print-" + e + e;
|
|
// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
|
|
case 5737:
|
|
case 4201:
|
|
case 3177:
|
|
case 3433:
|
|
case 1641:
|
|
case 4457:
|
|
case 2921:
|
|
// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
|
|
case 5572:
|
|
case 6356:
|
|
case 5844:
|
|
case 3191:
|
|
case 6645:
|
|
case 3005:
|
|
// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
|
|
case 6391:
|
|
case 5879:
|
|
case 5623:
|
|
case 6135:
|
|
case 4599:
|
|
case 4855:
|
|
// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
|
|
case 4215:
|
|
case 6389:
|
|
case 5109:
|
|
case 5365:
|
|
case 5621:
|
|
case 3829:
|
|
return et + e + e;
|
|
// tab-size
|
|
case 4789:
|
|
return Ms + e + e;
|
|
// appearance, user-select, transform, hyphens, text-size-adjust
|
|
case 5349:
|
|
case 4246:
|
|
case 4810:
|
|
case 6968:
|
|
case 2756:
|
|
return et + e + Ms + e + yt + e + e;
|
|
// writing-mode
|
|
case 5936:
|
|
switch (Lt(e, t + 11)) {
|
|
// vertical-l(r)
|
|
case 114:
|
|
return et + e + yt + Me(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
|
|
// vertical-r(l)
|
|
case 108:
|
|
return et + e + yt + Me(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
|
|
// horizontal(-)tb
|
|
case 45:
|
|
return et + e + yt + Me(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
|
|
}
|
|
// flex, flex-direction, scroll-snap-type, writing-mode
|
|
case 6828:
|
|
case 4268:
|
|
case 2903:
|
|
return et + e + yt + e + e;
|
|
// order
|
|
case 6165:
|
|
return et + e + yt + "flex-" + e + e;
|
|
// align-items
|
|
case 5187:
|
|
return et + e + Me(e, /(\w+).+(:[^]+)/, et + "box-$1$2" + yt + "flex-$1$2") + e;
|
|
// align-self
|
|
case 5443:
|
|
return et + e + yt + "flex-item-" + Me(e, /flex-|-self/g, "") + (yn(e, /flex-|baseline/) ? "" : yt + "grid-row-" + Me(e, /flex-|-self/g, "")) + e;
|
|
// align-content
|
|
case 4675:
|
|
return et + e + yt + "flex-line-pack" + Me(e, /align-content|flex-|-self/g, "") + e;
|
|
// flex-shrink
|
|
case 5548:
|
|
return et + e + yt + Me(e, "shrink", "negative") + e;
|
|
// flex-basis
|
|
case 5292:
|
|
return et + e + yt + Me(e, "basis", "preferred-size") + e;
|
|
// flex-grow
|
|
case 6060:
|
|
return et + "box-" + Me(e, "-grow", "") + et + e + yt + Me(e, "grow", "positive") + e;
|
|
// transition
|
|
case 4554:
|
|
return et + Me(e, /([^-])(transform)/g, "$1" + et + "$2") + e;
|
|
// cursor
|
|
case 6187:
|
|
return Me(Me(Me(e, /(zoom-|grab)/, et + "$1"), /(image-set)/, et + "$1"), e, "") + e;
|
|
// background, background-image
|
|
case 5495:
|
|
case 3959:
|
|
return Me(e, /(image-set\([^]*)/, et + "$1$`$1");
|
|
// justify-content
|
|
case 4968:
|
|
return Me(Me(e, /(.+:)(flex-)?(.*)/, et + "box-pack:$3" + yt + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + et + e + e;
|
|
// justify-self
|
|
case 4200:
|
|
if (!yn(e, /flex-|baseline/)) return yt + "grid-column-align" + gi(e, t) + e;
|
|
break;
|
|
// grid-template-(columns|rows)
|
|
case 2592:
|
|
case 3360:
|
|
return yt + Me(e, "template-", "") + e;
|
|
// grid-(row|column)-start
|
|
case 4384:
|
|
case 3616:
|
|
return r && r.some(function(n, o) {
|
|
return t = o, yn(n.props, /grid-\w+-end/);
|
|
}) ? ~Bc(e + (r = r[t].value), "span", 0) ? e : yt + Me(e, "-start", "") + e + yt + "grid-row-span:" + (~Bc(r, "span", 0) ? yn(r, /\d+/) : +yn(r, /\d+/) - +yn(e, /\d+/)) + ";" : yt + Me(e, "-start", "") + e;
|
|
// grid-(row|column)-end
|
|
case 4896:
|
|
case 4128:
|
|
return r && r.some(function(n) {
|
|
return yn(n.props, /grid-\w+-start/);
|
|
}) ? e : yt + Me(Me(e, "-end", "-span"), "span ", "") + e;
|
|
// (margin|padding)-inline-(start|end)
|
|
case 4095:
|
|
case 3583:
|
|
case 4068:
|
|
case 2532:
|
|
return Me(e, /(.+)-inline(.+)/, et + "$1$2") + e;
|
|
// (min|max)?(width|height|inline-size|block-size)
|
|
case 8116:
|
|
case 7059:
|
|
case 5753:
|
|
case 5535:
|
|
case 5445:
|
|
case 5701:
|
|
case 4933:
|
|
case 4677:
|
|
case 5533:
|
|
case 5789:
|
|
case 5021:
|
|
case 4765:
|
|
if (Lr(e) - 1 - t > 6)
|
|
switch (Lt(e, t + 1)) {
|
|
// (m)ax-content, (m)in-content
|
|
case 109:
|
|
if (Lt(e, t + 4) !== 45)
|
|
break;
|
|
// (f)ill-available, (f)it-content
|
|
case 102:
|
|
return Me(e, /(.+:)(.+)-([^]+)/, "$1" + et + "$2-$3$1" + Ms + (Lt(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
|
|
// (s)tretch
|
|
case 115:
|
|
return ~Bc(e, "stretch", 0) ? TP(Me(e, "stretch", "fill-available"), t, r) + e : e;
|
|
}
|
|
break;
|
|
// grid-(column|row)
|
|
case 5152:
|
|
case 5920:
|
|
return Me(e, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function(n, o, a, i, s, l, c) {
|
|
return yt + o + ":" + a + c + (i ? yt + o + "-span:" + (s ? l : +l - +a) + c : "") + e;
|
|
});
|
|
// position: sticky
|
|
case 4949:
|
|
if (Lt(e, t + 6) === 121)
|
|
return Me(e, ":", ":" + et) + e;
|
|
break;
|
|
// display: (flex|inline-flex|grid|inline-grid)
|
|
case 6444:
|
|
switch (Lt(e, Lt(e, 14) === 45 ? 18 : 11)) {
|
|
// (inline-)?fle(x)
|
|
case 120:
|
|
return Me(e, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, "$1" + et + (Lt(e, 14) === 45 ? "inline-" : "") + "box$3$1" + et + "$2$3$1" + yt + "$2box$3") + e;
|
|
// (inline-)?gri(d)
|
|
case 100:
|
|
return Me(e, ":", ":" + yt) + e;
|
|
}
|
|
break;
|
|
// scroll-margin, scroll-margin-(top|right|bottom|left)
|
|
case 5719:
|
|
case 2647:
|
|
case 2135:
|
|
case 3927:
|
|
case 2391:
|
|
return Me(e, "scroll-", "scroll-snap-") + e;
|
|
}
|
|
return e;
|
|
}
|
|
function ju(e, t) {
|
|
for (var r = "", n = 0; n < e.length; n++)
|
|
r += t(e[n], n, e, t) || "";
|
|
return r;
|
|
}
|
|
function kK(e, t, r, n) {
|
|
switch (e.type) {
|
|
case uK:
|
|
if (e.children.length) break;
|
|
case cK:
|
|
case rv:
|
|
return e.return = e.return || e.value;
|
|
case AP:
|
|
return "";
|
|
case CP:
|
|
return e.return = e.value + "{" + ju(e.children, n) + "}";
|
|
case Mf:
|
|
if (!Lr(e.value = e.props.join(","))) return "";
|
|
}
|
|
return Lr(r = ju(e.children, n)) ? e.return = e.value + "{" + r + "}" : "";
|
|
}
|
|
function OK(e) {
|
|
var t = _P(e);
|
|
return function(r, n, o, a) {
|
|
for (var i = "", s = 0; s < t; s++)
|
|
i += e[s](r, n, o, a) || "";
|
|
return i;
|
|
};
|
|
}
|
|
function SK(e) {
|
|
return function(t) {
|
|
t.root || (t = t.return) && e(t);
|
|
};
|
|
}
|
|
function EK(e, t, r, n) {
|
|
if (e.length > -1 && !e.return)
|
|
switch (e.type) {
|
|
case rv:
|
|
e.return = TP(e.value, e.length, r);
|
|
return;
|
|
case CP:
|
|
return ju([io(e, { value: Me(e.value, "@", "@" + et) })], n);
|
|
case Mf:
|
|
if (e.length)
|
|
return dK(r = e.props, function(o) {
|
|
switch (yn(o, n = /(::plac\w+|:read-\w+)/)) {
|
|
// :read-(only|write)
|
|
case ":read-only":
|
|
case ":read-write":
|
|
ja(io(e, { props: [Me(o, /:(read-\w+)/, ":" + Ms + "$1")] })), ja(io(e, { props: [o] })), _g(e, { props: h$(r, n) });
|
|
break;
|
|
// :placeholder
|
|
case "::placeholder":
|
|
ja(io(e, { props: [Me(o, /:(plac\w+)/, ":" + et + "input-$1")] })), ja(io(e, { props: [Me(o, /:(plac\w+)/, ":" + Ms + "$1")] })), ja(io(e, { props: [Me(o, /:(plac\w+)/, yt + "input-$1")] })), ja(io(e, { props: [o] })), _g(e, { props: h$(r, n) });
|
|
break;
|
|
}
|
|
return "";
|
|
});
|
|
}
|
|
}
|
|
var PK = {
|
|
animationIterationCount: 1,
|
|
aspectRatio: 1,
|
|
borderImageOutset: 1,
|
|
borderImageSlice: 1,
|
|
borderImageWidth: 1,
|
|
boxFlex: 1,
|
|
boxFlexGroup: 1,
|
|
boxOrdinalGroup: 1,
|
|
columnCount: 1,
|
|
columns: 1,
|
|
flex: 1,
|
|
flexGrow: 1,
|
|
flexPositive: 1,
|
|
flexShrink: 1,
|
|
flexNegative: 1,
|
|
flexOrder: 1,
|
|
gridRow: 1,
|
|
gridRowEnd: 1,
|
|
gridRowSpan: 1,
|
|
gridRowStart: 1,
|
|
gridColumn: 1,
|
|
gridColumnEnd: 1,
|
|
gridColumnSpan: 1,
|
|
gridColumnStart: 1,
|
|
msGridRow: 1,
|
|
msGridRowSpan: 1,
|
|
msGridColumn: 1,
|
|
msGridColumnSpan: 1,
|
|
fontWeight: 1,
|
|
lineHeight: 1,
|
|
opacity: 1,
|
|
order: 1,
|
|
orphans: 1,
|
|
tabSize: 1,
|
|
widows: 1,
|
|
zIndex: 1,
|
|
zoom: 1,
|
|
WebkitLineClamp: 1,
|
|
// SVG-related properties
|
|
fillOpacity: 1,
|
|
floodOpacity: 1,
|
|
stopOpacity: 1,
|
|
strokeDasharray: 1,
|
|
strokeDashoffset: 1,
|
|
strokeMiterlimit: 1,
|
|
strokeOpacity: 1,
|
|
strokeWidth: 1
|
|
}, ya = typeof process < "u" && process.env !== void 0 && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || "data-styled", RP = "active", MP = "data-styled-version", Df = "6.1.17", ov = `/*!sc*/
|
|
`, _u = typeof window < "u" && "HTMLElement" in window, AK = !!(typeof SC_DISABLE_SPEEDY == "boolean" ? SC_DISABLE_SPEEDY : typeof process < "u" && process.env !== void 0 && process.env.REACT_APP_SC_DISABLE_SPEEDY !== void 0 && process.env.REACT_APP_SC_DISABLE_SPEEDY !== "" ? process.env.REACT_APP_SC_DISABLE_SPEEDY !== "false" && process.env.REACT_APP_SC_DISABLE_SPEEDY : typeof process < "u" && process.env !== void 0 && process.env.SC_DISABLE_SPEEDY !== void 0 && process.env.SC_DISABLE_SPEEDY !== "" ? process.env.SC_DISABLE_SPEEDY !== "false" && process.env.SC_DISABLE_SPEEDY : process.env.NODE_ENV !== "production"), y$ = /invalid hook call/i, vc = /* @__PURE__ */ new Set(), CK = function(e, t) {
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var r = t ? ' with the id of "'.concat(t, '"') : "", n = "The component ".concat(e).concat(r, ` has been created dynamically.
|
|
`) + `You may see this warning because you've called styled inside another component.
|
|
To resolve this only create new StyledComponents outside of any render method and function component.
|
|
See https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.
|
|
`, o = console.error;
|
|
try {
|
|
var a = !0;
|
|
console.error = function(i) {
|
|
for (var s = [], l = 1; l < arguments.length; l++) s[l - 1] = arguments[l];
|
|
y$.test(i) ? (a = !1, vc.delete(n)) : o.apply(void 0, hi([i], s, !1));
|
|
}, ce(), a && !vc.has(n) && (console.warn(n), vc.add(n));
|
|
} catch (i) {
|
|
y$.test(i.message) && vc.delete(n);
|
|
} finally {
|
|
console.error = o;
|
|
}
|
|
}
|
|
}, Vf = Object.freeze([]), yi = Object.freeze({});
|
|
function NK(e, t, r) {
|
|
return r === void 0 && (r = yi), e.theme !== r.theme && e.theme || t || r.theme;
|
|
}
|
|
var Rg = /* @__PURE__ */ new Set(["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", "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", "tr", "track", "u", "ul", "use", "var", "video", "wbr", "circle", "clipPath", "defs", "ellipse", "foreignObject", "g", "image", "line", "linearGradient", "marker", "mask", "path", "pattern", "polygon", "polyline", "radialGradient", "rect", "stop", "svg", "text", "tspan"]), jK = /[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g, _K = /(^-|-$)/g;
|
|
function v$(e) {
|
|
return e.replace(jK, "-").replace(_K, "");
|
|
}
|
|
var IK = /(a)(d)/gi, wc = 52, w$ = function(e) {
|
|
return String.fromCharCode(e + (e > 25 ? 39 : 97));
|
|
};
|
|
function Mg(e) {
|
|
var t, r = "";
|
|
for (t = Math.abs(e); t > wc; t = t / wc | 0) r = w$(t % wc) + r;
|
|
return (w$(t % wc) + r).replace(IK, "$1-$2");
|
|
}
|
|
var Jp, zP = 5381, Do = function(e, t) {
|
|
for (var r = t.length; r; ) e = 33 * e ^ t.charCodeAt(--r);
|
|
return e;
|
|
}, LP = function(e) {
|
|
return Do(zP, e);
|
|
};
|
|
function TK(e) {
|
|
return Mg(LP(e) >>> 0);
|
|
}
|
|
function FP(e) {
|
|
return process.env.NODE_ENV !== "production" && typeof e == "string" && e || e.displayName || e.name || "Component";
|
|
}
|
|
function Qp(e) {
|
|
return typeof e == "string" && (process.env.NODE_ENV === "production" || e.charAt(0) === e.charAt(0).toLowerCase());
|
|
}
|
|
var DP = typeof Symbol == "function" && Symbol.for, VP = DP ? Symbol.for("react.memo") : 60115, RK = DP ? Symbol.for("react.forward_ref") : 60112, MK = { childContextTypes: !0, contextType: !0, contextTypes: !0, defaultProps: !0, displayName: !0, getDefaultProps: !0, getDerivedStateFromError: !0, getDerivedStateFromProps: !0, mixins: !0, propTypes: !0, type: !0 }, zK = { name: !0, length: !0, prototype: !0, caller: !0, callee: !0, arguments: !0, arity: !0 }, HP = { $$typeof: !0, compare: !0, defaultProps: !0, displayName: !0, propTypes: !0, type: !0 }, LK = ((Jp = {})[RK] = { $$typeof: !0, render: !0, defaultProps: !0, displayName: !0, propTypes: !0 }, Jp[VP] = HP, Jp);
|
|
function x$(e) {
|
|
return ("type" in (t = e) && t.type.$$typeof) === VP ? HP : "$$typeof" in e ? LK[e.$$typeof] : MK;
|
|
var t;
|
|
}
|
|
var FK = Object.defineProperty, DK = Object.getOwnPropertyNames, $$ = Object.getOwnPropertySymbols, VK = Object.getOwnPropertyDescriptor, HK = Object.getPrototypeOf, k$ = Object.prototype;
|
|
function WP(e, t, r) {
|
|
if (typeof t != "string") {
|
|
if (k$) {
|
|
var n = HK(t);
|
|
n && n !== k$ && WP(e, n, r);
|
|
}
|
|
var o = DK(t);
|
|
$$ && (o = o.concat($$(t)));
|
|
for (var a = x$(e), i = x$(t), s = 0; s < o.length; ++s) {
|
|
var l = o[s];
|
|
if (!(l in zK || r && r[l] || i && l in i || a && l in a)) {
|
|
var c = VK(t, l);
|
|
try {
|
|
FK(e, l, c);
|
|
} catch {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return e;
|
|
}
|
|
function vi(e) {
|
|
return typeof e == "function";
|
|
}
|
|
function av(e) {
|
|
return typeof e == "object" && "styledComponentId" in e;
|
|
}
|
|
function Ko(e, t) {
|
|
return e && t ? "".concat(e, " ").concat(t) : e || t || "";
|
|
}
|
|
function O$(e, t) {
|
|
if (e.length === 0) return "";
|
|
for (var r = e[0], n = 1; n < e.length; n++) r += e[n];
|
|
return r;
|
|
}
|
|
function wi(e) {
|
|
return e !== null && typeof e == "object" && e.constructor.name === Object.name && !("props" in e && e.$$typeof);
|
|
}
|
|
function zg(e, t, r) {
|
|
if (r === void 0 && (r = !1), !r && !wi(e) && !Array.isArray(e)) return t;
|
|
if (Array.isArray(t)) for (var n = 0; n < t.length; n++) e[n] = zg(e[n], t[n]);
|
|
else if (wi(t)) for (var n in t) e[n] = zg(e[n], t[n]);
|
|
return e;
|
|
}
|
|
function iv(e, t) {
|
|
Object.defineProperty(e, "toString", { value: t });
|
|
}
|
|
var WK = process.env.NODE_ENV !== "production" ? { 1: `Cannot create styled-component for component: %s.
|
|
|
|
`, 2: `Can't collect styles once you've consumed a \`ServerStyleSheet\`'s styles! \`ServerStyleSheet\` is a one off instance for each server-side render cycle.
|
|
|
|
- Are you trying to reuse it across renders?
|
|
- Are you accidentally calling collectStyles twice?
|
|
|
|
`, 3: `Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.
|
|
|
|
`, 4: `The \`StyleSheetManager\` expects a valid target or sheet prop!
|
|
|
|
- Does this error occur on the client and is your target falsy?
|
|
- Does this error occur on the server and is the sheet falsy?
|
|
|
|
`, 5: `The clone method cannot be used on the client!
|
|
|
|
- Are you running in a client-like environment on the server?
|
|
- Are you trying to run SSR on the client?
|
|
|
|
`, 6: `Trying to insert a new style tag, but the given Node is unmounted!
|
|
|
|
- Are you using a custom target that isn't mounted?
|
|
- Does your document not have a valid head element?
|
|
- Have you accidentally removed a style tag manually?
|
|
|
|
`, 7: 'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n', 8: `ThemeProvider: Please make your "theme" prop an object.
|
|
|
|
`, 9: "Missing document `<head>`\n\n", 10: `Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021
|
|
|
|
`, 11: `_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.
|
|
|
|
`, 12: "It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n", 13: `%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.
|
|
|
|
`, 14: `ThemeProvider: "theme" prop is required.
|
|
|
|
`, 15: "A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n", 16: `Reached the limit of how many styled components may be created at group %s.
|
|
You may only create up to 1,073,741,824 components. If you're creating components dynamically,
|
|
as for instance in your render method then you may be running into this limitation.
|
|
|
|
`, 17: `CSSStyleSheet could not be found on HTMLStyleElement.
|
|
Has styled-components' style tag been unmounted or altered by another script?
|
|
`, 18: "ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`" } : {};
|
|
function UK() {
|
|
for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
|
|
for (var r = e[0], n = [], o = 1, a = e.length; o < a; o += 1) n.push(e[o]);
|
|
return n.forEach(function(i) {
|
|
r = r.replace(/%[a-z]/, i);
|
|
}), r;
|
|
}
|
|
function Di(e) {
|
|
for (var t = [], r = 1; r < arguments.length; r++) t[r - 1] = arguments[r];
|
|
return process.env.NODE_ENV === "production" ? new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(e, " for more information.").concat(t.length > 0 ? " Args: ".concat(t.join(", ")) : "")) : new Error(UK.apply(void 0, hi([WK[e]], t, !1)).trim());
|
|
}
|
|
var YK = function() {
|
|
function e(t) {
|
|
this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = t;
|
|
}
|
|
return e.prototype.indexOfGroup = function(t) {
|
|
for (var r = 0, n = 0; n < t; n++) r += this.groupSizes[n];
|
|
return r;
|
|
}, e.prototype.insertRules = function(t, r) {
|
|
if (t >= this.groupSizes.length) {
|
|
for (var n = this.groupSizes, o = n.length, a = o; t >= a; ) if ((a <<= 1) < 0) throw Di(16, "".concat(t));
|
|
this.groupSizes = new Uint32Array(a), this.groupSizes.set(n), this.length = a;
|
|
for (var i = o; i < a; i++) this.groupSizes[i] = 0;
|
|
}
|
|
for (var s = this.indexOfGroup(t + 1), l = (i = 0, r.length); i < l; i++) this.tag.insertRule(s, r[i]) && (this.groupSizes[t]++, s++);
|
|
}, e.prototype.clearGroup = function(t) {
|
|
if (t < this.length) {
|
|
var r = this.groupSizes[t], n = this.indexOfGroup(t), o = n + r;
|
|
this.groupSizes[t] = 0;
|
|
for (var a = n; a < o; a++) this.tag.deleteRule(n);
|
|
}
|
|
}, e.prototype.getGroup = function(t) {
|
|
var r = "";
|
|
if (t >= this.length || this.groupSizes[t] === 0) return r;
|
|
for (var n = this.groupSizes[t], o = this.indexOfGroup(t), a = o + n, i = o; i < a; i++) r += "".concat(this.tag.getRule(i)).concat(ov);
|
|
return r;
|
|
}, e;
|
|
}(), qK = 1 << 30, Xc = /* @__PURE__ */ new Map(), Iu = /* @__PURE__ */ new Map(), Jc = 1, xc = function(e) {
|
|
if (Xc.has(e)) return Xc.get(e);
|
|
for (; Iu.has(Jc); ) Jc++;
|
|
var t = Jc++;
|
|
if (process.env.NODE_ENV !== "production" && ((0 | t) < 0 || t > qK)) throw Di(16, "".concat(t));
|
|
return Xc.set(e, t), Iu.set(t, e), t;
|
|
}, BK = function(e, t) {
|
|
Jc = t + 1, Xc.set(e, t), Iu.set(t, e);
|
|
}, GK = "style[".concat(ya, "][").concat(MP, '="').concat(Df, '"]'), KK = new RegExp("^".concat(ya, '\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')), XK = function(e, t, r) {
|
|
for (var n, o = r.split(","), a = 0, i = o.length; a < i; a++) (n = o[a]) && e.registerName(t, n);
|
|
}, JK = function(e, t) {
|
|
for (var r, n = ((r = t.textContent) !== null && r !== void 0 ? r : "").split(ov), o = [], a = 0, i = n.length; a < i; a++) {
|
|
var s = n[a].trim();
|
|
if (s) {
|
|
var l = s.match(KK);
|
|
if (l) {
|
|
var c = 0 | parseInt(l[1], 10), u = l[2];
|
|
c !== 0 && (BK(u, c), XK(e, u, l[3]), e.getTag().insertRules(c, o)), o.length = 0;
|
|
} else o.push(s);
|
|
}
|
|
}
|
|
}, S$ = function(e) {
|
|
for (var t = document.querySelectorAll(GK), r = 0, n = t.length; r < n; r++) {
|
|
var o = t[r];
|
|
o && o.getAttribute(ya) !== RP && (JK(e, o), o.parentNode && o.parentNode.removeChild(o));
|
|
}
|
|
};
|
|
function QK() {
|
|
return typeof __webpack_nonce__ < "u" ? __webpack_nonce__ : null;
|
|
}
|
|
var UP = function(e) {
|
|
var t = document.head, r = e || t, n = document.createElement("style"), o = function(s) {
|
|
var l = Array.from(s.querySelectorAll("style[".concat(ya, "]")));
|
|
return l[l.length - 1];
|
|
}(r), a = o !== void 0 ? o.nextSibling : null;
|
|
n.setAttribute(ya, RP), n.setAttribute(MP, Df);
|
|
var i = QK();
|
|
return i && n.setAttribute("nonce", i), r.insertBefore(n, a), n;
|
|
}, ZK = function() {
|
|
function e(t) {
|
|
this.element = UP(t), this.element.appendChild(document.createTextNode("")), this.sheet = function(r) {
|
|
if (r.sheet) return r.sheet;
|
|
for (var n = document.styleSheets, o = 0, a = n.length; o < a; o++) {
|
|
var i = n[o];
|
|
if (i.ownerNode === r) return i;
|
|
}
|
|
throw Di(17);
|
|
}(this.element), this.length = 0;
|
|
}
|
|
return e.prototype.insertRule = function(t, r) {
|
|
try {
|
|
return this.sheet.insertRule(r, t), this.length++, !0;
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}, e.prototype.deleteRule = function(t) {
|
|
this.sheet.deleteRule(t), this.length--;
|
|
}, e.prototype.getRule = function(t) {
|
|
var r = this.sheet.cssRules[t];
|
|
return r && r.cssText ? r.cssText : "";
|
|
}, e;
|
|
}(), eX = function() {
|
|
function e(t) {
|
|
this.element = UP(t), this.nodes = this.element.childNodes, this.length = 0;
|
|
}
|
|
return e.prototype.insertRule = function(t, r) {
|
|
if (t <= this.length && t >= 0) {
|
|
var n = document.createTextNode(r);
|
|
return this.element.insertBefore(n, this.nodes[t] || null), this.length++, !0;
|
|
}
|
|
return !1;
|
|
}, e.prototype.deleteRule = function(t) {
|
|
this.element.removeChild(this.nodes[t]), this.length--;
|
|
}, e.prototype.getRule = function(t) {
|
|
return t < this.length ? this.nodes[t].textContent : "";
|
|
}, e;
|
|
}(), tX = function() {
|
|
function e(t) {
|
|
this.rules = [], this.length = 0;
|
|
}
|
|
return e.prototype.insertRule = function(t, r) {
|
|
return t <= this.length && (this.rules.splice(t, 0, r), this.length++, !0);
|
|
}, e.prototype.deleteRule = function(t) {
|
|
this.rules.splice(t, 1), this.length--;
|
|
}, e.prototype.getRule = function(t) {
|
|
return t < this.length ? this.rules[t] : "";
|
|
}, e;
|
|
}(), E$ = _u, rX = { isServer: !_u, useCSSOMInjection: !AK }, YP = function() {
|
|
function e(t, r, n) {
|
|
t === void 0 && (t = yi), r === void 0 && (r = {});
|
|
var o = this;
|
|
this.options = ar(ar({}, rX), t), this.gs = r, this.names = new Map(n), this.server = !!t.isServer, !this.server && _u && E$ && (E$ = !1, S$(this)), iv(this, function() {
|
|
return function(a) {
|
|
for (var i = a.getTag(), s = i.length, l = "", c = function(f) {
|
|
var d = function(w) {
|
|
return Iu.get(w);
|
|
}(f);
|
|
if (d === void 0) return "continue";
|
|
var g = a.names.get(d), v = i.getGroup(f);
|
|
if (g === void 0 || !g.size || v.length === 0) return "continue";
|
|
var m = "".concat(ya, ".g").concat(f, '[id="').concat(d, '"]'), h = "";
|
|
g !== void 0 && g.forEach(function(w) {
|
|
w.length > 0 && (h += "".concat(w, ","));
|
|
}), l += "".concat(v).concat(m, '{content:"').concat(h, '"}').concat(ov);
|
|
}, u = 0; u < s; u++) c(u);
|
|
return l;
|
|
}(o);
|
|
});
|
|
}
|
|
return e.registerId = function(t) {
|
|
return xc(t);
|
|
}, e.prototype.rehydrate = function() {
|
|
!this.server && _u && S$(this);
|
|
}, e.prototype.reconstructWithOptions = function(t, r) {
|
|
return r === void 0 && (r = !0), new e(ar(ar({}, this.options), t), this.gs, r && this.names || void 0);
|
|
}, e.prototype.allocateGSInstance = function(t) {
|
|
return this.gs[t] = (this.gs[t] || 0) + 1;
|
|
}, e.prototype.getTag = function() {
|
|
return this.tag || (this.tag = (t = function(r) {
|
|
var n = r.useCSSOMInjection, o = r.target;
|
|
return r.isServer ? new tX(o) : n ? new ZK(o) : new eX(o);
|
|
}(this.options), new YK(t)));
|
|
var t;
|
|
}, e.prototype.hasNameForId = function(t, r) {
|
|
return this.names.has(t) && this.names.get(t).has(r);
|
|
}, e.prototype.registerName = function(t, r) {
|
|
if (xc(t), this.names.has(t)) this.names.get(t).add(r);
|
|
else {
|
|
var n = /* @__PURE__ */ new Set();
|
|
n.add(r), this.names.set(t, n);
|
|
}
|
|
}, e.prototype.insertRules = function(t, r, n) {
|
|
this.registerName(t, r), this.getTag().insertRules(xc(t), n);
|
|
}, e.prototype.clearNames = function(t) {
|
|
this.names.has(t) && this.names.get(t).clear();
|
|
}, e.prototype.clearRules = function(t) {
|
|
this.getTag().clearGroup(xc(t)), this.clearNames(t);
|
|
}, e.prototype.clearTag = function() {
|
|
this.tag = void 0;
|
|
}, e;
|
|
}(), nX = /&/g, oX = /^\s*\/\/.*$/gm;
|
|
function qP(e, t) {
|
|
return e.map(function(r) {
|
|
return r.type === "rule" && (r.value = "".concat(t, " ").concat(r.value), r.value = r.value.replaceAll(",", ",".concat(t, " ")), r.props = r.props.map(function(n) {
|
|
return "".concat(t, " ").concat(n);
|
|
})), Array.isArray(r.children) && r.type !== "@keyframes" && (r.children = qP(r.children, t)), r;
|
|
});
|
|
}
|
|
function aX(e) {
|
|
var t, r, n, o = yi, a = o.options, i = a === void 0 ? yi : a, s = o.plugins, l = s === void 0 ? Vf : s, c = function(d, g, v) {
|
|
return v.startsWith(r) && v.endsWith(r) && v.replaceAll(r, "").length > 0 ? ".".concat(t) : d;
|
|
}, u = l.slice();
|
|
u.push(function(d) {
|
|
d.type === Mf && d.value.includes("&") && (d.props[0] = d.props[0].replace(nX, r).replace(n, c));
|
|
}), i.prefix && u.push(EK), u.push(kK);
|
|
var f = function(d, g, v, m) {
|
|
g === void 0 && (g = ""), v === void 0 && (v = ""), m === void 0 && (m = "&"), t = m, r = g, n = new RegExp("\\".concat(r, "\\b"), "g");
|
|
var h = d.replace(oX, ""), w = xK(v || g ? "".concat(v, " ").concat(g, " { ").concat(h, " }") : h);
|
|
i.namespace && (w = qP(w, i.namespace));
|
|
var x = [];
|
|
return ju(w, OK(u.concat(SK(function($) {
|
|
return x.push($);
|
|
})))), x;
|
|
};
|
|
return f.hash = l.length ? l.reduce(function(d, g) {
|
|
return g.name || Di(15), Do(d, g.name);
|
|
}, zP).toString() : "", f;
|
|
}
|
|
var iX = new YP(), Lg = aX(), BP = ue.createContext({ shouldForwardProp: void 0, styleSheet: iX, stylis: Lg });
|
|
BP.Consumer;
|
|
ue.createContext(void 0);
|
|
function P$() {
|
|
return lt(BP);
|
|
}
|
|
var A$ = function() {
|
|
function e(t, r) {
|
|
var n = this;
|
|
this.inject = function(o, a) {
|
|
a === void 0 && (a = Lg);
|
|
var i = n.name + a.hash;
|
|
o.hasNameForId(n.id, i) || o.insertRules(n.id, i, a(n.rules, i, "@keyframes"));
|
|
}, this.name = t, this.id = "sc-keyframes-".concat(t), this.rules = r, iv(this, function() {
|
|
throw Di(12, String(n.name));
|
|
});
|
|
}
|
|
return e.prototype.getName = function(t) {
|
|
return t === void 0 && (t = Lg), this.name + t.hash;
|
|
}, e;
|
|
}(), sX = function(e) {
|
|
return e >= "A" && e <= "Z";
|
|
};
|
|
function C$(e) {
|
|
for (var t = "", r = 0; r < e.length; r++) {
|
|
var n = e[r];
|
|
if (r === 1 && n === "-" && e[0] === "-") return e;
|
|
sX(n) ? t += "-" + n.toLowerCase() : t += n;
|
|
}
|
|
return t.startsWith("ms-") ? "-" + t : t;
|
|
}
|
|
var GP = function(e) {
|
|
return e == null || e === !1 || e === "";
|
|
}, KP = function(e) {
|
|
var t, r, n = [];
|
|
for (var o in e) {
|
|
var a = e[o];
|
|
e.hasOwnProperty(o) && !GP(a) && (Array.isArray(a) && a.isCss || vi(a) ? n.push("".concat(C$(o), ":"), a, ";") : wi(a) ? n.push.apply(n, hi(hi(["".concat(o, " {")], KP(a), !1), ["}"], !1)) : n.push("".concat(C$(o), ": ").concat((t = o, (r = a) == null || typeof r == "boolean" || r === "" ? "" : typeof r != "number" || r === 0 || t in PK || t.startsWith("--") ? String(r).trim() : "".concat(r, "px")), ";")));
|
|
}
|
|
return n;
|
|
};
|
|
function ea(e, t, r, n) {
|
|
if (GP(e)) return [];
|
|
if (av(e)) return [".".concat(e.styledComponentId)];
|
|
if (vi(e)) {
|
|
if (!vi(a = e) || a.prototype && a.prototype.isReactComponent || !t) return [e];
|
|
var o = e(t);
|
|
return process.env.NODE_ENV === "production" || typeof o != "object" || Array.isArray(o) || o instanceof A$ || wi(o) || o === null || console.error("".concat(FP(e), " is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")), ea(o, t, r, n);
|
|
}
|
|
var a;
|
|
return e instanceof A$ ? r ? (e.inject(r, n), [e.getName(n)]) : [e] : wi(e) ? KP(e) : Array.isArray(e) ? Array.prototype.concat.apply(Vf, e.map(function(i) {
|
|
return ea(i, t, r, n);
|
|
})) : [e.toString()];
|
|
}
|
|
function lX(e) {
|
|
for (var t = 0; t < e.length; t += 1) {
|
|
var r = e[t];
|
|
if (vi(r) && !av(r)) return !1;
|
|
}
|
|
return !0;
|
|
}
|
|
var cX = LP(Df), uX = function() {
|
|
function e(t, r, n) {
|
|
this.rules = t, this.staticRulesId = "", this.isStatic = process.env.NODE_ENV === "production" && (n === void 0 || n.isStatic) && lX(t), this.componentId = r, this.baseHash = Do(cX, r), this.baseStyle = n, YP.registerId(r);
|
|
}
|
|
return e.prototype.generateAndInjectStyles = function(t, r, n) {
|
|
var o = this.baseStyle ? this.baseStyle.generateAndInjectStyles(t, r, n) : "";
|
|
if (this.isStatic && !n.hash) if (this.staticRulesId && r.hasNameForId(this.componentId, this.staticRulesId)) o = Ko(o, this.staticRulesId);
|
|
else {
|
|
var a = O$(ea(this.rules, t, r, n)), i = Mg(Do(this.baseHash, a) >>> 0);
|
|
if (!r.hasNameForId(this.componentId, i)) {
|
|
var s = n(a, ".".concat(i), void 0, this.componentId);
|
|
r.insertRules(this.componentId, i, s);
|
|
}
|
|
o = Ko(o, i), this.staticRulesId = i;
|
|
}
|
|
else {
|
|
for (var l = Do(this.baseHash, n.hash), c = "", u = 0; u < this.rules.length; u++) {
|
|
var f = this.rules[u];
|
|
if (typeof f == "string") c += f, process.env.NODE_ENV !== "production" && (l = Do(l, f));
|
|
else if (f) {
|
|
var d = O$(ea(f, t, r, n));
|
|
l = Do(l, d + u), c += d;
|
|
}
|
|
}
|
|
if (c) {
|
|
var g = Mg(l >>> 0);
|
|
r.hasNameForId(this.componentId, g) || r.insertRules(this.componentId, g, n(c, ".".concat(g), void 0, this.componentId)), o = Ko(o, g);
|
|
}
|
|
}
|
|
return o;
|
|
}, e;
|
|
}(), XP = ue.createContext(void 0);
|
|
XP.Consumer;
|
|
var Zp = {}, N$ = /* @__PURE__ */ new Set();
|
|
function fX(e, t, r) {
|
|
var n = av(e), o = e, a = !Qp(e), i = t.attrs, s = i === void 0 ? Vf : i, l = t.componentId, c = l === void 0 ? function(S, p) {
|
|
var T = typeof S != "string" ? "sc" : v$(S);
|
|
Zp[T] = (Zp[T] || 0) + 1;
|
|
var L = "".concat(T, "-").concat(TK(Df + T + Zp[T]));
|
|
return p ? "".concat(p, "-").concat(L) : L;
|
|
}(t.displayName, t.parentComponentId) : l, u = t.displayName, f = u === void 0 ? function(S) {
|
|
return Qp(S) ? "styled.".concat(S) : "Styled(".concat(FP(S), ")");
|
|
}(e) : u, d = t.displayName && t.componentId ? "".concat(v$(t.displayName), "-").concat(t.componentId) : t.componentId || c, g = n && o.attrs ? o.attrs.concat(s).filter(Boolean) : s, v = t.shouldForwardProp;
|
|
if (n && o.shouldForwardProp) {
|
|
var m = o.shouldForwardProp;
|
|
if (t.shouldForwardProp) {
|
|
var h = t.shouldForwardProp;
|
|
v = function(S, p) {
|
|
return m(S, p) && h(S, p);
|
|
};
|
|
} else v = m;
|
|
}
|
|
var w = new uX(r, d, n ? o.componentStyle : void 0);
|
|
function x(S, p) {
|
|
return function(T, L, G) {
|
|
var J = T.attrs, B = T.componentStyle, Z = T.defaultProps, M = T.foldedComponentIds, ee = T.styledComponentId, D = T.target, V = ue.useContext(XP), H = P$(), W = T.shouldForwardProp || H.shouldForwardProp;
|
|
process.env.NODE_ENV !== "production" && Jv(ee);
|
|
var Y = NK(L, V, Z) || yi, K = function(j, N, P) {
|
|
for (var _, I = ar(ar({}, N), { className: void 0, theme: P }), R = 0; R < j.length; R += 1) {
|
|
var Q = vi(_ = j[R]) ? _(I) : _;
|
|
for (var k in Q) I[k] = k === "className" ? Ko(I[k], Q[k]) : k === "style" ? ar(ar({}, I[k]), Q[k]) : Q[k];
|
|
}
|
|
return N.className && (I.className = Ko(I.className, N.className)), I;
|
|
}(J, L, Y), y = K.as || D, b = {};
|
|
for (var E in K) K[E] === void 0 || E[0] === "$" || E === "as" || E === "theme" && K.theme === Y || (E === "forwardedAs" ? b.as = K.forwardedAs : W && !W(E, y) || (b[E] = K[E], W || process.env.NODE_ENV !== "development" || sK(E) || N$.has(E) || !Rg.has(y) || (N$.add(E), console.warn('styled-components: it looks like an unknown prop "'.concat(E, '" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));
|
|
var A = function(j, N) {
|
|
var P = P$(), _ = j.generateAndInjectStyles(N, P.styleSheet, P.stylis);
|
|
return process.env.NODE_ENV !== "production" && Jv(_), _;
|
|
}(B, K);
|
|
process.env.NODE_ENV !== "production" && T.warnTooManyClasses && T.warnTooManyClasses(A);
|
|
var C = Ko(M, ee);
|
|
return A && (C += " " + A), K.className && (C += " " + K.className), b[Qp(y) && !Rg.has(y) ? "class" : "className"] = C, G && (b.ref = G), ib(y, b);
|
|
}($, S, p);
|
|
}
|
|
x.displayName = f;
|
|
var $ = ue.forwardRef(x);
|
|
return $.attrs = g, $.componentStyle = w, $.displayName = f, $.shouldForwardProp = v, $.foldedComponentIds = n ? Ko(o.foldedComponentIds, o.styledComponentId) : "", $.styledComponentId = d, $.target = n ? o.target : e, Object.defineProperty($, "defaultProps", { get: function() {
|
|
return this._foldedDefaultProps;
|
|
}, set: function(S) {
|
|
this._foldedDefaultProps = n ? function(p) {
|
|
for (var T = [], L = 1; L < arguments.length; L++) T[L - 1] = arguments[L];
|
|
for (var G = 0, J = T; G < J.length; G++) zg(p, J[G], !0);
|
|
return p;
|
|
}({}, o.defaultProps, S) : S;
|
|
} }), process.env.NODE_ENV !== "production" && (CK(f, d), $.warnTooManyClasses = /* @__PURE__ */ function(S, p) {
|
|
var T = {}, L = !1;
|
|
return function(G) {
|
|
if (!L && (T[G] = !0, Object.keys(T).length >= 200)) {
|
|
var J = p ? ' with the id of "'.concat(p, '"') : "";
|
|
console.warn("Over ".concat(200, " classes were generated for component ").concat(S).concat(J, `.
|
|
`) + `Consider using the attrs method, together with a style object for frequently changed styles.
|
|
Example:
|
|
const Component = styled.div.attrs(props => ({
|
|
style: {
|
|
background: props.background,
|
|
},
|
|
}))\`width: 100%;\`
|
|
|
|
<Component />`), L = !0, T = {};
|
|
}
|
|
};
|
|
}(f, d)), iv($, function() {
|
|
return ".".concat($.styledComponentId);
|
|
}), a && WP($, e, { attrs: !0, componentStyle: !0, displayName: !0, foldedComponentIds: !0, shouldForwardProp: !0, styledComponentId: !0, target: !0 }), $;
|
|
}
|
|
function j$(e, t) {
|
|
for (var r = [e[0]], n = 0, o = t.length; n < o; n += 1) r.push(t[n], e[n + 1]);
|
|
return r;
|
|
}
|
|
var _$ = function(e) {
|
|
return Object.assign(e, { isCss: !0 });
|
|
};
|
|
function JP(e) {
|
|
for (var t = [], r = 1; r < arguments.length; r++) t[r - 1] = arguments[r];
|
|
if (vi(e) || wi(e)) return _$(ea(j$(Vf, hi([e], t, !0))));
|
|
var n = e;
|
|
return t.length === 0 && n.length === 1 && typeof n[0] == "string" ? ea(n) : _$(ea(j$(n, t)));
|
|
}
|
|
function Fg(e, t, r) {
|
|
if (r === void 0 && (r = yi), !t) throw Di(1, t);
|
|
var n = function(o) {
|
|
for (var a = [], i = 1; i < arguments.length; i++) a[i - 1] = arguments[i];
|
|
return e(t, r, JP.apply(void 0, hi([o], a, !1)));
|
|
};
|
|
return n.attrs = function(o) {
|
|
return Fg(e, t, ar(ar({}, r), { attrs: Array.prototype.concat(r.attrs, o).filter(Boolean) }));
|
|
}, n.withConfig = function(o) {
|
|
return Fg(e, t, ar(ar({}, r), o));
|
|
}, n;
|
|
}
|
|
var QP = function(e) {
|
|
return Fg(fX, e);
|
|
}, _l = QP;
|
|
Rg.forEach(function(e) {
|
|
_l[e] = QP(e);
|
|
});
|
|
process.env.NODE_ENV !== "production" && typeof navigator < "u" && navigator.product === "ReactNative" && console.warn(`It looks like you've imported 'styled-components' on React Native.
|
|
Perhaps you're looking to import 'styled-components/native'?
|
|
Read more about this at https://www.styled-components.com/docs/basics#react-native`);
|
|
var $c = "__sc-".concat(ya, "__");
|
|
process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test" && typeof window < "u" && (window[$c] || (window[$c] = 0), window[$c] === 1 && console.warn(`It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.
|
|
|
|
See https://s-c.sh/2BAXzed for more info.`), window[$c] += 1);
|
|
/*! *****************************************************************************
|
|
Copyright (c) Microsoft Corporation.
|
|
|
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
purpose with or without fee is hereby granted.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
PERFORMANCE OF THIS SOFTWARE.
|
|
***************************************************************************** */
|
|
var ta = function() {
|
|
return ta = Object.assign || function(e) {
|
|
for (var t, r = 1, n = arguments.length; r < n; r++) for (var o in t = arguments[r]) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
|
|
return e;
|
|
}, ta.apply(this, arguments);
|
|
};
|
|
function Il(e, t) {
|
|
return Object.defineProperty ? Object.defineProperty(e, "raw", { value: t }) : e.raw = t, e;
|
|
}
|
|
var I$, T$, R$, M$, z$, dX = JP(I$ || (I$ = Il([`
|
|
display: flex;
|
|
align-items: center;
|
|
min-width: 322px;
|
|
max-width: 508px;
|
|
height: 48px;
|
|
border: dashed 2px `, `;
|
|
padding: 8px 16px 8px 8px;
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
flex-grow: 0;
|
|
|
|
&.is-disabled {
|
|
border: dashed 2px `, `;
|
|
cursor: no-drop;
|
|
svg {
|
|
fill: `, `;
|
|
color: `, `;
|
|
path {
|
|
fill: `, `;
|
|
color: `, `;
|
|
}
|
|
}
|
|
}
|
|
`], [`
|
|
display: flex;
|
|
align-items: center;
|
|
min-width: 322px;
|
|
max-width: 508px;
|
|
height: 48px;
|
|
border: dashed 2px `, `;
|
|
padding: 8px 16px 8px 8px;
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
flex-grow: 0;
|
|
|
|
&.is-disabled {
|
|
border: dashed 2px `, `;
|
|
cursor: no-drop;
|
|
svg {
|
|
fill: `, `;
|
|
color: `, `;
|
|
path {
|
|
fill: `, `;
|
|
color: `, `;
|
|
}
|
|
}
|
|
}
|
|
`])), "#0658c2", "#666", "#666", "#666", "#666", "#666"), pX = _l.label(T$ || (T$ = Il([`
|
|
position: relative;
|
|
`, `;
|
|
&:focus-within {
|
|
outline: 2px solid black;
|
|
}
|
|
& > input {
|
|
display: block;
|
|
opacity: 0;
|
|
position: absolute;
|
|
pointer-events: none;
|
|
}
|
|
`], [`
|
|
position: relative;
|
|
`, `;
|
|
&:focus-within {
|
|
outline: 2px solid black;
|
|
}
|
|
& > input {
|
|
display: block;
|
|
opacity: 0;
|
|
position: absolute;
|
|
pointer-events: none;
|
|
}
|
|
`])), function(e) {
|
|
return e.overRide ? "" : dX;
|
|
}), mX = _l.div(R$ || (R$ = Il([`
|
|
border: dashed 2px `, `;
|
|
border-radius: 5px;
|
|
background-color: `, `;
|
|
opacity: 0.9;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
z-index: 999;
|
|
& > span {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translateX(-50%) translateY(-50%);
|
|
}
|
|
`], [`
|
|
border: dashed 2px `, `;
|
|
border-radius: 5px;
|
|
background-color: `, `;
|
|
opacity: 0.9;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
z-index: 999;
|
|
& > span {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translateX(-50%) translateY(-50%);
|
|
}
|
|
`])), "#666", "#999"), hX = _l.div(M$ || (M$ = Il([`
|
|
display: flex;
|
|
justify-content: space-between;
|
|
flex-grow: 1;
|
|
& > span {
|
|
font-size: 12px;
|
|
color: `, `;
|
|
}
|
|
.file-types {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
max-width: 100px;
|
|
}
|
|
`], [`
|
|
display: flex;
|
|
justify-content: space-between;
|
|
flex-grow: 1;
|
|
& > span {
|
|
font-size: 12px;
|
|
color: `, `;
|
|
}
|
|
.file-types {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
max-width: 100px;
|
|
}
|
|
`])), function(e) {
|
|
return e.error ? "red" : "#666";
|
|
}), gX = _l.span(z$ || (z$ = Il([`
|
|
font-size: 14px;
|
|
color: `, `;
|
|
span {
|
|
text-decoration: underline;
|
|
}
|
|
`], [`
|
|
font-size: 14px;
|
|
color: `, `;
|
|
span {
|
|
text-decoration: underline;
|
|
}
|
|
`])), "#666"), L$ = function(e) {
|
|
return e / 1024 / 1024;
|
|
}, bX = function(e) {
|
|
return e === void 0 ? "" : e.map(function(t) {
|
|
return ".".concat(t.toLowerCase());
|
|
}).join(",");
|
|
};
|
|
function yX(e) {
|
|
var t = e.types, r = e.minSize, n = e.maxSize;
|
|
if (t) {
|
|
var o = t.toString(), a = "";
|
|
return n && (a += "size >= ".concat(n, ", ")), r && (a += "size <= ".concat(r, ", ")), q("span", ta({ title: "".concat(a, "types: ").concat(o), className: "file-types" }, { children: o }), void 0);
|
|
}
|
|
return null;
|
|
}
|
|
function vX() {
|
|
return Le("svg", ta({ width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [q("path", { d: "M5.33317 6.66667H22.6665V16H25.3332V6.66667C25.3332 5.196 24.1372 4 22.6665 4H5.33317C3.8625 4 2.6665 5.196 2.6665 6.66667V22.6667C2.6665 24.1373 3.8625 25.3333 5.33317 25.3333H15.9998V22.6667H5.33317V6.66667Z", fill: "#0658C2" }, void 0), q("path", { d: "M10.6665 14.6667L6.6665 20H21.3332L15.9998 12L11.9998 17.3333L10.6665 14.6667Z", fill: "#0658C2" }, void 0), q("path", { d: "M25.3332 18.6667H22.6665V22.6667H18.6665V25.3333H22.6665V29.3333H25.3332V25.3333H29.3332V22.6667H25.3332V18.6667Z", fill: "#0658C2" }, void 0)] }), void 0);
|
|
}
|
|
var em = 0, wX = function(e, t, r, n, o, a) {
|
|
return r ? q("span", { children: "File type/size error, Hovered on types!" }, void 0) : q(gX, { children: n ? q("span", { children: "Upload disabled" }, void 0) : q(jt, e || t ? { children: a ? q(jt, { children: q("span", { children: a }, void 0) }, void 0) : Le(jt, { children: [q("span", { children: "Uploaded Successfully!" }, void 0), " Upload another?"] }, void 0) } : { children: Le(jt, o ? { children: [q("span", { children: o.split(" ")[0] }, void 0), " ", o.substr(o.indexOf(" ") + 1)] } : { children: [q("span", { children: "Upload" }, void 0), " or drop a file right here"] }, void 0) }, void 0) }, void 0);
|
|
}, xX = function(e) {
|
|
var t = e.name, r = e.hoverTitle, n = e.types, o = e.handleChange, a = e.classes, i = e.children, s = e.maxSize, l = e.minSize, c = e.fileOrFiles, u = e.onSizeError, f = e.onTypeError, d = e.onSelect, g = e.onDrop, v = e.disabled, m = e.label, h = e.uploadedLabel, w = e.multiple, x = e.required, $ = e.onDraggingStateChange, S = e.dropMessageStyle, p = e.ariaLabel, T = e.ariaDescribedby, L = ce(null), G = ce(null), J = $e(!1), B = J[0], Z = J[1], M = $e(null), ee = M[0], D = M[1], V = $e(!1), H = V[0], W = V[1], Y = function(b) {
|
|
return n && !function(E, A) {
|
|
var C = E.name.split(".").pop();
|
|
return A.map(function(j) {
|
|
return j.toLowerCase();
|
|
}).includes(C.toLowerCase());
|
|
}(b, n) ? (W(!0), f && f("File type is not supported"), !1) : s && L$(b.size) > s ? (W(!0), u && u("File size is too big"), !1) : !(l && L$(b.size) < l) || (W(!0), u && u("File size is too small"), !1);
|
|
}, K = function(b) {
|
|
var E = !1;
|
|
if (b) {
|
|
if (b instanceof File) E = !Y(b);
|
|
else for (var A = 0; A < b.length; A++) {
|
|
var C = b[A];
|
|
E = !Y(C) || E;
|
|
}
|
|
return !E && (o && o(b), D(b), Z(!0), W(!1), !0);
|
|
}
|
|
return !1;
|
|
}, y = function(b) {
|
|
var E = b.labelRef, A = b.inputRef, C = b.multiple, j = b.handleChanges, N = b.onDrop, P = $e(!1), _ = P[0], I = P[1], R = Ye(function() {
|
|
A.current.click();
|
|
}, [A]), Q = Ye(function(xe) {
|
|
xe.preventDefault(), xe.stopPropagation(), em++, xe.dataTransfer.items && xe.dataTransfer.items.length !== 0 && I(!0);
|
|
}, []), k = Ye(function(xe) {
|
|
xe.preventDefault(), xe.stopPropagation(), --em > 0 || I(!1);
|
|
}, []), fe = Ye(function(xe) {
|
|
xe.preventDefault(), xe.stopPropagation();
|
|
}, []), Ee = Ye(function(xe) {
|
|
xe.preventDefault(), xe.stopPropagation(), I(!1), em = 0;
|
|
var xr = xe.dataTransfer.files;
|
|
if (xr && xr.length > 0) {
|
|
var sn = C ? xr : xr[0], pe = j(sn);
|
|
N && pe && N(sn);
|
|
}
|
|
}, [j]);
|
|
return Se(function() {
|
|
var xe = E.current;
|
|
return xe.addEventListener("click", R), xe.addEventListener("dragenter", Q), xe.addEventListener("dragleave", k), xe.addEventListener("dragover", fe), xe.addEventListener("drop", Ee), function() {
|
|
xe.removeEventListener("click", R), xe.removeEventListener("dragenter", Q), xe.removeEventListener("dragleave", k), xe.removeEventListener("dragover", fe), xe.removeEventListener("drop", Ee);
|
|
};
|
|
}, [R, Q, k, fe, Ee, E]), _;
|
|
}({ labelRef: L, inputRef: G, multiple: w, handleChanges: K, onDrop: g });
|
|
return Se(function() {
|
|
$ == null || $(y);
|
|
}, [y]), Se(function() {
|
|
c ? (Z(!0), D(c)) : (G.current && (G.current.value = ""), Z(!1), D(null));
|
|
}, [c]), Le(pX, ta({ overRide: i, className: "".concat(a || "", " ").concat(v ? "is-disabled" : ""), ref: L, htmlFor: t, onClick: function(b) {
|
|
b.preventDefault(), b.stopPropagation();
|
|
}, "aria-describedby": T, role: "button", "aria-label": p }, { children: [q("input", { onClick: function(b) {
|
|
b.stopPropagation(), G && G.current && (G.current.value = "", G.current.click());
|
|
}, onChange: function(b) {
|
|
var E = b.target.files, A = w ? E : E[0], C = K(A);
|
|
d && C && d(A);
|
|
}, accept: bX(n), ref: G, type: "file", id: t, name: t, disabled: v, multiple: w, required: x }, void 0), y && q(mX, ta({ style: S }, { children: q("span", { children: r || "Drop Here" }, void 0) }), void 0), !i && Le(jt, { children: [q(vX, {}, void 0), Le(hX, ta({ error: H }, { children: [wX(ee, B, H, v, m, h), q(yX, { types: n, minSize: l, maxSize: s }, void 0)] }), void 0)] }, void 0), i] }), void 0);
|
|
};
|
|
/*!
|
|
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
|
|
* License - https://fontawesome.com/license (Commercial License)
|
|
* Copyright 2024 Fonticons, Inc.
|
|
*/
|
|
const $X = {
|
|
prefix: "fas",
|
|
iconName: "file-arrow-up",
|
|
icon: [384, 512, ["file-upload"], "f574", "M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zM216 408c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-102.1-31 31c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31L216 408z"]
|
|
}, kX = {
|
|
prefix: "fas",
|
|
iconName: "file-audio",
|
|
icon: [384, 512, [], "f1c7", "M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-288-128 0c-17.7 0-32-14.3-32-32L224 0 64 0zM256 0l0 128 128 0L256 0zm2 226.3c37.1 22.4 62 63.1 62 109.7s-24.9 87.3-62 109.7c-7.6 4.6-17.4 2.1-22-5.4s-2.1-17.4 5.4-22C269.4 401.5 288 370.9 288 336s-18.6-65.5-46.5-82.3c-7.6-4.6-10-14.4-5.4-22s14.4-10 22-5.4zm-91.9 30.9c6 2.5 9.9 8.3 9.9 14.8l0 128c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L113.4 376 80 376c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16l33.4 0 35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5zm51 34.9c6.6-5.9 16.7-5.3 22.6 1.3C249.8 304.6 256 319.6 256 336s-6.2 31.4-16.3 42.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c5.1-5.7 8.1-13.1 8.1-21.3s-3.1-15.7-8.1-21.3c-5.9-6.6-5.3-16.7 1.3-22.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 OX(e, t, r) {
|
|
return (t = EX(t)) in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function F$(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 ie(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? F$(Object(r), !0).forEach(function(n) {
|
|
OX(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : F$(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function SX(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 EX(e) {
|
|
var t = SX(e, "string");
|
|
return typeof t == "symbol" ? t : t + "";
|
|
}
|
|
const D$ = () => {
|
|
};
|
|
let sv = {}, ZP = {}, eA = null, tA = {
|
|
mark: D$,
|
|
measure: D$
|
|
};
|
|
try {
|
|
typeof window < "u" && (sv = window), typeof document < "u" && (ZP = document), typeof MutationObserver < "u" && (eA = MutationObserver), typeof performance < "u" && (tA = performance);
|
|
} catch {
|
|
}
|
|
const {
|
|
userAgent: V$ = ""
|
|
} = sv.navigator || {}, Io = sv, Ot = ZP, H$ = eA, kc = tA;
|
|
Io.document;
|
|
const zn = !!Ot.documentElement && !!Ot.head && typeof Ot.addEventListener == "function" && typeof Ot.createElement == "function", rA = ~V$.indexOf("MSIE") || ~V$.indexOf("Trident/");
|
|
var PX = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, AX = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, nA = {
|
|
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"
|
|
}
|
|
}, CX = {
|
|
GROUP: "duotone-group",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, oA = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], Xt = "classic", Hf = "duotone", NX = "sharp", jX = "sharp-duotone", aA = [Xt, Hf, NX, jX], _X = {
|
|
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"
|
|
}
|
|
}, IX = {
|
|
"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"
|
|
}
|
|
}, TX = /* @__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
|
|
}]]), RX = {
|
|
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"
|
|
}
|
|
}, MX = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], W$ = {
|
|
kit: {
|
|
fak: "kit",
|
|
"fa-kit": "kit"
|
|
},
|
|
"kit-duotone": {
|
|
fakd: "kit-duotone",
|
|
"fa-kit-duotone": "kit-duotone"
|
|
}
|
|
}, zX = ["kit"], LX = {
|
|
kit: {
|
|
"fa-kit": "fak"
|
|
}
|
|
}, FX = ["fak", "fakd"], DX = {
|
|
kit: {
|
|
fak: "fa-kit"
|
|
}
|
|
}, U$ = {
|
|
kit: {
|
|
kit: "fak"
|
|
},
|
|
"kit-duotone": {
|
|
"kit-duotone": "fakd"
|
|
}
|
|
}, Oc = {
|
|
GROUP: "duotone-group",
|
|
SWAP_OPACITY: "swap-opacity",
|
|
PRIMARY: "primary",
|
|
SECONDARY: "secondary"
|
|
}, VX = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], HX = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], WX = {
|
|
"Font Awesome Kit": {
|
|
400: "fak",
|
|
normal: "fak"
|
|
},
|
|
"Font Awesome Kit Duotone": {
|
|
400: "fakd",
|
|
normal: "fakd"
|
|
}
|
|
}, UX = {
|
|
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"
|
|
}
|
|
}, YX = {
|
|
classic: ["fas", "far", "fal", "fat", "fad"],
|
|
duotone: ["fadr", "fadl", "fadt"],
|
|
sharp: ["fass", "fasr", "fasl", "fast"],
|
|
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
|
|
}, Dg = {
|
|
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"
|
|
}
|
|
}, qX = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Vg = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...VX, ...qX], BX = ["solid", "regular", "light", "thin", "duotone", "brands"], iA = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], GX = iA.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), KX = [...Object.keys(YX), ...BX, "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", Oc.GROUP, Oc.SWAP_OPACITY, Oc.PRIMARY, Oc.SECONDARY].concat(iA.map((e) => "".concat(e, "x"))).concat(GX.map((e) => "w-".concat(e))), XX = {
|
|
"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 Nn = "___FONT_AWESOME___", Hg = 16, sA = "fa", lA = "svg-inline--fa", va = "data-fa-i2svg", Wg = "data-fa-pseudo-element", JX = "data-fa-pseudo-element-pending", lv = "data-prefix", cv = "data-icon", Y$ = "fontawesome-i2svg", QX = "async", ZX = ["HTML", "HEAD", "STYLE", "SCRIPT"], cA = (() => {
|
|
try {
|
|
return process.env.NODE_ENV === "production";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
})();
|
|
function Tl(e) {
|
|
return new Proxy(e, {
|
|
get(t, r) {
|
|
return r in t ? t[r] : t[Xt];
|
|
}
|
|
});
|
|
}
|
|
const uA = ie({}, nA);
|
|
uA[Xt] = ie(ie(ie(ie({}, {
|
|
"fa-duotone": "duotone"
|
|
}), nA[Xt]), W$.kit), W$["kit-duotone"]);
|
|
const eJ = Tl(uA), Ug = ie({}, RX);
|
|
Ug[Xt] = ie(ie(ie(ie({}, {
|
|
duotone: "fad"
|
|
}), Ug[Xt]), U$.kit), U$["kit-duotone"]);
|
|
const q$ = Tl(Ug), Yg = ie({}, Dg);
|
|
Yg[Xt] = ie(ie({}, Yg[Xt]), DX.kit);
|
|
const uv = Tl(Yg), qg = ie({}, UX);
|
|
qg[Xt] = ie(ie({}, qg[Xt]), LX.kit);
|
|
Tl(qg);
|
|
const tJ = PX, fA = "fa-layers-text", rJ = AX, nJ = ie({}, _X);
|
|
Tl(nJ);
|
|
const oJ = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], tm = CX, aJ = [...zX, ...KX], zs = Io.FontAwesomeConfig || {};
|
|
function iJ(e) {
|
|
var t = Ot.querySelector("script[" + e + "]");
|
|
if (t)
|
|
return t.getAttribute(e);
|
|
}
|
|
function sJ(e) {
|
|
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
|
|
}
|
|
Ot && typeof Ot.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 = sJ(iJ(t));
|
|
n != null && (zs[r] = n);
|
|
});
|
|
const dA = {
|
|
styleDefault: "solid",
|
|
familyDefault: Xt,
|
|
cssPrefix: sA,
|
|
replacementClass: lA,
|
|
autoReplaceSvg: !0,
|
|
autoAddCss: !0,
|
|
autoA11y: !0,
|
|
searchPseudoElements: !1,
|
|
observeMutations: !0,
|
|
mutateApproach: "async",
|
|
keepOriginalSource: !0,
|
|
measurePerformance: !1,
|
|
showMissingIcons: !0
|
|
};
|
|
zs.familyPrefix && (zs.cssPrefix = zs.familyPrefix);
|
|
const xi = ie(ie({}, dA), zs);
|
|
xi.autoReplaceSvg || (xi.observeMutations = !1);
|
|
const ve = {};
|
|
Object.keys(dA).forEach((e) => {
|
|
Object.defineProperty(ve, e, {
|
|
enumerable: !0,
|
|
set: function(t) {
|
|
xi[e] = t, Ls.forEach((r) => r(ve));
|
|
},
|
|
get: function() {
|
|
return xi[e];
|
|
}
|
|
});
|
|
});
|
|
Object.defineProperty(ve, "familyPrefix", {
|
|
enumerable: !0,
|
|
set: function(e) {
|
|
xi.cssPrefix = e, Ls.forEach((t) => t(ve));
|
|
},
|
|
get: function() {
|
|
return xi.cssPrefix;
|
|
}
|
|
});
|
|
Io.FontAwesomeConfig = ve;
|
|
const Ls = [];
|
|
function lJ(e) {
|
|
return Ls.push(e), () => {
|
|
Ls.splice(Ls.indexOf(e), 1);
|
|
};
|
|
}
|
|
const oo = Hg, Qr = {
|
|
size: 16,
|
|
x: 0,
|
|
y: 0,
|
|
rotate: 0,
|
|
flipX: !1,
|
|
flipY: !1
|
|
};
|
|
function cJ(e) {
|
|
if (!e || !zn)
|
|
return;
|
|
const t = Ot.createElement("style");
|
|
t.setAttribute("type", "text/css"), t.innerHTML = e;
|
|
const r = Ot.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 Ot.head.insertBefore(t, n), e;
|
|
}
|
|
const uJ = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
function fl() {
|
|
let e = 12, t = "";
|
|
for (; e-- > 0; )
|
|
t += uJ[Math.random() * 62 | 0];
|
|
return t;
|
|
}
|
|
function Vi(e) {
|
|
const t = [];
|
|
for (let r = (e || []).length >>> 0; r--; )
|
|
t[r] = e[r];
|
|
return t;
|
|
}
|
|
function fv(e) {
|
|
return e.classList ? Vi(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
|
|
}
|
|
function pA(e) {
|
|
return "".concat(e).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<").replace(/>/g, ">");
|
|
}
|
|
function fJ(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, '="').concat(pA(e[r]), '" '), "").trim();
|
|
}
|
|
function Wf(e) {
|
|
return Object.keys(e || {}).reduce((t, r) => t + "".concat(r, ": ").concat(e[r].trim(), ";"), "");
|
|
}
|
|
function dv(e) {
|
|
return e.size !== Qr.size || e.x !== Qr.x || e.y !== Qr.y || e.rotate !== Qr.rotate || e.flipX || e.flipY;
|
|
}
|
|
function dJ(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)"), l = {
|
|
transform: "".concat(a, " ").concat(i, " ").concat(s)
|
|
}, c = {
|
|
transform: "translate(".concat(n / 2 * -1, " -256)")
|
|
};
|
|
return {
|
|
outer: o,
|
|
inner: l,
|
|
path: c
|
|
};
|
|
}
|
|
function pJ(e) {
|
|
let {
|
|
transform: t,
|
|
width: r = Hg,
|
|
height: n = Hg,
|
|
startCentered: o = !1
|
|
} = e, a = "";
|
|
return o && rA ? a += "translate(".concat(t.x / oo - r / 2, "em, ").concat(t.y / oo - n / 2, "em) ") : o ? a += "translate(calc(-50% + ".concat(t.x / oo, "em), calc(-50% + ").concat(t.y / oo, "em)) ") : a += "translate(".concat(t.x / oo, "em, ").concat(t.y / oo, "em) "), a += "scale(".concat(t.size / oo * (t.flipX ? -1 : 1), ", ").concat(t.size / oo * (t.flipY ? -1 : 1), ") "), a += "rotate(".concat(t.rotate, "deg) "), a;
|
|
}
|
|
var mJ = `: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 mA() {
|
|
const e = sA, t = lA, r = ve.cssPrefix, n = ve.replacementClass;
|
|
let o = mJ;
|
|
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 B$ = !1;
|
|
function rm() {
|
|
ve.autoAddCss && !B$ && (cJ(mA()), B$ = !0);
|
|
}
|
|
var hJ = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
css: mA,
|
|
insertCss: rm
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
beforeDOMElementCreation() {
|
|
rm();
|
|
},
|
|
beforeI2svg() {
|
|
rm();
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const jn = Io || {};
|
|
jn[Nn] || (jn[Nn] = {});
|
|
jn[Nn].styles || (jn[Nn].styles = {});
|
|
jn[Nn].hooks || (jn[Nn].hooks = {});
|
|
jn[Nn].shims || (jn[Nn].shims = []);
|
|
var Zr = jn[Nn];
|
|
const hA = [], gA = function() {
|
|
Ot.removeEventListener("DOMContentLoaded", gA), Tu = 1, hA.map((e) => e());
|
|
};
|
|
let Tu = !1;
|
|
zn && (Tu = (Ot.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(Ot.readyState), Tu || Ot.addEventListener("DOMContentLoaded", gA));
|
|
function gJ(e) {
|
|
zn && (Tu ? setTimeout(e, 0) : hA.push(e));
|
|
}
|
|
function Rl(e) {
|
|
const {
|
|
tag: t,
|
|
attributes: r = {},
|
|
children: n = []
|
|
} = e;
|
|
return typeof e == "string" ? pA(e) : "<".concat(t, " ").concat(fJ(r), ">").concat(n.map(Rl).join(""), "</").concat(t, ">");
|
|
}
|
|
function G$(e, t, r) {
|
|
if (e && e[t] && e[t][r])
|
|
return {
|
|
prefix: t,
|
|
iconName: r,
|
|
icon: e[t][r]
|
|
};
|
|
}
|
|
var nm = function(e, t, r, n) {
|
|
var o = Object.keys(e), a = o.length, i = t, s, l, c;
|
|
for (r === void 0 ? (s = 1, c = e[o[0]]) : (s = 0, c = r); s < a; s++)
|
|
l = o[s], c = i(c, e[l], l, e);
|
|
return c;
|
|
};
|
|
function bJ(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 bA(e) {
|
|
const t = bJ(e);
|
|
return t.length === 1 ? t[0].toString(16) : null;
|
|
}
|
|
function yJ(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 K$(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 Bg(e, t) {
|
|
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
const {
|
|
skipHooks: n = !1
|
|
} = r, o = K$(t);
|
|
typeof Zr.hooks.addPack == "function" && !n ? Zr.hooks.addPack(e, K$(t)) : Zr.styles[e] = ie(ie({}, Zr.styles[e] || {}), o), e === "fas" && Bg("fa", t);
|
|
}
|
|
const {
|
|
styles: dl,
|
|
shims: vJ
|
|
} = Zr, yA = Object.keys(uv), wJ = yA.reduce((e, t) => (e[t] = Object.keys(uv[t]), e), {});
|
|
let pv = null, vA = {}, wA = {}, xA = {}, $A = {}, kA = {};
|
|
function xJ(e) {
|
|
return ~aJ.indexOf(e);
|
|
}
|
|
function $J(e, t) {
|
|
const r = t.split("-"), n = r[0], o = r.slice(1).join("-");
|
|
return n === e && o !== "" && !xJ(o) ? o : null;
|
|
}
|
|
const OA = () => {
|
|
const e = (n) => nm(dl, (o, a, i) => (o[i] = nm(a, n, {}), o), {});
|
|
vA = 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)), wA = e((n, o, a) => (n[a] = a, o[2] && o[2].filter((i) => typeof i == "string").forEach((i) => {
|
|
n[i] = a;
|
|
}), n)), kA = e((n, o, a) => {
|
|
const i = o[2];
|
|
return n[a] = a, i.forEach((s) => {
|
|
n[s] = a;
|
|
}), n;
|
|
});
|
|
const t = "far" in dl || ve.autoFetchSvg, r = nm(vJ, (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: {}
|
|
});
|
|
xA = r.names, $A = r.unicodes, pv = Uf(ve.styleDefault, {
|
|
family: ve.familyDefault
|
|
});
|
|
};
|
|
lJ((e) => {
|
|
pv = Uf(e.styleDefault, {
|
|
family: ve.familyDefault
|
|
});
|
|
});
|
|
OA();
|
|
function mv(e, t) {
|
|
return (vA[e] || {})[t];
|
|
}
|
|
function kJ(e, t) {
|
|
return (wA[e] || {})[t];
|
|
}
|
|
function Xo(e, t) {
|
|
return (kA[e] || {})[t];
|
|
}
|
|
function SA(e) {
|
|
return xA[e] || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function OJ(e) {
|
|
const t = $A[e], r = mv("fas", e);
|
|
return t || (r ? {
|
|
prefix: "fas",
|
|
iconName: r
|
|
} : null) || {
|
|
prefix: null,
|
|
iconName: null
|
|
};
|
|
}
|
|
function To() {
|
|
return pv;
|
|
}
|
|
const EA = () => ({
|
|
prefix: null,
|
|
iconName: null,
|
|
rest: []
|
|
});
|
|
function SJ(e) {
|
|
let t = Xt;
|
|
const r = yA.reduce((n, o) => (n[o] = "".concat(ve.cssPrefix, "-").concat(o), n), {});
|
|
return aA.forEach((n) => {
|
|
(e.includes(r[n]) || e.some((o) => wJ[n].includes(o))) && (t = n);
|
|
}), t;
|
|
}
|
|
function Uf(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
family: r = Xt
|
|
} = t, n = eJ[r][e];
|
|
if (r === Hf && !e)
|
|
return "fad";
|
|
const o = q$[r][e] || q$[r][n], a = e in Zr.styles ? e : null;
|
|
return o || a || null;
|
|
}
|
|
function EJ(e) {
|
|
let t = [], r = null;
|
|
return e.forEach((n) => {
|
|
const o = $J(ve.cssPrefix, n);
|
|
o ? r = o : n && t.push(n);
|
|
}), {
|
|
iconName: r,
|
|
rest: t
|
|
};
|
|
}
|
|
function X$(e) {
|
|
return e.sort().filter((t, r, n) => n.indexOf(t) === r);
|
|
}
|
|
function Yf(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
skipLookups: r = !1
|
|
} = t;
|
|
let n = null;
|
|
const o = Vg.concat(HX), a = X$(e.filter((f) => o.includes(f))), i = X$(e.filter((f) => !Vg.includes(f))), s = a.filter((f) => (n = f, !oA.includes(f))), [l = null] = s, c = SJ(a), u = ie(ie({}, EJ(i)), {}, {
|
|
prefix: Uf(l, {
|
|
family: c
|
|
})
|
|
});
|
|
return ie(ie(ie({}, u), NJ({
|
|
values: e,
|
|
family: c,
|
|
styles: dl,
|
|
config: ve,
|
|
canonical: u,
|
|
givenPrefix: n
|
|
})), PJ(r, n, u));
|
|
}
|
|
function PJ(e, t, r) {
|
|
let {
|
|
prefix: n,
|
|
iconName: o
|
|
} = r;
|
|
if (e || !n || !o)
|
|
return {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
const a = t === "fa" ? SA(o) : {}, i = Xo(n, o);
|
|
return o = a.iconName || i || o, n = a.prefix || n, n === "far" && !dl.far && dl.fas && !ve.autoFetchSvg && (n = "fas"), {
|
|
prefix: n,
|
|
iconName: o
|
|
};
|
|
}
|
|
const AJ = aA.filter((e) => e !== Xt || e !== Hf), CJ = Object.keys(Dg).filter((e) => e !== Xt).map((e) => Object.keys(Dg[e])).flat();
|
|
function NJ(e) {
|
|
const {
|
|
values: t,
|
|
family: r,
|
|
canonical: n,
|
|
givenPrefix: o = "",
|
|
styles: a = {},
|
|
config: i = {}
|
|
} = e, s = r === Hf, l = t.includes("fa-duotone") || t.includes("fad"), c = i.familyDefault === "duotone", u = n.prefix === "fad" || n.prefix === "fa-duotone";
|
|
if (!s && (l || c || u) && (n.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (n.prefix = "fab"), !n.prefix && AJ.includes(r) && (Object.keys(a).find((f) => CJ.includes(f)) || i.autoFetchSvg)) {
|
|
const f = TX.get(r).defaultShortPrefixId;
|
|
n.prefix = f, n.iconName = Xo(n.prefix, n.iconName) || n.iconName;
|
|
}
|
|
return (n.prefix === "fa" || o === "fa") && (n.prefix = To() || "fas"), n;
|
|
}
|
|
class jJ {
|
|
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] = ie(ie({}, this.definitions[a] || {}), o[a]), Bg(a, o[a]);
|
|
const i = uv[Xt][a];
|
|
i && Bg(i, o[a]), OA();
|
|
});
|
|
}
|
|
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], l = s[2];
|
|
t[a] || (t[a] = {}), l.length > 0 && l.forEach((c) => {
|
|
typeof c == "string" && (t[a][c] = s);
|
|
}), t[a][i] = s;
|
|
}), t;
|
|
}
|
|
}
|
|
let J$ = [], Ua = {};
|
|
const si = {}, _J = Object.keys(si);
|
|
function IJ(e, t) {
|
|
let {
|
|
mixoutsTo: r
|
|
} = t;
|
|
return J$ = e, Ua = {}, Object.keys(si).forEach((n) => {
|
|
_J.indexOf(n) === -1 && delete si[n];
|
|
}), J$.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) => {
|
|
Ua[i] || (Ua[i] = []), Ua[i].push(a[i]);
|
|
});
|
|
}
|
|
n.provides && n.provides(si);
|
|
}), r;
|
|
}
|
|
function Gg(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 (Ua[e] || []).forEach((a) => {
|
|
t = a.apply(null, [t, ...n]);
|
|
}), t;
|
|
}
|
|
function wa(e) {
|
|
for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++)
|
|
r[n - 1] = arguments[n];
|
|
(Ua[e] || []).forEach((o) => {
|
|
o.apply(null, r);
|
|
});
|
|
}
|
|
function Ro() {
|
|
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
|
|
return si[e] ? si[e].apply(null, t) : void 0;
|
|
}
|
|
function Kg(e) {
|
|
e.prefix === "fa" && (e.prefix = "fas");
|
|
let {
|
|
iconName: t
|
|
} = e;
|
|
const r = e.prefix || To();
|
|
if (t)
|
|
return t = Xo(r, t) || t, G$(PA.definitions, r, t) || G$(Zr.styles, r, t);
|
|
}
|
|
const PA = new jJ(), TJ = () => {
|
|
ve.autoReplaceSvg = !1, ve.observeMutations = !1, wa("noAuto");
|
|
}, RJ = {
|
|
i2svg: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
return zn ? (wa("beforeI2svg", e), Ro("pseudoElements2svg", e), Ro("i2svg", e)) : Promise.reject(new Error("Operation requires a DOM of some kind."));
|
|
},
|
|
watch: function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t
|
|
} = e;
|
|
ve.autoReplaceSvg === !1 && (ve.autoReplaceSvg = !0), ve.observeMutations = !0, gJ(() => {
|
|
zJ({
|
|
autoReplaceSvgRoot: t
|
|
}), wa("watch", e);
|
|
});
|
|
}
|
|
}, MJ = {
|
|
icon: (e) => {
|
|
if (e === null)
|
|
return null;
|
|
if (typeof e == "object" && e.prefix && e.iconName)
|
|
return {
|
|
prefix: e.prefix,
|
|
iconName: Xo(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 = Uf(e[0]);
|
|
return {
|
|
prefix: r,
|
|
iconName: Xo(r, t) || t
|
|
};
|
|
}
|
|
if (typeof e == "string" && (e.indexOf("".concat(ve.cssPrefix, "-")) > -1 || e.match(tJ))) {
|
|
const t = Yf(e.split(" "), {
|
|
skipLookups: !0
|
|
});
|
|
return {
|
|
prefix: t.prefix || To(),
|
|
iconName: Xo(t.prefix, t.iconName) || t.iconName
|
|
};
|
|
}
|
|
if (typeof e == "string") {
|
|
const t = To();
|
|
return {
|
|
prefix: t,
|
|
iconName: Xo(t, e) || e
|
|
};
|
|
}
|
|
}
|
|
}, mr = {
|
|
noAuto: TJ,
|
|
config: ve,
|
|
dom: RJ,
|
|
parse: MJ,
|
|
library: PA,
|
|
findIconDefinition: Kg,
|
|
toHtml: Rl
|
|
}, zJ = function() {
|
|
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
const {
|
|
autoReplaceSvgRoot: t = Ot
|
|
} = e;
|
|
(Object.keys(Zr.styles).length > 0 || ve.autoFetchSvg) && zn && ve.autoReplaceSvg && mr.dom.i2svg({
|
|
node: t
|
|
});
|
|
};
|
|
function qf(e, t) {
|
|
return Object.defineProperty(e, "abstract", {
|
|
get: t
|
|
}), Object.defineProperty(e, "html", {
|
|
get: function() {
|
|
return e.abstract.map((r) => Rl(r));
|
|
}
|
|
}), Object.defineProperty(e, "node", {
|
|
get: function() {
|
|
if (!zn) return;
|
|
const r = Ot.createElement("div");
|
|
return r.innerHTML = e.html, r.children;
|
|
}
|
|
}), e;
|
|
}
|
|
function LJ(e) {
|
|
let {
|
|
children: t,
|
|
main: r,
|
|
mask: n,
|
|
attributes: o,
|
|
styles: a,
|
|
transform: i
|
|
} = e;
|
|
if (dv(i) && r.found && !n.found) {
|
|
const {
|
|
width: s,
|
|
height: l
|
|
} = r, c = {
|
|
x: s / l / 2,
|
|
y: 0.5
|
|
};
|
|
o.style = Wf(ie(ie({}, a), {}, {
|
|
"transform-origin": "".concat(c.x + i.x / 16, "em ").concat(c.y + i.y / 16, "em")
|
|
}));
|
|
}
|
|
return [{
|
|
tag: "svg",
|
|
attributes: o,
|
|
children: t
|
|
}];
|
|
}
|
|
function FJ(e) {
|
|
let {
|
|
prefix: t,
|
|
iconName: r,
|
|
children: n,
|
|
attributes: o,
|
|
symbol: a
|
|
} = e;
|
|
const i = a === !0 ? "".concat(t, "-").concat(ve.cssPrefix, "-").concat(r) : a;
|
|
return [{
|
|
tag: "svg",
|
|
attributes: {
|
|
style: "display: none;"
|
|
},
|
|
children: [{
|
|
tag: "symbol",
|
|
attributes: ie(ie({}, o), {}, {
|
|
id: i
|
|
}),
|
|
children: n
|
|
}]
|
|
}];
|
|
}
|
|
function hv(e) {
|
|
const {
|
|
icons: {
|
|
main: t,
|
|
mask: r
|
|
},
|
|
prefix: n,
|
|
iconName: o,
|
|
transform: a,
|
|
symbol: i,
|
|
title: s,
|
|
maskId: l,
|
|
titleId: c,
|
|
extra: u,
|
|
watchable: f = !1
|
|
} = e, {
|
|
width: d,
|
|
height: g
|
|
} = r.found ? r : t, v = FX.includes(n), m = [ve.replacementClass, o ? "".concat(ve.cssPrefix, "-").concat(o) : ""].filter((p) => u.classes.indexOf(p) === -1).filter((p) => p !== "" || !!p).concat(u.classes).join(" ");
|
|
let h = {
|
|
children: [],
|
|
attributes: ie(ie({}, 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(g)
|
|
})
|
|
};
|
|
const w = v && !~u.classes.indexOf("fa-fw") ? {
|
|
width: "".concat(d / g * 16 * 0.0625, "em")
|
|
} : {};
|
|
f && (h.attributes[va] = ""), s && (h.children.push({
|
|
tag: "title",
|
|
attributes: {
|
|
id: h.attributes["aria-labelledby"] || "title-".concat(c || fl())
|
|
},
|
|
children: [s]
|
|
}), delete h.attributes.title);
|
|
const x = ie(ie({}, h), {}, {
|
|
prefix: n,
|
|
iconName: o,
|
|
main: t,
|
|
mask: r,
|
|
maskId: l,
|
|
transform: a,
|
|
symbol: i,
|
|
styles: ie(ie({}, w), u.styles)
|
|
}), {
|
|
children: $,
|
|
attributes: S
|
|
} = r.found && t.found ? Ro("generateAbstractMask", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
} : Ro("generateAbstractIcon", x) || {
|
|
children: [],
|
|
attributes: {}
|
|
};
|
|
return x.children = $, x.attributes = S, i ? FJ(x) : LJ(x);
|
|
}
|
|
function Q$(e) {
|
|
const {
|
|
content: t,
|
|
width: r,
|
|
height: n,
|
|
transform: o,
|
|
title: a,
|
|
extra: i,
|
|
watchable: s = !1
|
|
} = e, l = ie(ie(ie({}, i.attributes), a ? {
|
|
title: a
|
|
} : {}), {}, {
|
|
class: i.classes.join(" ")
|
|
});
|
|
s && (l[va] = "");
|
|
const c = ie({}, i.styles);
|
|
dv(o) && (c.transform = pJ({
|
|
transform: o,
|
|
startCentered: !0,
|
|
width: r,
|
|
height: n
|
|
}), c["-webkit-transform"] = c.transform);
|
|
const u = Wf(c);
|
|
u.length > 0 && (l.style = u);
|
|
const f = [];
|
|
return f.push({
|
|
tag: "span",
|
|
attributes: l,
|
|
children: [t]
|
|
}), a && f.push({
|
|
tag: "span",
|
|
attributes: {
|
|
class: "sr-only"
|
|
},
|
|
children: [a]
|
|
}), f;
|
|
}
|
|
function DJ(e) {
|
|
const {
|
|
content: t,
|
|
title: r,
|
|
extra: n
|
|
} = e, o = ie(ie(ie({}, n.attributes), r ? {
|
|
title: r
|
|
} : {}), {}, {
|
|
class: n.classes.join(" ")
|
|
}), a = Wf(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: om
|
|
} = Zr;
|
|
function Xg(e) {
|
|
const t = e[0], r = e[1], [n] = e.slice(4);
|
|
let o = null;
|
|
return Array.isArray(n) ? o = {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "".concat(ve.cssPrefix, "-").concat(tm.GROUP)
|
|
},
|
|
children: [{
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ve.cssPrefix, "-").concat(tm.SECONDARY),
|
|
fill: "currentColor",
|
|
d: n[0]
|
|
}
|
|
}, {
|
|
tag: "path",
|
|
attributes: {
|
|
class: "".concat(ve.cssPrefix, "-").concat(tm.PRIMARY),
|
|
fill: "currentColor",
|
|
d: n[1]
|
|
}
|
|
}]
|
|
} : o = {
|
|
tag: "path",
|
|
attributes: {
|
|
fill: "currentColor",
|
|
d: n
|
|
}
|
|
}, {
|
|
found: !0,
|
|
width: t,
|
|
height: r,
|
|
icon: o
|
|
};
|
|
}
|
|
const VJ = {
|
|
found: !1,
|
|
width: 512,
|
|
height: 512
|
|
};
|
|
function HJ(e, t) {
|
|
!cA && !ve.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
|
|
}
|
|
function Jg(e, t) {
|
|
let r = t;
|
|
return t === "fa" && ve.styleDefault !== null && (t = To()), new Promise((n, o) => {
|
|
if (r === "fa") {
|
|
const a = SA(e) || {};
|
|
e = a.iconName || e, t = a.prefix || t;
|
|
}
|
|
if (e && t && om[t] && om[t][e]) {
|
|
const a = om[t][e];
|
|
return n(Xg(a));
|
|
}
|
|
HJ(e, t), n(ie(ie({}, VJ), {}, {
|
|
icon: ve.showMissingIcons && e ? Ro("missingIconAbstract") || {} : {}
|
|
}));
|
|
});
|
|
}
|
|
const Z$ = () => {
|
|
}, Qg = ve.measurePerformance && kc && kc.mark && kc.measure ? kc : {
|
|
mark: Z$,
|
|
measure: Z$
|
|
}, bs = 'FA "6.7.2"', WJ = (e) => (Qg.mark("".concat(bs, " ").concat(e, " begins")), () => AA(e)), AA = (e) => {
|
|
Qg.mark("".concat(bs, " ").concat(e, " ends")), Qg.measure("".concat(bs, " ").concat(e), "".concat(bs, " ").concat(e, " begins"), "".concat(bs, " ").concat(e, " ends"));
|
|
};
|
|
var gv = {
|
|
begin: WJ,
|
|
end: AA
|
|
};
|
|
const Qc = () => {
|
|
};
|
|
function ek(e) {
|
|
return typeof (e.getAttribute ? e.getAttribute(va) : null) == "string";
|
|
}
|
|
function UJ(e) {
|
|
const t = e.getAttribute ? e.getAttribute(lv) : null, r = e.getAttribute ? e.getAttribute(cv) : null;
|
|
return t && r;
|
|
}
|
|
function YJ(e) {
|
|
return e && e.classList && e.classList.contains && e.classList.contains(ve.replacementClass);
|
|
}
|
|
function qJ() {
|
|
return ve.autoReplaceSvg === !0 ? Zc.replace : Zc[ve.autoReplaceSvg] || Zc.replace;
|
|
}
|
|
function BJ(e) {
|
|
return Ot.createElementNS("http://www.w3.org/2000/svg", e);
|
|
}
|
|
function GJ(e) {
|
|
return Ot.createElement(e);
|
|
}
|
|
function CA(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
ceFn: r = e.tag === "svg" ? BJ : GJ
|
|
} = t;
|
|
if (typeof e == "string")
|
|
return Ot.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(CA(o, {
|
|
ceFn: r
|
|
}));
|
|
}), n;
|
|
}
|
|
function KJ(e) {
|
|
let t = " ".concat(e.outerHTML, " ");
|
|
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
|
|
}
|
|
const Zc = {
|
|
replace: function(e) {
|
|
const t = e[0];
|
|
if (t.parentNode)
|
|
if (e[1].forEach((r) => {
|
|
t.parentNode.insertBefore(CA(r), t);
|
|
}), t.getAttribute(va) === null && ve.keepOriginalSource) {
|
|
let r = Ot.createComment(KJ(t));
|
|
t.parentNode.replaceChild(r, t);
|
|
} else
|
|
t.remove();
|
|
},
|
|
nest: function(e) {
|
|
const t = e[0], r = e[1];
|
|
if (~fv(t).indexOf(ve.replacementClass))
|
|
return Zc.replace(e);
|
|
const n = new RegExp("".concat(ve.cssPrefix, "-.*"));
|
|
if (delete r[0].attributes.id, r[0].attributes.class) {
|
|
const a = r[0].attributes.class.split(" ").reduce((i, s) => (s === ve.replacementClass || s.match(n) ? i.toSvg.push(s) : i.toNode.push(s), i), {
|
|
toNode: [],
|
|
toSvg: []
|
|
});
|
|
r[0].attributes.class = a.toSvg.join(" "), a.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", a.toNode.join(" "));
|
|
}
|
|
const o = r.map((a) => Rl(a)).join(`
|
|
`);
|
|
t.setAttribute(va, ""), t.innerHTML = o;
|
|
}
|
|
};
|
|
function tk(e) {
|
|
e();
|
|
}
|
|
function NA(e, t) {
|
|
const r = typeof t == "function" ? t : Qc;
|
|
if (e.length === 0)
|
|
r();
|
|
else {
|
|
let n = tk;
|
|
ve.mutateApproach === QX && (n = Io.requestAnimationFrame || tk), n(() => {
|
|
const o = qJ(), a = gv.begin("mutate");
|
|
e.map(o), a(), r();
|
|
});
|
|
}
|
|
}
|
|
let bv = !1;
|
|
function jA() {
|
|
bv = !0;
|
|
}
|
|
function Zg() {
|
|
bv = !1;
|
|
}
|
|
let Ru = null;
|
|
function rk(e) {
|
|
if (!H$ || !ve.observeMutations)
|
|
return;
|
|
const {
|
|
treeCallback: t = Qc,
|
|
nodeCallback: r = Qc,
|
|
pseudoElementsCallback: n = Qc,
|
|
observeMutationsRoot: o = Ot
|
|
} = e;
|
|
Ru = new H$((a) => {
|
|
if (bv) return;
|
|
const i = To();
|
|
Vi(a).forEach((s) => {
|
|
if (s.type === "childList" && s.addedNodes.length > 0 && !ek(s.addedNodes[0]) && (ve.searchPseudoElements && n(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && ve.searchPseudoElements && n(s.target.parentNode), s.type === "attributes" && ek(s.target) && ~oJ.indexOf(s.attributeName))
|
|
if (s.attributeName === "class" && UJ(s.target)) {
|
|
const {
|
|
prefix: l,
|
|
iconName: c
|
|
} = Yf(fv(s.target));
|
|
s.target.setAttribute(lv, l || i), c && s.target.setAttribute(cv, c);
|
|
} else YJ(s.target) && r(s.target);
|
|
});
|
|
}), zn && Ru.observe(o, {
|
|
childList: !0,
|
|
attributes: !0,
|
|
characterData: !0,
|
|
subtree: !0
|
|
});
|
|
}
|
|
function XJ() {
|
|
Ru && Ru.disconnect();
|
|
}
|
|
function JJ(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 QJ(e) {
|
|
const t = e.getAttribute("data-prefix"), r = e.getAttribute("data-icon"), n = e.innerText !== void 0 ? e.innerText.trim() : "";
|
|
let o = Yf(fv(e));
|
|
return o.prefix || (o.prefix = To()), t && r && (o.prefix = t, o.iconName = r), o.iconName && o.prefix || (o.prefix && n.length > 0 && (o.iconName = kJ(o.prefix, e.innerText) || mv(o.prefix, bA(e.innerText))), !o.iconName && ve.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
|
|
}
|
|
function ZJ(e) {
|
|
const t = Vi(e.attributes).reduce((o, a) => (o.name !== "class" && o.name !== "style" && (o[a.name] = a.value), o), {}), r = e.getAttribute("title"), n = e.getAttribute("data-fa-title-id");
|
|
return ve.autoA11y && (r ? t["aria-labelledby"] = "".concat(ve.replacementClass, "-title-").concat(n || fl()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
|
|
}
|
|
function eQ() {
|
|
return {
|
|
iconName: null,
|
|
title: null,
|
|
titleId: null,
|
|
prefix: null,
|
|
transform: Qr,
|
|
symbol: !1,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
extra: {
|
|
classes: [],
|
|
styles: {},
|
|
attributes: {}
|
|
}
|
|
};
|
|
}
|
|
function nk(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
styleParser: !0
|
|
};
|
|
const {
|
|
iconName: r,
|
|
prefix: n,
|
|
rest: o
|
|
} = QJ(e), a = ZJ(e), i = Gg("parseNodeAttributes", {}, e);
|
|
let s = t.styleParser ? JJ(e) : [];
|
|
return ie({
|
|
iconName: r,
|
|
title: e.getAttribute("title"),
|
|
titleId: e.getAttribute("data-fa-title-id"),
|
|
prefix: n,
|
|
transform: Qr,
|
|
mask: {
|
|
iconName: null,
|
|
prefix: null,
|
|
rest: []
|
|
},
|
|
maskId: null,
|
|
symbol: !1,
|
|
extra: {
|
|
classes: o,
|
|
styles: s,
|
|
attributes: a
|
|
}
|
|
}, i);
|
|
}
|
|
const {
|
|
styles: tQ
|
|
} = Zr;
|
|
function _A(e) {
|
|
const t = ve.autoReplaceSvg === "nest" ? nk(e, {
|
|
styleParser: !1
|
|
}) : nk(e);
|
|
return ~t.extra.classes.indexOf(fA) ? Ro("generateLayersText", e, t) : Ro("generateSvgReplacementMutation", e, t);
|
|
}
|
|
function rQ() {
|
|
return [...MX, ...Vg];
|
|
}
|
|
function ok(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
if (!zn) return Promise.resolve();
|
|
const r = Ot.documentElement.classList, n = (u) => r.add("".concat(Y$, "-").concat(u)), o = (u) => r.remove("".concat(Y$, "-").concat(u)), a = ve.autoFetchSvg ? rQ() : oA.concat(Object.keys(tQ));
|
|
a.includes("fa") || a.push("fa");
|
|
const i = [".".concat(fA, ":not([").concat(va, "])")].concat(a.map((u) => ".".concat(u, ":not([").concat(va, "])"))).join(", ");
|
|
if (i.length === 0)
|
|
return Promise.resolve();
|
|
let s = [];
|
|
try {
|
|
s = Vi(e.querySelectorAll(i));
|
|
} catch {
|
|
}
|
|
if (s.length > 0)
|
|
n("pending"), o("complete");
|
|
else
|
|
return Promise.resolve();
|
|
const l = gv.begin("onTree"), c = s.reduce((u, f) => {
|
|
try {
|
|
const d = _A(f);
|
|
d && u.push(d);
|
|
} catch (d) {
|
|
cA || d.name === "MissingIcon" && console.error(d);
|
|
}
|
|
return u;
|
|
}, []);
|
|
return new Promise((u, f) => {
|
|
Promise.all(c).then((d) => {
|
|
NA(d, () => {
|
|
n("active"), n("complete"), o("pending"), typeof t == "function" && t(), l(), u();
|
|
});
|
|
}).catch((d) => {
|
|
l(), f(d);
|
|
});
|
|
});
|
|
}
|
|
function nQ(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
|
|
_A(e).then((r) => {
|
|
r && NA([r], t);
|
|
});
|
|
}
|
|
function oQ(e) {
|
|
return function(t) {
|
|
let r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const n = (t || {}).icon ? t : Kg(t || {});
|
|
let {
|
|
mask: o
|
|
} = r;
|
|
return o && (o = (o || {}).icon ? o : Kg(o || {})), e(n, ie(ie({}, r), {}, {
|
|
mask: o
|
|
}));
|
|
};
|
|
}
|
|
const aQ = function(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Qr,
|
|
symbol: n = !1,
|
|
mask: o = null,
|
|
maskId: a = null,
|
|
title: i = null,
|
|
titleId: s = null,
|
|
classes: l = [],
|
|
attributes: c = {},
|
|
styles: u = {}
|
|
} = t;
|
|
if (!e) return;
|
|
const {
|
|
prefix: f,
|
|
iconName: d,
|
|
icon: g
|
|
} = e;
|
|
return qf(ie({
|
|
type: "icon"
|
|
}, e), () => (wa("beforeDOMElementCreation", {
|
|
iconDefinition: e,
|
|
params: t
|
|
}), ve.autoA11y && (i ? c["aria-labelledby"] = "".concat(ve.replacementClass, "-title-").concat(s || fl()) : (c["aria-hidden"] = "true", c.focusable = "false")), hv({
|
|
icons: {
|
|
main: Xg(g),
|
|
mask: o ? Xg(o.icon) : {
|
|
found: !1,
|
|
width: null,
|
|
height: null,
|
|
icon: {}
|
|
}
|
|
},
|
|
prefix: f,
|
|
iconName: d,
|
|
transform: ie(ie({}, Qr), r),
|
|
symbol: n,
|
|
title: i,
|
|
maskId: a,
|
|
titleId: s,
|
|
extra: {
|
|
attributes: c,
|
|
styles: u,
|
|
classes: l
|
|
}
|
|
})));
|
|
};
|
|
var iQ = {
|
|
mixout() {
|
|
return {
|
|
icon: oQ(aQ)
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.treeCallback = ok, e.nodeCallback = nQ, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.i2svg = function(t) {
|
|
const {
|
|
node: r = Ot,
|
|
callback: n = () => {
|
|
}
|
|
} = t;
|
|
return ok(r, n);
|
|
}, e.generateSvgReplacementMutation = function(t, r) {
|
|
const {
|
|
iconName: n,
|
|
title: o,
|
|
titleId: a,
|
|
prefix: i,
|
|
transform: s,
|
|
symbol: l,
|
|
mask: c,
|
|
maskId: u,
|
|
extra: f
|
|
} = r;
|
|
return new Promise((d, g) => {
|
|
Promise.all([Jg(n, i), c.iconName ? Jg(c.iconName, c.prefix) : Promise.resolve({
|
|
found: !1,
|
|
width: 512,
|
|
height: 512,
|
|
icon: {}
|
|
})]).then((v) => {
|
|
let [m, h] = v;
|
|
d([t, hv({
|
|
icons: {
|
|
main: m,
|
|
mask: h
|
|
},
|
|
prefix: i,
|
|
iconName: n,
|
|
transform: s,
|
|
symbol: l,
|
|
maskId: u,
|
|
title: o,
|
|
titleId: a,
|
|
extra: f,
|
|
watchable: !0
|
|
})]);
|
|
}).catch(g);
|
|
});
|
|
}, e.generateAbstractIcon = function(t) {
|
|
let {
|
|
children: r,
|
|
attributes: n,
|
|
main: o,
|
|
transform: a,
|
|
styles: i
|
|
} = t;
|
|
const s = Wf(i);
|
|
s.length > 0 && (n.style = s);
|
|
let l;
|
|
return dv(a) && (l = Ro("generateAbstractTransformGrouping", {
|
|
main: o,
|
|
transform: a,
|
|
containerWidth: o.width,
|
|
iconWidth: o.width
|
|
})), r.push(l || o.icon), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, sQ = {
|
|
mixout() {
|
|
return {
|
|
layer(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
classes: r = []
|
|
} = t;
|
|
return qf({
|
|
type: "layer"
|
|
}, () => {
|
|
wa("beforeDOMElementCreation", {
|
|
assembler: e,
|
|
params: t
|
|
});
|
|
let n = [];
|
|
return e((o) => {
|
|
Array.isArray(o) ? o.map((a) => {
|
|
n = n.concat(a.abstract);
|
|
}) : n = n.concat(o.abstract);
|
|
}), [{
|
|
tag: "span",
|
|
attributes: {
|
|
class: ["".concat(ve.cssPrefix, "-layers"), ...r].join(" ")
|
|
},
|
|
children: n
|
|
}];
|
|
});
|
|
}
|
|
};
|
|
}
|
|
}, lQ = {
|
|
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 qf({
|
|
type: "counter",
|
|
content: e
|
|
}, () => (wa("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), DJ({
|
|
content: e.toString(),
|
|
title: r,
|
|
extra: {
|
|
attributes: o,
|
|
styles: a,
|
|
classes: ["".concat(ve.cssPrefix, "-layers-counter"), ...n]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
}
|
|
}, cQ = {
|
|
mixout() {
|
|
return {
|
|
text(e) {
|
|
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
const {
|
|
transform: r = Qr,
|
|
title: n = null,
|
|
classes: o = [],
|
|
attributes: a = {},
|
|
styles: i = {}
|
|
} = t;
|
|
return qf({
|
|
type: "text",
|
|
content: e
|
|
}, () => (wa("beforeDOMElementCreation", {
|
|
content: e,
|
|
params: t
|
|
}), Q$({
|
|
content: e,
|
|
transform: ie(ie({}, Qr), r),
|
|
title: n,
|
|
extra: {
|
|
attributes: a,
|
|
styles: i,
|
|
classes: ["".concat(ve.cssPrefix, "-layers-text"), ...o]
|
|
}
|
|
})));
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.generateLayersText = function(t, r) {
|
|
const {
|
|
title: n,
|
|
transform: o,
|
|
extra: a
|
|
} = r;
|
|
let i = null, s = null;
|
|
if (rA) {
|
|
const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
|
|
i = c.width / l, s = c.height / l;
|
|
}
|
|
return ve.autoA11y && !n && (a.attributes["aria-hidden"] = "true"), Promise.resolve([t, Q$({
|
|
content: t.innerHTML,
|
|
width: i,
|
|
height: s,
|
|
transform: o,
|
|
title: n,
|
|
extra: a,
|
|
watchable: !0
|
|
})]);
|
|
};
|
|
}
|
|
};
|
|
const uQ = new RegExp('"', "ug"), ak = [1105920, 1112319], ik = ie(ie(ie(ie({}, {
|
|
FontAwesome: {
|
|
normal: "fas",
|
|
400: "fas"
|
|
}
|
|
}), IX), XX), WX), eb = Object.keys(ik).reduce((e, t) => (e[t.toLowerCase()] = ik[t], e), {}), fQ = Object.keys(eb).reduce((e, t) => {
|
|
const r = eb[t];
|
|
return e[t] = r[900] || [...Object.entries(r)][0][1], e;
|
|
}, {});
|
|
function dQ(e) {
|
|
const t = e.replace(uQ, ""), r = yJ(t, 0), n = r >= ak[0] && r <= ak[1], o = t.length === 2 ? t[0] === t[1] : !1;
|
|
return {
|
|
value: bA(o ? t[0] : t),
|
|
isSecondary: n || o
|
|
};
|
|
}
|
|
function pQ(e, t) {
|
|
const r = e.replace(/^['"]|['"]$/g, "").toLowerCase(), n = parseInt(t), o = isNaN(n) ? "normal" : n;
|
|
return (eb[r] || {})[o] || fQ[r];
|
|
}
|
|
function sk(e, t) {
|
|
const r = "".concat(JX).concat(t.replace(":", "-"));
|
|
return new Promise((n, o) => {
|
|
if (e.getAttribute(r) !== null)
|
|
return n();
|
|
const a = Vi(e.children).filter((f) => f.getAttribute(Wg) === t)[0], i = Io.getComputedStyle(e, t), s = i.getPropertyValue("font-family"), l = s.match(rJ), c = i.getPropertyValue("font-weight"), u = i.getPropertyValue("content");
|
|
if (a && !l)
|
|
return e.removeChild(a), n();
|
|
if (l && u !== "none" && u !== "") {
|
|
const f = i.getPropertyValue("content");
|
|
let d = pQ(s, c);
|
|
const {
|
|
value: g,
|
|
isSecondary: v
|
|
} = dQ(f), m = l[0].startsWith("FontAwesome");
|
|
let h = mv(d, g), w = h;
|
|
if (m) {
|
|
const x = OJ(g);
|
|
x.iconName && x.prefix && (h = x.iconName, d = x.prefix);
|
|
}
|
|
if (h && !v && (!a || a.getAttribute(lv) !== d || a.getAttribute(cv) !== w)) {
|
|
e.setAttribute(r, w), a && e.removeChild(a);
|
|
const x = eQ(), {
|
|
extra: $
|
|
} = x;
|
|
$.attributes[Wg] = t, Jg(h, d).then((S) => {
|
|
const p = hv(ie(ie({}, x), {}, {
|
|
icons: {
|
|
main: S,
|
|
mask: EA()
|
|
},
|
|
prefix: d,
|
|
iconName: w,
|
|
extra: $,
|
|
watchable: !0
|
|
})), T = Ot.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
t === "::before" ? e.insertBefore(T, e.firstChild) : e.appendChild(T), T.outerHTML = p.map((L) => Rl(L)).join(`
|
|
`), e.removeAttribute(r), n();
|
|
}).catch(o);
|
|
} else
|
|
n();
|
|
} else
|
|
n();
|
|
});
|
|
}
|
|
function mQ(e) {
|
|
return Promise.all([sk(e, "::before"), sk(e, "::after")]);
|
|
}
|
|
function hQ(e) {
|
|
return e.parentNode !== document.head && !~ZX.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Wg) && (!e.parentNode || e.parentNode.tagName !== "svg");
|
|
}
|
|
function lk(e) {
|
|
if (zn)
|
|
return new Promise((t, r) => {
|
|
const n = Vi(e.querySelectorAll("*")).filter(hQ).map(mQ), o = gv.begin("searchPseudoElements");
|
|
jA(), Promise.all(n).then(() => {
|
|
o(), Zg(), t();
|
|
}).catch(() => {
|
|
o(), Zg(), r();
|
|
});
|
|
});
|
|
}
|
|
var gQ = {
|
|
hooks() {
|
|
return {
|
|
mutationObserverCallbacks(e) {
|
|
return e.pseudoElementsCallback = lk, e;
|
|
}
|
|
};
|
|
},
|
|
provides(e) {
|
|
e.pseudoElements2svg = function(t) {
|
|
const {
|
|
node: r = Ot
|
|
} = t;
|
|
ve.searchPseudoElements && lk(r);
|
|
};
|
|
}
|
|
};
|
|
let ck = !1;
|
|
var bQ = {
|
|
mixout() {
|
|
return {
|
|
dom: {
|
|
unwatch() {
|
|
jA(), ck = !0;
|
|
}
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
bootstrap() {
|
|
rk(Gg("mutationObserverCallbacks", {}));
|
|
},
|
|
noAuto() {
|
|
XJ();
|
|
},
|
|
watch(e) {
|
|
const {
|
|
observeMutationsRoot: t
|
|
} = e;
|
|
ck ? Zg() : rk(Gg("mutationObserverCallbacks", {
|
|
observeMutationsRoot: t
|
|
}));
|
|
}
|
|
};
|
|
}
|
|
};
|
|
const uk = (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 yQ = {
|
|
mixout() {
|
|
return {
|
|
parse: {
|
|
transform: (e) => uk(e)
|
|
}
|
|
};
|
|
},
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-transform");
|
|
return r && (e.transform = uk(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, ") "), l = "scale(".concat(n.size / 16 * (n.flipX ? -1 : 1), ", ").concat(n.size / 16 * (n.flipY ? -1 : 1), ") "), c = "rotate(".concat(n.rotate, " 0 0)"), u = {
|
|
transform: "".concat(s, " ").concat(l, " ").concat(c)
|
|
}, f = {
|
|
transform: "translate(".concat(a / 2 * -1, " -256)")
|
|
}, d = {
|
|
outer: i,
|
|
inner: u,
|
|
path: f
|
|
};
|
|
return {
|
|
tag: "g",
|
|
attributes: ie({}, d.outer),
|
|
children: [{
|
|
tag: "g",
|
|
attributes: ie({}, d.inner),
|
|
children: [{
|
|
tag: r.icon.tag,
|
|
children: r.icon.children,
|
|
attributes: ie(ie({}, r.icon.attributes), d.path)
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
}
|
|
};
|
|
const am = {
|
|
x: 0,
|
|
y: 0,
|
|
width: "100%",
|
|
height: "100%"
|
|
};
|
|
function fk(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 vQ(e) {
|
|
return e.tag === "g" ? e.children : [e];
|
|
}
|
|
var wQ = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-mask"), n = r ? Yf(r.split(" ").map((o) => o.trim())) : EA();
|
|
return n.prefix || (n.prefix = To()), 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: l,
|
|
icon: c
|
|
} = o, {
|
|
width: u,
|
|
icon: f
|
|
} = a, d = dJ({
|
|
transform: s,
|
|
containerWidth: u,
|
|
iconWidth: l
|
|
}), g = {
|
|
tag: "rect",
|
|
attributes: ie(ie({}, am), {}, {
|
|
fill: "white"
|
|
})
|
|
}, v = c.children ? {
|
|
children: c.children.map(fk)
|
|
} : {}, m = {
|
|
tag: "g",
|
|
attributes: ie({}, d.inner),
|
|
children: [fk(ie({
|
|
tag: c.tag,
|
|
attributes: ie(ie({}, c.attributes), d.path)
|
|
}, v))]
|
|
}, h = {
|
|
tag: "g",
|
|
attributes: ie({}, d.outer),
|
|
children: [m]
|
|
}, w = "mask-".concat(i || fl()), x = "clip-".concat(i || fl()), $ = {
|
|
tag: "mask",
|
|
attributes: ie(ie({}, am), {}, {
|
|
id: w,
|
|
maskUnits: "userSpaceOnUse",
|
|
maskContentUnits: "userSpaceOnUse"
|
|
}),
|
|
children: [g, h]
|
|
}, S = {
|
|
tag: "defs",
|
|
children: [{
|
|
tag: "clipPath",
|
|
attributes: {
|
|
id: x
|
|
},
|
|
children: vQ(f)
|
|
}, $]
|
|
};
|
|
return r.push(S, {
|
|
tag: "rect",
|
|
attributes: ie({
|
|
fill: "currentColor",
|
|
"clip-path": "url(#".concat(x, ")"),
|
|
mask: "url(#".concat(w, ")")
|
|
}, am)
|
|
}), {
|
|
children: r,
|
|
attributes: n
|
|
};
|
|
};
|
|
}
|
|
}, xQ = {
|
|
provides(e) {
|
|
let t = !1;
|
|
Io.matchMedia && (t = Io.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: ie(ie({}, 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 = ie(ie({}, o), {}, {
|
|
attributeName: "opacity"
|
|
}), i = {
|
|
tag: "circle",
|
|
attributes: ie(ie({}, n), {}, {
|
|
cx: "256",
|
|
cy: "364",
|
|
r: "28"
|
|
}),
|
|
children: []
|
|
};
|
|
return t || i.children.push({
|
|
tag: "animate",
|
|
attributes: ie(ie({}, o), {}, {
|
|
attributeName: "r",
|
|
values: "28;14;28;28;14;28;"
|
|
})
|
|
}, {
|
|
tag: "animate",
|
|
attributes: ie(ie({}, a), {}, {
|
|
values: "1;0;1;1;0;1;"
|
|
})
|
|
}), r.push(i), r.push({
|
|
tag: "path",
|
|
attributes: ie(ie({}, 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: ie(ie({}, a), {}, {
|
|
values: "1;0;0;0;0;1;"
|
|
})
|
|
}]
|
|
}), t || r.push({
|
|
tag: "path",
|
|
attributes: ie(ie({}, 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: ie(ie({}, a), {}, {
|
|
values: "0;0;1;1;0;0;"
|
|
})
|
|
}]
|
|
}), {
|
|
tag: "g",
|
|
attributes: {
|
|
class: "missing"
|
|
},
|
|
children: r
|
|
};
|
|
};
|
|
}
|
|
}, $Q = {
|
|
hooks() {
|
|
return {
|
|
parseNodeAttributes(e, t) {
|
|
const r = t.getAttribute("data-fa-symbol"), n = r === null ? !1 : r === "" ? !0 : r;
|
|
return e.symbol = n, e;
|
|
}
|
|
};
|
|
}
|
|
}, kQ = [hJ, iQ, sQ, lQ, cQ, gQ, bQ, yQ, wQ, xQ, $Q];
|
|
IJ(kQ, {
|
|
mixoutsTo: mr
|
|
});
|
|
mr.noAuto;
|
|
mr.config;
|
|
mr.library;
|
|
mr.dom;
|
|
const tb = mr.parse;
|
|
mr.findIconDefinition;
|
|
mr.toHtml;
|
|
const OQ = mr.icon;
|
|
mr.layer;
|
|
mr.text;
|
|
mr.counter;
|
|
var Sc = { exports: {} }, im = { exports: {} }, Ze = {};
|
|
/** @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 dk;
|
|
function SQ() {
|
|
if (dk) return Ze;
|
|
dk = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(p) {
|
|
if (typeof p == "object" && p !== null) {
|
|
var T = p.$$typeof;
|
|
switch (T) {
|
|
case t:
|
|
switch (p = p.type, p) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return p;
|
|
default:
|
|
switch (p = p && p.$$typeof, p) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return p;
|
|
default:
|
|
return T;
|
|
}
|
|
}
|
|
case r:
|
|
return T;
|
|
}
|
|
}
|
|
}
|
|
function S(p) {
|
|
return $(p) === c;
|
|
}
|
|
return Ze.AsyncMode = l, Ze.ConcurrentMode = c, Ze.ContextConsumer = s, Ze.ContextProvider = i, Ze.Element = t, Ze.ForwardRef = u, Ze.Fragment = n, Ze.Lazy = v, Ze.Memo = g, Ze.Portal = r, Ze.Profiler = a, Ze.StrictMode = o, Ze.Suspense = f, Ze.isAsyncMode = function(p) {
|
|
return S(p) || $(p) === l;
|
|
}, Ze.isConcurrentMode = S, Ze.isContextConsumer = function(p) {
|
|
return $(p) === s;
|
|
}, Ze.isContextProvider = function(p) {
|
|
return $(p) === i;
|
|
}, Ze.isElement = function(p) {
|
|
return typeof p == "object" && p !== null && p.$$typeof === t;
|
|
}, Ze.isForwardRef = function(p) {
|
|
return $(p) === u;
|
|
}, Ze.isFragment = function(p) {
|
|
return $(p) === n;
|
|
}, Ze.isLazy = function(p) {
|
|
return $(p) === v;
|
|
}, Ze.isMemo = function(p) {
|
|
return $(p) === g;
|
|
}, Ze.isPortal = function(p) {
|
|
return $(p) === r;
|
|
}, Ze.isProfiler = function(p) {
|
|
return $(p) === a;
|
|
}, Ze.isStrictMode = function(p) {
|
|
return $(p) === o;
|
|
}, Ze.isSuspense = function(p) {
|
|
return $(p) === f;
|
|
}, Ze.isValidElementType = function(p) {
|
|
return typeof p == "string" || typeof p == "function" || p === n || p === c || p === a || p === o || p === f || p === d || typeof p == "object" && p !== null && (p.$$typeof === v || p.$$typeof === g || p.$$typeof === i || p.$$typeof === s || p.$$typeof === u || p.$$typeof === h || p.$$typeof === w || p.$$typeof === x || p.$$typeof === m);
|
|
}, Ze.typeOf = $, Ze;
|
|
}
|
|
var st = {};
|
|
/** @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 pk;
|
|
function EQ() {
|
|
return pk || (pk = 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, l = e ? Symbol.for("react.async_mode") : 60111, c = 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, g = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, m = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, w = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
|
|
function $(k) {
|
|
return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
|
|
k === n || k === c || k === a || k === o || k === f || k === d || typeof k == "object" && k !== null && (k.$$typeof === v || k.$$typeof === g || k.$$typeof === i || k.$$typeof === s || k.$$typeof === u || k.$$typeof === h || k.$$typeof === w || k.$$typeof === x || k.$$typeof === m);
|
|
}
|
|
function S(k) {
|
|
if (typeof k == "object" && k !== null) {
|
|
var fe = k.$$typeof;
|
|
switch (fe) {
|
|
case t:
|
|
var Ee = k.type;
|
|
switch (Ee) {
|
|
case l:
|
|
case c:
|
|
case n:
|
|
case a:
|
|
case o:
|
|
case f:
|
|
return Ee;
|
|
default:
|
|
var xe = Ee && Ee.$$typeof;
|
|
switch (xe) {
|
|
case s:
|
|
case u:
|
|
case v:
|
|
case g:
|
|
case i:
|
|
return xe;
|
|
default:
|
|
return fe;
|
|
}
|
|
}
|
|
case r:
|
|
return fe;
|
|
}
|
|
}
|
|
}
|
|
var p = l, T = c, L = s, G = i, J = t, B = u, Z = n, M = v, ee = g, D = r, V = a, H = o, W = f, Y = !1;
|
|
function K(k) {
|
|
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.")), y(k) || S(k) === l;
|
|
}
|
|
function y(k) {
|
|
return S(k) === c;
|
|
}
|
|
function b(k) {
|
|
return S(k) === s;
|
|
}
|
|
function E(k) {
|
|
return S(k) === i;
|
|
}
|
|
function A(k) {
|
|
return typeof k == "object" && k !== null && k.$$typeof === t;
|
|
}
|
|
function C(k) {
|
|
return S(k) === u;
|
|
}
|
|
function j(k) {
|
|
return S(k) === n;
|
|
}
|
|
function N(k) {
|
|
return S(k) === v;
|
|
}
|
|
function P(k) {
|
|
return S(k) === g;
|
|
}
|
|
function _(k) {
|
|
return S(k) === r;
|
|
}
|
|
function I(k) {
|
|
return S(k) === a;
|
|
}
|
|
function R(k) {
|
|
return S(k) === o;
|
|
}
|
|
function Q(k) {
|
|
return S(k) === f;
|
|
}
|
|
st.AsyncMode = p, st.ConcurrentMode = T, st.ContextConsumer = L, st.ContextProvider = G, st.Element = J, st.ForwardRef = B, st.Fragment = Z, st.Lazy = M, st.Memo = ee, st.Portal = D, st.Profiler = V, st.StrictMode = H, st.Suspense = W, st.isAsyncMode = K, st.isConcurrentMode = y, st.isContextConsumer = b, st.isContextProvider = E, st.isElement = A, st.isForwardRef = C, st.isFragment = j, st.isLazy = N, st.isMemo = P, st.isPortal = _, st.isProfiler = I, st.isStrictMode = R, st.isSuspense = Q, st.isValidElementType = $, st.typeOf = S;
|
|
}()), st;
|
|
}
|
|
var mk;
|
|
function IA() {
|
|
return mk || (mk = 1, process.env.NODE_ENV === "production" ? im.exports = SQ() : im.exports = EQ()), im.exports;
|
|
}
|
|
/*
|
|
object-assign
|
|
(c) Sindre Sorhus
|
|
@license MIT
|
|
*/
|
|
var sm, hk;
|
|
function PQ() {
|
|
if (hk) return sm;
|
|
hk = 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 l = Object.getOwnPropertyNames(i).map(function(u) {
|
|
return i[u];
|
|
});
|
|
if (l.join("") !== "0123456789")
|
|
return !1;
|
|
var c = {};
|
|
return "abcdefghijklmnopqrst".split("").forEach(function(u) {
|
|
c[u] = u;
|
|
}), Object.keys(Object.assign({}, c)).join("") === "abcdefghijklmnopqrst";
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
return sm = o() ? Object.assign : function(a, i) {
|
|
for (var s, l = n(a), c, u = 1; u < arguments.length; u++) {
|
|
s = Object(arguments[u]);
|
|
for (var f in s)
|
|
t.call(s, f) && (l[f] = s[f]);
|
|
if (e) {
|
|
c = e(s);
|
|
for (var d = 0; d < c.length; d++)
|
|
r.call(s, c[d]) && (l[c[d]] = s[c[d]]);
|
|
}
|
|
}
|
|
return l;
|
|
}, sm;
|
|
}
|
|
var lm, gk;
|
|
function yv() {
|
|
if (gk) return lm;
|
|
gk = 1;
|
|
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
|
|
return lm = e, lm;
|
|
}
|
|
var bk, yk;
|
|
function TA() {
|
|
return yk || (yk = 1, bk = Function.call.bind(Object.prototype.hasOwnProperty)), bk;
|
|
}
|
|
var cm, vk;
|
|
function AQ() {
|
|
if (vk) return cm;
|
|
vk = 1;
|
|
var e = function() {
|
|
};
|
|
if (process.env.NODE_ENV !== "production") {
|
|
var t = /* @__PURE__ */ yv(), r = {}, n = /* @__PURE__ */ TA();
|
|
e = function(a) {
|
|
var i = "Warning: " + a;
|
|
typeof console < "u" && console.error(i);
|
|
try {
|
|
throw new Error(i);
|
|
} catch {
|
|
}
|
|
};
|
|
}
|
|
function o(a, i, s, l, c) {
|
|
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(
|
|
(l || "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, l, s, null, t);
|
|
} catch (v) {
|
|
f = v;
|
|
}
|
|
if (f && !(f instanceof Error) && e(
|
|
(l || "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 g = c ? c() : "";
|
|
e(
|
|
"Failed " + s + " type: " + f.message + (g ?? "")
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return o.resetWarningCache = function() {
|
|
process.env.NODE_ENV !== "production" && (r = {});
|
|
}, cm = o, cm;
|
|
}
|
|
var um, wk;
|
|
function CQ() {
|
|
if (wk) return um;
|
|
wk = 1;
|
|
var e = IA(), t = PQ(), r = /* @__PURE__ */ yv(), n = /* @__PURE__ */ TA(), o = /* @__PURE__ */ AQ(), a = function() {
|
|
};
|
|
process.env.NODE_ENV !== "production" && (a = function(s) {
|
|
var l = "Warning: " + s;
|
|
typeof console < "u" && console.error(l);
|
|
try {
|
|
throw new Error(l);
|
|
} catch {
|
|
}
|
|
});
|
|
function i() {
|
|
return null;
|
|
}
|
|
return um = function(s, l) {
|
|
var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
|
|
function f(y) {
|
|
var b = y && (c && y[c] || y[u]);
|
|
if (typeof b == "function")
|
|
return b;
|
|
}
|
|
var d = "<<anonymous>>", g = {
|
|
array: w("array"),
|
|
bigint: w("bigint"),
|
|
bool: w("boolean"),
|
|
func: w("function"),
|
|
number: w("number"),
|
|
object: w("object"),
|
|
string: w("string"),
|
|
symbol: w("symbol"),
|
|
any: x(),
|
|
arrayOf: $,
|
|
element: S(),
|
|
elementType: p(),
|
|
instanceOf: T,
|
|
node: B(),
|
|
objectOf: G,
|
|
oneOf: L,
|
|
oneOfType: J,
|
|
shape: M,
|
|
exact: ee
|
|
};
|
|
function v(y, b) {
|
|
return y === b ? y !== 0 || 1 / y === 1 / b : y !== y && b !== b;
|
|
}
|
|
function m(y, b) {
|
|
this.message = y, this.data = b && typeof b == "object" ? b : {}, this.stack = "";
|
|
}
|
|
m.prototype = Error.prototype;
|
|
function h(y) {
|
|
if (process.env.NODE_ENV !== "production")
|
|
var b = {}, E = 0;
|
|
function A(j, N, P, _, I, R, Q) {
|
|
if (_ = _ || d, R = R || P, Q !== r) {
|
|
if (l) {
|
|
var k = new Error(
|
|
"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
|
|
);
|
|
throw k.name = "Invariant Violation", k;
|
|
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
|
|
var fe = _ + ":" + P;
|
|
!b[fe] && // Avoid spamming the console because they are often not actionable except for lib authors
|
|
E < 3 && (a(
|
|
"You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + _ + "`. 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."
|
|
), b[fe] = !0, E++);
|
|
}
|
|
}
|
|
return N[P] == null ? j ? N[P] === null ? new m("The " + I + " `" + R + "` is marked as required " + ("in `" + _ + "`, but its value is `null`.")) : new m("The " + I + " `" + R + "` is marked as required in " + ("`" + _ + "`, but its value is `undefined`.")) : null : y(N, P, _, I, R);
|
|
}
|
|
var C = A.bind(null, !1);
|
|
return C.isRequired = A.bind(null, !0), C;
|
|
}
|
|
function w(y) {
|
|
function b(E, A, C, j, N, P) {
|
|
var _ = E[A], I = H(_);
|
|
if (I !== y) {
|
|
var R = W(_);
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` of type " + ("`" + R + "` supplied to `" + C + "`, expected ") + ("`" + y + "`."),
|
|
{ expectedType: y }
|
|
);
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function x() {
|
|
return h(i);
|
|
}
|
|
function $(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside arrayOf.");
|
|
var P = E[A];
|
|
if (!Array.isArray(P)) {
|
|
var _ = H(P);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an array."));
|
|
}
|
|
for (var I = 0; I < P.length; I++) {
|
|
var R = y(P, I, C, j, N + "[" + I + "]", r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function S() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!s(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function p() {
|
|
function y(b, E, A, C, j) {
|
|
var N = b[E];
|
|
if (!e.isValidElementType(N)) {
|
|
var P = H(N);
|
|
return new m("Invalid " + C + " `" + j + "` of type " + ("`" + P + "` supplied to `" + A + "`, expected a single ReactElement type."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(y);
|
|
}
|
|
function T(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (!(E[A] instanceof y)) {
|
|
var P = y.name || d, _ = K(E[A]);
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected ") + ("instance of `" + P + "`."));
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function L(y) {
|
|
if (!Array.isArray(y))
|
|
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 b(E, A, C, j, N) {
|
|
for (var P = E[A], _ = 0; _ < y.length; _++)
|
|
if (v(P, y[_]))
|
|
return null;
|
|
var I = JSON.stringify(y, function(R, Q) {
|
|
var k = W(Q);
|
|
return k === "symbol" ? String(Q) : Q;
|
|
});
|
|
return new m("Invalid " + j + " `" + N + "` of value `" + String(P) + "` " + ("supplied to `" + C + "`, expected one of " + I + "."));
|
|
}
|
|
return h(b);
|
|
}
|
|
function G(y) {
|
|
function b(E, A, C, j, N) {
|
|
if (typeof y != "function")
|
|
return new m("Property `" + N + "` of component `" + C + "` has invalid PropType notation inside objectOf.");
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type " + ("`" + _ + "` supplied to `" + C + "`, expected an object."));
|
|
for (var I in P)
|
|
if (n(P, I)) {
|
|
var R = y(P, I, C, j, N + "." + I, r);
|
|
if (R instanceof Error)
|
|
return R;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function J(y) {
|
|
if (!Array.isArray(y))
|
|
return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), i;
|
|
for (var b = 0; b < y.length; b++) {
|
|
var E = y[b];
|
|
if (typeof E != "function")
|
|
return a(
|
|
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + Y(E) + " at index " + b + "."
|
|
), i;
|
|
}
|
|
function A(C, j, N, P, _) {
|
|
for (var I = [], R = 0; R < y.length; R++) {
|
|
var Q = y[R], k = Q(C, j, N, P, _, r);
|
|
if (k == null)
|
|
return null;
|
|
k.data && n(k.data, "expectedType") && I.push(k.data.expectedType);
|
|
}
|
|
var fe = I.length > 0 ? ", expected one of type [" + I.join(", ") + "]" : "";
|
|
return new m("Invalid " + P + " `" + _ + "` supplied to " + ("`" + N + "`" + fe + "."));
|
|
}
|
|
return h(A);
|
|
}
|
|
function B() {
|
|
function y(b, E, A, C, j) {
|
|
return D(b[E]) ? null : new m("Invalid " + C + " `" + j + "` supplied to " + ("`" + A + "`, expected a ReactNode."));
|
|
}
|
|
return h(y);
|
|
}
|
|
function Z(y, b, E, A, C) {
|
|
return new m(
|
|
(y || "React class") + ": " + b + " type `" + E + "." + A + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + C + "`."
|
|
);
|
|
}
|
|
function M(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
for (var I in y) {
|
|
var R = y[I];
|
|
if (typeof R != "function")
|
|
return Z(C, j, N, I, W(R));
|
|
var Q = R(P, I, C, j, N + "." + I, r);
|
|
if (Q)
|
|
return Q;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function ee(y) {
|
|
function b(E, A, C, j, N) {
|
|
var P = E[A], _ = H(P);
|
|
if (_ !== "object")
|
|
return new m("Invalid " + j + " `" + N + "` of type `" + _ + "` " + ("supplied to `" + C + "`, expected `object`."));
|
|
var I = t({}, E[A], y);
|
|
for (var R in I) {
|
|
var Q = y[R];
|
|
if (n(y, R) && typeof Q != "function")
|
|
return Z(C, j, N, R, W(Q));
|
|
if (!Q)
|
|
return new m(
|
|
"Invalid " + j + " `" + N + "` key `" + R + "` supplied to `" + C + "`.\nBad object: " + JSON.stringify(E[A], null, " ") + `
|
|
Valid keys: ` + JSON.stringify(Object.keys(y), null, " ")
|
|
);
|
|
var k = Q(P, R, C, j, N + "." + R, r);
|
|
if (k)
|
|
return k;
|
|
}
|
|
return null;
|
|
}
|
|
return h(b);
|
|
}
|
|
function D(y) {
|
|
switch (typeof y) {
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return !0;
|
|
case "boolean":
|
|
return !y;
|
|
case "object":
|
|
if (Array.isArray(y))
|
|
return y.every(D);
|
|
if (y === null || s(y))
|
|
return !0;
|
|
var b = f(y);
|
|
if (b) {
|
|
var E = b.call(y), A;
|
|
if (b !== y.entries) {
|
|
for (; !(A = E.next()).done; )
|
|
if (!D(A.value))
|
|
return !1;
|
|
} else
|
|
for (; !(A = E.next()).done; ) {
|
|
var C = A.value;
|
|
if (C && !D(C[1]))
|
|
return !1;
|
|
}
|
|
} else
|
|
return !1;
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function V(y, b) {
|
|
return y === "symbol" ? !0 : b ? b["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && b instanceof Symbol : !1;
|
|
}
|
|
function H(y) {
|
|
var b = typeof y;
|
|
return Array.isArray(y) ? "array" : y instanceof RegExp ? "object" : V(b, y) ? "symbol" : b;
|
|
}
|
|
function W(y) {
|
|
if (typeof y > "u" || y === null)
|
|
return "" + y;
|
|
var b = H(y);
|
|
if (b === "object") {
|
|
if (y instanceof Date)
|
|
return "date";
|
|
if (y instanceof RegExp)
|
|
return "regexp";
|
|
}
|
|
return b;
|
|
}
|
|
function Y(y) {
|
|
var b = W(y);
|
|
switch (b) {
|
|
case "array":
|
|
case "object":
|
|
return "an " + b;
|
|
case "boolean":
|
|
case "date":
|
|
case "regexp":
|
|
return "a " + b;
|
|
default:
|
|
return b;
|
|
}
|
|
}
|
|
function K(y) {
|
|
return !y.constructor || !y.constructor.name ? d : y.constructor.name;
|
|
}
|
|
return g.checkPropTypes = o, g.resetWarningCache = o.resetWarningCache, g.PropTypes = g, g;
|
|
}, um;
|
|
}
|
|
var fm, xk;
|
|
function NQ() {
|
|
if (xk) return fm;
|
|
xk = 1;
|
|
var e = /* @__PURE__ */ yv();
|
|
function t() {
|
|
}
|
|
function r() {
|
|
}
|
|
return r.resetWarningCache = t, fm = function() {
|
|
function n(i, s, l, c, 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;
|
|
}, fm;
|
|
}
|
|
var $k;
|
|
function jQ() {
|
|
if ($k) return Sc.exports;
|
|
if ($k = 1, process.env.NODE_ENV !== "production") {
|
|
var e = IA(), t = !0;
|
|
Sc.exports = /* @__PURE__ */ CQ()(e.isElement, t);
|
|
} else
|
|
Sc.exports = /* @__PURE__ */ NQ()();
|
|
return Sc.exports;
|
|
}
|
|
var _Q = /* @__PURE__ */ jQ();
|
|
const Ue = /* @__PURE__ */ lK(_Q);
|
|
function kk(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 Fr(e) {
|
|
for (var t = 1; t < arguments.length; t++) {
|
|
var r = arguments[t] != null ? arguments[t] : {};
|
|
t % 2 ? kk(Object(r), !0).forEach(function(n) {
|
|
Ya(e, n, r[n]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : kk(Object(r)).forEach(function(n) {
|
|
Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
|
|
});
|
|
}
|
|
return e;
|
|
}
|
|
function Mu(e) {
|
|
"@babel/helpers - typeof";
|
|
return Mu = 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;
|
|
}, Mu(e);
|
|
}
|
|
function Ya(e, t, r) {
|
|
return t in e ? Object.defineProperty(e, t, {
|
|
value: r,
|
|
enumerable: !0,
|
|
configurable: !0,
|
|
writable: !0
|
|
}) : e[t] = r, e;
|
|
}
|
|
function IQ(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 TQ(e, t) {
|
|
if (e == null) return {};
|
|
var r = IQ(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 rb(e) {
|
|
return RQ(e) || MQ(e) || zQ(e) || LQ();
|
|
}
|
|
function RQ(e) {
|
|
if (Array.isArray(e)) return nb(e);
|
|
}
|
|
function MQ(e) {
|
|
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
|
|
}
|
|
function zQ(e, t) {
|
|
if (e) {
|
|
if (typeof e == "string") return nb(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 nb(e, t);
|
|
}
|
|
}
|
|
function nb(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 LQ() {
|
|
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 FQ(e) {
|
|
var t, r = e.beat, n = e.fade, o = e.beatFade, a = e.bounce, i = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, f = e.pulse, d = e.fixedWidth, g = e.inverse, v = e.border, m = e.listItem, h = e.flip, w = e.size, x = e.rotation, $ = e.pull, S = (t = {
|
|
"fa-beat": r,
|
|
"fa-fade": n,
|
|
"fa-beat-fade": o,
|
|
"fa-bounce": a,
|
|
"fa-shake": i,
|
|
"fa-flash": s,
|
|
"fa-spin": l,
|
|
"fa-spin-reverse": u,
|
|
"fa-spin-pulse": c,
|
|
"fa-pulse": f,
|
|
"fa-fw": d,
|
|
"fa-inverse": g,
|
|
"fa-border": v,
|
|
"fa-li": m,
|
|
"fa-flip": h === !0,
|
|
"fa-flip-horizontal": h === "horizontal" || h === "both",
|
|
"fa-flip-vertical": h === "vertical" || h === "both"
|
|
}, Ya(t, "fa-".concat(w), typeof w < "u" && w !== null), Ya(t, "fa-rotate-".concat(x), typeof x < "u" && x !== null && x !== 0), Ya(t, "fa-pull-".concat($), typeof $ < "u" && $ !== null), Ya(t, "fa-swap-opacity", e.swapOpacity), t);
|
|
return Object.keys(S).map(function(p) {
|
|
return S[p] ? p : null;
|
|
}).filter(function(p) {
|
|
return p;
|
|
});
|
|
}
|
|
function DQ(e) {
|
|
return e = e - 0, e === e;
|
|
}
|
|
function RA(e) {
|
|
return DQ(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, r) {
|
|
return r ? r.toUpperCase() : "";
|
|
}), e.substr(0, 1).toLowerCase() + e.substr(1));
|
|
}
|
|
var VQ = ["style"];
|
|
function HQ(e) {
|
|
return e.charAt(0).toUpperCase() + e.slice(1);
|
|
}
|
|
function WQ(e) {
|
|
return e.split(";").map(function(t) {
|
|
return t.trim();
|
|
}).filter(function(t) {
|
|
return t;
|
|
}).reduce(function(t, r) {
|
|
var n = r.indexOf(":"), o = RA(r.slice(0, n)), a = r.slice(n + 1).trim();
|
|
return o.startsWith("webkit") ? t[HQ(o)] = a : t[o] = a, t;
|
|
}, {});
|
|
}
|
|
function MA(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(l) {
|
|
return MA(e, l);
|
|
}), o = Object.keys(t.attributes || {}).reduce(function(l, c) {
|
|
var u = t.attributes[c];
|
|
switch (c) {
|
|
case "class":
|
|
l.attrs.className = u, delete t.attributes.class;
|
|
break;
|
|
case "style":
|
|
l.attrs.style = WQ(u);
|
|
break;
|
|
default:
|
|
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[RA(c)] = u;
|
|
}
|
|
return l;
|
|
}, {
|
|
attrs: {}
|
|
}), a = r.style, i = a === void 0 ? {} : a, s = TQ(r, VQ);
|
|
return o.attrs.style = Fr(Fr({}, o.attrs.style), i), e.apply(void 0, [t.tag, Fr(Fr({}, o.attrs), s)].concat(rb(n)));
|
|
}
|
|
var zA = !1;
|
|
try {
|
|
zA = process.env.NODE_ENV === "production";
|
|
} catch {
|
|
}
|
|
function UQ() {
|
|
if (!zA && console && typeof console.error == "function") {
|
|
var e;
|
|
(e = console).error.apply(e, arguments);
|
|
}
|
|
}
|
|
function Ok(e) {
|
|
if (e && Mu(e) === "object" && e.prefix && e.iconName && e.icon)
|
|
return e;
|
|
if (tb.icon)
|
|
return tb.icon(e);
|
|
if (e === null)
|
|
return null;
|
|
if (e && Mu(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 dm(e, t) {
|
|
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? Ya({}, e, t) : {};
|
|
}
|
|
var Sk = {
|
|
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
|
|
}, zu = /* @__PURE__ */ ue.forwardRef(function(e, t) {
|
|
var r = Fr(Fr({}, Sk), e), n = r.icon, o = r.mask, a = r.symbol, i = r.className, s = r.title, l = r.titleId, c = r.maskId, u = Ok(n), f = dm("classes", [].concat(rb(FQ(r)), rb((i || "").split(" ")))), d = dm("transform", typeof r.transform == "string" ? tb.transform(r.transform) : r.transform), g = dm("mask", Ok(o)), v = OQ(u, Fr(Fr(Fr(Fr({}, f), d), g), {}, {
|
|
symbol: a,
|
|
title: s,
|
|
titleId: l,
|
|
maskId: c
|
|
}));
|
|
if (!v)
|
|
return UQ("Could not find icon", u), null;
|
|
var m = v.abstract, h = {
|
|
ref: t
|
|
};
|
|
return Object.keys(r).forEach(function(w) {
|
|
Sk.hasOwnProperty(w) || (h[w] = r[w]);
|
|
}), YQ(m[0], h);
|
|
});
|
|
zu.displayName = "FontAwesomeIcon";
|
|
zu.propTypes = {
|
|
beat: Ue.bool,
|
|
border: Ue.bool,
|
|
beatFade: Ue.bool,
|
|
bounce: Ue.bool,
|
|
className: Ue.string,
|
|
fade: Ue.bool,
|
|
flash: Ue.bool,
|
|
mask: Ue.oneOfType([Ue.object, Ue.array, Ue.string]),
|
|
maskId: Ue.string,
|
|
fixedWidth: Ue.bool,
|
|
inverse: Ue.bool,
|
|
flip: Ue.oneOf([!0, !1, "horizontal", "vertical", "both"]),
|
|
icon: Ue.oneOfType([Ue.object, Ue.array, Ue.string]),
|
|
listItem: Ue.bool,
|
|
pull: Ue.oneOf(["right", "left"]),
|
|
pulse: Ue.bool,
|
|
rotation: Ue.oneOf([0, 90, 180, 270]),
|
|
shake: Ue.bool,
|
|
size: Ue.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
|
|
spin: Ue.bool,
|
|
spinPulse: Ue.bool,
|
|
spinReverse: Ue.bool,
|
|
symbol: Ue.oneOfType([Ue.bool, Ue.string]),
|
|
title: Ue.string,
|
|
titleId: Ue.string,
|
|
transform: Ue.oneOfType([Ue.string, Ue.object]),
|
|
swapOpacity: Ue.bool
|
|
};
|
|
var YQ = MA.bind(null, ue.createElement);
|
|
const qQ = ({
|
|
file: e,
|
|
fileTypes: t
|
|
}) => {
|
|
if (!e)
|
|
return /* @__PURE__ */ Le("div", { className: "flex cursor-pointer items-center gap-3.5 rounded-lg border border-dashed border-[#363636] bg-brand-secondary p-3", children: [
|
|
/* @__PURE__ */ q(zu, { icon: $X, className: "text-4xl" }),
|
|
/* @__PURE__ */ Le("div", { className: "flex flex-col gap-0", children: [
|
|
/* @__PURE__ */ Le("p", { className: "font-medium", children: [
|
|
/* @__PURE__ */ q("u", { children: "Upload a file" }),
|
|
" or drop it here"
|
|
] }),
|
|
/* @__PURE__ */ Le("p", { className: "flex items-center gap-2 text-sm font-normal opacity-50", children: [
|
|
t.join(", ").toString(),
|
|
" supported"
|
|
] })
|
|
] })
|
|
] });
|
|
const r = e.name.split(".")[0].toUpperCase(), n = e.size >= 1024 * 1024 ? (e.size / 1024 / 1024).toFixed(2) + " MB" : `${Math.floor(e.size / 1024)} KB`;
|
|
return /* @__PURE__ */ Le("div", { className: "flex cursor-pointer items-center justify-between gap-3.5 rounded-lg border border-dashed border-[#363636] bg-brand-secondary p-3", children: [
|
|
/* @__PURE__ */ q(zu, { icon: kX, className: "text-4xl" }),
|
|
/* @__PURE__ */ Le("div", { className: "flex grow flex-col gap-0", children: [
|
|
/* @__PURE__ */ q("p", { className: "font-medium", children: e.name.slice(0, e.name.lastIndexOf(".")) }),
|
|
/* @__PURE__ */ Le("p", { className: "flex items-center gap-2 text-sm font-normal", children: [
|
|
/* @__PURE__ */ q("span", { className: "opacity-50", children: `${r} file size: ${n} ` }),
|
|
/* @__PURE__ */ q("u", { className: "transition-all hover:text-white/80", children: "Change File" })
|
|
] })
|
|
] })
|
|
] });
|
|
}, Ek = ({
|
|
file: e,
|
|
fileTypes: t,
|
|
handleChange: r
|
|
}) => /* @__PURE__ */ q(
|
|
xX,
|
|
{
|
|
handleChange: r,
|
|
name: "file",
|
|
maxSize: 50,
|
|
types: t,
|
|
children: /* @__PURE__ */ q(qQ, { file: e, fileTypes: t })
|
|
}
|
|
);
|
|
var LA = /* @__PURE__ */ ((e) => (e.PNG = "png", e.JPG = "jpg", e.JPEG = "jpeg", e.GIF = "gif", e))(LA || {}), hn = /* @__PURE__ */ ((e) => (e[e.ready = 0] = "ready", e[e.uploadingAsset = 1] = "uploadingAsset", e[e.uploadingImage = 2] = "uploadingImage", e[e.uploadingCover = 3] = "uploadingCover", e[e.settingCover = 4] = "settingCover", e[e.success = 5] = "success", e[e.assetError = 6] = "assetError", e[e.coverCreateError = 7] = "coverCreateError", e[e.coverSetError = 8] = "coverSetError", e[e.imageCreateError = 9] = "imageCreateError", e))(hn || {});
|
|
let Ec;
|
|
const BQ = new Uint8Array(16);
|
|
function GQ() {
|
|
if (!Ec && (Ec = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Ec))
|
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
return Ec(BQ);
|
|
}
|
|
const Dt = [];
|
|
for (let e = 0; e < 256; ++e)
|
|
Dt.push((e + 256).toString(16).slice(1));
|
|
function KQ(e, t = 0) {
|
|
return Dt[e[t + 0]] + Dt[e[t + 1]] + Dt[e[t + 2]] + Dt[e[t + 3]] + "-" + Dt[e[t + 4]] + Dt[e[t + 5]] + "-" + Dt[e[t + 6]] + Dt[e[t + 7]] + "-" + Dt[e[t + 8]] + Dt[e[t + 9]] + "-" + Dt[e[t + 10]] + Dt[e[t + 11]] + Dt[e[t + 12]] + Dt[e[t + 13]] + Dt[e[t + 14]] + Dt[e[t + 15]];
|
|
}
|
|
const XQ = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Pk = {
|
|
randomUUID: XQ
|
|
};
|
|
function pm(e, t, r) {
|
|
if (Pk.randomUUID && !e)
|
|
return Pk.randomUUID();
|
|
e = e || {};
|
|
const n = e.random || (e.rng || GQ)();
|
|
return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, KQ(n);
|
|
}
|
|
var JQ = Object.defineProperty, QQ = (e, t, r) => t in e ? JQ(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, vv = (e, t, r) => QQ(e, typeof t != "symbol" ? t + "" : t, r);
|
|
const ZQ = "https://api.storyteller.ai";
|
|
window.STORYTELLER_API_HOST_STORE = void 0;
|
|
class wv {
|
|
constructor(t) {
|
|
vv(this, "apiSchemeAndHost"), this.apiSchemeAndHost = t;
|
|
}
|
|
// NB(bt,2025-09-25): 'nx' is creating multiple copies of the library with name
|
|
// mangling, so the singleton pattern fails to resolve to a single instance.
|
|
// public static getInstance(): StorytellerApiHostStore {
|
|
// if (StorytellerApiHostStore.instance !== undefined) {
|
|
// return StorytellerApiHostStore.instance;
|
|
// }
|
|
// const instance = new StorytellerApiHostStore(DEFAULT_API_HOST);
|
|
// StorytellerApiHostStore.instance = instance;
|
|
// return instance;
|
|
// }
|
|
static getInstance() {
|
|
if (window.STORYTELLER_API_HOST_STORE !== void 0)
|
|
return window.STORYTELLER_API_HOST_STORE;
|
|
const t = new wv(ZQ);
|
|
return window.STORYTELLER_API_HOST_STORE = t, t;
|
|
}
|
|
/** Get the API scheme and host. */
|
|
getApiSchemeAndHost() {
|
|
return console.debug("StorytellerApiHostStore.getApiSchemeAndHost()", this.apiSchemeAndHost, this.constructor.name), this.apiSchemeAndHost;
|
|
}
|
|
/**
|
|
* Externally update the API host.
|
|
* This is used to sync with Tauri for enabling easier development.
|
|
*/
|
|
setApiSchemeAndHost(t) {
|
|
if (console.debug("StorytellerApiHostStore.setApiSchemeAndHost()", t, this.constructor.name), !t.startsWith("http://") && !t.startsWith("https://"))
|
|
throw new Error(`Scheme not included in URL: ${t}`);
|
|
const r = "https://".lastIndexOf("/");
|
|
if (t.lastIndexOf("/") > r)
|
|
throw new Error(`Path components should not be included in URL: ${t}`);
|
|
this.apiSchemeAndHost = t;
|
|
}
|
|
}
|
|
var ys = /* @__PURE__ */ ((e) => (e.GOOGLE_API = "https://storage.googleapis.com", e.FUNNEL_API = "https://style.storyteller.ai", e.CDN_API = "https://cdn.storyteller.ai", e.GRAVATAR_API = "https://www.gravatar.com", e))(ys || {}), mm = { exports: {} }, ze = {};
|
|
/**
|
|
* @license React
|
|
* react.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var Ak;
|
|
function eZ() {
|
|
if (Ak) return ze;
|
|
Ak = 1;
|
|
var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), i = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), l = Symbol.for("react.suspense"), c = Symbol.for("react.memo"), u = Symbol.for("react.lazy"), f = Symbol.iterator;
|
|
function d(b) {
|
|
return b === null || typeof b != "object" ? null : (b = f && b[f] || b["@@iterator"], typeof b == "function" ? b : null);
|
|
}
|
|
var g = { isMounted: function() {
|
|
return !1;
|
|
}, enqueueForceUpdate: function() {
|
|
}, enqueueReplaceState: function() {
|
|
}, enqueueSetState: function() {
|
|
} }, v = Object.assign, m = {};
|
|
function h(b, E, A) {
|
|
this.props = b, this.context = E, this.refs = m, this.updater = A || g;
|
|
}
|
|
h.prototype.isReactComponent = {}, h.prototype.setState = function(b, E) {
|
|
if (typeof b != "object" && typeof b != "function" && b != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, b, E, "setState");
|
|
}, h.prototype.forceUpdate = function(b) {
|
|
this.updater.enqueueForceUpdate(this, b, "forceUpdate");
|
|
};
|
|
function w() {
|
|
}
|
|
w.prototype = h.prototype;
|
|
function x(b, E, A) {
|
|
this.props = b, this.context = E, this.refs = m, this.updater = A || g;
|
|
}
|
|
var $ = x.prototype = new w();
|
|
$.constructor = x, v($, h.prototype), $.isPureReactComponent = !0;
|
|
var S = Array.isArray, p = Object.prototype.hasOwnProperty, T = { current: null }, L = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function G(b, E, A) {
|
|
var C, j = {}, N = null, P = null;
|
|
if (E != null) for (C in E.ref !== void 0 && (P = E.ref), E.key !== void 0 && (N = "" + E.key), E) p.call(E, C) && !L.hasOwnProperty(C) && (j[C] = E[C]);
|
|
var _ = arguments.length - 2;
|
|
if (_ === 1) j.children = A;
|
|
else if (1 < _) {
|
|
for (var I = Array(_), R = 0; R < _; R++) I[R] = arguments[R + 2];
|
|
j.children = I;
|
|
}
|
|
if (b && b.defaultProps) for (C in _ = b.defaultProps, _) j[C] === void 0 && (j[C] = _[C]);
|
|
return { $$typeof: e, type: b, key: N, ref: P, props: j, _owner: T.current };
|
|
}
|
|
function J(b, E) {
|
|
return { $$typeof: e, type: b.type, key: E, ref: b.ref, props: b.props, _owner: b._owner };
|
|
}
|
|
function B(b) {
|
|
return typeof b == "object" && b !== null && b.$$typeof === e;
|
|
}
|
|
function Z(b) {
|
|
var E = { "=": "=0", ":": "=2" };
|
|
return "$" + b.replace(/[=:]/g, function(A) {
|
|
return E[A];
|
|
});
|
|
}
|
|
var M = /\/+/g;
|
|
function ee(b, E) {
|
|
return typeof b == "object" && b !== null && b.key != null ? Z("" + b.key) : E.toString(36);
|
|
}
|
|
function D(b, E, A, C, j) {
|
|
var N = typeof b;
|
|
(N === "undefined" || N === "boolean") && (b = null);
|
|
var P = !1;
|
|
if (b === null) P = !0;
|
|
else switch (N) {
|
|
case "string":
|
|
case "number":
|
|
P = !0;
|
|
break;
|
|
case "object":
|
|
switch (b.$$typeof) {
|
|
case e:
|
|
case t:
|
|
P = !0;
|
|
}
|
|
}
|
|
if (P) return P = b, j = j(P), b = C === "" ? "." + ee(P, 0) : C, S(j) ? (A = "", b != null && (A = b.replace(M, "$&/") + "/"), D(j, E, A, "", function(R) {
|
|
return R;
|
|
})) : j != null && (B(j) && (j = J(j, A + (!j.key || P && P.key === j.key ? "" : ("" + j.key).replace(M, "$&/") + "/") + b)), E.push(j)), 1;
|
|
if (P = 0, C = C === "" ? "." : C + ":", S(b)) for (var _ = 0; _ < b.length; _++) {
|
|
N = b[_];
|
|
var I = C + ee(N, _);
|
|
P += D(N, E, A, I, j);
|
|
}
|
|
else if (I = d(b), typeof I == "function") for (b = I.call(b), _ = 0; !(N = b.next()).done; ) N = N.value, I = C + ee(N, _++), P += D(N, E, A, I, j);
|
|
else if (N === "object") throw E = String(b), Error("Objects are not valid as a React child (found: " + (E === "[object Object]" ? "object with keys {" + Object.keys(b).join(", ") + "}" : E) + "). If you meant to render a collection of children, use an array instead.");
|
|
return P;
|
|
}
|
|
function V(b, E, A) {
|
|
if (b == null) return b;
|
|
var C = [], j = 0;
|
|
return D(b, C, "", "", function(N) {
|
|
return E.call(A, N, j++);
|
|
}), C;
|
|
}
|
|
function H(b) {
|
|
if (b._status === -1) {
|
|
var E = b._result;
|
|
E = E(), E.then(function(A) {
|
|
(b._status === 0 || b._status === -1) && (b._status = 1, b._result = A);
|
|
}, function(A) {
|
|
(b._status === 0 || b._status === -1) && (b._status = 2, b._result = A);
|
|
}), b._status === -1 && (b._status = 0, b._result = E);
|
|
}
|
|
if (b._status === 1) return b._result.default;
|
|
throw b._result;
|
|
}
|
|
var W = { current: null }, Y = { transition: null }, K = { ReactCurrentDispatcher: W, ReactCurrentBatchConfig: Y, ReactCurrentOwner: T };
|
|
function y() {
|
|
throw Error("act(...) is not supported in production builds of React.");
|
|
}
|
|
return ze.Children = { map: V, forEach: function(b, E, A) {
|
|
V(b, function() {
|
|
E.apply(this, arguments);
|
|
}, A);
|
|
}, count: function(b) {
|
|
var E = 0;
|
|
return V(b, function() {
|
|
E++;
|
|
}), E;
|
|
}, toArray: function(b) {
|
|
return V(b, function(E) {
|
|
return E;
|
|
}) || [];
|
|
}, only: function(b) {
|
|
if (!B(b)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return b;
|
|
} }, ze.Component = h, ze.Fragment = r, ze.Profiler = o, ze.PureComponent = x, ze.StrictMode = n, ze.Suspense = l, ze.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = K, ze.act = y, ze.cloneElement = function(b, E, A) {
|
|
if (b == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + b + ".");
|
|
var C = v({}, b.props), j = b.key, N = b.ref, P = b._owner;
|
|
if (E != null) {
|
|
if (E.ref !== void 0 && (N = E.ref, P = T.current), E.key !== void 0 && (j = "" + E.key), b.type && b.type.defaultProps) var _ = b.type.defaultProps;
|
|
for (I in E) p.call(E, I) && !L.hasOwnProperty(I) && (C[I] = E[I] === void 0 && _ !== void 0 ? _[I] : E[I]);
|
|
}
|
|
var I = arguments.length - 2;
|
|
if (I === 1) C.children = A;
|
|
else if (1 < I) {
|
|
_ = Array(I);
|
|
for (var R = 0; R < I; R++) _[R] = arguments[R + 2];
|
|
C.children = _;
|
|
}
|
|
return { $$typeof: e, type: b.type, key: j, ref: N, props: C, _owner: P };
|
|
}, ze.createContext = function(b) {
|
|
return b = { $$typeof: i, _currentValue: b, _currentValue2: b, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, b.Provider = { $$typeof: a, _context: b }, b.Consumer = b;
|
|
}, ze.createElement = G, ze.createFactory = function(b) {
|
|
var E = G.bind(null, b);
|
|
return E.type = b, E;
|
|
}, ze.createRef = function() {
|
|
return { current: null };
|
|
}, ze.forwardRef = function(b) {
|
|
return { $$typeof: s, render: b };
|
|
}, ze.isValidElement = B, ze.lazy = function(b) {
|
|
return { $$typeof: u, _payload: { _status: -1, _result: b }, _init: H };
|
|
}, ze.memo = function(b, E) {
|
|
return { $$typeof: c, type: b, compare: E === void 0 ? null : E };
|
|
}, ze.startTransition = function(b) {
|
|
var E = Y.transition;
|
|
Y.transition = {};
|
|
try {
|
|
b();
|
|
} finally {
|
|
Y.transition = E;
|
|
}
|
|
}, ze.unstable_act = y, ze.useCallback = function(b, E) {
|
|
return W.current.useCallback(b, E);
|
|
}, ze.useContext = function(b) {
|
|
return W.current.useContext(b);
|
|
}, ze.useDebugValue = function() {
|
|
}, ze.useDeferredValue = function(b) {
|
|
return W.current.useDeferredValue(b);
|
|
}, ze.useEffect = function(b, E) {
|
|
return W.current.useEffect(b, E);
|
|
}, ze.useId = function() {
|
|
return W.current.useId();
|
|
}, ze.useImperativeHandle = function(b, E, A) {
|
|
return W.current.useImperativeHandle(b, E, A);
|
|
}, ze.useInsertionEffect = function(b, E) {
|
|
return W.current.useInsertionEffect(b, E);
|
|
}, ze.useLayoutEffect = function(b, E) {
|
|
return W.current.useLayoutEffect(b, E);
|
|
}, ze.useMemo = function(b, E) {
|
|
return W.current.useMemo(b, E);
|
|
}, ze.useReducer = function(b, E, A) {
|
|
return W.current.useReducer(b, E, A);
|
|
}, ze.useRef = function(b) {
|
|
return W.current.useRef(b);
|
|
}, ze.useState = function(b) {
|
|
return W.current.useState(b);
|
|
}, ze.useSyncExternalStore = function(b, E, A) {
|
|
return W.current.useSyncExternalStore(b, E, A);
|
|
}, ze.useTransition = function() {
|
|
return W.current.useTransition();
|
|
}, ze.version = "18.3.1", ze;
|
|
}
|
|
var eu = { exports: {} };
|
|
/**
|
|
* @license React
|
|
* react.development.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
eu.exports;
|
|
var Ck;
|
|
function tZ() {
|
|
return Ck || (Ck = 1, function(e, t) {
|
|
process.env.NODE_ENV !== "production" && function() {
|
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
|
var r = "18.3.1", n = Symbol.for("react.element"), o = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), l = Symbol.for("react.provider"), c = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), f = Symbol.for("react.suspense"), d = Symbol.for("react.suspense_list"), g = Symbol.for("react.memo"), v = Symbol.for("react.lazy"), m = Symbol.for("react.offscreen"), h = Symbol.iterator, w = "@@iterator";
|
|
function x(O) {
|
|
if (O === null || typeof O != "object")
|
|
return null;
|
|
var z = h && O[h] || O[w];
|
|
return typeof z == "function" ? z : null;
|
|
}
|
|
var $ = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, S = {
|
|
transition: null
|
|
}, p = {
|
|
current: null,
|
|
// Used to reproduce behavior of `batchedUpdates` in legacy mode.
|
|
isBatchingLegacy: !1,
|
|
didScheduleLegacyUpdate: !1
|
|
}, T = {
|
|
/**
|
|
* @internal
|
|
* @type {ReactComponent}
|
|
*/
|
|
current: null
|
|
}, L = {}, G = null;
|
|
function J(O) {
|
|
G = O;
|
|
}
|
|
L.setExtraStackFrame = function(O) {
|
|
G = O;
|
|
}, L.getCurrentStack = null, L.getStackAddendum = function() {
|
|
var O = "";
|
|
G && (O += G);
|
|
var z = L.getCurrentStack;
|
|
return z && (O += z() || ""), O;
|
|
};
|
|
var B = !1, Z = !1, M = !1, ee = !1, D = !1, V = {
|
|
ReactCurrentDispatcher: $,
|
|
ReactCurrentBatchConfig: S,
|
|
ReactCurrentOwner: T
|
|
};
|
|
V.ReactDebugCurrentFrame = L, V.ReactCurrentActQueue = p;
|
|
function H(O) {
|
|
{
|
|
for (var z = arguments.length, U = new Array(z > 1 ? z - 1 : 0), X = 1; X < z; X++)
|
|
U[X - 1] = arguments[X];
|
|
Y("warn", O, U);
|
|
}
|
|
}
|
|
function W(O) {
|
|
{
|
|
for (var z = arguments.length, U = new Array(z > 1 ? z - 1 : 0), X = 1; X < z; X++)
|
|
U[X - 1] = arguments[X];
|
|
Y("error", O, U);
|
|
}
|
|
}
|
|
function Y(O, z, U) {
|
|
{
|
|
var X = V.ReactDebugCurrentFrame, le = X.getStackAddendum();
|
|
le !== "" && (z += "%s", U = U.concat([le]));
|
|
var ke = U.map(function(de) {
|
|
return String(de);
|
|
});
|
|
ke.unshift("Warning: " + z), Function.prototype.apply.call(console[O], console, ke);
|
|
}
|
|
}
|
|
var K = {};
|
|
function y(O, z) {
|
|
{
|
|
var U = O.constructor, X = U && (U.displayName || U.name) || "ReactClass", le = X + "." + z;
|
|
if (K[le])
|
|
return;
|
|
W("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", z, X), K[le] = !0;
|
|
}
|
|
}
|
|
var b = {
|
|
/**
|
|
* Checks whether or not this composite component is mounted.
|
|
* @param {ReactClass} publicInstance The instance we want to test.
|
|
* @return {boolean} True if mounted, false otherwise.
|
|
* @protected
|
|
* @final
|
|
*/
|
|
isMounted: function(O) {
|
|
return !1;
|
|
},
|
|
/**
|
|
* Forces an update. This should only be invoked when it is known with
|
|
* certainty that we are **not** in a DOM transaction.
|
|
*
|
|
* You may want to call this when you know that some deeper aspect of the
|
|
* component's state has changed but `setState` was not called.
|
|
*
|
|
* This will not invoke `shouldComponentUpdate`, but it will invoke
|
|
* `componentWillUpdate` and `componentDidUpdate`.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueForceUpdate: function(O, z, U) {
|
|
y(O, "forceUpdate");
|
|
},
|
|
/**
|
|
* Replaces all of the state. Always use this or `setState` to mutate state.
|
|
* You should treat `this.state` as immutable.
|
|
*
|
|
* There is no guarantee that `this.state` will be immediately updated, so
|
|
* accessing `this.state` after calling this method may return the old value.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} completeState Next state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} callerName name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueReplaceState: function(O, z, U, X) {
|
|
y(O, "replaceState");
|
|
},
|
|
/**
|
|
* Sets a subset of the state. This only exists because _pendingState is
|
|
* internal. This provides a merging strategy that is not available to deep
|
|
* properties which is confusing. TODO: Expose pendingState or don't use it
|
|
* during the merge.
|
|
*
|
|
* @param {ReactClass} publicInstance The instance that should rerender.
|
|
* @param {object} partialState Next partial state to be merged with state.
|
|
* @param {?function} callback Called after component is updated.
|
|
* @param {?string} Name of the calling function in the public API.
|
|
* @internal
|
|
*/
|
|
enqueueSetState: function(O, z, U, X) {
|
|
y(O, "setState");
|
|
}
|
|
}, E = Object.assign, A = {};
|
|
Object.freeze(A);
|
|
function C(O, z, U) {
|
|
this.props = O, this.context = z, this.refs = A, this.updater = U || b;
|
|
}
|
|
C.prototype.isReactComponent = {}, C.prototype.setState = function(O, z) {
|
|
if (typeof O != "object" && typeof O != "function" && O != null)
|
|
throw new Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, O, z, "setState");
|
|
}, C.prototype.forceUpdate = function(O) {
|
|
this.updater.enqueueForceUpdate(this, O, "forceUpdate");
|
|
};
|
|
{
|
|
var j = {
|
|
isMounted: ["isMounted", "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],
|
|
replaceState: ["replaceState", "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]
|
|
}, N = function(O, z) {
|
|
Object.defineProperty(C.prototype, O, {
|
|
get: function() {
|
|
H("%s(...) is deprecated in plain JavaScript React classes. %s", z[0], z[1]);
|
|
}
|
|
});
|
|
};
|
|
for (var P in j)
|
|
j.hasOwnProperty(P) && N(P, j[P]);
|
|
}
|
|
function _() {
|
|
}
|
|
_.prototype = C.prototype;
|
|
function I(O, z, U) {
|
|
this.props = O, this.context = z, this.refs = A, this.updater = U || b;
|
|
}
|
|
var R = I.prototype = new _();
|
|
R.constructor = I, E(R, C.prototype), R.isPureReactComponent = !0;
|
|
function Q() {
|
|
var O = {
|
|
current: null
|
|
};
|
|
return Object.seal(O), O;
|
|
}
|
|
var k = Array.isArray;
|
|
function fe(O) {
|
|
return k(O);
|
|
}
|
|
function Ee(O) {
|
|
{
|
|
var z = typeof Symbol == "function" && Symbol.toStringTag, U = z && O[Symbol.toStringTag] || O.constructor.name || "Object";
|
|
return U;
|
|
}
|
|
}
|
|
function xe(O) {
|
|
try {
|
|
return xr(O), !1;
|
|
} catch {
|
|
return !0;
|
|
}
|
|
}
|
|
function xr(O) {
|
|
return "" + O;
|
|
}
|
|
function sn(O) {
|
|
if (xe(O))
|
|
return W("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Ee(O)), xr(O);
|
|
}
|
|
function pe(O, z, U) {
|
|
var X = O.displayName;
|
|
if (X)
|
|
return X;
|
|
var le = z.displayName || z.name || "";
|
|
return le !== "" ? U + "(" + le + ")" : U;
|
|
}
|
|
function we(O) {
|
|
return O.displayName || "Context";
|
|
}
|
|
function Oe(O) {
|
|
if (O == null)
|
|
return null;
|
|
if (typeof O.tag == "number" && W("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof O == "function")
|
|
return O.displayName || O.name || null;
|
|
if (typeof O == "string")
|
|
return O;
|
|
switch (O) {
|
|
case a:
|
|
return "Fragment";
|
|
case o:
|
|
return "Portal";
|
|
case s:
|
|
return "Profiler";
|
|
case i:
|
|
return "StrictMode";
|
|
case f:
|
|
return "Suspense";
|
|
case d:
|
|
return "SuspenseList";
|
|
}
|
|
if (typeof O == "object")
|
|
switch (O.$$typeof) {
|
|
case c:
|
|
var z = O;
|
|
return we(z) + ".Consumer";
|
|
case l:
|
|
var U = O;
|
|
return we(U._context) + ".Provider";
|
|
case u:
|
|
return pe(O, O.render, "ForwardRef");
|
|
case g:
|
|
var X = O.displayName || null;
|
|
return X !== null ? X : Oe(O.type) || "Memo";
|
|
case v: {
|
|
var le = O, ke = le._payload, de = le._init;
|
|
try {
|
|
return Oe(de(ke));
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var Rt = Object.prototype.hasOwnProperty, Jt = {
|
|
key: !0,
|
|
ref: !0,
|
|
__self: !0,
|
|
__source: !0
|
|
}, tt, ft, Ct;
|
|
Ct = {};
|
|
function Qt(O) {
|
|
if (Rt.call(O, "ref")) {
|
|
var z = Object.getOwnPropertyDescriptor(O, "ref").get;
|
|
if (z && z.isReactWarning)
|
|
return !1;
|
|
}
|
|
return O.ref !== void 0;
|
|
}
|
|
function Zt(O) {
|
|
if (Rt.call(O, "key")) {
|
|
var z = Object.getOwnPropertyDescriptor(O, "key").get;
|
|
if (z && z.isReactWarning)
|
|
return !1;
|
|
}
|
|
return O.key !== void 0;
|
|
}
|
|
function Ln(O, z) {
|
|
var U = function() {
|
|
tt || (tt = !0, W("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", z));
|
|
};
|
|
U.isReactWarning = !0, Object.defineProperty(O, "key", {
|
|
get: U,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function Ml(O, z) {
|
|
var U = function() {
|
|
ft || (ft = !0, W("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", z));
|
|
};
|
|
U.isReactWarning = !0, Object.defineProperty(O, "ref", {
|
|
get: U,
|
|
configurable: !0
|
|
});
|
|
}
|
|
function zl(O) {
|
|
if (typeof O.ref == "string" && T.current && O.__self && T.current.stateNode !== O.__self) {
|
|
var z = Oe(T.current.type);
|
|
Ct[z] || (W('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', z, O.ref), Ct[z] = !0);
|
|
}
|
|
}
|
|
var ka = function(O, z, U, X, le, ke, de) {
|
|
var Pe = {
|
|
// This tag allows us to uniquely identify this as a React Element
|
|
$$typeof: n,
|
|
// Built-in properties that belong on the element
|
|
type: O,
|
|
key: z,
|
|
ref: U,
|
|
props: de,
|
|
// Record the component responsible for creating this element.
|
|
_owner: ke
|
|
};
|
|
return Pe._store = {}, Object.defineProperty(Pe._store, "validated", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !0,
|
|
value: !1
|
|
}), Object.defineProperty(Pe, "_self", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: X
|
|
}), Object.defineProperty(Pe, "_source", {
|
|
configurable: !1,
|
|
enumerable: !1,
|
|
writable: !1,
|
|
value: le
|
|
}), Object.freeze && (Object.freeze(Pe.props), Object.freeze(Pe)), Pe;
|
|
};
|
|
function Bf(O, z, U) {
|
|
var X, le = {}, ke = null, de = null, Pe = null, qe = null;
|
|
if (z != null) {
|
|
Qt(z) && (de = z.ref, zl(z)), Zt(z) && (sn(z.key), ke = "" + z.key), Pe = z.__self === void 0 ? null : z.__self, qe = z.__source === void 0 ? null : z.__source;
|
|
for (X in z)
|
|
Rt.call(z, X) && !Jt.hasOwnProperty(X) && (le[X] = z[X]);
|
|
}
|
|
var ct = arguments.length - 2;
|
|
if (ct === 1)
|
|
le.children = U;
|
|
else if (ct > 1) {
|
|
for (var St = Array(ct), Et = 0; Et < ct; Et++)
|
|
St[Et] = arguments[Et + 2];
|
|
Object.freeze && Object.freeze(St), le.children = St;
|
|
}
|
|
if (O && O.defaultProps) {
|
|
var At = O.defaultProps;
|
|
for (X in At)
|
|
le[X] === void 0 && (le[X] = At[X]);
|
|
}
|
|
if (ke || de) {
|
|
var Nt = typeof O == "function" ? O.displayName || O.name || "Unknown" : O;
|
|
ke && Ln(le, Nt), de && Ml(le, Nt);
|
|
}
|
|
return ka(O, ke, de, Pe, qe, T.current, le);
|
|
}
|
|
function Gf(O, z) {
|
|
var U = ka(O.type, z, O.ref, O._self, O._source, O._owner, O.props);
|
|
return U;
|
|
}
|
|
function Kf(O, z, U) {
|
|
if (O == null)
|
|
throw new Error("React.cloneElement(...): The argument must be a React element, but you passed " + O + ".");
|
|
var X, le = E({}, O.props), ke = O.key, de = O.ref, Pe = O._self, qe = O._source, ct = O._owner;
|
|
if (z != null) {
|
|
Qt(z) && (de = z.ref, ct = T.current), Zt(z) && (sn(z.key), ke = "" + z.key);
|
|
var St;
|
|
O.type && O.type.defaultProps && (St = O.type.defaultProps);
|
|
for (X in z)
|
|
Rt.call(z, X) && !Jt.hasOwnProperty(X) && (z[X] === void 0 && St !== void 0 ? le[X] = St[X] : le[X] = z[X]);
|
|
}
|
|
var Et = arguments.length - 2;
|
|
if (Et === 1)
|
|
le.children = U;
|
|
else if (Et > 1) {
|
|
for (var At = Array(Et), Nt = 0; Nt < Et; Nt++)
|
|
At[Nt] = arguments[Nt + 2];
|
|
le.children = At;
|
|
}
|
|
return ka(O.type, ke, de, Pe, qe, ct, le);
|
|
}
|
|
function Fn(O) {
|
|
return typeof O == "object" && O !== null && O.$$typeof === n;
|
|
}
|
|
var Ll = ".", Xf = ":";
|
|
function DA(O) {
|
|
var z = /[=:]/g, U = {
|
|
"=": "=0",
|
|
":": "=2"
|
|
}, X = O.replace(z, function(le) {
|
|
return U[le];
|
|
});
|
|
return "$" + X;
|
|
}
|
|
var $v = !1, VA = /\/+/g;
|
|
function kv(O) {
|
|
return O.replace(VA, "$&/");
|
|
}
|
|
function Jf(O, z) {
|
|
return typeof O == "object" && O !== null && O.key != null ? (sn(O.key), DA("" + O.key)) : z.toString(36);
|
|
}
|
|
function Fl(O, z, U, X, le) {
|
|
var ke = typeof O;
|
|
(ke === "undefined" || ke === "boolean") && (O = null);
|
|
var de = !1;
|
|
if (O === null)
|
|
de = !0;
|
|
else
|
|
switch (ke) {
|
|
case "string":
|
|
case "number":
|
|
de = !0;
|
|
break;
|
|
case "object":
|
|
switch (O.$$typeof) {
|
|
case n:
|
|
case o:
|
|
de = !0;
|
|
}
|
|
}
|
|
if (de) {
|
|
var Pe = O, qe = le(Pe), ct = X === "" ? Ll + Jf(Pe, 0) : X;
|
|
if (fe(qe)) {
|
|
var St = "";
|
|
ct != null && (St = kv(ct) + "/"), Fl(qe, z, St, "", function(I6) {
|
|
return I6;
|
|
});
|
|
} else qe != null && (Fn(qe) && (qe.key && (!Pe || Pe.key !== qe.key) && sn(qe.key), qe = Gf(
|
|
qe,
|
|
// Keep both the (mapped) and old keys if they differ, just as
|
|
// traverseAllChildren used to do for objects as children
|
|
U + // $FlowFixMe Flow incorrectly thinks React.Portal doesn't have a key
|
|
(qe.key && (!Pe || Pe.key !== qe.key) ? (
|
|
// $FlowFixMe Flow incorrectly thinks existing element's key can be a number
|
|
// eslint-disable-next-line react-internal/safe-string-coercion
|
|
kv("" + qe.key) + "/"
|
|
) : "") + ct
|
|
)), z.push(qe));
|
|
return 1;
|
|
}
|
|
var Et, At, Nt = 0, Ft = X === "" ? Ll : X + Xf;
|
|
if (fe(O))
|
|
for (var Bl = 0; Bl < O.length; Bl++)
|
|
Et = O[Bl], At = Ft + Jf(Et, Bl), Nt += Fl(Et, z, U, At, le);
|
|
else {
|
|
var id = x(O);
|
|
if (typeof id == "function") {
|
|
var Gv = O;
|
|
id === Gv.entries && ($v || H("Using Maps as children is not supported. Use an array of keyed ReactElements instead."), $v = !0);
|
|
for (var j6 = id.call(Gv), Kv, _6 = 0; !(Kv = j6.next()).done; )
|
|
Et = Kv.value, At = Ft + Jf(Et, _6++), Nt += Fl(Et, z, U, At, le);
|
|
} else if (ke === "object") {
|
|
var Xv = String(O);
|
|
throw new Error("Objects are not valid as a React child (found: " + (Xv === "[object Object]" ? "object with keys {" + Object.keys(O).join(", ") + "}" : Xv) + "). If you meant to render a collection of children, use an array instead.");
|
|
}
|
|
}
|
|
return Nt;
|
|
}
|
|
function Dl(O, z, U) {
|
|
if (O == null)
|
|
return O;
|
|
var X = [], le = 0;
|
|
return Fl(O, X, "", "", function(ke) {
|
|
return z.call(U, ke, le++);
|
|
}), X;
|
|
}
|
|
function HA(O) {
|
|
var z = 0;
|
|
return Dl(O, function() {
|
|
z++;
|
|
}), z;
|
|
}
|
|
function WA(O, z, U) {
|
|
Dl(O, function() {
|
|
z.apply(this, arguments);
|
|
}, U);
|
|
}
|
|
function UA(O) {
|
|
return Dl(O, function(z) {
|
|
return z;
|
|
}) || [];
|
|
}
|
|
function YA(O) {
|
|
if (!Fn(O))
|
|
throw new Error("React.Children.only expected to receive a single React element child.");
|
|
return O;
|
|
}
|
|
function qA(O) {
|
|
var z = {
|
|
$$typeof: c,
|
|
// As a workaround to support multiple concurrent renderers, we categorize
|
|
// some renderers as primary and others as secondary. We only expect
|
|
// there to be two concurrent renderers at most: React Native (primary) and
|
|
// Fabric (secondary); React DOM (primary) and React ART (secondary).
|
|
// Secondary renderers store their context values on separate fields.
|
|
_currentValue: O,
|
|
_currentValue2: O,
|
|
// Used to track how many concurrent renderers this context currently
|
|
// supports within in a single renderer. Such as parallel server rendering.
|
|
_threadCount: 0,
|
|
// These are circular
|
|
Provider: null,
|
|
Consumer: null,
|
|
// Add these to use same hidden class in VM as ServerContext
|
|
_defaultValue: null,
|
|
_globalName: null
|
|
};
|
|
z.Provider = {
|
|
$$typeof: l,
|
|
_context: z
|
|
};
|
|
var U = !1, X = !1, le = !1;
|
|
{
|
|
var ke = {
|
|
$$typeof: c,
|
|
_context: z
|
|
};
|
|
Object.defineProperties(ke, {
|
|
Provider: {
|
|
get: function() {
|
|
return X || (X = !0, W("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")), z.Provider;
|
|
},
|
|
set: function(de) {
|
|
z.Provider = de;
|
|
}
|
|
},
|
|
_currentValue: {
|
|
get: function() {
|
|
return z._currentValue;
|
|
},
|
|
set: function(de) {
|
|
z._currentValue = de;
|
|
}
|
|
},
|
|
_currentValue2: {
|
|
get: function() {
|
|
return z._currentValue2;
|
|
},
|
|
set: function(de) {
|
|
z._currentValue2 = de;
|
|
}
|
|
},
|
|
_threadCount: {
|
|
get: function() {
|
|
return z._threadCount;
|
|
},
|
|
set: function(de) {
|
|
z._threadCount = de;
|
|
}
|
|
},
|
|
Consumer: {
|
|
get: function() {
|
|
return U || (U = !0, W("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")), z.Consumer;
|
|
}
|
|
},
|
|
displayName: {
|
|
get: function() {
|
|
return z.displayName;
|
|
},
|
|
set: function(de) {
|
|
le || (H("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.", de), le = !0);
|
|
}
|
|
}
|
|
}), z.Consumer = ke;
|
|
}
|
|
return z._currentRenderer = null, z._currentRenderer2 = null, z;
|
|
}
|
|
var Hi = -1, Qf = 0, Ov = 1, BA = 2;
|
|
function GA(O) {
|
|
if (O._status === Hi) {
|
|
var z = O._result, U = z();
|
|
if (U.then(function(ke) {
|
|
if (O._status === Qf || O._status === Hi) {
|
|
var de = O;
|
|
de._status = Ov, de._result = ke;
|
|
}
|
|
}, function(ke) {
|
|
if (O._status === Qf || O._status === Hi) {
|
|
var de = O;
|
|
de._status = BA, de._result = ke;
|
|
}
|
|
}), O._status === Hi) {
|
|
var X = O;
|
|
X._status = Qf, X._result = U;
|
|
}
|
|
}
|
|
if (O._status === Ov) {
|
|
var le = O._result;
|
|
return le === void 0 && W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))
|
|
|
|
Did you accidentally put curly braces around the import?`, le), "default" in le || W(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
|
|
Your code should look like:
|
|
const MyComponent = lazy(() => import('./MyComponent'))`, le), le.default;
|
|
} else
|
|
throw O._result;
|
|
}
|
|
function KA(O) {
|
|
var z = {
|
|
// We use these fields to store the result.
|
|
_status: Hi,
|
|
_result: O
|
|
}, U = {
|
|
$$typeof: v,
|
|
_payload: z,
|
|
_init: GA
|
|
};
|
|
{
|
|
var X, le;
|
|
Object.defineProperties(U, {
|
|
defaultProps: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return X;
|
|
},
|
|
set: function(ke) {
|
|
W("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), X = ke, Object.defineProperty(U, "defaultProps", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
},
|
|
propTypes: {
|
|
configurable: !0,
|
|
get: function() {
|
|
return le;
|
|
},
|
|
set: function(ke) {
|
|
W("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."), le = ke, Object.defineProperty(U, "propTypes", {
|
|
enumerable: !0
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return U;
|
|
}
|
|
function XA(O) {
|
|
O != null && O.$$typeof === g ? W("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).") : typeof O != "function" ? W("forwardRef requires a render function but was given %s.", O === null ? "null" : typeof O) : O.length !== 0 && O.length !== 2 && W("forwardRef render functions accept exactly two parameters: props and ref. %s", O.length === 1 ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined."), O != null && (O.defaultProps != null || O.propTypes != null) && W("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");
|
|
var z = {
|
|
$$typeof: u,
|
|
render: O
|
|
};
|
|
{
|
|
var U;
|
|
Object.defineProperty(z, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return U;
|
|
},
|
|
set: function(X) {
|
|
U = X, !O.name && !O.displayName && (O.displayName = X);
|
|
}
|
|
});
|
|
}
|
|
return z;
|
|
}
|
|
var Sv;
|
|
Sv = Symbol.for("react.module.reference");
|
|
function Ev(O) {
|
|
return !!(typeof O == "string" || typeof O == "function" || O === a || O === s || D || O === i || O === f || O === d || ee || O === m || B || Z || M || typeof O == "object" && O !== null && (O.$$typeof === v || O.$$typeof === g || O.$$typeof === l || O.$$typeof === c || O.$$typeof === u || // This needs to include all possible module reference object
|
|
// types supported by any Flight configuration anywhere since
|
|
// we don't know which Flight build this will end up being used
|
|
// with.
|
|
O.$$typeof === Sv || O.getModuleId !== void 0));
|
|
}
|
|
function JA(O, z) {
|
|
Ev(O) || W("memo: The first argument must be a component. Instead received: %s", O === null ? "null" : typeof O);
|
|
var U = {
|
|
$$typeof: g,
|
|
type: O,
|
|
compare: z === void 0 ? null : z
|
|
};
|
|
{
|
|
var X;
|
|
Object.defineProperty(U, "displayName", {
|
|
enumerable: !1,
|
|
configurable: !0,
|
|
get: function() {
|
|
return X;
|
|
},
|
|
set: function(le) {
|
|
X = le, !O.name && !O.displayName && (O.displayName = le);
|
|
}
|
|
});
|
|
}
|
|
return U;
|
|
}
|
|
function er() {
|
|
var O = $.current;
|
|
return O === null && W(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
2. You might be breaking the Rules of Hooks
|
|
3. You might have more than one copy of React in the same app
|
|
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`), O;
|
|
}
|
|
function QA(O) {
|
|
var z = er();
|
|
if (O._context !== void 0) {
|
|
var U = O._context;
|
|
U.Consumer === O ? W("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?") : U.Provider === O && W("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?");
|
|
}
|
|
return z.useContext(O);
|
|
}
|
|
function ZA(O) {
|
|
var z = er();
|
|
return z.useState(O);
|
|
}
|
|
function e6(O, z, U) {
|
|
var X = er();
|
|
return X.useReducer(O, z, U);
|
|
}
|
|
function t6(O) {
|
|
var z = er();
|
|
return z.useRef(O);
|
|
}
|
|
function r6(O, z) {
|
|
var U = er();
|
|
return U.useEffect(O, z);
|
|
}
|
|
function n6(O, z) {
|
|
var U = er();
|
|
return U.useInsertionEffect(O, z);
|
|
}
|
|
function o6(O, z) {
|
|
var U = er();
|
|
return U.useLayoutEffect(O, z);
|
|
}
|
|
function a6(O, z) {
|
|
var U = er();
|
|
return U.useCallback(O, z);
|
|
}
|
|
function i6(O, z) {
|
|
var U = er();
|
|
return U.useMemo(O, z);
|
|
}
|
|
function s6(O, z, U) {
|
|
var X = er();
|
|
return X.useImperativeHandle(O, z, U);
|
|
}
|
|
function l6(O, z) {
|
|
{
|
|
var U = er();
|
|
return U.useDebugValue(O, z);
|
|
}
|
|
}
|
|
function c6() {
|
|
var O = er();
|
|
return O.useTransition();
|
|
}
|
|
function u6(O) {
|
|
var z = er();
|
|
return z.useDeferredValue(O);
|
|
}
|
|
function f6() {
|
|
var O = er();
|
|
return O.useId();
|
|
}
|
|
function d6(O, z, U) {
|
|
var X = er();
|
|
return X.useSyncExternalStore(O, z, U);
|
|
}
|
|
var Wi = 0, Pv, Av, Cv, Nv, jv, _v, Iv;
|
|
function Tv() {
|
|
}
|
|
Tv.__reactDisabledLog = !0;
|
|
function p6() {
|
|
{
|
|
if (Wi === 0) {
|
|
Pv = console.log, Av = console.info, Cv = console.warn, Nv = console.error, jv = console.group, _v = console.groupCollapsed, Iv = console.groupEnd;
|
|
var O = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
value: Tv,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
info: O,
|
|
log: O,
|
|
warn: O,
|
|
error: O,
|
|
group: O,
|
|
groupCollapsed: O,
|
|
groupEnd: O
|
|
});
|
|
}
|
|
Wi++;
|
|
}
|
|
}
|
|
function m6() {
|
|
{
|
|
if (Wi--, Wi === 0) {
|
|
var O = {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
writable: !0
|
|
};
|
|
Object.defineProperties(console, {
|
|
log: E({}, O, {
|
|
value: Pv
|
|
}),
|
|
info: E({}, O, {
|
|
value: Av
|
|
}),
|
|
warn: E({}, O, {
|
|
value: Cv
|
|
}),
|
|
error: E({}, O, {
|
|
value: Nv
|
|
}),
|
|
group: E({}, O, {
|
|
value: jv
|
|
}),
|
|
groupCollapsed: E({}, O, {
|
|
value: _v
|
|
}),
|
|
groupEnd: E({}, O, {
|
|
value: Iv
|
|
})
|
|
});
|
|
}
|
|
Wi < 0 && W("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
}
|
|
}
|
|
var Zf = V.ReactCurrentDispatcher, ed;
|
|
function Vl(O, z, U) {
|
|
{
|
|
if (ed === void 0)
|
|
try {
|
|
throw Error();
|
|
} catch (le) {
|
|
var X = le.stack.trim().match(/\n( *(at )?)/);
|
|
ed = X && X[1] || "";
|
|
}
|
|
return `
|
|
` + ed + O;
|
|
}
|
|
}
|
|
var td = !1, Hl;
|
|
{
|
|
var h6 = typeof WeakMap == "function" ? WeakMap : Map;
|
|
Hl = new h6();
|
|
}
|
|
function Rv(O, z) {
|
|
if (!O || td)
|
|
return "";
|
|
{
|
|
var U = Hl.get(O);
|
|
if (U !== void 0)
|
|
return U;
|
|
}
|
|
var X;
|
|
td = !0;
|
|
var le = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
var ke;
|
|
ke = Zf.current, Zf.current = null, p6();
|
|
try {
|
|
if (z) {
|
|
var de = function() {
|
|
throw Error();
|
|
};
|
|
if (Object.defineProperty(de.prototype, "props", {
|
|
set: function() {
|
|
throw Error();
|
|
}
|
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(de, []);
|
|
} catch (Ft) {
|
|
X = Ft;
|
|
}
|
|
Reflect.construct(O, [], de);
|
|
} else {
|
|
try {
|
|
de.call();
|
|
} catch (Ft) {
|
|
X = Ft;
|
|
}
|
|
O.call(de.prototype);
|
|
}
|
|
} else {
|
|
try {
|
|
throw Error();
|
|
} catch (Ft) {
|
|
X = Ft;
|
|
}
|
|
O();
|
|
}
|
|
} catch (Ft) {
|
|
if (Ft && X && typeof Ft.stack == "string") {
|
|
for (var Pe = Ft.stack.split(`
|
|
`), qe = X.stack.split(`
|
|
`), ct = Pe.length - 1, St = qe.length - 1; ct >= 1 && St >= 0 && Pe[ct] !== qe[St]; )
|
|
St--;
|
|
for (; ct >= 1 && St >= 0; ct--, St--)
|
|
if (Pe[ct] !== qe[St]) {
|
|
if (ct !== 1 || St !== 1)
|
|
do
|
|
if (ct--, St--, St < 0 || Pe[ct] !== qe[St]) {
|
|
var Et = `
|
|
` + Pe[ct].replace(" at new ", " at ");
|
|
return O.displayName && Et.includes("<anonymous>") && (Et = Et.replace("<anonymous>", O.displayName)), typeof O == "function" && Hl.set(O, Et), Et;
|
|
}
|
|
while (ct >= 1 && St >= 0);
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
td = !1, Zf.current = ke, m6(), Error.prepareStackTrace = le;
|
|
}
|
|
var At = O ? O.displayName || O.name : "", Nt = At ? Vl(At) : "";
|
|
return typeof O == "function" && Hl.set(O, Nt), Nt;
|
|
}
|
|
function g6(O, z, U) {
|
|
return Rv(O, !1);
|
|
}
|
|
function b6(O) {
|
|
var z = O.prototype;
|
|
return !!(z && z.isReactComponent);
|
|
}
|
|
function Wl(O, z, U) {
|
|
if (O == null)
|
|
return "";
|
|
if (typeof O == "function")
|
|
return Rv(O, b6(O));
|
|
if (typeof O == "string")
|
|
return Vl(O);
|
|
switch (O) {
|
|
case f:
|
|
return Vl("Suspense");
|
|
case d:
|
|
return Vl("SuspenseList");
|
|
}
|
|
if (typeof O == "object")
|
|
switch (O.$$typeof) {
|
|
case u:
|
|
return g6(O.render);
|
|
case g:
|
|
return Wl(O.type, z, U);
|
|
case v: {
|
|
var X = O, le = X._payload, ke = X._init;
|
|
try {
|
|
return Wl(ke(le), z, U);
|
|
} catch {
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
var Mv = {}, zv = V.ReactDebugCurrentFrame;
|
|
function Ul(O) {
|
|
if (O) {
|
|
var z = O._owner, U = Wl(O.type, O._source, z ? z.type : null);
|
|
zv.setExtraStackFrame(U);
|
|
} else
|
|
zv.setExtraStackFrame(null);
|
|
}
|
|
function y6(O, z, U, X, le) {
|
|
{
|
|
var ke = Function.call.bind(Rt);
|
|
for (var de in O)
|
|
if (ke(O, de)) {
|
|
var Pe = void 0;
|
|
try {
|
|
if (typeof O[de] != "function") {
|
|
var qe = Error((X || "React class") + ": " + U + " type `" + de + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof O[de] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
throw qe.name = "Invariant Violation", qe;
|
|
}
|
|
Pe = O[de](z, de, X, U, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
} catch (ct) {
|
|
Pe = ct;
|
|
}
|
|
Pe && !(Pe instanceof Error) && (Ul(le), W("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", X || "React class", U, de, typeof Pe), Ul(null)), Pe instanceof Error && !(Pe.message in Mv) && (Mv[Pe.message] = !0, Ul(le), W("Failed %s type: %s", U, Pe.message), Ul(null));
|
|
}
|
|
}
|
|
}
|
|
function Oa(O) {
|
|
if (O) {
|
|
var z = O._owner, U = Wl(O.type, O._source, z ? z.type : null);
|
|
J(U);
|
|
} else
|
|
J(null);
|
|
}
|
|
var rd;
|
|
rd = !1;
|
|
function Lv() {
|
|
if (T.current) {
|
|
var O = Oe(T.current.type);
|
|
if (O)
|
|
return `
|
|
|
|
Check the render method of \`` + O + "`.";
|
|
}
|
|
return "";
|
|
}
|
|
function v6(O) {
|
|
if (O !== void 0) {
|
|
var z = O.fileName.replace(/^.*[\\\/]/, ""), U = O.lineNumber;
|
|
return `
|
|
|
|
Check your code at ` + z + ":" + U + ".";
|
|
}
|
|
return "";
|
|
}
|
|
function w6(O) {
|
|
return O != null ? v6(O.__source) : "";
|
|
}
|
|
var Fv = {};
|
|
function x6(O) {
|
|
var z = Lv();
|
|
if (!z) {
|
|
var U = typeof O == "string" ? O : O.displayName || O.name;
|
|
U && (z = `
|
|
|
|
Check the top-level render call using <` + U + ">.");
|
|
}
|
|
return z;
|
|
}
|
|
function Dv(O, z) {
|
|
if (!(!O._store || O._store.validated || O.key != null)) {
|
|
O._store.validated = !0;
|
|
var U = x6(z);
|
|
if (!Fv[U]) {
|
|
Fv[U] = !0;
|
|
var X = "";
|
|
O && O._owner && O._owner !== T.current && (X = " It was passed a child from " + Oe(O._owner.type) + "."), Oa(O), W('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', U, X), Oa(null);
|
|
}
|
|
}
|
|
}
|
|
function Vv(O, z) {
|
|
if (typeof O == "object") {
|
|
if (fe(O))
|
|
for (var U = 0; U < O.length; U++) {
|
|
var X = O[U];
|
|
Fn(X) && Dv(X, z);
|
|
}
|
|
else if (Fn(O))
|
|
O._store && (O._store.validated = !0);
|
|
else if (O) {
|
|
var le = x(O);
|
|
if (typeof le == "function" && le !== O.entries)
|
|
for (var ke = le.call(O), de; !(de = ke.next()).done; )
|
|
Fn(de.value) && Dv(de.value, z);
|
|
}
|
|
}
|
|
}
|
|
function Hv(O) {
|
|
{
|
|
var z = O.type;
|
|
if (z == null || typeof z == "string")
|
|
return;
|
|
var U;
|
|
if (typeof z == "function")
|
|
U = z.propTypes;
|
|
else if (typeof z == "object" && (z.$$typeof === u || // Note: Memo only checks outer props here.
|
|
// Inner props are checked in the reconciler.
|
|
z.$$typeof === g))
|
|
U = z.propTypes;
|
|
else
|
|
return;
|
|
if (U) {
|
|
var X = Oe(z);
|
|
y6(U, O.props, "prop", X, O);
|
|
} else if (z.PropTypes !== void 0 && !rd) {
|
|
rd = !0;
|
|
var le = Oe(z);
|
|
W("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", le || "Unknown");
|
|
}
|
|
typeof z.getDefaultProps == "function" && !z.getDefaultProps.isReactClassApproved && W("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
}
|
|
}
|
|
function $6(O) {
|
|
{
|
|
for (var z = Object.keys(O.props), U = 0; U < z.length; U++) {
|
|
var X = z[U];
|
|
if (X !== "children" && X !== "key") {
|
|
Oa(O), W("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", X), Oa(null);
|
|
break;
|
|
}
|
|
}
|
|
O.ref !== null && (Oa(O), W("Invalid attribute `ref` supplied to `React.Fragment`."), Oa(null));
|
|
}
|
|
}
|
|
function Wv(O, z, U) {
|
|
var X = Ev(O);
|
|
if (!X) {
|
|
var le = "";
|
|
(O === void 0 || typeof O == "object" && O !== null && Object.keys(O).length === 0) && (le += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
var ke = w6(z);
|
|
ke ? le += ke : le += Lv();
|
|
var de;
|
|
O === null ? de = "null" : fe(O) ? de = "array" : O !== void 0 && O.$$typeof === n ? (de = "<" + (Oe(O.type) || "Unknown") + " />", le = " Did you accidentally export a JSX literal instead of a component?") : de = typeof O, W("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", de, le);
|
|
}
|
|
var Pe = Bf.apply(this, arguments);
|
|
if (Pe == null)
|
|
return Pe;
|
|
if (X)
|
|
for (var qe = 2; qe < arguments.length; qe++)
|
|
Vv(arguments[qe], O);
|
|
return O === a ? $6(Pe) : Hv(Pe), Pe;
|
|
}
|
|
var Uv = !1;
|
|
function k6(O) {
|
|
var z = Wv.bind(null, O);
|
|
return z.type = O, Uv || (Uv = !0, H("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")), Object.defineProperty(z, "type", {
|
|
enumerable: !1,
|
|
get: function() {
|
|
return H("Factory.type is deprecated. Access the class directly before passing it to createFactory."), Object.defineProperty(this, "type", {
|
|
value: O
|
|
}), O;
|
|
}
|
|
}), z;
|
|
}
|
|
function O6(O, z, U) {
|
|
for (var X = Kf.apply(this, arguments), le = 2; le < arguments.length; le++)
|
|
Vv(arguments[le], X.type);
|
|
return Hv(X), X;
|
|
}
|
|
function S6(O, z) {
|
|
var U = S.transition;
|
|
S.transition = {};
|
|
var X = S.transition;
|
|
S.transition._updatedFibers = /* @__PURE__ */ new Set();
|
|
try {
|
|
O();
|
|
} finally {
|
|
if (S.transition = U, U === null && X._updatedFibers) {
|
|
var le = X._updatedFibers.size;
|
|
le > 10 && H("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."), X._updatedFibers.clear();
|
|
}
|
|
}
|
|
}
|
|
var Yv = !1, Yl = null;
|
|
function E6(O) {
|
|
if (Yl === null)
|
|
try {
|
|
var z = ("require" + Math.random()).slice(0, 7), U = e && e[z];
|
|
Yl = U.call(e, "timers").setImmediate;
|
|
} catch {
|
|
Yl = function(X) {
|
|
Yv === !1 && (Yv = !0, typeof MessageChannel > "u" && W("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));
|
|
var le = new MessageChannel();
|
|
le.port1.onmessage = X, le.port2.postMessage(void 0);
|
|
};
|
|
}
|
|
return Yl(O);
|
|
}
|
|
var Sa = 0, qv = !1;
|
|
function Bv(O) {
|
|
{
|
|
var z = Sa;
|
|
Sa++, p.current === null && (p.current = []);
|
|
var U = p.isBatchingLegacy, X;
|
|
try {
|
|
if (p.isBatchingLegacy = !0, X = O(), !U && p.didScheduleLegacyUpdate) {
|
|
var le = p.current;
|
|
le !== null && (p.didScheduleLegacyUpdate = !1, ad(le));
|
|
}
|
|
} catch (At) {
|
|
throw ql(z), At;
|
|
} finally {
|
|
p.isBatchingLegacy = U;
|
|
}
|
|
if (X !== null && typeof X == "object" && typeof X.then == "function") {
|
|
var ke = X, de = !1, Pe = {
|
|
then: function(At, Nt) {
|
|
de = !0, ke.then(function(Ft) {
|
|
ql(z), Sa === 0 ? nd(Ft, At, Nt) : At(Ft);
|
|
}, function(Ft) {
|
|
ql(z), Nt(Ft);
|
|
});
|
|
}
|
|
};
|
|
return !qv && typeof Promise < "u" && Promise.resolve().then(function() {
|
|
}).then(function() {
|
|
de || (qv = !0, W("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"));
|
|
}), Pe;
|
|
} else {
|
|
var qe = X;
|
|
if (ql(z), Sa === 0) {
|
|
var ct = p.current;
|
|
ct !== null && (ad(ct), p.current = null);
|
|
var St = {
|
|
then: function(At, Nt) {
|
|
p.current === null ? (p.current = [], nd(qe, At, Nt)) : At(qe);
|
|
}
|
|
};
|
|
return St;
|
|
} else {
|
|
var Et = {
|
|
then: function(At, Nt) {
|
|
At(qe);
|
|
}
|
|
};
|
|
return Et;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function ql(O) {
|
|
O !== Sa - 1 && W("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "), Sa = O;
|
|
}
|
|
function nd(O, z, U) {
|
|
{
|
|
var X = p.current;
|
|
if (X !== null)
|
|
try {
|
|
ad(X), E6(function() {
|
|
X.length === 0 ? (p.current = null, z(O)) : nd(O, z, U);
|
|
});
|
|
} catch (le) {
|
|
U(le);
|
|
}
|
|
else
|
|
z(O);
|
|
}
|
|
}
|
|
var od = !1;
|
|
function ad(O) {
|
|
if (!od) {
|
|
od = !0;
|
|
var z = 0;
|
|
try {
|
|
for (; z < O.length; z++) {
|
|
var U = O[z];
|
|
do
|
|
U = U(!0);
|
|
while (U !== null);
|
|
}
|
|
O.length = 0;
|
|
} catch (X) {
|
|
throw O = O.slice(z + 1), X;
|
|
} finally {
|
|
od = !1;
|
|
}
|
|
}
|
|
}
|
|
var P6 = Wv, A6 = O6, C6 = k6, N6 = {
|
|
map: Dl,
|
|
forEach: WA,
|
|
count: HA,
|
|
toArray: UA,
|
|
only: YA
|
|
};
|
|
t.Children = N6, t.Component = C, t.Fragment = a, t.Profiler = s, t.PureComponent = I, t.StrictMode = i, t.Suspense = f, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = V, t.act = Bv, t.cloneElement = A6, t.createContext = qA, t.createElement = P6, t.createFactory = C6, t.createRef = Q, t.forwardRef = XA, t.isValidElement = Fn, t.lazy = KA, t.memo = JA, t.startTransition = S6, t.unstable_act = Bv, t.useCallback = a6, t.useContext = QA, t.useDebugValue = l6, t.useDeferredValue = u6, t.useEffect = r6, t.useId = f6, t.useImperativeHandle = s6, t.useInsertionEffect = n6, t.useLayoutEffect = o6, t.useMemo = i6, t.useReducer = e6, t.useRef = t6, t.useState = ZA, t.useSyncExternalStore = d6, t.useTransition = c6, t.version = r, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());
|
|
}();
|
|
}(eu, eu.exports)), eu.exports;
|
|
}
|
|
var Nk;
|
|
function rZ() {
|
|
return Nk || (Nk = 1, process.env.NODE_ENV === "production" ? mm.exports = eZ() : mm.exports = tZ()), mm.exports;
|
|
}
|
|
rZ();
|
|
function FA() {
|
|
return typeof window < "u" && ("__TAURI_INTERNALS__" in window || "__TAURI__" in window);
|
|
}
|
|
window.IsDesktopApp = FA;
|
|
function Ht(e, t, r, n) {
|
|
if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
return r === "m" ? n : r === "a" ? n.call(e) : n ? n.value : t.get(e);
|
|
}
|
|
function ss(e, t, r, n, o) {
|
|
if (typeof t == "function" ? e !== t || !0 : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
return t.set(e, r), r;
|
|
}
|
|
var zo, hr, _a, Pc;
|
|
const jk = "__TAURI_TO_IPC_KEY__";
|
|
function nZ(e, t = !1) {
|
|
return window.__TAURI_INTERNALS__.transformCallback(e, t);
|
|
}
|
|
class oZ {
|
|
constructor(t) {
|
|
zo.set(this, void 0), hr.set(this, 0), _a.set(this, []), Pc.set(this, void 0), ss(this, zo, t || (() => {
|
|
})), this.id = nZ((r) => {
|
|
const n = r.index;
|
|
if ("end" in r) {
|
|
n == Ht(this, hr, "f") ? this.cleanupCallback() : ss(this, Pc, n);
|
|
return;
|
|
}
|
|
const o = r.message;
|
|
if (n == Ht(this, hr, "f")) {
|
|
for (Ht(this, zo, "f").call(this, o), ss(this, hr, Ht(this, hr, "f") + 1); Ht(this, hr, "f") in Ht(this, _a, "f"); ) {
|
|
const a = Ht(this, _a, "f")[Ht(this, hr, "f")];
|
|
Ht(this, zo, "f").call(this, a), delete Ht(this, _a, "f")[Ht(this, hr, "f")], ss(this, hr, Ht(this, hr, "f") + 1);
|
|
}
|
|
Ht(this, hr, "f") === Ht(this, Pc, "f") && this.cleanupCallback();
|
|
} else
|
|
Ht(this, _a, "f")[n] = o;
|
|
});
|
|
}
|
|
cleanupCallback() {
|
|
window.__TAURI_INTERNALS__.unregisterCallback(this.id);
|
|
}
|
|
set onmessage(t) {
|
|
ss(this, zo, t);
|
|
}
|
|
get onmessage() {
|
|
return Ht(this, zo, "f");
|
|
}
|
|
[(zo = /* @__PURE__ */ new WeakMap(), hr = /* @__PURE__ */ new WeakMap(), _a = /* @__PURE__ */ new WeakMap(), Pc = /* @__PURE__ */ new WeakMap(), jk)]() {
|
|
return `__CHANNEL__:${this.id}`;
|
|
}
|
|
toJSON() {
|
|
return this[jk]();
|
|
}
|
|
}
|
|
async function Ac(e, t = {}, r) {
|
|
return window.__TAURI_INTERNALS__.invoke(e, t, r);
|
|
}
|
|
const Cc = "Request cancelled";
|
|
async function _k(e, t) {
|
|
const r = t == null ? void 0 : t.signal;
|
|
if (r != null && r.aborted)
|
|
throw new Error(Cc);
|
|
const n = t == null ? void 0 : t.maxRedirections, o = t == null ? void 0 : t.connectTimeout, a = t == null ? void 0 : t.proxy, i = t == null ? void 0 : t.danger;
|
|
t && (delete t.maxRedirections, delete t.connectTimeout, delete t.proxy, delete t.danger);
|
|
const s = t != null && t.headers ? t.headers instanceof Headers ? t.headers : new Headers(t.headers) : new Headers(), l = new Request(e, t), c = await l.arrayBuffer(), u = c.byteLength !== 0 ? Array.from(new Uint8Array(c)) : null;
|
|
for (const [p, T] of l.headers)
|
|
s.get(p) || s.set(p, T);
|
|
const f = (s instanceof Headers ? Array.from(s.entries()) : Array.isArray(s) ? s : Object.entries(s)).map(([p, T]) => [
|
|
p,
|
|
// we need to ensure we have all header values as strings
|
|
// eslint-disable-next-line
|
|
typeof T == "string" ? T : T.toString()
|
|
]);
|
|
if (r != null && r.aborted)
|
|
throw new Error(Cc);
|
|
const d = await Ac("plugin:http|fetch", {
|
|
clientConfig: {
|
|
method: l.method,
|
|
url: l.url,
|
|
headers: f,
|
|
data: u,
|
|
maxRedirections: n,
|
|
connectTimeout: o,
|
|
proxy: a,
|
|
danger: i
|
|
}
|
|
}), g = () => Ac("plugin:http|fetch_cancel", { rid: d });
|
|
if (r != null && r.aborted)
|
|
throw g(), new Error(Cc);
|
|
r == null || r.addEventListener("abort", () => void g());
|
|
const { status: v, statusText: m, url: h, headers: w, rid: x } = await Ac("plugin:http|fetch_send", {
|
|
rid: d
|
|
}), $ = [101, 103, 204, 205, 304].includes(v) ? null : new ReadableStream({
|
|
start: (p) => {
|
|
const T = new oZ();
|
|
T.onmessage = (L) => {
|
|
if (r != null && r.aborted) {
|
|
p.error(Cc);
|
|
return;
|
|
}
|
|
const G = new Uint8Array(L), J = G[G.byteLength - 1], B = G.slice(0, G.byteLength - 1);
|
|
if (J == 1) {
|
|
p.close();
|
|
return;
|
|
}
|
|
p.enqueue(B);
|
|
}, Ac("plugin:http|fetch_read_body", {
|
|
rid: x,
|
|
streamChannel: T
|
|
}).catch((L) => {
|
|
p.error(L);
|
|
});
|
|
}
|
|
}), S = new Response($, {
|
|
status: v,
|
|
statusText: m
|
|
});
|
|
return Object.defineProperty(S, "url", { value: h }), Object.defineProperty(S, "headers", {
|
|
value: new Headers(w)
|
|
}), S;
|
|
}
|
|
function Lu(e, t) {
|
|
return FA() ? t !== void 0 ? _k(e, t) : _k(e) : t !== void 0 ? fetch(e, t) : fetch(e);
|
|
}
|
|
window.FetchProxy = Lu;
|
|
class xv {
|
|
constructor() {
|
|
vv(this, "ApiTargets", {}), this.ApiTargets = {
|
|
GoggleApi: ys.GOOGLE_API,
|
|
FunnelApi: ys.FUNNEL_API,
|
|
CdnApi: ys.CDN_API,
|
|
GravatarApi: ys.GRAVATAR_API
|
|
};
|
|
}
|
|
getApiSchemeAndHost() {
|
|
return wv.getInstance().getApiSchemeAndHost();
|
|
}
|
|
async fetch(t, {
|
|
method: r,
|
|
query: n,
|
|
body: o
|
|
}) {
|
|
const a = n && Object.entries(n).reduce(
|
|
(c, [u, f]) => (f && (c[u] = f.toString()), c),
|
|
{}
|
|
), i = a ? t + "?" + new URLSearchParams(a) : t, s = JSON.stringify(o), l = await Lu(i, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: s
|
|
});
|
|
if (!l.ok)
|
|
throw new Error(`HTTP error! status: ${l.status}`);
|
|
return l.json();
|
|
}
|
|
async fetchMultipartFormData(t, {
|
|
method: r,
|
|
body: n
|
|
}) {
|
|
return (await Lu(t, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: n
|
|
})).json();
|
|
}
|
|
get({
|
|
endpoint: t,
|
|
query: r
|
|
}) {
|
|
return this.fetch(t, { method: "GET", query: r });
|
|
}
|
|
post({
|
|
endpoint: t,
|
|
query: r,
|
|
body: n
|
|
}) {
|
|
return this.fetch(t, {
|
|
method: "POST",
|
|
query: r,
|
|
body: n
|
|
});
|
|
}
|
|
delete({
|
|
endpoint: t,
|
|
query: r,
|
|
body: n
|
|
}) {
|
|
return this.fetch(t, {
|
|
method: "DELETE",
|
|
query: r,
|
|
body: n
|
|
});
|
|
}
|
|
async postFormVideo({
|
|
endpoint: t,
|
|
formRecord: r,
|
|
uuid: n,
|
|
blob: o,
|
|
blobFileName: a
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, l]) => {
|
|
i.append(s, l);
|
|
}), o && a ? i.append("video", o, a) : o && i.append("video", o), this.fetchMultipartFormData(t, {
|
|
method: "POST",
|
|
body: i
|
|
});
|
|
}
|
|
async postForm({
|
|
endpoint: t,
|
|
formRecord: r,
|
|
uuid: n,
|
|
blob: o,
|
|
blobFileName: a
|
|
}) {
|
|
const i = new FormData();
|
|
return i.append("uuid_idempotency_token", n), Object.entries(r).forEach(([s, l]) => {
|
|
i.append(s, l);
|
|
}), o && a ? i.append("file", o, a) : o && i.append("file", o), this.fetchMultipartFormData(t, {
|
|
method: "POST",
|
|
body: i
|
|
});
|
|
}
|
|
camelToSnakeCase(t) {
|
|
return t.replace(/([a-z0])([A-Z])/g, "$1_$2").toLowerCase();
|
|
}
|
|
parseQueryValues(t) {
|
|
return Object.entries(t).reduce(
|
|
(r, [n, o]) => {
|
|
if (!o)
|
|
return r;
|
|
const a = this.camelToSnakeCase(n);
|
|
return Array.isArray(o) ? { ...r, [a]: o.join(",") } : { ...r, [a]: o.toString() };
|
|
},
|
|
{}
|
|
);
|
|
}
|
|
parseBodyValues(t) {
|
|
return Object.entries(t).reduce((r, [n, o]) => {
|
|
if (!o)
|
|
return r;
|
|
const a = this.camelToSnakeCase(n);
|
|
return Array.isArray(o) ? { ...r, [a]: o } : { ...r, [a]: o };
|
|
}, {});
|
|
}
|
|
}
|
|
class aZ extends xv {
|
|
async DeleteMediaFileByToken({
|
|
mediaFileToken: t,
|
|
asMod: r = !0,
|
|
setDelete: n = !0
|
|
}) {
|
|
const o = `${this.getApiSchemeAndHost()}/v1/media_files/file/${t}`, a = { as_mod: r, set_delete: n };
|
|
return await this.delete({ endpoint: o, body: a }).then((i) => ({
|
|
success: i.success ?? !1,
|
|
errorMessage: i.BadInput
|
|
})).catch((i) => ({
|
|
success: !1,
|
|
errorMessage: i.message
|
|
}));
|
|
}
|
|
async ListMediaFilesByTokens({
|
|
mediaTokens: t
|
|
}) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/batch`;
|
|
return await this.get({ endpoint: r, query: { tokens: t.join(",") } }).then((n) => ({
|
|
success: n.success,
|
|
data: n.media_files
|
|
})).catch((n) => ({ success: !1, errorMessage: n.message }));
|
|
}
|
|
async GetMediaFileByToken({
|
|
mediaFileToken: t
|
|
}) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/file/${t}`;
|
|
return await this.get({ endpoint: r }).then((n) => ({
|
|
success: n.success,
|
|
data: n.media_file
|
|
})).catch((n) => ({
|
|
success: !1,
|
|
errorMessage: n.message
|
|
}));
|
|
}
|
|
async ListMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/list`, n = {
|
|
...t,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((o) => ({
|
|
success: o.success,
|
|
data: o.results ?? [],
|
|
pagination: o.pagination
|
|
})).catch((o) => ({
|
|
success: !1,
|
|
errorMessage: o.message
|
|
}));
|
|
}
|
|
async ListFeaturedMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/list_featured`, n = {
|
|
...t,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((o) => ({
|
|
success: !0,
|
|
data: o.results,
|
|
pagination: o.pagination
|
|
})).catch((o) => ({
|
|
success: !1,
|
|
errorMessage: o.message
|
|
}));
|
|
}
|
|
async ListUserMediaFiles(t) {
|
|
const r = t.username, n = `${this.getApiSchemeAndHost()}/v1/media_files/list/user/${r}`, o = {
|
|
...t,
|
|
include_user_uploads: t.include_user_uploads,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: n, query: o }).then((a) => {
|
|
let i = a.results ?? [];
|
|
return t.user_uploads_only && (i = i.filter((s) => s.origin_category === "upload")), {
|
|
success: a.success,
|
|
data: i,
|
|
pagination: a.pagination
|
|
};
|
|
}).catch((a) => ({
|
|
success: !1,
|
|
errorMessage: a.message
|
|
}));
|
|
}
|
|
async SearchFeaturedMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/search_featured`, n = {
|
|
search_term: t.search_term,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((o) => ({
|
|
success: !0,
|
|
data: o.results,
|
|
pagination: o.pagination
|
|
})).catch((o) => ({
|
|
success: !1,
|
|
errorMessage: o.message
|
|
}));
|
|
}
|
|
async SearchUserMediaFiles(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/media_files/search_session`, n = {
|
|
search_term: t.search_term,
|
|
filter_media_classes: t.filter_media_classes ? t.filter_media_classes.join(",") : void 0,
|
|
filter_media_type: t.filter_media_type ? t.filter_media_type.join(",") : void 0,
|
|
filter_engine_categories: t.filter_engine_categories ? t.filter_engine_categories.join(",") : void 0
|
|
};
|
|
return await this.get({ endpoint: r, query: n }).then((o) => ({
|
|
success: !0,
|
|
data: o.results,
|
|
pagination: o.pagination
|
|
})).catch((o) => ({
|
|
success: !1,
|
|
errorMessage: o.message
|
|
}));
|
|
}
|
|
async RenameMediaFileByToken({
|
|
mediaToken: t,
|
|
name: r
|
|
}) {
|
|
const n = `${this.getApiSchemeAndHost()}/v1/media_files/rename/${t}`, o = { name: r };
|
|
return await this.post({ endpoint: n, body: o }).then((a) => ({
|
|
success: a.success ?? !1,
|
|
errorMessage: a.BadInput
|
|
})).catch((a) => ({ success: !1, errorMessage: a.message }));
|
|
}
|
|
async UpdateCoverImage({
|
|
mediaFileToken: t,
|
|
imageToken: r
|
|
}) {
|
|
const n = `${this.getApiSchemeAndHost()}/v1/media_files/cover_image/${t}`;
|
|
return await this.post({ endpoint: n, body: { cover_image_media_file_token: r } }).then((o) => ({
|
|
success: o.success ?? !1,
|
|
errorMessage: o.BadInput
|
|
})).catch((o) => ({
|
|
success: !1,
|
|
errorMessage: o.message
|
|
}));
|
|
}
|
|
async UpdateVisibility({
|
|
mediaFileToken: t,
|
|
visibility: r
|
|
}) {
|
|
const n = `${this.getApiSchemeAndHost()}/v1/media_files/visibility/${t}`;
|
|
return await this.post({ endpoint: n, body: { creator_set_visibility: r } }).then((o) => ({
|
|
success: o.success ?? !1,
|
|
errorMessage: o.BadInput
|
|
})).catch((o) => ({
|
|
success: !1,
|
|
errorMessage: o.message
|
|
}));
|
|
}
|
|
}
|
|
var Fo = /* @__PURE__ */ ((e) => (e.Public = "public", e.Hidden = "hidden", e.Private = "private", e))(Fo || {}), ob = /* @__PURE__ */ ((e) => (e[e.true = 0] = "true", e[e.false = 1] = "false", e))(ob || {});
|
|
class iZ extends xv {
|
|
constructor() {
|
|
super(...arguments), vv(this, "sessionToken", "");
|
|
}
|
|
async getSessionTokenForUploadStudioShot() {
|
|
const t = `${this.getApiSchemeAndHost()}/v1/session_token`;
|
|
return await this.get({ endpoint: t }).then((r) => ({
|
|
success: !0,
|
|
data: r.maybe_signed_session
|
|
})).catch((r) => ({
|
|
success: !1,
|
|
errorMessage: r.message
|
|
}));
|
|
}
|
|
async UploadStudioShot({
|
|
maybe_title: t,
|
|
uuid_idempotency_token: r,
|
|
blob: n,
|
|
fileName: o,
|
|
maybe_visibility: a
|
|
}) {
|
|
const i = `${this.ApiTargets.uploadApi}/v1/media_files/upload/studio_shot`;
|
|
if (this.sessionToken)
|
|
console.log(`Session Token: ${this.sessionToken}`);
|
|
else {
|
|
console.log("Session Token");
|
|
const f = await this.getSessionTokenForUploadStudioShot();
|
|
if (f.success && f.data)
|
|
this.sessionToken = f.data, console.log(`Token ${this.sessionToken}`);
|
|
else
|
|
return {
|
|
success: !1,
|
|
errorMessage: "Could not obtain session tokens."
|
|
};
|
|
}
|
|
const s = {
|
|
maybe_title: t,
|
|
maybe_frame_rate_fps: 60,
|
|
maybe_visibility: a == null ? void 0 : a.toString()
|
|
}, l = Object.entries(s).reduce(
|
|
(f, [d, g]) => g === void 0 ? f : { ...f, [d]: g.toString() },
|
|
{}
|
|
), c = new FormData();
|
|
c.append("uuid_idempotency_token", r), Object.entries(l).forEach(([f, d]) => {
|
|
c.append(f, d);
|
|
}), n && o ? c.append("file", n, o) : n && c.append("file", n);
|
|
const u = await (await fetch(i, {
|
|
method: "POST",
|
|
headers: {
|
|
Accept: "application/json",
|
|
Session: this.sessionToken
|
|
},
|
|
credentials: "include",
|
|
body: c
|
|
})).json();
|
|
return u.success && u.media_file_token ? { success: !0, data: u.media_file_token } : { success: !1, errorMessage: "Failed to Get Media Token" };
|
|
}
|
|
async Upload({
|
|
endpoint: t,
|
|
uuid: r,
|
|
blob: n,
|
|
fileName: o,
|
|
options: a
|
|
}) {
|
|
const i = Object.entries(a).reduce(
|
|
(s, [l, c]) => c === void 0 ? s : { ...s, [l]: c.toString() },
|
|
{}
|
|
);
|
|
return await this.postForm({ endpoint: t, formRecord: i, blob: n, blobFileName: o, uuid: r }).then((s) => ({
|
|
success: !!(s.success ?? !1),
|
|
data: s.media_file_token,
|
|
errorMessage: s.BadInput
|
|
})).catch((s) => ({
|
|
success: !1,
|
|
errorMessage: s.message
|
|
}));
|
|
}
|
|
async UploadAudio({
|
|
blob: t,
|
|
fileName: r,
|
|
uuid: n,
|
|
maybe_title: o,
|
|
maybe_visibility: a = Fo.Public
|
|
}) {
|
|
const i = `${this.getApiSchemeAndHost()}/v1/media_files/upload/audio`, s = {
|
|
maybe_title: o,
|
|
maybe_visibility: a == null ? void 0 : a.toString()
|
|
};
|
|
return this.Upload({ endpoint: i, blob: t, fileName: r, uuid: n, options: s });
|
|
}
|
|
async UploadImage({
|
|
blob: t,
|
|
fileName: r,
|
|
uuid: n,
|
|
maybe_title: o,
|
|
maybe_visibility: a = Fo.Public,
|
|
is_intermediate_system_file: i = ob.true
|
|
}) {
|
|
const s = `${this.getApiSchemeAndHost()}/v1/media_files/upload/image`, l = {
|
|
is_intermediate_system_file: ob[i],
|
|
maybe_title: o,
|
|
maybe_visibility: a == null ? void 0 : a.toString()
|
|
};
|
|
return this.Upload({ endpoint: s, blob: t, fileName: r, uuid: n, options: l });
|
|
}
|
|
async UploadNewEngineAsset({
|
|
file: t,
|
|
fileName: r,
|
|
uuid: n,
|
|
engine_category: o,
|
|
maybe_animation_type: a,
|
|
maybe_duration_millis: i,
|
|
maybe_title: s,
|
|
maybe_visibility: l = Fo.Public
|
|
}) {
|
|
const c = `${this.getApiSchemeAndHost()}/v1/media_files/upload/new_engine_asset`, u = {
|
|
engine_category: o,
|
|
maybe_title: s,
|
|
maybe_visibility: l == null ? void 0 : l.toString(),
|
|
maybe_animation_type: a,
|
|
maybe_duration_millis: i
|
|
};
|
|
return this.Upload({ endpoint: c, blob: t, fileName: r, uuid: n, options: u });
|
|
}
|
|
async UploadNewScene({
|
|
blob: t,
|
|
fileName: r,
|
|
uuid: n,
|
|
maybe_title: o,
|
|
maybe_visibility: a = Fo.Public
|
|
}) {
|
|
const i = `${this.getApiSchemeAndHost()}/v1/media_files/upload/new_scene`, s = {
|
|
maybe_title: o,
|
|
maybe_visibility: a == null ? void 0 : a.toString()
|
|
};
|
|
return this.Upload({ endpoint: i, blob: t, fileName: r, uuid: n, options: s });
|
|
}
|
|
async UploadNewVideo({
|
|
blob: t,
|
|
fileName: r,
|
|
uuid: n,
|
|
maybe_title: o,
|
|
maybe_visibility: a = Fo.Public,
|
|
maybe_style_name: i,
|
|
maybe_scene_source_media_file_token: s
|
|
}) {
|
|
const l = `${this.getApiSchemeAndHost()}/v1/media_files/upload/new_video`, c = {
|
|
is_intermediate_system_file: "true",
|
|
maybe_title: o,
|
|
maybe_visibility: a == null ? void 0 : a.toString(),
|
|
maybe_style_name: i,
|
|
maybe_scene_source_media_file_token: s
|
|
};
|
|
return this.Upload({ endpoint: l, blob: t, fileName: r, uuid: n, options: c });
|
|
}
|
|
async UploadPmx({
|
|
file: t,
|
|
fileName: r,
|
|
uuid: n,
|
|
engine_category: o,
|
|
maybe_animation_type: a,
|
|
maybe_duration_millis: i,
|
|
maybe_title: s,
|
|
maybe_visibility: l = Fo.Public
|
|
}) {
|
|
const c = `${this.getApiSchemeAndHost()}/v1/media_files/upload/pmx`, u = {
|
|
is_intermediate_system_file: "true",
|
|
engine_category: o,
|
|
maybe_animation_type: a,
|
|
maybe_duration_millis: i,
|
|
maybe_title: s,
|
|
maybe_visibility: l
|
|
};
|
|
return this.Upload({ endpoint: c, blob: t, fileName: r, uuid: n, options: u });
|
|
}
|
|
async UploadSavedScene({
|
|
blob: t,
|
|
fileName: r,
|
|
uuid: n,
|
|
mediaToken: o
|
|
}) {
|
|
const a = `${this.getApiSchemeAndHost()}/v1/media_files/upload/saved_scene/${o}`, i = {};
|
|
return this.Upload({ endpoint: a, blob: t, fileName: r, uuid: n, options: i });
|
|
}
|
|
// this is used to send the scene snapshot to the vst upload endpoint this creates a snapshot of the scene where in we can remix from the og.
|
|
async UploadSceneSnapshotMediaFileForm({
|
|
blob: t,
|
|
uuid: r,
|
|
maybe_title: n,
|
|
// title of the scene at the time
|
|
maybe_scene_source_media_file_token: o
|
|
// original token that started it all
|
|
}) {
|
|
const a = `${this.getApiSchemeAndHost()}/v1/media_files/upload/scene_snapshot`, i = {
|
|
maybe_title: n,
|
|
maybe_scene_source_media_file_token: o
|
|
}, s = `${n}-${r}`;
|
|
return this.Upload({ endpoint: a, blob: t, fileName: s, uuid: r, options: i });
|
|
}
|
|
}
|
|
var Ik;
|
|
(function(e) {
|
|
e[e.Audio = 1] = "Audio", e[e.Cache = 2] = "Cache", e[e.Config = 3] = "Config", e[e.Data = 4] = "Data", e[e.LocalData = 5] = "LocalData", e[e.Document = 6] = "Document", e[e.Download = 7] = "Download", e[e.Picture = 8] = "Picture", e[e.Public = 9] = "Public", e[e.Video = 10] = "Video", e[e.Resource = 11] = "Resource", e[e.Temp = 12] = "Temp", e[e.AppConfig = 13] = "AppConfig", e[e.AppData = 14] = "AppData", e[e.AppLocalData = 15] = "AppLocalData", e[e.AppCache = 16] = "AppCache", e[e.AppLog = 17] = "AppLog", e[e.Desktop = 18] = "Desktop", e[e.Executable = 19] = "Executable", e[e.Font = 20] = "Font", e[e.Home = 21] = "Home", e[e.Runtime = 22] = "Runtime", e[e.Template = 23] = "Template";
|
|
})(Ik || (Ik = {}));
|
|
class sZ extends xv {
|
|
async authFetch(t, {
|
|
method: r,
|
|
body: n
|
|
}) {
|
|
const o = JSON.stringify(n);
|
|
return await (await Lu(t, {
|
|
method: r,
|
|
headers: {
|
|
Accept: "application/json",
|
|
"Content-Type": "application/json"
|
|
},
|
|
credentials: "include",
|
|
body: o
|
|
})).json();
|
|
}
|
|
GetSession() {
|
|
const t = `${this.getApiSchemeAndHost()}/v1/session`;
|
|
return this.get({ endpoint: t }).then((r) => ({
|
|
success: r.success,
|
|
data: {
|
|
loggedIn: r.logged_in,
|
|
user: r.user
|
|
}
|
|
})).catch((r) => ({
|
|
success: !1,
|
|
errorMessage: r.message
|
|
}));
|
|
}
|
|
GetUserProfile(t) {
|
|
const r = `${this.getApiSchemeAndHost()}/v1/user/${t}/profile`;
|
|
return console.log("endpoint", r), this.get({ endpoint: r }).then((n) => ({
|
|
success: n.success,
|
|
data: {
|
|
user: n.user
|
|
}
|
|
})).catch((n) => ({
|
|
success: !1,
|
|
errorMessage: n.message
|
|
}));
|
|
}
|
|
async Login({
|
|
usernameOrEmail: t,
|
|
password: r
|
|
}) {
|
|
console.log("libs/api - Logging in with usernameOrEmail:", t);
|
|
const n = `${this.getApiSchemeAndHost()}/v1/login`;
|
|
console.log("libs/api - Login endpoint", n);
|
|
const o = {
|
|
username_or_email: t,
|
|
password: r
|
|
};
|
|
try {
|
|
const a = await this.authFetch(n, {
|
|
method: "POST",
|
|
body: o
|
|
});
|
|
return {
|
|
success: a.success,
|
|
data: a.success ? { signedSession: a.signed_session } : void 0,
|
|
errorMessage: a.error_message
|
|
};
|
|
} catch (a) {
|
|
return {
|
|
success: !1,
|
|
errorMessage: a.message
|
|
};
|
|
}
|
|
}
|
|
Logout() {
|
|
const t = `${this.getApiSchemeAndHost()}/v1/logout`;
|
|
return this.post({
|
|
endpoint: t
|
|
}).then((r) => ({
|
|
success: r.success
|
|
})).catch((r) => ({
|
|
success: !1,
|
|
errorMessage: r.message
|
|
}));
|
|
}
|
|
async Signup({
|
|
username: t,
|
|
email: r,
|
|
password: n,
|
|
passwordConfirmation: o,
|
|
signupSource: a
|
|
}) {
|
|
const i = `${this.getApiSchemeAndHost()}/v1/create_account`, s = {
|
|
email_address: r,
|
|
password: n,
|
|
password_confirmation: o,
|
|
username: t
|
|
};
|
|
a && (s.signup_source = a);
|
|
try {
|
|
const l = await this.authFetch(i, {
|
|
method: "POST",
|
|
body: s
|
|
});
|
|
return {
|
|
success: l.success,
|
|
data: l.success ? { signedSession: l.signed_session } : void 0,
|
|
errorMessage: l.error_message || Object.values(l.error_fields ?? {}).join(", ")
|
|
};
|
|
} catch (l) {
|
|
return {
|
|
success: !1,
|
|
errorMessage: l.message
|
|
};
|
|
}
|
|
}
|
|
}
|
|
window.UsersApi = new sZ();
|
|
const lZ = async ({
|
|
title: e,
|
|
assetFile: t,
|
|
thumbnailFile: r,
|
|
engineCategory: n,
|
|
animationType: o,
|
|
length: a,
|
|
progressCallback: i,
|
|
getFileName: s,
|
|
getFileExtension: l
|
|
}) => {
|
|
i({ status: hn.uploadingAsset });
|
|
const c = new iZ(), u = l(t), f = await (async () => {
|
|
switch (u) {
|
|
case ".zip":
|
|
return c.UploadPmx({
|
|
file: t,
|
|
fileName: t.name,
|
|
engine_category: n,
|
|
maybe_title: e,
|
|
maybe_animation_type: o,
|
|
uuid: pm()
|
|
});
|
|
default:
|
|
return c.UploadNewEngineAsset({
|
|
file: t,
|
|
fileName: t.name,
|
|
engine_category: n,
|
|
maybe_animation_type: o,
|
|
maybe_duration_millis: a,
|
|
maybe_title: e,
|
|
uuid: pm()
|
|
});
|
|
}
|
|
})();
|
|
if (!f.success || !f.data) {
|
|
i({
|
|
status: hn.assetError,
|
|
errorMessage: f.errorMessage
|
|
});
|
|
return;
|
|
}
|
|
const d = f.data;
|
|
if (!r) {
|
|
i({ status: hn.success });
|
|
return;
|
|
}
|
|
i({ status: hn.uploadingCover });
|
|
const g = await c.UploadImage({
|
|
uuid: pm(),
|
|
blob: r,
|
|
fileName: s(r),
|
|
maybe_title: "thumbnail_" + e
|
|
});
|
|
if (!g.success || !g.data) {
|
|
i({
|
|
status: hn.coverCreateError,
|
|
errorMessage: g.errorMessage
|
|
});
|
|
return;
|
|
}
|
|
i({ status: hn.settingCover });
|
|
const v = g.data, h = await new aZ().UpdateCoverImage({
|
|
mediaFileToken: d,
|
|
imageToken: v
|
|
});
|
|
if (!h.success) {
|
|
i({
|
|
status: hn.coverSetError,
|
|
errorMessage: h.errorMessage
|
|
});
|
|
return;
|
|
}
|
|
i({ status: hn.success });
|
|
}, cZ = ({
|
|
fileTypes: e,
|
|
engineCategory: t,
|
|
onClose: r,
|
|
title: n,
|
|
options: o,
|
|
onUploadProgress: a,
|
|
getFileName: i,
|
|
getFileExtension: s
|
|
}) => {
|
|
const l = o == null ? void 0 : o.fileSubtypes, c = o == null ? void 0 : o.hasLength, u = o == null ? void 0 : o.hasThumbnailUpload, [f, d] = $e(
|
|
l ? Object.values(l[0])[0] : void 0
|
|
), [g, v] = $e({
|
|
value: ""
|
|
}), [m, h] = $e({ value: null }), [w, x] = $e(), [$, S] = $e(null), p = () => {
|
|
if (!g.value) {
|
|
v((T) => ({
|
|
...T,
|
|
error: "Please enter a title."
|
|
}));
|
|
return;
|
|
}
|
|
if (!m.value) {
|
|
h((T) => ({
|
|
...T,
|
|
error: "Please select a file to upload."
|
|
}));
|
|
return;
|
|
}
|
|
lZ({
|
|
title: g.value,
|
|
assetFile: m.value,
|
|
engineCategory: t,
|
|
animationType: f,
|
|
thumbnailFile: $ || void 0,
|
|
length: w,
|
|
progressCallback: a,
|
|
getFileName: i,
|
|
getFileExtension: s
|
|
});
|
|
};
|
|
return /* @__PURE__ */ q(jt, { children: /* @__PURE__ */ Le("div", { className: "mb-4 flex flex-col gap-4", children: [
|
|
/* @__PURE__ */ q(
|
|
jg,
|
|
{
|
|
placeholder: "Enter the title here",
|
|
errorMessage: g.error,
|
|
value: g.value,
|
|
onChange: (T) => v({ value: T.target.value }),
|
|
className: g.error ? "mb-3" : ""
|
|
}
|
|
),
|
|
l && l.length > 1 && /* @__PURE__ */ q(
|
|
SY,
|
|
{
|
|
list: l,
|
|
onSelect: (T) => d(T)
|
|
}
|
|
),
|
|
c && /* @__PURE__ */ q(
|
|
jg,
|
|
{
|
|
type: "number",
|
|
placeholder: "Enter the length in ms (optional)",
|
|
value: w,
|
|
onChange: (T) => x(parseInt(T.target.value))
|
|
}
|
|
),
|
|
/* @__PURE__ */ q(
|
|
Ek,
|
|
{
|
|
title: n,
|
|
fileTypes: e,
|
|
file: m.value,
|
|
setFile: (T) => {
|
|
h({
|
|
value: T
|
|
});
|
|
}
|
|
}
|
|
),
|
|
m.error && /* @__PURE__ */ q("h6", { className: "z-10 text-red", children: m.error }),
|
|
u && /* @__PURE__ */ q(
|
|
Ek,
|
|
{
|
|
title: "Upload Thumbnail (optional)",
|
|
fileTypes: Object.values(LA),
|
|
file: $,
|
|
setFile: S
|
|
}
|
|
),
|
|
/* @__PURE__ */ Le("div", { className: "flex justify-end gap-4", children: [
|
|
/* @__PURE__ */ q(nl, { variant: "primary", onClick: p, children: "Upload" }),
|
|
/* @__PURE__ */ q(nl, { variant: "secondary", onClick: r, children: "Cancel" })
|
|
] })
|
|
] }) });
|
|
};
|
|
var uZ = /* @__PURE__ */ ((e) => (e.ANIMATION = "animation", e.AUDIO = "audio", e.CHARACTER = "character", e.CREATURE = "creature", e.EXPRESSION = "expression", e.IMAGE_PLANE = "image_plane", e.LOCATION = "location", e.OBJECT = "object", e.SCENE = "scene", e.SET_DRESSING = "set_dressing", e.SKYBOX = "skybox", e.VIDEO_PLANE = "video_plane", e))(uZ || {}), gn = /* @__PURE__ */ ((e) => (e[e.ready = 0] = "ready", e[e.uploadingAsset = 1] = "uploadingAsset", e[e.uploadingImage = 2] = "uploadingImage", e[e.uploadingCover = 3] = "uploadingCover", e[e.settingCover = 4] = "settingCover", e[e.success = 5] = "success", e[e.assetError = 6] = "assetError", e[e.coverCreateError = 7] = "coverCreateError", e[e.coverSetError = 8] = "coverSetError", e[e.imageCreateError = 9] = "imageCreateError", e))(gn || {});
|
|
const Tk = {
|
|
status: 0
|
|
/* ready */
|
|
};
|
|
function CZ({
|
|
isOpen: e,
|
|
onClose: t,
|
|
onSuccess: r,
|
|
title: n,
|
|
fileTypes: o,
|
|
type: a,
|
|
options: i,
|
|
getFileName: s,
|
|
getFileExtension: l
|
|
}) {
|
|
const [c, u] = $e(Tk), f = (v) => {
|
|
u(v);
|
|
}, d = () => {
|
|
u(Tk);
|
|
};
|
|
return Se(() => {
|
|
e && d();
|
|
}, [e]), /* @__PURE__ */ q(wl, { isOpen: e, onClose: t, title: n, children: /* @__PURE__ */ q(() => {
|
|
switch (c.status) {
|
|
case gn.ready:
|
|
return /* @__PURE__ */ q(
|
|
cZ,
|
|
{
|
|
title: n,
|
|
engineCategory: a,
|
|
fileTypes: o,
|
|
options: i,
|
|
onClose: t,
|
|
onUploadProgress: f,
|
|
getFileName: s,
|
|
getFileExtension: l
|
|
}
|
|
);
|
|
case gn.uploadingAsset:
|
|
case gn.uploadingCover:
|
|
case gn.settingCover:
|
|
return /* @__PURE__ */ Le(jt, { children: [
|
|
/* @__PURE__ */ q(WC, { className: "mb-1 bg-transparent" }),
|
|
/* @__PURE__ */ q("div", { className: "w-100 text-center opacity-50", children: "Uploading..." })
|
|
] });
|
|
case gn.success:
|
|
return /* @__PURE__ */ q(
|
|
lF,
|
|
{
|
|
title: n,
|
|
onOk: () => {
|
|
r(), t();
|
|
}
|
|
}
|
|
);
|
|
case gn.assetError:
|
|
return /* @__PURE__ */ q(
|
|
ix,
|
|
{
|
|
onCancel: t,
|
|
onRetry: () => {
|
|
d();
|
|
},
|
|
type: a,
|
|
errorMessage: c.errorMessage
|
|
}
|
|
);
|
|
case gn.coverCreateError:
|
|
case gn.coverSetError:
|
|
return /* @__PURE__ */ q(
|
|
ix,
|
|
{
|
|
onCancel: t,
|
|
onRetry: () => {
|
|
d();
|
|
},
|
|
type: "Thumbnail",
|
|
errorMessage: c.errorMessage
|
|
}
|
|
);
|
|
}
|
|
}, {}) });
|
|
}
|
|
export {
|
|
uZ as FilterEngineCategories,
|
|
ix as UploadAssetError,
|
|
CZ as UploadModal,
|
|
lF as UploadSuccess,
|
|
gn as UploaderStates,
|
|
Tk as initialUploaderState
|
|
};
|