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

9584 lines
289 KiB
JavaScript

import { jsx as Ae, jsxs as Fn, Fragment as So } from "react/jsx-runtime";
import * as I from "react";
import V, { useRef as Q, useCallback as ae, useEffect as fe, useState as le, useMemo as ce, useLayoutEffect as Vr, useContext as ue, createContext as be, forwardRef as Us, Fragment as Re, isValidElement as Vs, cloneElement as Ys, createElement as Gs, useId as Ot, useReducer as qs, useSyncExternalStore as Ks } from "react";
import * as un from "react-dom";
import { createPortal as Wi, flushSync as st } from "react-dom";
const Bi = typeof document < "u" ? V.useLayoutEffect : () => {
};
function Xs(e) {
const t = Q(null);
return Bi(() => {
t.current = e;
}, [
e
]), ae((...n) => {
const r = t.current;
return r == null ? void 0 : r(...n);
}, []);
}
const rt = (e) => {
var t;
return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document;
}, ot = (e) => e && "window" in e && e.window === e ? e : rt(e).defaultView || window;
function Qs(e) {
return e !== null && typeof e == "object" && "nodeType" in e && typeof e.nodeType == "number";
}
function Js(e) {
return Qs(e) && e.nodeType === Node.DOCUMENT_FRAGMENT_NODE && "host" in e;
}
let Zs = !1;
function Yr() {
return Zs;
}
function Ui(e, t) {
if (!Yr()) return t && e ? e.contains(t) : !1;
if (!e || !t) return !1;
let n = t;
for (; n !== null; ) {
if (n === e) return !0;
n.tagName === "SLOT" && n.assignedSlot ? n = n.assignedSlot.parentNode : Js(n) ? n = n.host : n = n.parentNode;
}
return !1;
}
const ur = (e = document) => {
var t;
if (!Yr()) return e.activeElement;
let n = e.activeElement;
for (; n && "shadowRoot" in n && (!((t = n.shadowRoot) === null || t === void 0) && t.activeElement); ) n = n.shadowRoot.activeElement;
return n;
};
function Vi(e) {
return Yr() && e.target.shadowRoot && e.composedPath ? e.composedPath()[0] : e.target;
}
function el(e) {
var t;
return typeof window > "u" || window.navigator == null ? !1 : ((t = window.navigator.userAgentData) === null || t === void 0 ? void 0 : t.brands.some((n) => e.test(n.brand))) || e.test(window.navigator.userAgent);
}
function tl(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 Yi(e) {
let t = null;
return () => (t == null && (t = e()), t);
}
const nl = Yi(function() {
return tl(/^Mac/i);
}), rl = Yi(function() {
return el(/Android/i);
});
function Gi() {
let e = Q(/* @__PURE__ */ new Map()), t = ae((o, i, a, s) => {
let l = s != null && s.once ? (...c) => {
e.current.delete(a), a(...c);
} : a;
e.current.set(a, {
type: i,
eventTarget: o,
fn: l,
options: s
}), o.addEventListener(i, l, s);
}, []), n = ae((o, i, a, s) => {
var l;
let c = ((l = e.current.get(a)) === null || l === void 0 ? void 0 : l.fn) || a;
o.removeEventListener(i, c, s), e.current.delete(a);
}, []), r = ae(() => {
e.current.forEach((o, i) => {
n(o.eventTarget, o.type, i, o.options);
});
}, [
n
]);
return fe(() => r, [
r
]), {
addGlobalListener: t,
removeGlobalListener: n,
removeAllGlobalListeners: r
};
}
function ol(e) {
return e.mozInputSource === 0 && e.isTrusted ? !0 : rl() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
}
class qi {
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, n) {
this.nativeEvent = n, this.target = n.target, this.currentTarget = n.currentTarget, this.relatedTarget = n.relatedTarget, this.bubbles = n.bubbles, this.cancelable = n.cancelable, this.defaultPrevented = n.defaultPrevented, this.eventPhase = n.eventPhase, this.isTrusted = n.isTrusted, this.timeStamp = n.timeStamp, this.type = t;
}
}
function Ki(e) {
let t = Q({
isFocused: !1,
observer: null
});
Bi(() => {
const r = t.current;
return () => {
r.observer && (r.observer.disconnect(), r.observer = null);
};
}, []);
let n = Xs((r) => {
e == null || e(r);
});
return ae((r) => {
if (r.target instanceof HTMLButtonElement || r.target instanceof HTMLInputElement || r.target instanceof HTMLTextAreaElement || r.target instanceof HTMLSelectElement) {
t.current.isFocused = !0;
let o = r.target, i = (a) => {
t.current.isFocused = !1, o.disabled && n(new qi("blur", a)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
};
o.addEventListener("focusout", i, {
once: !0
}), t.current.observer = new MutationObserver(() => {
if (t.current.isFocused && o.disabled) {
var a;
(a = t.current.observer) === null || a === void 0 || a.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"
]
});
}
}, [
n
]);
}
let il = !1, Vt = null, fr = /* @__PURE__ */ new Set(), _t = /* @__PURE__ */ new Map(), ct = !1, dr = !1;
const al = {
Tab: !0,
Escape: !0
};
function Gr(e, t) {
for (let n of fr) n(e, t);
}
function sl(e) {
return !(e.metaKey || !nl() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
}
function fn(e) {
ct = !0, sl(e) && (Vt = "keyboard", Gr("keyboard", e));
}
function Se(e) {
Vt = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (ct = !0, Gr("pointer", e));
}
function Xi(e) {
ol(e) && (ct = !0, Vt = "virtual");
}
function Qi(e) {
e.target === window || e.target === document || il || !e.isTrusted || (!ct && !dr && (Vt = "virtual", Gr("virtual", e)), ct = !1, dr = !1);
}
function Ji() {
ct = !1, dr = !0;
}
function pr(e) {
if (typeof window > "u" || _t.get(ot(e))) return;
const t = ot(e), n = rt(e);
let r = t.HTMLElement.prototype.focus;
t.HTMLElement.prototype.focus = function() {
ct = !0, r.apply(this, arguments);
}, n.addEventListener("keydown", fn, !0), n.addEventListener("keyup", fn, !0), n.addEventListener("click", Xi, !0), t.addEventListener("focus", Qi, !0), t.addEventListener("blur", Ji, !1), typeof PointerEvent < "u" ? (n.addEventListener("pointerdown", Se, !0), n.addEventListener("pointermove", Se, !0), n.addEventListener("pointerup", Se, !0)) : (n.addEventListener("mousedown", Se, !0), n.addEventListener("mousemove", Se, !0), n.addEventListener("mouseup", Se, !0)), t.addEventListener("beforeunload", () => {
Zi(e);
}, {
once: !0
}), _t.set(t, {
focus: r
});
}
const Zi = (e, t) => {
const n = ot(e), r = rt(e);
t && r.removeEventListener("DOMContentLoaded", t), _t.has(n) && (n.HTMLElement.prototype.focus = _t.get(n).focus, r.removeEventListener("keydown", fn, !0), r.removeEventListener("keyup", fn, !0), r.removeEventListener("click", Xi, !0), n.removeEventListener("focus", Qi, !0), n.removeEventListener("blur", Ji, !1), typeof PointerEvent < "u" ? (r.removeEventListener("pointerdown", Se, !0), r.removeEventListener("pointermove", Se, !0), r.removeEventListener("pointerup", Se, !0)) : (r.removeEventListener("mousedown", Se, !0), r.removeEventListener("mousemove", Se, !0), r.removeEventListener("mouseup", Se, !0)), _t.delete(n));
};
function ll(e) {
const t = rt(e);
let n;
return t.readyState !== "loading" ? pr(e) : (n = () => {
pr(e);
}, t.addEventListener("DOMContentLoaded", n)), () => Zi(e, n);
}
typeof document < "u" && ll();
function ea() {
return Vt !== "pointer";
}
const cl = /* @__PURE__ */ new Set([
"checkbox",
"radio",
"range",
"color",
"file",
"image",
"button",
"submit",
"reset"
]);
function ul(e, t, n) {
let r = rt(n == null ? void 0 : n.target);
const o = typeof window < "u" ? ot(n == null ? void 0 : n.target).HTMLInputElement : HTMLInputElement, i = typeof window < "u" ? ot(n == null ? void 0 : n.target).HTMLTextAreaElement : HTMLTextAreaElement, a = typeof window < "u" ? ot(n == null ? void 0 : n.target).HTMLElement : HTMLElement, s = typeof window < "u" ? ot(n == null ? void 0 : n.target).KeyboardEvent : KeyboardEvent;
return e = e || r.activeElement instanceof o && !cl.has(r.activeElement.type) || r.activeElement instanceof i || r.activeElement instanceof a && r.activeElement.isContentEditable, !(e && t === "keyboard" && n instanceof s && !al[n.key]);
}
function fl(e, t, n) {
pr(), fe(() => {
let r = (o, i) => {
ul(!!(n != null && n.isTextInput), o, i) && e(ea());
};
return fr.add(r), () => {
fr.delete(r);
};
}, t);
}
function dl(e) {
let { isDisabled: t, onFocus: n, onBlur: r, onFocusChange: o } = e;
const i = ae((l) => {
if (l.target === l.currentTarget)
return r && r(l), o && o(!1), !0;
}, [
r,
o
]), a = Ki(i), s = ae((l) => {
const c = rt(l.target), u = c ? ur(c) : ur();
l.target === l.currentTarget && u === Vi(l.nativeEvent) && (n && n(l), o && o(!0), a(l));
}, [
o,
n,
a
]);
return {
focusProps: {
onFocus: !t && (n || o || r) ? s : void 0,
onBlur: !t && (r || o) ? i : void 0
}
};
}
function pl(e) {
let { isDisabled: t, onBlurWithin: n, onFocusWithin: r, onFocusWithinChange: o } = e, i = Q({
isFocusWithin: !1
}), { addGlobalListener: a, removeAllGlobalListeners: s } = Gi(), l = ae((d) => {
d.currentTarget.contains(d.target) && i.current.isFocusWithin && !d.currentTarget.contains(d.relatedTarget) && (i.current.isFocusWithin = !1, s(), n && n(d), o && o(!1));
}, [
n,
o,
i,
s
]), c = Ki(l), u = ae((d) => {
if (!d.currentTarget.contains(d.target)) return;
const p = rt(d.target), f = ur(p);
if (!i.current.isFocusWithin && f === Vi(d.nativeEvent)) {
r && r(d), o && o(!0), i.current.isFocusWithin = !0, c(d);
let m = d.currentTarget;
a(p, "focus", (g) => {
if (i.current.isFocusWithin && !Ui(m, g.target)) {
let h = new qi("blur", new p.defaultView.FocusEvent("blur", {
relatedTarget: g.target
}));
h.target = m, h.currentTarget = m, l(h);
}
}, {
capture: !0
});
}
}, [
r,
o,
c,
a,
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 dn = !1, _n = 0;
function mr() {
dn = !0, setTimeout(() => {
dn = !1;
}, 50);
}
function To(e) {
e.pointerType === "touch" && mr();
}
function ml() {
if (!(typeof document > "u"))
return typeof PointerEvent < "u" ? document.addEventListener("pointerup", To) : document.addEventListener("touchend", mr), _n++, () => {
_n--, !(_n > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", To) : document.removeEventListener("touchend", mr));
};
}
function gl(e) {
let { onHoverStart: t, onHoverChange: n, onHoverEnd: r, isDisabled: o } = e, [i, a] = le(!1), s = Q({
isHovered: !1,
ignoreEmulatedMouseEvents: !1,
pointerType: "",
target: null
}).current;
fe(ml, []);
let { addGlobalListener: l, removeAllGlobalListeners: c } = Gi(), { hoverProps: u, triggerHoverEnd: d } = ce(() => {
let p = (g, h) => {
if (s.pointerType = h, o || h === "touch" || s.isHovered || !g.currentTarget.contains(g.target)) return;
s.isHovered = !0;
let b = g.currentTarget;
s.target = b, l(rt(g.target), "pointerover", (x) => {
s.isHovered && s.target && !Ui(s.target, x.target) && f(x, x.pointerType);
}, {
capture: !0
}), t && t({
type: "hoverstart",
target: b,
pointerType: h
}), n && n(!0), a(!0);
}, f = (g, h) => {
let b = s.target;
s.pointerType = "", s.target = null, !(h === "touch" || !s.isHovered || !b) && (s.isHovered = !1, c(), r && r({
type: "hoverend",
target: b,
pointerType: h
}), n && n(!1), a(!1));
}, m = {};
return typeof PointerEvent < "u" ? (m.onPointerEnter = (g) => {
dn && g.pointerType === "mouse" || p(g, g.pointerType);
}, m.onPointerLeave = (g) => {
!o && g.currentTarget.contains(g.target) && f(g, g.pointerType);
}) : (m.onTouchStart = () => {
s.ignoreEmulatedMouseEvents = !0;
}, m.onMouseEnter = (g) => {
!s.ignoreEmulatedMouseEvents && !dn && p(g, "mouse"), s.ignoreEmulatedMouseEvents = !1;
}, m.onMouseLeave = (g) => {
!o && g.currentTarget.contains(g.target) && f(g, "mouse");
}), {
hoverProps: m,
triggerHoverEnd: f
};
}, [
t,
n,
r,
o,
s,
l,
c
]);
return fe(() => {
o && d({
currentTarget: s.target
}, s.pointerType);
}, [
o
]), {
hoverProps: u,
isHovered: i
};
}
function hl(e = {}) {
let { autoFocus: t = !1, isTextInput: n, within: r } = e, o = Q({
isFocused: !1,
isFocusVisible: t || ea()
}), [i, a] = le(!1), [s, l] = le(() => o.current.isFocused && o.current.isFocusVisible), c = ae(() => l(o.current.isFocused && o.current.isFocusVisible), []), u = ae((f) => {
o.current.isFocused = f, a(f), c();
}, [
c
]);
fl((f) => {
o.current.isFocusVisible = f, c();
}, [], {
isTextInput: n
});
let { focusProps: d } = dl({
isDisabled: r,
onFocusChange: u
}), { focusWithinProps: p } = pl({
isDisabled: !r,
onFocusWithinChange: u
});
return {
isFocused: i,
isFocusVisible: s,
focusProps: r ? p : d
};
}
var vl = Object.defineProperty, bl = (e, t, n) => t in e ? vl(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Nn = (e, t, n) => (bl(e, typeof t != "symbol" ? t + "" : t, n), n);
let yl = class {
constructor() {
Nn(this, "current", this.detect()), Nn(this, "handoffState", "pending"), Nn(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";
}
}, lt = new yl();
function Yt(e) {
var t, n;
return lt.isServer ? null : e ? "ownerDocument" in e ? e.ownerDocument : "current" in e ? (n = (t = e.current) == null ? void 0 : t.ownerDocument) != null ? n : document : null : document;
}
function ta(e) {
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
throw t;
}));
}
function ze() {
let e = [], t = { addEventListener(n, r, o, i) {
return n.addEventListener(r, o, i), t.add(() => n.removeEventListener(r, o, i));
}, requestAnimationFrame(...n) {
let r = requestAnimationFrame(...n);
return t.add(() => cancelAnimationFrame(r));
}, nextFrame(...n) {
return t.requestAnimationFrame(() => t.requestAnimationFrame(...n));
}, setTimeout(...n) {
let r = setTimeout(...n);
return t.add(() => clearTimeout(r));
}, microTask(...n) {
let r = { current: !0 };
return ta(() => {
r.current && n[0]();
}), t.add(() => {
r.current = !1;
});
}, style(n, r, o) {
let i = n.style.getPropertyValue(r);
return Object.assign(n.style, { [r]: o }), this.add(() => {
Object.assign(n.style, { [r]: i });
});
}, group(n) {
let r = ze();
return n(r), this.add(() => r.dispose());
}, add(n) {
return e.includes(n) || e.push(n), () => {
let r = e.indexOf(n);
if (r >= 0) for (let o of e.splice(r, 1)) o();
};
}, dispose() {
for (let n of e.splice(0)) n();
} };
return t;
}
function St() {
let [e] = le(ze);
return fe(() => () => e.dispose(), [e]), e;
}
let se = (e, t) => {
lt.isServer ? fe(e, t) : Vr(e, t);
};
function gt(e) {
let t = Q(e);
return se(() => {
t.current = e;
}, [e]), t;
}
let Z = function(e) {
let t = gt(e);
return V.useCallback((...n) => t.current(...n), [t]);
};
function xl(e) {
let t = e.width / 2, n = e.height / 2;
return { top: e.clientY - n, right: e.clientX + t, bottom: e.clientY + n, left: e.clientX - t };
}
function wl(e, t) {
return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
}
function El({ disabled: e = !1 } = {}) {
let t = Q(null), [n, r] = le(!1), o = St(), i = Z(() => {
t.current = null, r(!1), o.dispose();
}), a = Z((s) => {
if (o.dispose(), t.current === null) {
t.current = s.currentTarget, r(!0);
{
let l = Yt(s.currentTarget);
o.addEventListener(l, "pointerup", i, !1), o.addEventListener(l, "pointermove", (c) => {
if (t.current) {
let u = xl(c);
r(wl(u, t.current.getBoundingClientRect()));
}
}, !1), o.addEventListener(l, "pointercancel", i, !1);
}
}
});
return { pressed: n, pressProps: e ? {} : { onPointerDown: a, onPointerUp: i, onClick: i } };
}
let Ol = be(void 0);
function qr() {
return ue(Ol);
}
function gr(...e) {
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
}
function ke(e, t, ...n) {
if (e in t) {
let o = t[e];
return typeof o == "function" ? o(...n) : o;
}
let r = 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(r, ke), r;
}
var pn = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(pn || {}), Qe = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Qe || {});
function Ee() {
let e = Tl();
return ae((t) => Sl({ mergeRefs: e, ...t }), [e]);
}
function Sl({ ourProps: e, theirProps: t, slot: n, defaultTag: r, features: o, visible: i = !0, name: a, mergeRefs: s }) {
s = s ?? Al;
let l = na(t, e);
if (i) return Zt(l, n, r, a, s);
let c = o ?? 0;
if (c & 2) {
let { static: u = !1, ...d } = l;
if (u) return Zt(d, n, r, a, s);
}
if (c & 1) {
let { unmount: u = !0, ...d } = l;
return ke(u ? 0 : 1, { 0() {
return null;
}, 1() {
return Zt({ ...d, hidden: !0, style: { display: "none" } }, n, r, a, s);
} });
}
return Zt(l, n, r, a, s);
}
function Zt(e, t = {}, n, r, o) {
let { as: i = n, children: a, refName: s = "ref", ...l } = Dn(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [s]: e.ref } : {}, u = typeof a == "function" ? a(t) : a;
"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 d = {};
if (t) {
let p = !1, f = [];
for (let [m, g] of Object.entries(t)) typeof g == "boolean" && (p = !0), g === !0 && f.push(m.replace(/([A-Z])/g, (h) => `-${h.toLowerCase()}`));
if (p) {
d["data-headlessui-state"] = f.join(" ");
for (let m of f) d[`data-${m}`] = "";
}
}
if (i === Re && (Object.keys(Xe(l)).length > 0 || Object.keys(Xe(d)).length > 0)) if (!Vs(u) || Array.isArray(u) && u.length > 1) {
if (Object.keys(Xe(l)).length > 0) throw new Error(['Passing props on "Fragment"!', "", `The current component <${r} /> is rendering a "Fragment".`, "However we need to passthrough the following props:", Object.keys(Xe(l)).concat(Object.keys(Xe(d))).map((p) => ` - ${p}`).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((p) => ` - ${p}`).join(`
`)].join(`
`));
} else {
let p = u.props, f = p == null ? void 0 : p.className, m = typeof f == "function" ? (...b) => gr(f(...b), l.className) : gr(f, l.className), g = m ? { className: m } : {}, h = na(u.props, Xe(Dn(l, ["ref"])));
for (let b in d) b in h && delete d[b];
return Ys(u, Object.assign({}, h, d, c, { ref: o(Pl(u), c.ref) }, g));
}
return Gs(i, Object.assign({}, Dn(l, ["ref"]), i !== Re && c, i !== Re && d), u);
}
function Tl() {
let e = Q([]), t = ae((n) => {
for (let r of e.current) r != null && (typeof r == "function" ? r(n) : r.current = n);
}, []);
return (...n) => {
if (!n.every((r) => r == null)) return e.current = n, t;
};
}
function Al(...e) {
return e.every((t) => t == null) ? void 0 : (t) => {
for (let n of e) n != null && (typeof n == "function" ? n(t) : n.current = t);
};
}
function na(...e) {
if (e.length === 0) return {};
if (e.length === 1) return e[0];
let t = {}, n = {};
for (let r of e) for (let o in r) o.startsWith("on") && typeof r[o] == "function" ? (n[o] != null || (n[o] = []), n[o].push(r[o])) : t[o] = r[o];
if (t.disabled || t["aria-disabled"]) for (let r in n) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(r) && (n[r] = [(o) => {
var i;
return (i = o == null ? void 0 : o.preventDefault) == null ? void 0 : i.call(o);
}]);
for (let r in n) Object.assign(t, { [r](o, ...i) {
let a = n[r];
for (let s of a) {
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
s(o, ...i);
}
} });
return t;
}
function ra(...e) {
if (e.length === 0) return {};
if (e.length === 1) return e[0];
let t = {}, n = {};
for (let r of e) for (let o in r) o.startsWith("on") && typeof r[o] == "function" ? (n[o] != null || (n[o] = []), n[o].push(r[o])) : t[o] = r[o];
for (let r in n) Object.assign(t, { [r](...o) {
let i = n[r];
for (let a of i) a == null || a(...o);
} });
return t;
}
function xe(e) {
var t;
return Object.assign(Us(e), { displayName: (t = e.displayName) != null ? t : e.name });
}
function Xe(e) {
let t = Object.assign({}, e);
for (let n in t) t[n] === void 0 && delete t[n];
return t;
}
function Dn(e, t = []) {
let n = Object.assign({}, e);
for (let r of t) r in n && delete n[r];
return n;
}
function Pl(e) {
return V.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
}
function Cl(e, t, n) {
let [r, o] = le(n), i = e !== void 0, a = Q(i), s = Q(!1), l = Q(!1);
return i && !a.current && !s.current ? (s.current = !0, a.current = i, 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.")) : !i && a.current && !l.current && (l.current = !0, a.current = i, 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.")), [i ? e : r, Z((c) => (i || o(c), t == null ? void 0 : t(c)))];
}
function $l(e) {
let [t] = le(e);
return t;
}
function oa(e = {}, t = null, n = []) {
for (let [r, o] of Object.entries(e)) aa(n, ia(t, r), o);
return n;
}
function ia(e, t) {
return e ? e + "[" + t + "]" : t;
}
function aa(e, t, n) {
if (Array.isArray(n)) for (let [r, o] of n.entries()) aa(e, ia(t, r.toString()), o);
else n instanceof Date ? e.push([t, n.toISOString()]) : typeof n == "boolean" ? e.push([t, n ? "1" : "0"]) : typeof n == "string" ? e.push([t, n]) : typeof n == "number" ? e.push([t, `${n}`]) : n == null ? e.push([t, ""]) : oa(n, t, e);
}
function Rl(e) {
var t, n;
let r = (t = e == null ? void 0 : e.form) != null ? t : e.closest("form");
if (r) {
for (let o of r.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;
}
(n = r.requestSubmit) == null || n.call(r);
}
}
let kl = "span";
var Kr = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(Kr || {});
function Il(e, t) {
var n;
let { features: r = 1, ...o } = e, i = { ref: t, "aria-hidden": (r & 2) === 2 ? !0 : (n = o["aria-hidden"]) != null ? n : void 0, hidden: (r & 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", ...(r & 4) === 4 && (r & 2) !== 2 && { display: "none" } } };
return Ee()({ ourProps: i, theirProps: o, slot: {}, defaultTag: kl, name: "Hidden" });
}
let sa = xe(Il), Ll = be(null);
function Ml({ children: e }) {
let t = ue(Ll);
if (!t) return V.createElement(V.Fragment, null, e);
let { target: n } = t;
return n ? Wi(V.createElement(V.Fragment, null, e), n) : null;
}
function Fl({ data: e, form: t, disabled: n, onReset: r, overrides: o }) {
let [i, a] = le(null), s = St();
return fe(() => {
if (r && i) return s.addEventListener(i, "reset", r);
}, [i, t, r]), V.createElement(Ml, null, V.createElement(_l, { setForm: a, formId: t }), oa(e).map(([l, c]) => V.createElement(sa, { features: Kr.Hidden, ...Xe({ key: l, as: "input", type: "hidden", hidden: !0, readOnly: !0, form: t, disabled: n, name: l, value: c, ...o }) })));
}
function _l({ setForm: e, formId: t }) {
return fe(() => {
if (t) {
let n = document.getElementById(t);
n && e(n);
}
}, [e, t]), t ? null : V.createElement(sa, { features: Kr.Hidden, as: "input", type: "hidden", hidden: !0, readOnly: !0, ref: (n) => {
if (!n) return;
let r = n.closest("form");
r && e(r);
} });
}
let Nl = be(void 0);
function la() {
return ue(Nl);
}
function Dl(e) {
let t = e.parentElement, n = null;
for (; t && !(t instanceof HTMLFieldSetElement); ) t instanceof HTMLLegendElement && (n = t), t = t.parentElement;
let r = (t == null ? void 0 : t.getAttribute("disabled")) === "";
return r && jl(n) ? !1 : r;
}
function jl(e) {
if (!e) return !1;
let t = e.previousElementSibling;
for (; t !== null; ) {
if (t instanceof HTMLLegendElement) return !1;
t = t.previousElementSibling;
}
return !0;
}
let ca = Symbol();
function zl(e, t = !0) {
return Object.assign(e, { [ca]: t });
}
function Te(...e) {
let t = Q(e);
fe(() => {
t.current = e;
}, [e]);
let n = Z((r) => {
for (let o of t.current) o != null && (typeof o == "function" ? o(r) : o.current = r);
});
return e.every((r) => r == null || (r == null ? void 0 : r[ca])) ? void 0 : n;
}
let Xr = be(null);
Xr.displayName = "DescriptionContext";
function ua() {
let e = ue(Xr);
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, ua), t;
}
return e;
}
function Hl() {
var e, t;
return (t = (e = ue(Xr)) == null ? void 0 : e.value) != null ? t : void 0;
}
let Wl = "p";
function Bl(e, t) {
let n = Ot(), r = qr(), { id: o = `headlessui-description-${n}`, ...i } = e, a = ua(), s = Te(t);
se(() => a.register(o), [o, a.register]);
let l = r || !1, c = ce(() => ({ ...a.slot, disabled: l }), [a.slot, l]), u = { ref: s, ...a.props, id: o };
return Ee()({ ourProps: u, theirProps: i, slot: c, defaultTag: Wl, name: a.name || "Description" });
}
let Ul = xe(Bl);
Object.assign(Ul, {});
var de = ((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))(de || {});
let wn = be(null);
wn.displayName = "LabelContext";
function fa() {
let e = ue(wn);
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, fa), t;
}
return e;
}
function da(e) {
var t, n, r;
let o = (n = (t = ue(wn)) == null ? void 0 : t.value) != null ? n : void 0;
return ((r = e == null ? void 0 : e.length) != null ? r : 0) > 0 ? [o, ...e].filter(Boolean).join(" ") : o;
}
function Vl({ inherit: e = !1 } = {}) {
let t = da(), [n, r] = le([]), o = e ? [t, ...n].filter(Boolean) : n;
return [o.length > 0 ? o.join(" ") : void 0, ce(() => function(i) {
let a = Z((l) => (r((c) => [...c, l]), () => r((c) => {
let u = c.slice(), d = u.indexOf(l);
return d !== -1 && u.splice(d, 1), u;
}))), s = ce(() => ({ register: a, slot: i.slot, name: i.name, props: i.props, value: i.value }), [a, i.slot, i.name, i.props, i.value]);
return V.createElement(wn.Provider, { value: s }, i.children);
}, [r])];
}
let Yl = "label";
function Gl(e, t) {
var n;
let r = Ot(), o = fa(), i = la(), a = qr(), { id: s = `headlessui-label-${r}`, htmlFor: l = i ?? ((n = o.props) == null ? void 0 : n.htmlFor), passive: c = !1, ...u } = e, d = Te(t);
se(() => o.register(s), [s, o.register]);
let p = Z((h) => {
let b = h.currentTarget;
if (b instanceof HTMLLabelElement && h.preventDefault(), o.props && "onClick" in o.props && typeof o.props.onClick == "function" && o.props.onClick(h), b instanceof HTMLLabelElement) {
let x = document.getElementById(b.htmlFor);
if (x) {
let y = x.getAttribute("disabled");
if (y === "true" || y === "") return;
let E = x.getAttribute("aria-disabled");
if (E === "true" || E === "") 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 });
}
}
}), f = a || !1, m = ce(() => ({ ...o.slot, disabled: f }), [o.slot, f]), g = { ref: d, ...o.props, id: s, htmlFor: l, onClick: p };
return c && ("onClick" in g && (delete g.htmlFor, delete g.onClick), "onClick" in u && delete u.onClick), Ee()({ ourProps: g, theirProps: u, slot: m, defaultTag: l ? Yl : "div", name: o.name || "Label" });
}
let ql = xe(Gl), Kl = Object.assign(ql, {});
function Xl(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 Ql(e = Xl) {
return ae((t, n) => {
if (typeof e == "string") {
let r = e;
return (t == null ? void 0 : t[r]) === (n == null ? void 0 : n[r]);
}
return e(t, n);
}, [e]);
}
function Jl(e) {
if (e === null) return { width: 0, height: 0 };
let { width: t, height: n } = e.getBoundingClientRect();
return { width: t, height: n };
}
function Zl(e, t = !1) {
let [n, r] = qs(() => ({}), {}), o = ce(() => Jl(e), [e, n]);
return se(() => {
if (!e) return;
let i = new ResizeObserver(r);
return i.observe(e), () => {
i.disconnect();
};
}, [e]), t ? { width: `${o.width}px`, height: `${o.height}px` } : o;
}
let pa = class extends Map {
constructor(t) {
super(), this.factory = t;
}
get(t) {
let n = super.get(t);
return n === void 0 && (n = this.factory(t), this.set(t, n)), n;
}
};
function ma(e, t) {
let n = e(), r = /* @__PURE__ */ new Set();
return { getSnapshot() {
return n;
}, subscribe(o) {
return r.add(o), () => r.delete(o);
}, dispatch(o, ...i) {
let a = t[o].call(n, ...i);
a && (n = a, r.forEach((s) => s()));
} };
}
function ga(e) {
return Ks(e.subscribe, e.getSnapshot, e.getSnapshot);
}
let ec = new pa(() => ma(() => [], { ADD(e) {
return this.includes(e) ? this : [...this, e];
}, REMOVE(e) {
let t = this.indexOf(e);
if (t === -1) return this;
let n = this.slice();
return n.splice(t, 1), n;
} }));
function Qr(e, t) {
let n = ec.get(t), r = Ot(), o = ga(n);
if (se(() => {
if (e) return n.dispatch("ADD", r), () => n.dispatch("REMOVE", r);
}, [n, e]), !e) return !1;
let i = o.indexOf(r), a = o.length;
return i === -1 && (i = a, a += 1), i === a - 1;
}
let hr = /* @__PURE__ */ new Map(), Nt = /* @__PURE__ */ new Map();
function Ao(e) {
var t;
let n = (t = Nt.get(e)) != null ? t : 0;
return Nt.set(e, n + 1), n !== 0 ? () => Po(e) : (hr.set(e, { "aria-hidden": e.getAttribute("aria-hidden"), inert: e.inert }), e.setAttribute("aria-hidden", "true"), e.inert = !0, () => Po(e));
}
function Po(e) {
var t;
let n = (t = Nt.get(e)) != null ? t : 1;
if (n === 1 ? Nt.delete(e) : Nt.set(e, n - 1), n !== 1) return;
let r = hr.get(e);
r && (r["aria-hidden"] === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", r["aria-hidden"]), e.inert = r.inert, hr.delete(e));
}
function tc(e, { allowed: t, disallowed: n } = {}) {
let r = Qr(e, "inert-others");
se(() => {
var o, i;
if (!r) return;
let a = ze();
for (let l of (o = n == null ? void 0 : n()) != null ? o : []) l && a.add(Ao(l));
let s = (i = t == null ? void 0 : t()) != null ? i : [];
for (let l of s) {
if (!l) continue;
let c = Yt(l);
if (!c) continue;
let u = l.parentElement;
for (; u && u !== c.body; ) {
for (let d of u.children) s.some((p) => d.contains(p)) || a.add(Ao(d));
u = u.parentElement;
}
}
return a.dispose;
}, [r, t, n]);
}
function nc(e, t, n) {
let r = gt((o) => {
let i = o.getBoundingClientRect();
i.x === 0 && i.y === 0 && i.width === 0 && i.height === 0 && n();
});
fe(() => {
if (!e) return;
let o = t === null ? null : t instanceof HTMLElement ? t : t.current;
if (!o) return;
let i = ze();
if (typeof ResizeObserver < "u") {
let a = new ResizeObserver(() => r.current(o));
a.observe(o), i.add(() => a.disconnect());
}
if (typeof IntersectionObserver < "u") {
let a = new IntersectionObserver(() => r.current(o));
a.observe(o), i.add(() => a.disconnect());
}
return () => i.dispose();
}, [t, r, e]);
}
let vr = ["[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(","), rc = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
var br = ((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))(br || {}), oc = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(oc || {}), ic = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(ic || {});
function ha(e = document.body) {
return e == null ? [] : Array.from(e.querySelectorAll(vr)).sort((t, n) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (n.tabIndex || Number.MAX_SAFE_INTEGER)));
}
function ac(e = document.body) {
return e == null ? [] : Array.from(e.querySelectorAll(rc)).sort((t, n) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (n.tabIndex || Number.MAX_SAFE_INTEGER)));
}
var Jr = ((e) => (e[e.Strict = 0] = "Strict", e[e.Loose = 1] = "Loose", e))(Jr || {});
function va(e, t = 0) {
var n;
return e === ((n = Yt(e)) == null ? void 0 : n.body) ? !1 : ke(t, { 0() {
return e.matches(vr);
}, 1() {
let r = e;
for (; r !== null; ) {
if (r.matches(vr)) return !0;
r = r.parentElement;
}
return !1;
} });
}
var sc = ((e) => (e[e.Keyboard = 0] = "Keyboard", e[e.Mouse = 1] = "Mouse", e))(sc || {});
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 lc = ["textarea", "input"].join(",");
function cc(e) {
var t, n;
return (n = (t = e == null ? void 0 : e.matches) == null ? void 0 : t.call(e, lc)) != null ? n : !1;
}
function ba(e, t = (n) => n) {
return e.slice().sort((n, r) => {
let o = t(n), i = t(r);
if (o === null || i === null) return 0;
let a = o.compareDocumentPosition(i);
return a & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : a & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
});
}
function uc(e, t) {
return fc(ha(), t, { relativeTo: e });
}
function fc(e, t, { sorted: n = !0, relativeTo: r = null, skipElements: o = [] } = {}) {
let i = Array.isArray(e) ? e.length > 0 ? e[0].ownerDocument : document : e.ownerDocument, a = Array.isArray(e) ? n ? ba(e) : e : t & 64 ? ac(e) : ha(e);
o.length > 0 && a.length > 1 && (a = a.filter((f) => !o.some((m) => m != null && "current" in m ? (m == null ? void 0 : m.current) === f : m === f))), r = r ?? i.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, a.indexOf(r)) - 1;
if (t & 4) return Math.max(0, a.indexOf(r)) + 1;
if (t & 8) return a.length - 1;
throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
})(), c = t & 32 ? { preventScroll: !0 } : {}, u = 0, d = a.length, p;
do {
if (u >= d || u + d <= 0) return 0;
let f = l + u;
if (t & 16) f = (f + d) % d;
else {
if (f < 0) return 3;
if (f >= d) return 1;
}
p = a[f], p == null || p.focus(c), u += s;
} while (p !== i.activeElement);
return t & 6 && cc(p) && p.select(), 2;
}
function ya() {
return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0;
}
function dc() {
return /Android/gi.test(window.navigator.userAgent);
}
function pc() {
return ya() || dc();
}
function Rt(e, t, n, r) {
let o = gt(n);
fe(() => {
if (!e) return;
function i(a) {
o.current(a);
}
return document.addEventListener(t, i, r), () => document.removeEventListener(t, i, r);
}, [e, t, r]);
}
function mc(e, t, n, r) {
let o = gt(n);
fe(() => {
if (!e) return;
function i(a) {
o.current(a);
}
return window.addEventListener(t, i, r), () => window.removeEventListener(t, i, r);
}, [e, t, r]);
}
const Co = 30;
function gc(e, t, n) {
let r = Qr(e, "outside-click"), o = gt(n), i = ae(function(l, c) {
if (l.defaultPrevented) return;
let u = c(l);
if (u === null || !u.getRootNode().contains(u) || !u.isConnected) return;
let d = function p(f) {
return typeof f == "function" ? p(f()) : Array.isArray(f) || f instanceof Set ? f : [f];
}(t);
for (let p of d) if (p !== null && (p.contains(u) || l.composed && l.composedPath().includes(p))) return;
return !va(u, Jr.Loose) && u.tabIndex !== -1 && l.preventDefault(), o.current(l, u);
}, [o, t]), a = Q(null);
Rt(r, "pointerdown", (l) => {
var c, u;
a.current = ((u = (c = l.composedPath) == null ? void 0 : c.call(l)) == null ? void 0 : u[0]) || l.target;
}, !0), Rt(r, "mousedown", (l) => {
var c, u;
a.current = ((u = (c = l.composedPath) == null ? void 0 : c.call(l)) == null ? void 0 : u[0]) || l.target;
}, !0), Rt(r, "click", (l) => {
pc() || a.current && (i(l, () => a.current), a.current = null);
}, !0);
let s = Q({ x: 0, y: 0 });
Rt(r, "touchstart", (l) => {
s.current.x = l.touches[0].clientX, s.current.y = l.touches[0].clientY;
}, !0), Rt(r, "touchend", (l) => {
let c = { x: l.changedTouches[0].clientX, y: l.changedTouches[0].clientY };
if (!(Math.abs(c.x - s.current.x) >= Co || Math.abs(c.y - s.current.y) >= Co)) return i(l, () => l.target instanceof HTMLElement ? l.target : null);
}, !0), mc(r, "blur", (l) => i(l, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), !0);
}
function yr(...e) {
return ce(() => Yt(...e), [...e]);
}
function hc(e, t) {
return ce(() => {
var n;
if (e.type) return e.type;
let r = (n = e.as) != null ? n : "button";
if (typeof r == "string" && r.toLowerCase() === "button" || (t == null ? void 0 : t.tagName) === "BUTTON" && !t.hasAttribute("type")) return "button";
}, [e.type, e.as, t]);
}
function vc() {
let e;
return { before({ doc: t }) {
var n;
let r = t.documentElement, o = (n = t.defaultView) != null ? n : window;
e = Math.max(0, o.innerWidth - r.clientWidth);
}, after({ doc: t, d: n }) {
let r = t.documentElement, o = Math.max(0, r.clientWidth - r.offsetWidth), i = Math.max(0, e - o);
n.style(r, "paddingRight", `${i}px`);
} };
}
function bc() {
return ya() ? { before({ doc: e, d: t, meta: n }) {
function r(o) {
return n.containers.flatMap((i) => i()).some((i) => i.contains(o));
}
t.microTask(() => {
var o;
if (window.getComputedStyle(e.documentElement).scrollBehavior !== "auto") {
let s = ze();
s.style(e.documentElement, "scrollBehavior", "auto"), t.add(() => t.microTask(() => s.dispose()));
}
let i = (o = window.scrollY) != null ? o : window.pageYOffset, a = 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 && !r(u) && (a = u);
} catch {
}
}, !0), t.addEventListener(e, "touchstart", (s) => {
if (s.target instanceof HTMLElement) if (r(s.target)) {
let l = s.target;
for (; l.parentElement && r(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 (r(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;
i !== l && window.scrollTo(0, i), a && a.isConnected && (a.scrollIntoView({ block: "nearest" }), a = null);
});
});
} } : {};
}
function yc() {
return { before({ doc: e, d: t }) {
t.style(e.documentElement, "overflow", "hidden");
} };
}
function xc(e) {
let t = {};
for (let n of e) Object.assign(t, n(t));
return t;
}
let it = ma(() => /* @__PURE__ */ new Map(), { PUSH(e, t) {
var n;
let r = (n = this.get(e)) != null ? n : { doc: e, count: 0, d: ze(), meta: /* @__PURE__ */ new Set() };
return r.count++, r.meta.add(t), this.set(e, r), this;
}, POP(e, t) {
let n = this.get(e);
return n && (n.count--, n.meta.delete(t)), this;
}, SCROLL_PREVENT({ doc: e, d: t, meta: n }) {
let r = { doc: e, d: t, meta: xc(n) }, o = [bc(), vc(), yc()];
o.forEach(({ before: i }) => i == null ? void 0 : i(r)), o.forEach(({ after: i }) => i == null ? void 0 : i(r));
}, SCROLL_ALLOW({ d: e }) {
e.dispose();
}, TEARDOWN({ doc: e }) {
this.delete(e);
} });
it.subscribe(() => {
let e = it.getSnapshot(), t = /* @__PURE__ */ new Map();
for (let [n] of e) t.set(n, n.documentElement.style.overflow);
for (let n of e.values()) {
let r = t.get(n.doc) === "hidden", o = n.count !== 0;
(o && !r || !o && r) && it.dispatch(n.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", n), n.count === 0 && it.dispatch("TEARDOWN", n);
}
});
function wc(e, t, n = () => ({ containers: [] })) {
let r = ga(it), o = t ? r.get(t) : void 0, i = o ? o.count > 0 : !1;
return se(() => {
if (!(!t || !e)) return it.dispatch("PUSH", t, n), () => it.dispatch("POP", t, n);
}, [e, t]), i;
}
function Ec(e, t, n = () => [document.body]) {
let r = Qr(e, "scroll-lock");
wc(r, t, (o) => {
var i;
return { containers: [...(i = o.containers) != null ? i : [], n] };
});
}
function $o(e) {
return [e.screenX, e.screenY];
}
function Oc() {
let e = Q([-1, -1]);
return { wasMoved(t) {
let n = $o(t);
return e.current[0] === n[0] && e.current[1] === n[1] ? !1 : (e.current = n, !0);
}, update(t) {
e.current = $o(t);
} };
}
function Sc(e = 0) {
let [t, n] = le(e), r = ae((l) => n(l), [t]), o = ae((l) => n((c) => c | l), [t]), i = ae((l) => (t & l) === l, [t]), a = ae((l) => n((c) => c & ~l), [n]), s = ae((l) => n((c) => c ^ l), [n]);
return { flags: t, setFlag: r, addFlag: o, hasFlag: i, removeFlag: a, toggleFlag: s };
}
var Ro, ko;
typeof process < "u" && typeof globalThis < "u" && typeof Element < "u" && ((Ro = process == null ? void 0 : process.env) == null ? void 0 : Ro.NODE_ENV) === "test" && typeof ((ko = Element == null ? void 0 : Element.prototype) == null ? void 0 : ko.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 Tc = ((e) => (e[e.None = 0] = "None", e[e.Closed = 1] = "Closed", e[e.Enter = 2] = "Enter", e[e.Leave = 4] = "Leave", e))(Tc || {});
function xa(e) {
let t = {};
for (let n in e) e[n] === !0 && (t[`data-${n}`] = "");
return t;
}
function wa(e, t, n, r) {
let [o, i] = le(n), { hasFlag: a, addFlag: s, removeFlag: l } = Sc(e && o ? 3 : 0), c = Q(!1), u = Q(!1), d = St();
return se(() => {
var p;
if (e) {
if (n && i(!0), !t) {
n && s(3);
return;
}
return (p = r == null ? void 0 : r.start) == null || p.call(r, n), Ac(t, { inFlight: c, prepare() {
u.current ? u.current = !1 : u.current = c.current, c.current = !0, !u.current && (n ? (s(3), l(4)) : (s(4), l(2)));
}, run() {
u.current ? n ? (l(3), s(4)) : (l(4), s(3)) : n ? l(1) : s(1);
}, done() {
var f;
u.current && typeof t.getAnimations == "function" && t.getAnimations().length > 0 || (c.current = !1, l(7), n || i(!1), (f = r == null ? void 0 : r.end) == null || f.call(r, n));
} });
}
}, [e, n, t, d]), e ? [o, { closed: a(1), enter: a(2), leave: a(4), transition: a(2) || a(4) }] : [n, { closed: void 0, enter: void 0, leave: void 0, transition: void 0 }];
}
function Ac(e, { prepare: t, run: n, done: r, inFlight: o }) {
let i = ze();
return Cc(e, { prepare: t, inFlight: o }), i.nextFrame(() => {
n(), i.requestAnimationFrame(() => {
i.add(Pc(e, r));
});
}), i.dispose;
}
function Pc(e, t) {
var n, r;
let o = ze();
if (!e) return o.dispose;
let i = !1;
o.add(() => {
i = !0;
});
let a = (r = (n = e.getAnimations) == null ? void 0 : n.call(e).filter((s) => s instanceof CSSTransition)) != null ? r : [];
return a.length === 0 ? (t(), o.dispose) : (Promise.allSettled(a.map((s) => s.finished)).then(() => {
i || t();
}), o.dispose);
}
function Cc(e, { inFlight: t, prepare: n }) {
if (t != null && t.current) {
n();
return;
}
let r = e.style.transition;
e.style.transition = "none", n(), e.offsetHeight, e.style.transition = r;
}
function En() {
return typeof window < "u";
}
function Tt(e) {
return Ea(e) ? (e.nodeName || "").toLowerCase() : "#document";
}
function we(e) {
var t;
return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
}
function He(e) {
var t;
return (t = (Ea(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;
}
function Ea(e) {
return En() ? e instanceof Node || e instanceof we(e).Node : !1;
}
function he(e) {
return En() ? e instanceof Element || e instanceof we(e).Element : !1;
}
function je(e) {
return En() ? e instanceof HTMLElement || e instanceof we(e).HTMLElement : !1;
}
function Io(e) {
return !En() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof we(e).ShadowRoot;
}
function Gt(e) {
const {
overflow: t,
overflowX: n,
overflowY: r,
display: o
} = Ie(e);
return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && !["inline", "contents"].includes(o);
}
function $c(e) {
return ["table", "td", "th"].includes(Tt(e));
}
function On(e) {
return [":popover-open", ":modal"].some((t) => {
try {
return e.matches(t);
} catch {
return !1;
}
});
}
function Zr(e) {
const t = eo(), n = he(e) ? Ie(e) : e;
return ["transform", "translate", "scale", "rotate", "perspective"].some((r) => n[r] ? n[r] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((r) => (n.willChange || "").includes(r)) || ["paint", "layout", "strict", "content"].some((r) => (n.contain || "").includes(r));
}
function Rc(e) {
let t = Je(e);
for (; je(t) && !wt(t); ) {
if (Zr(t))
return t;
if (On(t))
return null;
t = Je(t);
}
return null;
}
function eo() {
return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
}
function wt(e) {
return ["html", "body", "#document"].includes(Tt(e));
}
function Ie(e) {
return we(e).getComputedStyle(e);
}
function Sn(e) {
return he(e) ? {
scrollLeft: e.scrollLeft,
scrollTop: e.scrollTop
} : {
scrollLeft: e.scrollX,
scrollTop: e.scrollY
};
}
function Je(e) {
if (Tt(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.
Io(e) && e.host || // Fallback.
He(e)
);
return Io(t) ? t.host : t;
}
function Oa(e) {
const t = Je(e);
return wt(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : je(t) && Gt(t) ? t : Oa(t);
}
function zt(e, t, n) {
var r;
t === void 0 && (t = []), n === void 0 && (n = !0);
const o = Oa(e), i = o === ((r = e.ownerDocument) == null ? void 0 : r.body), a = we(o);
if (i) {
const s = xr(a);
return t.concat(a, a.visualViewport || [], Gt(o) ? o : [], s && n ? zt(s) : []);
}
return t.concat(o, zt(o, [], n));
}
function xr(e) {
return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
}
function kc() {
const e = navigator.userAgentData;
return e && Array.isArray(e.brands) ? e.brands.map((t) => {
let {
brand: n,
version: r
} = t;
return n + "/" + r;
}).join(" ") : navigator.userAgent;
}
const ut = Math.min, ge = Math.max, Ht = Math.round, en = Math.floor, De = (e) => ({
x: e,
y: e
}), Ic = {
left: "right",
right: "left",
bottom: "top",
top: "bottom"
}, Lc = {
start: "end",
end: "start"
};
function Lo(e, t, n) {
return ge(e, ut(t, n));
}
function At(e, t) {
return typeof e == "function" ? e(t) : e;
}
function Ze(e) {
return e.split("-")[0];
}
function qt(e) {
return e.split("-")[1];
}
function Sa(e) {
return e === "x" ? "y" : "x";
}
function Ta(e) {
return e === "y" ? "height" : "width";
}
function ft(e) {
return ["top", "bottom"].includes(Ze(e)) ? "y" : "x";
}
function Aa(e) {
return Sa(ft(e));
}
function Mc(e, t, n) {
n === void 0 && (n = !1);
const r = qt(e), o = Aa(e), i = Ta(o);
let a = o === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
return t.reference[i] > t.floating[i] && (a = mn(a)), [a, mn(a)];
}
function Fc(e) {
const t = mn(e);
return [wr(e), t, wr(t)];
}
function wr(e) {
return e.replace(/start|end/g, (t) => Lc[t]);
}
function _c(e, t, n) {
const r = ["left", "right"], o = ["right", "left"], i = ["top", "bottom"], a = ["bottom", "top"];
switch (e) {
case "top":
case "bottom":
return n ? t ? o : r : t ? r : o;
case "left":
case "right":
return t ? i : a;
default:
return [];
}
}
function Nc(e, t, n, r) {
const o = qt(e);
let i = _c(Ze(e), n === "start", r);
return o && (i = i.map((a) => a + "-" + o), t && (i = i.concat(i.map(wr)))), i;
}
function mn(e) {
return e.replace(/left|right|bottom|top/g, (t) => Ic[t]);
}
function Dc(e) {
return {
top: 0,
right: 0,
bottom: 0,
left: 0,
...e
};
}
function jc(e) {
return typeof e != "number" ? Dc(e) : {
top: e,
right: e,
bottom: e,
left: e
};
}
function gn(e) {
const {
x: t,
y: n,
width: r,
height: o
} = e;
return {
width: r,
height: o,
top: n,
left: t,
right: t + r,
bottom: n + o,
x: t,
y: n
};
}
function Mo(e, t, n) {
let {
reference: r,
floating: o
} = e;
const i = ft(t), a = Aa(t), s = Ta(a), l = Ze(t), c = i === "y", u = r.x + r.width / 2 - o.width / 2, d = r.y + r.height / 2 - o.height / 2, p = r[s] / 2 - o[s] / 2;
let f;
switch (l) {
case "top":
f = {
x: u,
y: r.y - o.height
};
break;
case "bottom":
f = {
x: u,
y: r.y + r.height
};
break;
case "right":
f = {
x: r.x + r.width,
y: d
};
break;
case "left":
f = {
x: r.x - o.width,
y: d
};
break;
default:
f = {
x: r.x,
y: r.y
};
}
switch (qt(t)) {
case "start":
f[a] -= p * (n && c ? -1 : 1);
break;
case "end":
f[a] += p * (n && c ? -1 : 1);
break;
}
return f;
}
const zc = async (e, t, n) => {
const {
placement: r = "bottom",
strategy: o = "absolute",
middleware: i = [],
platform: a
} = n, s = i.filter(Boolean), l = await (a.isRTL == null ? void 0 : a.isRTL(t));
let c = await a.getElementRects({
reference: e,
floating: t,
strategy: o
}), {
x: u,
y: d
} = Mo(c, r, l), p = r, f = {}, m = 0;
for (let g = 0; g < s.length; g++) {
const {
name: h,
fn: b
} = s[g], {
x,
y,
data: E,
reset: v
} = await b({
x: u,
y: d,
initialPlacement: r,
placement: p,
strategy: o,
middlewareData: f,
rects: c,
platform: a,
elements: {
reference: e,
floating: t
}
});
u = x ?? u, d = y ?? d, f = {
...f,
[h]: {
...f[h],
...E
}
}, v && m <= 50 && (m++, typeof v == "object" && (v.placement && (p = v.placement), v.rects && (c = v.rects === !0 ? await a.getElementRects({
reference: e,
floating: t,
strategy: o
}) : v.rects), {
x: u,
y: d
} = Mo(c, p, l)), g = -1);
}
return {
x: u,
y: d,
placement: p,
strategy: o,
middlewareData: f
};
};
async function Tn(e, t) {
var n;
t === void 0 && (t = {});
const {
x: r,
y: o,
platform: i,
rects: a,
elements: s,
strategy: l
} = e, {
boundary: c = "clippingAncestors",
rootBoundary: u = "viewport",
elementContext: d = "floating",
altBoundary: p = !1,
padding: f = 0
} = At(t, e), m = jc(f), h = s[p ? d === "floating" ? "reference" : "floating" : d], b = gn(await i.getClippingRect({
element: (n = await (i.isElement == null ? void 0 : i.isElement(h))) == null || n ? h : h.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(s.floating)),
boundary: c,
rootBoundary: u,
strategy: l
})), x = d === "floating" ? {
x: r,
y: o,
width: a.floating.width,
height: a.floating.height
} : a.reference, y = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(s.floating)), E = await (i.isElement == null ? void 0 : i.isElement(y)) ? await (i.getScale == null ? void 0 : i.getScale(y)) || {
x: 1,
y: 1
} : {
x: 1,
y: 1
}, v = gn(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
elements: s,
rect: x,
offsetParent: y,
strategy: l
}) : x);
return {
top: (b.top - v.top + m.top) / E.y,
bottom: (v.bottom - b.bottom + m.bottom) / E.y,
left: (b.left - v.left + m.left) / E.x,
right: (v.right - b.right + m.right) / E.x
};
}
const Hc = function(e) {
return e === void 0 && (e = {}), {
name: "flip",
options: e,
async fn(t) {
var n, r;
const {
placement: o,
middlewareData: i,
rects: a,
initialPlacement: s,
platform: l,
elements: c
} = t, {
mainAxis: u = !0,
crossAxis: d = !0,
fallbackPlacements: p,
fallbackStrategy: f = "bestFit",
fallbackAxisSideDirection: m = "none",
flipAlignment: g = !0,
...h
} = At(e, t);
if ((n = i.arrow) != null && n.alignmentOffset)
return {};
const b = Ze(o), x = ft(s), y = Ze(s) === s, E = await (l.isRTL == null ? void 0 : l.isRTL(c.floating)), v = p || (y || !g ? [mn(s)] : Fc(s)), C = m !== "none";
!p && C && v.push(...Nc(s, g, m, E));
const $ = [s, ...v], G = await Tn(t, h), J = [];
let P = ((r = i.flip) == null ? void 0 : r.overflows) || [];
if (u && J.push(G[b]), d) {
const R = Mc(o, a, E);
J.push(G[R[0]], G[R[1]]);
}
if (P = [...P, {
placement: o,
overflows: J
}], !J.every((R) => R <= 0)) {
var _, L;
const R = (((_ = i.flip) == null ? void 0 : _.index) || 0) + 1, re = $[R];
if (re)
return {
data: {
index: R,
overflows: P
},
reset: {
placement: re
}
};
let Y = (L = P.filter((ee) => ee.overflows[0] <= 0).sort((ee, N) => ee.overflows[1] - N.overflows[1])[0]) == null ? void 0 : L.placement;
if (!Y)
switch (f) {
case "bestFit": {
var K;
const ee = (K = P.filter((N) => {
if (C) {
const B = ft(N.placement);
return B === x || // Create a bias to the `y` side axis due to horizontal
// reading directions favoring greater width.
B === "y";
}
return !0;
}).map((N) => [N.placement, N.overflows.filter((B) => B > 0).reduce((B, w) => B + w, 0)]).sort((N, B) => N[1] - B[1])[0]) == null ? void 0 : K[0];
ee && (Y = ee);
break;
}
case "initialPlacement":
Y = s;
break;
}
if (o !== Y)
return {
reset: {
placement: Y
}
};
}
return {};
}
};
};
async function Wc(e, t) {
const {
placement: n,
platform: r,
elements: o
} = e, i = await (r.isRTL == null ? void 0 : r.isRTL(o.floating)), a = Ze(n), s = qt(n), l = ft(n) === "y", c = ["left", "top"].includes(a) ? -1 : 1, u = i && l ? -1 : 1, d = At(t, e);
let {
mainAxis: p,
crossAxis: f,
alignmentAxis: m
} = typeof d == "number" ? {
mainAxis: d,
crossAxis: 0,
alignmentAxis: null
} : {
mainAxis: d.mainAxis || 0,
crossAxis: d.crossAxis || 0,
alignmentAxis: d.alignmentAxis
};
return s && typeof m == "number" && (f = s === "end" ? m * -1 : m), l ? {
x: f * u,
y: p * c
} : {
x: p * c,
y: f * u
};
}
const Bc = function(e) {
return e === void 0 && (e = 0), {
name: "offset",
options: e,
async fn(t) {
var n, r;
const {
x: o,
y: i,
placement: a,
middlewareData: s
} = t, l = await Wc(t, e);
return a === ((n = s.offset) == null ? void 0 : n.placement) && (r = s.arrow) != null && r.alignmentOffset ? {} : {
x: o + l.x,
y: i + l.y,
data: {
...l,
placement: a
}
};
}
};
}, Uc = function(e) {
return e === void 0 && (e = {}), {
name: "shift",
options: e,
async fn(t) {
const {
x: n,
y: r,
placement: o
} = t, {
mainAxis: i = !0,
crossAxis: a = !1,
limiter: s = {
fn: (h) => {
let {
x: b,
y: x
} = h;
return {
x: b,
y: x
};
}
},
...l
} = At(e, t), c = {
x: n,
y: r
}, u = await Tn(t, l), d = ft(Ze(o)), p = Sa(d);
let f = c[p], m = c[d];
if (i) {
const h = p === "y" ? "top" : "left", b = p === "y" ? "bottom" : "right", x = f + u[h], y = f - u[b];
f = Lo(x, f, y);
}
if (a) {
const h = d === "y" ? "top" : "left", b = d === "y" ? "bottom" : "right", x = m + u[h], y = m - u[b];
m = Lo(x, m, y);
}
const g = s.fn({
...t,
[p]: f,
[d]: m
});
return {
...g,
data: {
x: g.x - n,
y: g.y - r,
enabled: {
[p]: i,
[d]: a
}
}
};
}
};
}, Vc = function(e) {
return e === void 0 && (e = {}), {
name: "size",
options: e,
async fn(t) {
var n, r;
const {
placement: o,
rects: i,
platform: a,
elements: s
} = t, {
apply: l = () => {
},
...c
} = At(e, t), u = await Tn(t, c), d = Ze(o), p = qt(o), f = ft(o) === "y", {
width: m,
height: g
} = i.floating;
let h, b;
d === "top" || d === "bottom" ? (h = d, b = p === (await (a.isRTL == null ? void 0 : a.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (b = d, h = p === "end" ? "top" : "bottom");
const x = g - u.top - u.bottom, y = m - u.left - u.right, E = ut(g - u[h], x), v = ut(m - u[b], y), C = !t.middlewareData.shift;
let $ = E, G = v;
if ((n = t.middlewareData.shift) != null && n.enabled.x && (G = y), (r = t.middlewareData.shift) != null && r.enabled.y && ($ = x), C && !p) {
const P = ge(u.left, 0), _ = ge(u.right, 0), L = ge(u.top, 0), K = ge(u.bottom, 0);
f ? G = m - 2 * (P !== 0 || _ !== 0 ? P + _ : ge(u.left, u.right)) : $ = g - 2 * (L !== 0 || K !== 0 ? L + K : ge(u.top, u.bottom));
}
await l({
...t,
availableWidth: G,
availableHeight: $
});
const J = await a.getDimensions(s.floating);
return m !== J.width || g !== J.height ? {
reset: {
rects: !0
}
} : {};
}
};
};
function Pa(e) {
const t = Ie(e);
let n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0;
const o = je(e), i = o ? e.offsetWidth : n, a = o ? e.offsetHeight : r, s = Ht(n) !== i || Ht(r) !== a;
return s && (n = i, r = a), {
width: n,
height: r,
$: s
};
}
function to(e) {
return he(e) ? e : e.contextElement;
}
function bt(e) {
const t = to(e);
if (!je(t))
return De(1);
const n = t.getBoundingClientRect(), {
width: r,
height: o,
$: i
} = Pa(t);
let a = (i ? Ht(n.width) : n.width) / r, s = (i ? Ht(n.height) : n.height) / o;
return (!a || !Number.isFinite(a)) && (a = 1), (!s || !Number.isFinite(s)) && (s = 1), {
x: a,
y: s
};
}
const Yc = /* @__PURE__ */ De(0);
function Ca(e) {
const t = we(e);
return !eo() || !t.visualViewport ? Yc : {
x: t.visualViewport.offsetLeft,
y: t.visualViewport.offsetTop
};
}
function Gc(e, t, n) {
return t === void 0 && (t = !1), !n || t && n !== we(e) ? !1 : t;
}
function dt(e, t, n, r) {
t === void 0 && (t = !1), n === void 0 && (n = !1);
const o = e.getBoundingClientRect(), i = to(e);
let a = De(1);
t && (r ? he(r) && (a = bt(r)) : a = bt(e));
const s = Gc(i, n, r) ? Ca(i) : De(0);
let l = (o.left + s.x) / a.x, c = (o.top + s.y) / a.y, u = o.width / a.x, d = o.height / a.y;
if (i) {
const p = we(i), f = r && he(r) ? we(r) : r;
let m = p, g = xr(m);
for (; g && r && f !== m; ) {
const h = bt(g), b = g.getBoundingClientRect(), x = Ie(g), y = b.left + (g.clientLeft + parseFloat(x.paddingLeft)) * h.x, E = b.top + (g.clientTop + parseFloat(x.paddingTop)) * h.y;
l *= h.x, c *= h.y, u *= h.x, d *= h.y, l += y, c += E, m = we(g), g = xr(m);
}
}
return gn({
width: u,
height: d,
x: l,
y: c
});
}
function no(e, t) {
const n = Sn(e).scrollLeft;
return t ? t.left + n : dt(He(e)).left + n;
}
function $a(e, t, n) {
n === void 0 && (n = !1);
const r = e.getBoundingClientRect(), o = r.left + t.scrollLeft - (n ? 0 : (
// RTL <body> scrollbar.
no(e, r)
)), i = r.top + t.scrollTop;
return {
x: o,
y: i
};
}
function qc(e) {
let {
elements: t,
rect: n,
offsetParent: r,
strategy: o
} = e;
const i = o === "fixed", a = He(r), s = t ? On(t.floating) : !1;
if (r === a || s && i)
return n;
let l = {
scrollLeft: 0,
scrollTop: 0
}, c = De(1);
const u = De(0), d = je(r);
if ((d || !d && !i) && ((Tt(r) !== "body" || Gt(a)) && (l = Sn(r)), je(r))) {
const f = dt(r);
c = bt(r), u.x = f.x + r.clientLeft, u.y = f.y + r.clientTop;
}
const p = a && !d && !i ? $a(a, l, !0) : De(0);
return {
width: n.width * c.x,
height: n.height * c.y,
x: n.x * c.x - l.scrollLeft * c.x + u.x + p.x,
y: n.y * c.y - l.scrollTop * c.y + u.y + p.y
};
}
function Kc(e) {
return Array.from(e.getClientRects());
}
function Xc(e) {
const t = He(e), n = Sn(e), r = e.ownerDocument.body, o = ge(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), i = ge(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight);
let a = -n.scrollLeft + no(e);
const s = -n.scrollTop;
return Ie(r).direction === "rtl" && (a += ge(t.clientWidth, r.clientWidth) - o), {
width: o,
height: i,
x: a,
y: s
};
}
function Qc(e, t) {
const n = we(e), r = He(e), o = n.visualViewport;
let i = r.clientWidth, a = r.clientHeight, s = 0, l = 0;
if (o) {
i = o.width, a = o.height;
const c = eo();
(!c || c && t === "fixed") && (s = o.offsetLeft, l = o.offsetTop);
}
return {
width: i,
height: a,
x: s,
y: l
};
}
function Jc(e, t) {
const n = dt(e, !0, t === "fixed"), r = n.top + e.clientTop, o = n.left + e.clientLeft, i = je(e) ? bt(e) : De(1), a = e.clientWidth * i.x, s = e.clientHeight * i.y, l = o * i.x, c = r * i.y;
return {
width: a,
height: s,
x: l,
y: c
};
}
function Fo(e, t, n) {
let r;
if (t === "viewport")
r = Qc(e, n);
else if (t === "document")
r = Xc(He(e));
else if (he(t))
r = Jc(t, n);
else {
const o = Ca(e);
r = {
x: t.x - o.x,
y: t.y - o.y,
width: t.width,
height: t.height
};
}
return gn(r);
}
function Ra(e, t) {
const n = Je(e);
return n === t || !he(n) || wt(n) ? !1 : Ie(n).position === "fixed" || Ra(n, t);
}
function Zc(e, t) {
const n = t.get(e);
if (n)
return n;
let r = zt(e, [], !1).filter((s) => he(s) && Tt(s) !== "body"), o = null;
const i = Ie(e).position === "fixed";
let a = i ? Je(e) : e;
for (; he(a) && !wt(a); ) {
const s = Ie(a), l = Zr(a);
!l && s.position === "fixed" && (o = null), (i ? !l && !o : !l && s.position === "static" && !!o && ["absolute", "fixed"].includes(o.position) || Gt(a) && !l && Ra(e, a)) ? r = r.filter((u) => u !== a) : o = s, a = Je(a);
}
return t.set(e, r), r;
}
function eu(e) {
let {
element: t,
boundary: n,
rootBoundary: r,
strategy: o
} = e;
const a = [...n === "clippingAncestors" ? On(t) ? [] : Zc(t, this._c) : [].concat(n), r], s = a[0], l = a.reduce((c, u) => {
const d = Fo(t, u, o);
return c.top = ge(d.top, c.top), c.right = ut(d.right, c.right), c.bottom = ut(d.bottom, c.bottom), c.left = ge(d.left, c.left), c;
}, Fo(t, s, o));
return {
width: l.right - l.left,
height: l.bottom - l.top,
x: l.left,
y: l.top
};
}
function tu(e) {
const {
width: t,
height: n
} = Pa(e);
return {
width: t,
height: n
};
}
function nu(e, t, n) {
const r = je(t), o = He(t), i = n === "fixed", a = dt(e, !0, i, t);
let s = {
scrollLeft: 0,
scrollTop: 0
};
const l = De(0);
if (r || !r && !i)
if ((Tt(t) !== "body" || Gt(o)) && (s = Sn(t)), r) {
const p = dt(t, !0, i, t);
l.x = p.x + t.clientLeft, l.y = p.y + t.clientTop;
} else o && (l.x = no(o));
const c = o && !r && !i ? $a(o, s) : De(0), u = a.left + s.scrollLeft - l.x - c.x, d = a.top + s.scrollTop - l.y - c.y;
return {
x: u,
y: d,
width: a.width,
height: a.height
};
}
function jn(e) {
return Ie(e).position === "static";
}
function _o(e, t) {
if (!je(e) || Ie(e).position === "fixed")
return null;
if (t)
return t(e);
let n = e.offsetParent;
return He(e) === n && (n = n.ownerDocument.body), n;
}
function ka(e, t) {
const n = we(e);
if (On(e))
return n;
if (!je(e)) {
let o = Je(e);
for (; o && !wt(o); ) {
if (he(o) && !jn(o))
return o;
o = Je(o);
}
return n;
}
let r = _o(e, t);
for (; r && $c(r) && jn(r); )
r = _o(r, t);
return r && wt(r) && jn(r) && !Zr(r) ? n : r || Rc(e) || n;
}
const ru = async function(e) {
const t = this.getOffsetParent || ka, n = this.getDimensions, r = await n(e.floating);
return {
reference: nu(e.reference, await t(e.floating), e.strategy),
floating: {
x: 0,
y: 0,
width: r.width,
height: r.height
}
};
};
function ou(e) {
return Ie(e).direction === "rtl";
}
const iu = {
convertOffsetParentRelativeRectToViewportRelativeRect: qc,
getDocumentElement: He,
getClippingRect: eu,
getOffsetParent: ka,
getElementRects: ru,
getClientRects: Kc,
getDimensions: tu,
getScale: bt,
isElement: he,
isRTL: ou
};
function Ia(e, t) {
return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
}
function au(e, t) {
let n = null, r;
const o = He(e);
function i() {
var s;
clearTimeout(r), (s = n) == null || s.disconnect(), n = null;
}
function a(s, l) {
s === void 0 && (s = !1), l === void 0 && (l = 1), i();
const c = e.getBoundingClientRect(), {
left: u,
top: d,
width: p,
height: f
} = c;
if (s || t(), !p || !f)
return;
const m = en(d), g = en(o.clientWidth - (u + p)), h = en(o.clientHeight - (d + f)), b = en(u), y = {
rootMargin: -m + "px " + -g + "px " + -h + "px " + -b + "px",
threshold: ge(0, ut(1, l)) || 1
};
let E = !0;
function v(C) {
const $ = C[0].intersectionRatio;
if ($ !== l) {
if (!E)
return a();
$ ? a(!1, $) : r = setTimeout(() => {
a(!1, 1e-7);
}, 1e3);
}
$ === 1 && !Ia(c, e.getBoundingClientRect()) && a(), E = !1;
}
try {
n = new IntersectionObserver(v, {
...y,
// Handle <iframe>s
root: o.ownerDocument
});
} catch {
n = new IntersectionObserver(v, y);
}
n.observe(e);
}
return a(!0), i;
}
function su(e, t, n, r) {
r === void 0 && (r = {});
const {
ancestorScroll: o = !0,
ancestorResize: i = !0,
elementResize: a = typeof ResizeObserver == "function",
layoutShift: s = typeof IntersectionObserver == "function",
animationFrame: l = !1
} = r, c = to(e), u = o || i ? [...c ? zt(c) : [], ...zt(t)] : [];
u.forEach((b) => {
o && b.addEventListener("scroll", n, {
passive: !0
}), i && b.addEventListener("resize", n);
});
const d = c && s ? au(c, n) : null;
let p = -1, f = null;
a && (f = new ResizeObserver((b) => {
let [x] = b;
x && x.target === c && f && (f.unobserve(t), cancelAnimationFrame(p), p = requestAnimationFrame(() => {
var y;
(y = f) == null || y.observe(t);
})), n();
}), c && !l && f.observe(c), f.observe(t));
let m, g = l ? dt(e) : null;
l && h();
function h() {
const b = dt(e);
g && !Ia(g, b) && n(), g = b, m = requestAnimationFrame(h);
}
return n(), () => {
var b;
u.forEach((x) => {
o && x.removeEventListener("scroll", n), i && x.removeEventListener("resize", n);
}), d == null || d(), (b = f) == null || b.disconnect(), f = null, l && cancelAnimationFrame(m);
};
}
const zn = Tn, lu = Bc, cu = Uc, uu = Hc, fu = Vc, du = (e, t, n) => {
const r = /* @__PURE__ */ new Map(), o = {
platform: iu,
...n
}, i = {
...o.platform,
_c: r
};
return zc(e, t, {
...o,
platform: i
});
};
var sn = typeof document < "u" ? Vr : fe;
function hn(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 n, r, o;
if (e && t && typeof e == "object") {
if (Array.isArray(e)) {
if (n = e.length, n !== t.length) return !1;
for (r = n; r-- !== 0; )
if (!hn(e[r], t[r]))
return !1;
return !0;
}
if (o = Object.keys(e), n = o.length, n !== Object.keys(t).length)
return !1;
for (r = n; r-- !== 0; )
if (!{}.hasOwnProperty.call(t, o[r]))
return !1;
for (r = n; r-- !== 0; ) {
const i = o[r];
if (!(i === "_owner" && e.$$typeof) && !hn(e[i], t[i]))
return !1;
}
return !0;
}
return e !== e && t !== t;
}
function La(e) {
return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
}
function No(e, t) {
const n = La(e);
return Math.round(t * n) / n;
}
function Hn(e) {
const t = I.useRef(e);
return sn(() => {
t.current = e;
}), t;
}
function pu(e) {
e === void 0 && (e = {});
const {
placement: t = "bottom",
strategy: n = "absolute",
middleware: r = [],
platform: o,
elements: {
reference: i,
floating: a
} = {},
transform: s = !0,
whileElementsMounted: l,
open: c
} = e, [u, d] = I.useState({
x: 0,
y: 0,
strategy: n,
placement: t,
middlewareData: {},
isPositioned: !1
}), [p, f] = I.useState(r);
hn(p, r) || f(r);
const [m, g] = I.useState(null), [h, b] = I.useState(null), x = I.useCallback((N) => {
N !== C.current && (C.current = N, g(N));
}, []), y = I.useCallback((N) => {
N !== $.current && ($.current = N, b(N));
}, []), E = i || m, v = a || h, C = I.useRef(null), $ = I.useRef(null), G = I.useRef(u), J = l != null, P = Hn(l), _ = Hn(o), L = Hn(c), K = I.useCallback(() => {
if (!C.current || !$.current)
return;
const N = {
placement: t,
strategy: n,
middleware: p
};
_.current && (N.platform = _.current), du(C.current, $.current, N).then((B) => {
const w = {
...B,
// 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: L.current !== !1
};
R.current && !hn(G.current, w) && (G.current = w, un.flushSync(() => {
d(w);
}));
});
}, [p, t, n, _, L]);
sn(() => {
c === !1 && G.current.isPositioned && (G.current.isPositioned = !1, d((N) => ({
...N,
isPositioned: !1
})));
}, [c]);
const R = I.useRef(!1);
sn(() => (R.current = !0, () => {
R.current = !1;
}), []), sn(() => {
if (E && (C.current = E), v && ($.current = v), E && v) {
if (P.current)
return P.current(E, v, K);
K();
}
}, [E, v, K, P, J]);
const re = I.useMemo(() => ({
reference: C,
floating: $,
setReference: x,
setFloating: y
}), [x, y]), Y = I.useMemo(() => ({
reference: E,
floating: v
}), [E, v]), ee = I.useMemo(() => {
const N = {
position: n,
left: 0,
top: 0
};
if (!Y.floating)
return N;
const B = No(Y.floating, u.x), w = No(Y.floating, u.y);
return s ? {
...N,
transform: "translate(" + B + "px, " + w + "px)",
...La(Y.floating) >= 1.5 && {
willChange: "transform"
}
} : {
position: n,
left: B,
top: w
};
}, [n, s, Y.floating, u.x, u.y]);
return I.useMemo(() => ({
...u,
update: K,
refs: re,
elements: Y,
floatingStyles: ee
}), [u, K, re, Y, ee]);
}
const Ma = (e, t) => ({
...lu(e),
options: [e, t]
}), mu = (e, t) => ({
...cu(e),
options: [e, t]
}), gu = (e, t) => ({
...uu(e),
options: [e, t]
}), hu = (e, t) => ({
...fu(e),
options: [e, t]
}), Fa = {
...I
}, vu = Fa.useInsertionEffect, bu = vu || ((e) => e());
function _a(e) {
const t = I.useRef(() => {
if (process.env.NODE_ENV !== "production")
throw new Error("Cannot call an event handler while rendering.");
});
return bu(() => {
t.current = e;
}), I.useCallback(function() {
for (var n = arguments.length, r = new Array(n), o = 0; o < n; o++)
r[o] = arguments[o];
return t.current == null ? void 0 : t.current(...r);
}, []);
}
var Er = typeof document < "u" ? Vr : fe;
let Do = !1, yu = 0;
const jo = () => (
// Ensure the id is unique with multiple independent versions of Floating UI
// on <React 18
"floating-ui-" + Math.random().toString(36).slice(2, 6) + yu++
);
function xu() {
const [e, t] = I.useState(() => Do ? jo() : void 0);
return Er(() => {
e == null && t(jo());
}, []), I.useEffect(() => {
Do = !0;
}, []), e;
}
const wu = Fa.useId, Eu = wu || xu;
let Wt;
process.env.NODE_ENV !== "production" && (Wt = /* @__PURE__ */ new Set());
function Ou() {
for (var e, t = arguments.length, n = new Array(t), r = 0; r < t; r++)
n[r] = arguments[r];
const o = "Floating UI: " + n.join(" ");
if (!((e = Wt) != null && e.has(o))) {
var i;
(i = Wt) == null || i.add(o), console.warn(o);
}
}
function Su() {
for (var e, t = arguments.length, n = new Array(t), r = 0; r < t; r++)
n[r] = arguments[r];
const o = "Floating UI: " + n.join(" ");
if (!((e = Wt) != null && e.has(o))) {
var i;
(i = Wt) == null || i.add(o), console.error(o);
}
}
function Tu() {
const e = /* @__PURE__ */ new Map();
return {
emit(t, n) {
var r;
(r = e.get(t)) == null || r.forEach((o) => o(n));
},
on(t, n) {
e.set(t, [...e.get(t) || [], n]);
},
off(t, n) {
var r;
e.set(t, ((r = e.get(t)) == null ? void 0 : r.filter((o) => o !== n)) || []);
}
};
}
const Au = /* @__PURE__ */ I.createContext(null), Pu = /* @__PURE__ */ I.createContext(null), Cu = () => {
var e;
return ((e = I.useContext(Au)) == null ? void 0 : e.id) || null;
}, $u = () => I.useContext(Pu), Ru = "data-floating-ui-focusable";
function ku(e) {
const {
open: t = !1,
onOpenChange: n,
elements: r
} = e, o = Eu(), i = I.useRef({}), [a] = I.useState(() => Tu()), s = Cu() != null;
if (process.env.NODE_ENV !== "production") {
const f = r.reference;
f && !he(f) && Su("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] = I.useState(r.reference), u = _a((f, m, g) => {
i.current.openEvent = f ? m : void 0, a.emit("openchange", {
open: f,
event: m,
reason: g,
nested: s
}), n == null || n(f, m, g);
}), d = I.useMemo(() => ({
setPositionReference: c
}), []), p = I.useMemo(() => ({
reference: l || r.reference || null,
floating: r.floating || null,
domReference: r.reference
}), [l, r.reference, r.floating]);
return I.useMemo(() => ({
dataRef: i,
open: t,
onOpenChange: u,
elements: p,
events: a,
floatingId: o,
refs: d
}), [t, u, p, a, o, d]);
}
function Iu(e) {
e === void 0 && (e = {});
const {
nodeId: t
} = e, n = ku({
...e,
elements: {
reference: null,
floating: null,
...e.elements
}
}), r = e.rootContext || n, o = r.elements, [i, a] = I.useState(null), [s, l] = I.useState(null), u = (o == null ? void 0 : o.domReference) || i, d = I.useRef(null), p = $u();
Er(() => {
u && (d.current = u);
}, [u]);
const f = pu({
...e,
elements: {
...o,
...s && {
reference: s
}
}
}), m = I.useCallback((y) => {
const E = he(y) ? {
getBoundingClientRect: () => y.getBoundingClientRect(),
contextElement: y
} : y;
l(E), f.refs.setReference(E);
}, [f.refs]), g = I.useCallback((y) => {
(he(y) || y === null) && (d.current = y, a(y)), (he(f.refs.reference.current) || f.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to
// `null` to support `positionReference` + an unstable `reference`
// callback ref.
y !== null && !he(y)) && f.refs.setReference(y);
}, [f.refs]), h = I.useMemo(() => ({
...f.refs,
setReference: g,
setPositionReference: m,
domReference: d
}), [f.refs, g, m]), b = I.useMemo(() => ({
...f.elements,
domReference: u
}), [f.elements, u]), x = I.useMemo(() => ({
...f,
...r,
refs: h,
elements: b,
nodeId: t
}), [f, h, b, t, r]);
return Er(() => {
r.dataRef.current.floatingContext = x;
const y = p == null ? void 0 : p.nodesRef.current.find((E) => E.id === t);
y && (y.context = x);
}), I.useMemo(() => ({
...f,
context: x,
refs: h,
elements: b
}), [f, h, b, x]);
}
const zo = "active", Ho = "selected";
function Wn(e, t, n) {
const r = /* @__PURE__ */ new Map(), o = n === "item";
let i = e;
if (o && e) {
const {
[zo]: a,
[Ho]: s,
...l
} = e;
i = l;
}
return {
...n === "floating" && {
tabIndex: -1,
[Ru]: ""
},
...i,
...t.map((a) => {
const s = a ? a[n] : null;
return typeof s == "function" ? e ? s(e) : null : s;
}).concat(e).reduce((a, s) => (s && Object.entries(s).forEach((l) => {
let [c, u] = l;
if (!(o && [zo, Ho].includes(c)))
if (c.indexOf("on") === 0) {
if (r.has(c) || r.set(c, []), typeof u == "function") {
var d;
(d = r.get(c)) == null || d.push(u), a[c] = function() {
for (var p, f = arguments.length, m = new Array(f), g = 0; g < f; g++)
m[g] = arguments[g];
return (p = r.get(c)) == null ? void 0 : p.map((h) => h(...m)).find((h) => h !== void 0);
};
}
} else
a[c] = u;
}), a), {})
};
}
function Lu(e) {
e === void 0 && (e = []);
const t = e.map((s) => s == null ? void 0 : s.reference), n = e.map((s) => s == null ? void 0 : s.floating), r = e.map((s) => s == null ? void 0 : s.item), o = I.useCallback(
(s) => Wn(s, e, "reference"),
// eslint-disable-next-line react-hooks/exhaustive-deps
t
), i = I.useCallback(
(s) => Wn(s, e, "floating"),
// eslint-disable-next-line react-hooks/exhaustive-deps
n
), a = I.useCallback(
(s) => Wn(s, e, "item"),
// eslint-disable-next-line react-hooks/exhaustive-deps
r
);
return I.useMemo(() => ({
getReferenceProps: o,
getFloatingProps: i,
getItemProps: a
}), [o, i, a]);
}
function Wo(e, t) {
return {
...e,
rects: {
...e.rects,
floating: {
...e.rects.floating,
height: t
}
}
};
}
const Mu = (e) => ({
name: "inner",
options: e,
async fn(t) {
const {
listRef: n,
overflowRef: r,
onFallbackChange: o,
offset: i = 0,
index: a = 0,
minItemsVisible: s = 4,
referenceOverflowThreshold: l = 0,
scrollRef: c,
...u
} = At(e, t), {
rects: d,
elements: {
floating: p
}
} = t, f = n.current[a], m = (c == null ? void 0 : c.current) || p, g = p.clientTop || m.clientTop, h = p.clientTop !== 0, b = m.clientTop !== 0, x = p === m;
if (process.env.NODE_ENV !== "production" && (t.placement.startsWith("bottom") || Ou('`placement` side must be "bottom" when using the `inner`', "middleware.")), !f)
return {};
const y = {
...t,
...await Ma(-f.offsetTop - p.clientTop - d.reference.height / 2 - f.offsetHeight / 2 - i).fn(t)
}, E = await zn(Wo(y, m.scrollHeight + g + p.clientTop), u), v = await zn(y, {
...u,
elementContext: "reference"
}), C = ge(0, E.top), $ = y.y + C, P = (m.scrollHeight > m.clientHeight ? (_) => _ : Ht)(ge(0, m.scrollHeight + (h && x || b ? g * 2 : 0) - C - ge(0, E.bottom)));
if (m.style.maxHeight = P + "px", m.scrollTop = C, o) {
const _ = m.offsetHeight < f.offsetHeight * ut(s, n.current.length) - 1 || v.top >= -l || v.bottom >= -l;
un.flushSync(() => o(_));
}
return r && (r.current = await zn(Wo({
...y,
y: $
}, m.offsetHeight + g + p.clientTop), u)), {
y: $
};
}
});
function Fu(e, t) {
const {
open: n,
elements: r
} = e, {
enabled: o = !0,
overflowRef: i,
scrollRef: a,
onChange: s
} = t, l = _a(s), c = I.useRef(!1), u = I.useRef(null), d = I.useRef(null);
I.useEffect(() => {
if (!o) return;
function f(g) {
if (g.ctrlKey || !m || i.current == null)
return;
const h = g.deltaY, b = i.current.top >= -0.5, x = i.current.bottom >= -0.5, y = m.scrollHeight - m.clientHeight, E = h < 0 ? -1 : 1, v = h < 0 ? "max" : "min";
m.scrollHeight <= m.clientHeight || (!b && h > 0 || !x && h < 0 ? (g.preventDefault(), un.flushSync(() => {
l((C) => C + Math[v](h, y * E));
})) : /firefox/i.test(kc()) && (m.scrollTop += h));
}
const m = (a == null ? void 0 : a.current) || r.floating;
if (n && m)
return m.addEventListener("wheel", f), requestAnimationFrame(() => {
u.current = m.scrollTop, i.current != null && (d.current = {
...i.current
});
}), () => {
u.current = null, d.current = null, m.removeEventListener("wheel", f);
};
}, [o, n, r.floating, i, a, l]);
const p = I.useMemo(() => ({
onKeyDown() {
c.current = !0;
},
onWheel() {
c.current = !1;
},
onPointerMove() {
c.current = !1;
},
onScroll() {
const f = (a == null ? void 0 : a.current) || r.floating;
if (!(!i.current || !f || !c.current)) {
if (u.current !== null) {
const m = f.scrollTop - u.current;
(i.current.bottom < -0.5 && m < -1 || i.current.top < -0.5 && m > 1) && un.flushSync(() => l((g) => g + m));
}
requestAnimationFrame(() => {
u.current = f.scrollTop;
});
}
}
}), [r.floating, l, i, a]);
return I.useMemo(() => o ? {
floating: p
} : {}, [o, p]);
}
let Pt = be({ styles: void 0, setReference: () => {
}, setFloating: () => {
}, getReferenceProps: () => ({}), getFloatingProps: () => ({}), slot: {} });
Pt.displayName = "FloatingContext";
let ro = be(null);
ro.displayName = "PlacementContext";
function _u(e) {
return ce(() => e ? typeof e == "string" ? { to: e } : e : null, [e]);
}
function Nu() {
return ue(Pt).setReference;
}
function Du() {
return ue(Pt).getReferenceProps;
}
function ju() {
let { getFloatingProps: e, slot: t } = ue(Pt);
return ae((...n) => Object.assign({}, e(...n), { "data-anchor": t.anchor }), [e, t]);
}
function zu(e = null) {
e === !1 && (e = null), typeof e == "string" && (e = { to: e });
let t = ue(ro), n = ce(() => e, [JSON.stringify(e, (o, i) => {
var a;
return (a = i == null ? void 0 : i.outerHTML) != null ? a : i;
})]);
se(() => {
t == null || t(n ?? null);
}, [t, n]);
let r = ue(Pt);
return ce(() => [r.setFloating, e ? r.styles : {}], [r.setFloating, e, r.styles]);
}
let Bo = 4;
function Hu({ children: e, enabled: t = !0 }) {
let [n, r] = le(null), [o, i] = le(0), a = Q(null), [s, l] = le(null);
Wu(s);
let c = t && n !== null && s !== null, { to: u = "bottom", gap: d = 0, offset: p = 0, padding: f = 0, inner: m } = Bu(n, s), [g, h = "center"] = u.split(" ");
se(() => {
c && i(0);
}, [c]);
let { refs: b, floatingStyles: x, context: y } = Iu({ open: c, placement: g === "selection" ? h === "center" ? "bottom" : `bottom-${h}` : h === "center" ? `${g}` : `${g}-${h}`, strategy: "absolute", transform: !1, middleware: [Ma({ mainAxis: g === "selection" ? 0 : d, crossAxis: p }), mu({ padding: f }), g !== "selection" && gu({ padding: f }), g === "selection" && m ? Mu({ ...m, padding: f, overflowRef: a, offset: o, minItemsVisible: Bo, referenceOverflowThreshold: f, onFallbackChange(_) {
var L, K;
if (!_) return;
let R = y.elements.floating;
if (!R) return;
let re = parseFloat(getComputedStyle(R).scrollPaddingBottom) || 0, Y = Math.min(Bo, R.childElementCount), ee = 0, N = 0;
for (let B of (K = (L = y.elements.floating) == null ? void 0 : L.childNodes) != null ? K : []) if (B instanceof HTMLElement) {
let w = B.offsetTop, S = w + B.clientHeight + re, j = R.scrollTop, M = j + R.clientHeight;
if (w >= j && S <= M) Y--;
else {
N = Math.max(0, Math.min(S, M) - Math.max(w, j)), ee = B.clientHeight;
break;
}
}
Y >= 1 && i((B) => {
let w = ee * Y - N + re;
return B >= w ? B : w;
});
} }) : null, hu({ padding: f, apply({ availableWidth: _, availableHeight: L, elements: K }) {
Object.assign(K.floating.style, { overflow: "auto", maxWidth: `${_}px`, maxHeight: `min(var(--anchor-max-height, 100vh), ${L}px)` });
} })].filter(Boolean), whileElementsMounted: su }), [E = g, v = h] = y.placement.split("-");
g === "selection" && (E = "selection");
let C = ce(() => ({ anchor: [E, v].filter(Boolean).join(" ") }), [E, v]), $ = Fu(y, { overflowRef: a, onChange: i }), { getReferenceProps: G, getFloatingProps: J } = Lu([$]), P = Z((_) => {
l(_), b.setFloating(_);
});
return I.createElement(ro.Provider, { value: r }, I.createElement(Pt.Provider, { value: { setFloating: P, setReference: b.setReference, styles: x, getReferenceProps: G, getFloatingProps: J, slot: C } }, e));
}
function Wu(e) {
se(() => {
if (!e) return;
let t = new MutationObserver(() => {
let n = window.getComputedStyle(e).maxHeight, r = parseFloat(n);
if (isNaN(r)) return;
let o = parseInt(n);
isNaN(o) || r !== o && (e.style.maxHeight = `${Math.ceil(r)}px`);
});
return t.observe(e, { attributes: !0, attributeFilter: ["style"] }), () => {
t.disconnect();
};
}, [e]);
}
function Bu(e, t) {
var n, r, o;
let i = Bn((n = e == null ? void 0 : e.gap) != null ? n : "var(--anchor-gap, 0)", t), a = Bn((r = e == null ? void 0 : e.offset) != null ? r : "var(--anchor-offset, 0)", t), s = Bn((o = e == null ? void 0 : e.padding) != null ? o : "var(--anchor-padding, 0)", t);
return { ...e, gap: i, offset: a, padding: s };
}
function Bn(e, t, n = void 0) {
let r = St(), o = Z((l, c) => {
if (l == null) return [n, null];
if (typeof l == "number") return [l, null];
if (typeof l == "string") {
if (!c) return [n, null];
let u = Uo(l, c);
return [u, (d) => {
let p = Na(l);
{
let f = p.map((m) => window.getComputedStyle(c).getPropertyValue(m));
r.requestAnimationFrame(function m() {
r.nextFrame(m);
let g = !1;
for (let [b, x] of p.entries()) {
let y = window.getComputedStyle(c).getPropertyValue(x);
if (f[b] !== y) {
f[b] = y, g = !0;
break;
}
}
if (!g) return;
let h = Uo(l, c);
u !== h && (d(h), u = h);
});
}
return r.dispose;
}];
}
return [n, null];
}), i = ce(() => o(e, t)[0], [e, t]), [a = i, s] = le();
return se(() => {
let [l, c] = o(e, t);
if (s(l), !!c) return c(s);
}, [e, t]), a;
}
function Na(e) {
let t = /var\((.*)\)/.exec(e);
if (t) {
let n = t[1].indexOf(",");
if (n === -1) return [t[1]];
let r = t[1].slice(0, n).trim(), o = t[1].slice(n + 1).trim();
return o ? [r, ...Na(o)] : [r];
}
return [];
}
function Uo(e, t) {
let n = document.createElement("div");
t.appendChild(n), n.style.setProperty("margin-top", "0px", "important"), n.style.setProperty("margin-top", e, "important");
let r = parseFloat(window.getComputedStyle(n).marginTop) || 0;
return t.removeChild(n), r;
}
function Uu(e, t) {
let [n, r] = le(t);
return !e && n !== t && r(t), e ? n : t;
}
let oo = be(null);
oo.displayName = "OpenClosedContext";
var Ce = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(Ce || {});
function io() {
return ue(oo);
}
function Da({ value: e, children: t }) {
return V.createElement(oo.Provider, { value: e }, t);
}
function Vu(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var tn = { exports: {} }, Un = {};
/**
* @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 Vo;
function Yu() {
if (Vo) return Un;
Vo = 1;
var e = V;
function t(l, c) {
return l === c && (l !== 0 || 1 / l === 1 / c) || l !== l && c !== c;
}
var n = typeof Object.is == "function" ? Object.is : t, r = e.useSyncExternalStore, o = e.useRef, i = e.useEffect, a = e.useMemo, s = e.useDebugValue;
return Un.useSyncExternalStoreWithSelector = function(l, c, u, d, p) {
var f = o(null);
if (f.current === null) {
var m = { hasValue: !1, value: null };
f.current = m;
} else m = f.current;
f = a(
function() {
function h(v) {
if (!b) {
if (b = !0, x = v, v = d(v), p !== void 0 && m.hasValue) {
var C = m.value;
if (p(C, v))
return y = C;
}
return y = v;
}
if (C = y, n(x, v)) return C;
var $ = d(v);
return p !== void 0 && p(C, $) ? (x = v, C) : (x = v, y = $);
}
var b = !1, x, y, E = u === void 0 ? null : u;
return [
function() {
return h(c());
},
E === null ? void 0 : function() {
return h(E());
}
];
},
[c, u, d, p]
);
var g = r(l, f[0], f[1]);
return i(
function() {
m.hasValue = !0, m.value = g;
},
[g]
), s(g), g;
}, Un;
}
var Vn = {};
/**
* @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 Yo;
function Gu() {
return Yo || (Yo = 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 = V, n = typeof Object.is == "function" ? Object.is : e, r = t.useSyncExternalStore, o = t.useRef, i = t.useEffect, a = t.useMemo, s = t.useDebugValue;
Vn.useSyncExternalStoreWithSelector = function(l, c, u, d, p) {
var f = o(null);
if (f.current === null) {
var m = { hasValue: !1, value: null };
f.current = m;
} else m = f.current;
f = a(
function() {
function h(v) {
if (!b) {
if (b = !0, x = v, v = d(v), p !== void 0 && m.hasValue) {
var C = m.value;
if (p(C, v))
return y = C;
}
return y = v;
}
if (C = y, n(x, v))
return C;
var $ = d(v);
return p !== void 0 && p(C, $) ? (x = v, C) : (x = v, y = $);
}
var b = !1, x, y, E = u === void 0 ? null : u;
return [
function() {
return h(c());
},
E === null ? void 0 : function() {
return h(E());
}
];
},
[c, u, d, p]
);
var g = r(l, f[0], f[1]);
return i(
function() {
m.hasValue = !0, m.value = g;
},
[g]
), s(g), g;
}, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
}()), Vn;
}
var Go;
function qu() {
return Go || (Go = 1, process.env.NODE_ENV === "production" ? tn.exports = Yu() : tn.exports = Gu()), tn.exports;
}
var Ku = qu(), ja = (e, t, n) => {
if (!t.has(e)) throw TypeError("Cannot " + n);
}, Pe = (e, t, n) => (ja(e, t, "read from private field"), n ? n.call(e) : t.get(e)), Yn = (e, t, n) => {
if (t.has(e)) throw TypeError("Cannot add the same private member more than once");
t instanceof WeakSet ? t.add(e) : t.set(e, n);
}, qo = (e, t, n, r) => (ja(e, t, "write to private field"), t.set(e, n), n), Be, Lt, Mt;
let Xu = class {
constructor(t) {
Yn(this, Be, {}), Yn(this, Lt, new pa(() => /* @__PURE__ */ new Set())), Yn(this, Mt, /* @__PURE__ */ new Set()), qo(this, Be, t);
}
get state() {
return Pe(this, Be);
}
subscribe(t, n) {
let r = { selector: t, callback: n, current: t(Pe(this, Be)) };
return Pe(this, Mt).add(r), () => {
Pe(this, Mt).delete(r);
};
}
on(t, n) {
return Pe(this, Lt).get(t).add(n), () => {
Pe(this, Lt).get(t).delete(n);
};
}
send(t) {
qo(this, Be, this.reduce(Pe(this, Be), t));
for (let n of Pe(this, Mt)) {
let r = n.selector(Pe(this, Be));
za(n.current, r) || (n.current = r, n.callback(r));
}
for (let n of Pe(this, Lt).get(t.type)) n(Pe(this, Be), t);
}
};
Be = /* @__PURE__ */ new WeakMap(), Lt = /* @__PURE__ */ new WeakMap(), Mt = /* @__PURE__ */ new WeakMap();
function za(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 : Gn(e[Symbol.iterator](), t[Symbol.iterator]()) : e instanceof Map && t instanceof Map || e instanceof Set && t instanceof Set ? e.size !== t.size ? !1 : Gn(e.entries(), t.entries()) : Ko(e) && Ko(t) ? Gn(Object.entries(e)[Symbol.iterator](), Object.entries(t)[Symbol.iterator]()) : !1;
}
function Gn(e, t) {
do {
let n = e.next(), r = t.next();
if (n.done && r.done) return !0;
if (n.done || r.done || !Object.is(n.value, r.value)) return !1;
} while (!0);
}
function Ko(e) {
if (Object.prototype.toString.call(e) !== "[object Object]") return !1;
let t = Object.getPrototypeOf(e);
return t === null || Object.getPrototypeOf(t) === null;
}
function qn(e) {
let [t, n] = e(), r = ze();
return (...o) => {
t(...o), r.dispose(), r.microTask(n);
};
}
function $e(e, t, n = za) {
return Ku.useSyncExternalStoreWithSelector(Z((r) => e.subscribe(Qu, r)), Z(() => e.state), Z(() => e.state), Z(t), n);
}
function Qu(e) {
return e;
}
function Ju(e) {
throw new Error("Unexpected object: " + e);
}
var me = ((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))(me || {});
function Kn(e, t) {
let n = t.resolveItems();
if (n.length <= 0) return null;
let r = t.resolveActiveIndex(), o = r ?? -1;
switch (e.focus) {
case 0: {
for (let i = 0; i < n.length; ++i) if (!t.resolveDisabled(n[i], i, n)) return i;
return r;
}
case 1: {
o === -1 && (o = n.length);
for (let i = o - 1; i >= 0; --i) if (!t.resolveDisabled(n[i], i, n)) return i;
return r;
}
case 2: {
for (let i = o + 1; i < n.length; ++i) if (!t.resolveDisabled(n[i], i, n)) return i;
return r;
}
case 3: {
for (let i = n.length - 1; i >= 0; --i) if (!t.resolveDisabled(n[i], i, n)) return i;
return r;
}
case 4: {
for (let i = 0; i < n.length; ++i) if (t.resolveId(n[i], i, n) === e.id) return i;
return r;
}
case 5:
return null;
default:
Ju(e);
}
}
function Zu(e) {
let t = Z(e), n = Q(!1);
fe(() => (n.current = !1, () => {
n.current = !0, ta(() => {
n.current && t();
});
}), [t]);
}
function ef() {
let e = typeof document > "u";
return "useSyncExternalStore" in I ? ((t) => t.useSyncExternalStore)(I)(() => () => {
}, () => !1, () => !e) : !1;
}
function ao() {
let e = ef(), [t, n] = I.useState(lt.isHandoffComplete);
return t && lt.isHandoffComplete === !1 && n(!1), I.useEffect(() => {
t !== !0 && n(!0);
}, [t]), I.useEffect(() => lt.handoff(), []), e ? !1 : t;
}
let tf = be(!1);
function nf() {
return ue(tf);
}
function rf(e) {
let t = nf(), n = ue(Wa), [r, o] = le(() => {
var i;
if (!t && n !== null) return (i = n.current) != null ? i : null;
if (lt.isServer) return null;
let a = e == null ? void 0 : e.getElementById("headlessui-portal-root");
if (a) return a;
if (e === null) return null;
let s = e.createElement("div");
return s.setAttribute("id", "headlessui-portal-root"), e.body.appendChild(s);
});
return fe(() => {
r !== null && (e != null && e.body.contains(r) || e == null || e.body.appendChild(r));
}, [r, e]), fe(() => {
t || n !== null && o(n.current);
}, [n, o, t]), r;
}
let Ha = Re, of = xe(function(e, t) {
let { ownerDocument: n = null, ...r } = e, o = Q(null), i = Te(zl((f) => {
o.current = f;
}), t), a = yr(o), s = n ?? a, l = rf(s), [c] = le(() => {
var f;
return lt.isServer ? null : (f = s == null ? void 0 : s.createElement("div")) != null ? f : null;
}), u = ue(cf), d = ao();
se(() => {
!l || !c || l.contains(c) || (c.setAttribute("data-headlessui-portal", ""), l.appendChild(c));
}, [l, c]), se(() => {
if (c && u) return u.register(c);
}, [u, c]), Zu(() => {
var f;
!l || !c || (c instanceof Node && l.contains(c) && l.removeChild(c), l.childNodes.length <= 0 && ((f = l.parentElement) == null || f.removeChild(l)));
});
let p = Ee();
return d ? !l || !c ? null : Wi(p({ ourProps: { ref: i }, theirProps: r, slot: {}, defaultTag: Ha, name: "Portal" }), c) : null;
});
function af(e, t) {
let n = Te(t), { enabled: r = !0, ownerDocument: o, ...i } = e, a = Ee();
return r ? V.createElement(of, { ...i, ownerDocument: o, ref: n }) : a({ ourProps: { ref: n }, theirProps: i, slot: {}, defaultTag: Ha, name: "Portal" });
}
let sf = Re, Wa = be(null);
function lf(e, t) {
let { target: n, ...r } = e, o = { ref: Te(t) }, i = Ee();
return V.createElement(Wa.Provider, { value: n }, i({ ourProps: o, theirProps: r, defaultTag: sf, name: "Popover.Group" }));
}
let cf = be(null), uf = xe(af), ff = xe(lf), df = Object.assign(uf, { Group: ff });
function pf() {
let e = Q(!1);
return se(() => (e.current = !0, () => {
e.current = !1;
}), []), e;
}
function Ba(e) {
var t;
return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || ((t = e.as) != null ? t : Va) !== Re || V.Children.count(e.children) === 1;
}
let An = be(null);
An.displayName = "TransitionContext";
var mf = ((e) => (e.Visible = "visible", e.Hidden = "hidden", e))(mf || {});
function gf() {
let e = ue(An);
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
return e;
}
function hf() {
let e = ue(Pn);
if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
return e;
}
let Pn = be(null);
Pn.displayName = "NestingContext";
function Cn(e) {
return "children" in e ? Cn(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
}
function Ua(e, t) {
let n = gt(e), r = Q([]), o = pf(), i = St(), a = Z((f, m = Qe.Hidden) => {
let g = r.current.findIndex(({ el: h }) => h === f);
g !== -1 && (ke(m, { [Qe.Unmount]() {
r.current.splice(g, 1);
}, [Qe.Hidden]() {
r.current[g].state = "hidden";
} }), i.microTask(() => {
var h;
!Cn(r) && o.current && ((h = n.current) == null || h.call(n));
}));
}), s = Z((f) => {
let m = r.current.find(({ el: g }) => g === f);
return m ? m.state !== "visible" && (m.state = "visible") : r.current.push({ el: f, state: "visible" }), () => a(f, Qe.Unmount);
}), l = Q([]), c = Q(Promise.resolve()), u = Q({ enter: [], leave: [] }), d = Z((f, m, g) => {
l.current.splice(0), t && (t.chains.current[m] = t.chains.current[m].filter(([h]) => h !== f)), t == null || t.chains.current[m].push([f, new Promise((h) => {
l.current.push(h);
})]), t == null || t.chains.current[m].push([f, new Promise((h) => {
Promise.all(u.current[m].map(([b, x]) => x)).then(() => h());
})]), m === "enter" ? c.current = c.current.then(() => t == null ? void 0 : t.wait.current).then(() => g(m)) : g(m);
}), p = Z((f, m, g) => {
Promise.all(u.current[m].splice(0).map(([h, b]) => b)).then(() => {
var h;
(h = l.current.shift()) == null || h();
}).then(() => g(m));
});
return ce(() => ({ children: r, register: s, unregister: a, onStart: d, onStop: p, wait: c, chains: u }), [s, a, r, d, p, u, c]);
}
let Va = Re, Ya = pn.RenderStrategy;
function vf(e, t) {
var n, r;
let { transition: o = !0, beforeEnter: i, afterEnter: a, beforeLeave: s, afterLeave: l, enter: c, enterFrom: u, enterTo: d, entered: p, leave: f, leaveFrom: m, leaveTo: g, ...h } = e, [b, x] = le(null), y = Q(null), E = Ba(e), v = Te(...E ? [y, t, x] : t === null ? [] : [t]), C = (n = h.unmount) == null || n ? Qe.Unmount : Qe.Hidden, { show: $, appear: G, initial: J } = gf(), [P, _] = le($ ? "visible" : "hidden"), L = hf(), { register: K, unregister: R } = L;
se(() => K(y), [K, y]), se(() => {
if (C === Qe.Hidden && y.current) {
if ($ && P !== "visible") {
_("visible");
return;
}
return ke(P, { hidden: () => R(y), visible: () => K(y) });
}
}, [P, y, K, R, $, C]);
let re = ao();
se(() => {
if (E && re && P === "visible" && y.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
}, [y, P, re, E]);
let Y = J && !G, ee = G && $ && J, N = Q(!1), B = Ua(() => {
N.current || (_("hidden"), R(y));
}, L), w = Z((T) => {
N.current = !0;
let F = T ? "enter" : "leave";
B.onStart(y, F, (z) => {
z === "enter" ? i == null || i() : z === "leave" && (s == null || s());
});
}), S = Z((T) => {
let F = T ? "enter" : "leave";
N.current = !1, B.onStop(y, F, (z) => {
z === "enter" ? a == null || a() : z === "leave" && (l == null || l());
}), F === "leave" && !Cn(B) && (_("hidden"), R(y));
});
fe(() => {
E && o || (w($), S($));
}, [$, E, o]);
let j = !(!o || !E || !re || Y), [, M] = wa(j, b, $, { start: w, end: S }), D = Xe({ ref: v, className: ((r = gr(h.className, ee && c, ee && u, M.enter && c, M.enter && M.closed && u, M.enter && !M.closed && d, M.leave && f, M.leave && !M.closed && m, M.leave && M.closed && g, !M.transition && $ && p)) == null ? void 0 : r.trim()) || void 0, ...xa(M) }), U = 0;
P === "visible" && (U |= Ce.Open), P === "hidden" && (U |= Ce.Closed), $ && P === "hidden" && (U |= Ce.Opening), !$ && P === "visible" && (U |= Ce.Closing);
let H = Ee();
return V.createElement(Pn.Provider, { value: B }, V.createElement(Da, { value: U }, H({ ourProps: D, theirProps: h, defaultTag: Va, features: Ya, visible: P === "visible", name: "Transition.Child" })));
}
function bf(e, t) {
let { show: n, appear: r = !1, unmount: o = !0, ...i } = e, a = Q(null), s = Ba(e), l = Te(...s ? [a, t] : t === null ? [] : [t]);
ao();
let c = io();
if (n === void 0 && c !== null && (n = (c & Ce.Open) === Ce.Open), n === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
let [u, d] = le(n ? "visible" : "hidden"), p = Ua(() => {
n || d("hidden");
}), [f, m] = le(!0), g = Q([n]);
se(() => {
f !== !1 && g.current[g.current.length - 1] !== n && (g.current.push(n), m(!1));
}, [g, n]);
let h = ce(() => ({ show: n, appear: r, initial: f }), [n, r, f]);
se(() => {
n ? d("visible") : !Cn(p) && a.current !== null && d("hidden");
}, [n, p]);
let b = { unmount: o }, x = Z(() => {
var v;
f && m(!1), (v = e.beforeEnter) == null || v.call(e);
}), y = Z(() => {
var v;
f && m(!1), (v = e.beforeLeave) == null || v.call(e);
}), E = Ee();
return V.createElement(Pn.Provider, { value: p }, V.createElement(An.Provider, { value: h }, E({ ourProps: { ...b, as: Re, children: V.createElement(Ga, { ref: l, ...b, ...i, beforeEnter: x, beforeLeave: y }) }, theirProps: {}, defaultTag: Re, features: Ya, visible: u === "visible", name: "Transition" })));
}
function yf(e, t) {
let n = ue(An) !== null, r = io() !== null;
return V.createElement(V.Fragment, null, !n && r ? V.createElement(Or, { ref: t, ...e }) : V.createElement(Ga, { ref: t, ...e }));
}
let Or = xe(bf), Ga = xe(vf), xf = xe(yf), wf = Object.assign(Or, { Child: xf, Root: Or });
function Ef(e, t) {
let n = Q({ left: 0, top: 0 });
if (se(() => {
if (!t) return;
let o = t.getBoundingClientRect();
o && (n.current = o);
}, [e, t]), t == null || !e || t === document.activeElement) return !1;
let r = t.getBoundingClientRect();
return r.top !== n.current.top || r.left !== n.current.left;
}
let Xo = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
function Qo(e) {
var t, n;
let r = (t = e.innerText) != null ? t : "", o = e.cloneNode(!0);
if (!(o instanceof HTMLElement)) return r;
let i = !1;
for (let s of o.querySelectorAll('[hidden],[aria-hidden],[role="img"]')) s.remove(), i = !0;
let a = i ? (n = o.innerText) != null ? n : "" : r;
return Xo.test(a) && (a = a.replace(Xo, "")), a;
}
function Of(e) {
let t = e.getAttribute("aria-label");
if (typeof t == "string") return t.trim();
let n = e.getAttribute("aria-labelledby");
if (n) {
let r = n.split(" ").map((o) => {
let i = document.getElementById(o);
if (i) {
let a = i.getAttribute("aria-label");
return typeof a == "string" ? a.trim() : Qo(i).trim();
}
return null;
}).filter(Boolean);
if (r.length > 0) return r.join(", ");
}
return Qo(e).trim();
}
function Sf(e) {
let t = Q(""), n = Q("");
return Z(() => {
let r = e.current;
if (!r) return "";
let o = r.innerText;
if (t.current === o) return n.current;
let i = Of(r).trim().toLowerCase();
return t.current = o, n.current = i, i;
});
}
var Tf = Object.defineProperty, Af = (e, t, n) => t in e ? Tf(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Jo = (e, t, n) => (Af(e, typeof t != "symbol" ? t + "" : t, n), n), pe = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(pe || {}), Fe = ((e) => (e[e.Single = 0] = "Single", e[e.Multi = 1] = "Multi", e))(Fe || {}), Sr = ((e) => (e[e.Pointer = 0] = "Pointer", e[e.Other = 1] = "Other", e))(Sr || {}), qa = ((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))(qa || {});
function Zo(e, t = (n) => n) {
let n = e.activeOptionIndex !== null ? e.options[e.activeOptionIndex] : null, r = ba(t(e.options.slice()), (i) => i.dataRef.current.domRef.current), o = n ? r.indexOf(n) : null;
return o === -1 && (o = null), { options: r, activeOptionIndex: o };
}
let Pf = { 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: n } = e.dataRef.current, r = e.options.findIndex((o) => n(o.dataRef.current.value));
return r !== -1 && (t = r), { ...e, listboxState: 0, activeOptionIndex: t, __demoMode: !1 };
}, 2(e, t) {
var n, r, o, i, a;
if (e.dataRef.current.disabled || e.listboxState === 1) return e;
let s = { ...e, searchQuery: "", activationTrigger: (n = t.trigger) != null ? n : 1, __demoMode: !1 };
if (t.focus === me.Nothing) return { ...s, activeOptionIndex: null };
if (t.focus === me.Specific) return { ...s, activeOptionIndex: e.options.findIndex((u) => u.id === t.id) };
if (t.focus === me.Previous) {
let u = e.activeOptionIndex;
if (u !== null) {
let d = e.options[u].dataRef.current.domRef, p = Kn(t, { resolveItems: () => e.options, resolveActiveIndex: () => e.activeOptionIndex, resolveId: (f) => f.id, resolveDisabled: (f) => f.dataRef.current.disabled });
if (p !== null) {
let f = e.options[p].dataRef.current.domRef;
if (((r = d.current) == null ? void 0 : r.previousElementSibling) === f.current || ((o = f.current) == null ? void 0 : o.previousElementSibling) === null) return { ...s, activeOptionIndex: p };
}
}
} else if (t.focus === me.Next) {
let u = e.activeOptionIndex;
if (u !== null) {
let d = e.options[u].dataRef.current.domRef, p = Kn(t, { resolveItems: () => e.options, resolveActiveIndex: () => e.activeOptionIndex, resolveId: (f) => f.id, resolveDisabled: (f) => f.dataRef.current.disabled });
if (p !== null) {
let f = e.options[p].dataRef.current.domRef;
if (((i = d.current) == null ? void 0 : i.nextElementSibling) === f.current || ((a = f.current) == null ? void 0 : a.nextElementSibling) === null) return { ...s, activeOptionIndex: p };
}
}
}
let l = Zo(e), c = Kn(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 n = e.searchQuery !== "" ? 0 : 1, r = e.searchQuery + t.value.toLowerCase(), o = (e.activeOptionIndex !== null ? e.options.slice(e.activeOptionIndex + n).concat(e.options.slice(0, e.activeOptionIndex + n)) : e.options).find((a) => {
var s;
return !a.dataRef.current.disabled && ((s = a.dataRef.current.textValue) == null ? void 0 : s.startsWith(r));
}), i = o ? e.options.indexOf(o) : -1;
return i === -1 || i === e.activeOptionIndex ? { ...e, searchQuery: r } : { ...e, searchQuery: r, activeOptionIndex: i, activationTrigger: 1 };
}, 4(e) {
return e.dataRef.current.disabled || e.listboxState === 1 || e.searchQuery === "" ? e : { ...e, searchQuery: "" };
}, 5: (e, t) => {
let n = e.options.concat(t.options), r = e.activeOptionIndex;
if (e.activeOptionIndex === null) {
let { isSelected: o } = e.dataRef.current;
if (o) {
let i = n.findIndex((a) => o == null ? void 0 : o(a.dataRef.current.value));
i !== -1 && (r = i);
}
}
return { ...e, options: n, activeOptionIndex: r, pendingShouldSort: !0 };
}, 6: (e, t) => {
let n = e.options, r = [], o = new Set(t.options);
for (let [i, a] of n.entries()) if (o.has(a.id) && (r.push(i), o.delete(a.id), o.size === 0)) break;
if (r.length > 0) {
n = n.slice();
for (let i of r.reverse()) n.splice(i, 1);
}
return { ...e, options: n, 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, ...Zo(e), pendingShouldSort: !1 } : e };
class so extends Xu {
constructor(t) {
super(t), Jo(this, "actions", { onChange: (n) => {
let { onChange: r, compare: o, mode: i, value: a } = this.state.dataRef.current;
return ke(i, { 0: () => r == null ? void 0 : r(n), 1: () => {
let s = a.slice(), l = s.findIndex((c) => o(c, n));
return l === -1 ? s.push(n) : s.splice(l, 1), r == null ? void 0 : r(s);
} });
}, registerOption: qn(() => {
let n = [], r = /* @__PURE__ */ new Set();
return [(o, i) => {
r.has(i) || (r.add(i), n.push({ id: o, dataRef: i }));
}, () => (r.clear(), this.send({ type: 5, options: n.splice(0) }))];
}), unregisterOption: qn(() => {
let n = [];
return [(r) => n.push(r), () => {
this.send({ type: 6, options: n.splice(0) });
}];
}), goToOption: qn(() => {
let n = null;
return [(r, o) => {
n = { type: 2, ...r, trigger: o };
}, () => n && this.send(n)];
}), closeListbox: () => {
this.send({ type: 1 });
}, openListbox: () => {
this.send({ type: 0 });
}, selectActiveOption: () => {
if (this.state.activeOptionIndex !== null) {
let { dataRef: n, id: r } = this.state.options[this.state.activeOptionIndex];
this.actions.onChange(n.current.value), this.send({ type: 2, focus: me.Specific, id: r });
}
}, selectOption: (n) => {
let r = this.state.options.find((o) => o.id === n);
r && this.actions.onChange(r.dataRef.current.value);
}, search: (n) => {
this.send({ type: 3, value: n });
}, clearSearch: () => {
this.send({ type: 4 });
}, setButtonElement: (n) => {
this.send({ type: 7, element: n });
}, setOptionsElement: (n) => {
this.send({ type: 8, element: n });
} }), Jo(this, "selectors", { activeDescendantId(n) {
var r;
let o = n.activeOptionIndex, i = n.options;
return o === null || (r = i[o]) == null ? void 0 : r.id;
}, isActive(n, r) {
var o;
let i = n.activeOptionIndex, a = n.options;
return i !== null ? ((o = a[i]) == null ? void 0 : o.id) === r : !1;
}, shouldScrollIntoView(n, r) {
return n.__demoMode || n.listboxState !== 0 || n.activationTrigger === 0 ? !1 : this.isActive(n, r);
} }), this.on(5, () => {
requestAnimationFrame(() => {
this.send({ type: 9 });
});
});
}
static new({ __demoMode: t = !1 } = {}) {
return new so({ dataRef: { current: {} }, listboxState: t ? 0 : 1, options: [], searchQuery: "", activeOptionIndex: null, activationTrigger: 1, buttonElement: null, optionsElement: null, __demoMode: t });
}
reduce(t, n) {
return ke(n.type, Pf, t, n);
}
}
const Ka = be(null);
function lo(e) {
let t = ue(Ka);
if (t === null) {
let n = new Error(`<${e} /> is missing a parent <Listbox /> component.`);
throw Error.captureStackTrace && Error.captureStackTrace(n, Xa), n;
}
return t;
}
function Xa({ __demoMode: e = !1 } = {}) {
return ce(() => so.new({ __demoMode: e }), []);
}
let $n = be(null);
$n.displayName = "ListboxDataContext";
function Kt(e) {
let t = ue($n);
if (t === null) {
let n = new Error(`<${e} /> is missing a parent <Listbox /> component.`);
throw Error.captureStackTrace && Error.captureStackTrace(n, Kt), n;
}
return t;
}
let Cf = Re;
function $f(e, t) {
let n = qr(), { value: r, defaultValue: o, form: i, name: a, onChange: s, by: l, invalid: c = !1, disabled: u = n || !1, horizontal: d = !1, multiple: p = !1, __demoMode: f = !1, ...m } = e;
const g = d ? "horizontal" : "vertical";
let h = Te(t), b = $l(o), [x = p ? [] : void 0, y] = Cl(r, s, b), E = Xa({ __demoMode: f }), v = Q({ static: !1, hold: !1 }), C = Q(/* @__PURE__ */ new Map()), $ = Ql(l), G = ae((w) => ke(J.mode, { [Fe.Multi]: () => x.some((S) => $(S, w)), [Fe.Single]: () => $(x, w) }), [x]), J = ce(() => ({ value: x, disabled: u, invalid: c, mode: p ? Fe.Multi : Fe.Single, orientation: g, onChange: y, compare: $, isSelected: G, optionsPropsRef: v, listRef: C }), [x, u, c, p, g, y, $, G, v, C]);
se(() => {
E.state.dataRef.current = J;
}, [J]);
let P = $e(E, (w) => w.listboxState), _ = P === pe.Open, [L, K] = $e(E, (w) => [w.buttonElement, w.optionsElement]);
gc(_, [L, K], (w, S) => {
E.send({ type: qa.CloseListbox }), va(S, Jr.Loose) || (w.preventDefault(), L == null || L.focus());
});
let R = ce(() => ({ open: P === pe.Open, disabled: u, invalid: c, value: x }), [P, u, c, x]), [re, Y] = Vl({ inherit: !0 }), ee = { ref: h }, N = ae(() => {
if (b !== void 0) return y == null ? void 0 : y(b);
}, [y, b]), B = Ee();
return V.createElement(Y, { value: re, props: { htmlFor: L == null ? void 0 : L.id }, slot: { open: P === pe.Open, disabled: u } }, V.createElement(Hu, null, V.createElement(Ka.Provider, { value: E }, V.createElement($n.Provider, { value: J }, V.createElement(Da, { value: ke(P, { [pe.Open]: Ce.Open, [pe.Closed]: Ce.Closed }) }, a != null && x != null && V.createElement(Fl, { disabled: u, data: { [a]: x }, form: i, onReset: N }), B({ ourProps: ee, theirProps: m, slot: R, defaultTag: Cf, name: "Listbox" }))))));
}
let Rf = "button";
function kf(e, t) {
let n = Ot(), r = la(), o = Kt("Listbox.Button"), i = lo("Listbox.Button"), { id: a = r || `headlessui-listbox-button-${n}`, disabled: s = o.disabled || !1, autoFocus: l = !1, ...c } = e, u = Te(t, Nu(), i.actions.setButtonElement), d = Du(), p = Z((R) => {
switch (R.key) {
case de.Enter:
Rl(R.currentTarget);
break;
case de.Space:
case de.ArrowDown:
R.preventDefault(), st(() => i.actions.openListbox()), o.value || i.actions.goToOption({ focus: me.First });
break;
case de.ArrowUp:
R.preventDefault(), st(() => i.actions.openListbox()), o.value || i.actions.goToOption({ focus: me.Last });
break;
}
}), f = Z((R) => {
switch (R.key) {
case de.Space:
R.preventDefault();
break;
}
}), m = Z((R) => {
var re;
if (R.button === 0) {
if (Dl(R.currentTarget)) return R.preventDefault();
i.state.listboxState === pe.Open ? (st(() => i.actions.closeListbox()), (re = i.state.buttonElement) == null || re.focus({ preventScroll: !0 })) : (R.preventDefault(), i.actions.openListbox());
}
}), g = Z((R) => R.preventDefault()), h = da([a]), b = Hl(), { isFocusVisible: x, focusProps: y } = hl({ autoFocus: l }), { isHovered: E, hoverProps: v } = gl({ isDisabled: s }), { pressed: C, pressProps: $ } = El({ disabled: s }), G = $e(i, (R) => R.listboxState), J = ce(() => ({ open: G === pe.Open, active: C || G === pe.Open, disabled: s, invalid: o.invalid, value: o.value, hover: E, focus: x, autofocus: l }), [G, o.value, s, E, x, C, o.invalid, l]), P = $e(i, (R) => R.listboxState === pe.Open), [_, L] = $e(i, (R) => [R.buttonElement, R.optionsElement]), K = ra(d(), { ref: u, id: a, type: hc(e, _), "aria-haspopup": "listbox", "aria-controls": L == null ? void 0 : L.id, "aria-expanded": P, "aria-labelledby": h, "aria-describedby": b, disabled: s || void 0, autoFocus: l, onKeyDown: p, onKeyUp: f, onKeyPress: g, onMouseDown: m }, y, v, $);
return Ee()({ ourProps: K, theirProps: c, slot: J, defaultTag: Rf, name: "Listbox.Button" });
}
let Qa = be(!1), If = "div", Lf = pn.RenderStrategy | pn.Static;
function Mf(e, t) {
let n = Ot(), { id: r = `headlessui-listbox-options-${n}`, anchor: o, portal: i = !1, modal: a = !0, transition: s = !1, ...l } = e, c = _u(o), [u, d] = le(null);
c && (i = !0);
let p = Kt("Listbox.Options"), f = lo("Listbox.Options"), [m, g, h, b] = $e(f, (T) => [T.listboxState, T.buttonElement, T.optionsElement, T.__demoMode]), x = yr(g), y = yr(h), E = io(), [v, C] = wa(s, u, E !== null ? (E & Ce.Open) === Ce.Open : m === pe.Open);
nc(v, g, f.actions.closeListbox);
let $ = b ? !1 : a && m === pe.Open;
Ec($, y);
let G = b ? !1 : a && m === pe.Open;
tc(G, { allowed: ae(() => [g, h], [g, h]) });
let J = m !== pe.Open, P = Ef(J, g) ? !1 : v, _ = v && m === pe.Closed, L = Uu(_, p.value), K = Z((T) => p.compare(L, T)), R = $e(f, (T) => {
var F;
if (c == null || !((F = c == null ? void 0 : c.to) != null && F.includes("selection"))) return null;
let z = T.options.findIndex((X) => K(X.dataRef.current.value));
return z === -1 && (z = 0), z;
}), re = (() => {
if (c == null) return;
if (R === null) return { ...c, inner: void 0 };
let T = Array.from(p.listRef.current.values());
return { ...c, inner: { listRef: { current: T }, index: R } };
})(), [Y, ee] = zu(re), N = ju(), B = Te(t, c ? Y : null, f.actions.setOptionsElement, d), w = St();
fe(() => {
var T;
let F = h;
F && m === pe.Open && F !== ((T = Yt(F)) == null ? void 0 : T.activeElement) && (F == null || F.focus({ preventScroll: !0 }));
}, [m, h]);
let S = Z((T) => {
var F, z;
switch (w.dispose(), T.key) {
case de.Space:
if (f.state.searchQuery !== "") return T.preventDefault(), T.stopPropagation(), f.actions.search(T.key);
case de.Enter:
if (T.preventDefault(), T.stopPropagation(), f.state.activeOptionIndex !== null) {
let { dataRef: X } = f.state.options[f.state.activeOptionIndex];
f.actions.onChange(X.current.value);
}
p.mode === Fe.Single && (st(() => f.actions.closeListbox()), (F = f.state.buttonElement) == null || F.focus({ preventScroll: !0 }));
break;
case ke(p.orientation, { vertical: de.ArrowDown, horizontal: de.ArrowRight }):
return T.preventDefault(), T.stopPropagation(), f.actions.goToOption({ focus: me.Next });
case ke(p.orientation, { vertical: de.ArrowUp, horizontal: de.ArrowLeft }):
return T.preventDefault(), T.stopPropagation(), f.actions.goToOption({ focus: me.Previous });
case de.Home:
case de.PageUp:
return T.preventDefault(), T.stopPropagation(), f.actions.goToOption({ focus: me.First });
case de.End:
case de.PageDown:
return T.preventDefault(), T.stopPropagation(), f.actions.goToOption({ focus: me.Last });
case de.Escape:
T.preventDefault(), T.stopPropagation(), st(() => f.actions.closeListbox()), (z = f.state.buttonElement) == null || z.focus({ preventScroll: !0 });
return;
case de.Tab:
T.preventDefault(), T.stopPropagation(), st(() => f.actions.closeListbox()), uc(f.state.buttonElement, T.shiftKey ? br.Previous : br.Next);
break;
default:
T.key.length === 1 && (f.actions.search(T.key), w.setTimeout(() => f.actions.clearSearch(), 350));
break;
}
}), j = $e(f, (T) => {
var F;
return (F = T.buttonElement) == null ? void 0 : F.id;
}), M = ce(() => ({ open: m === pe.Open }), [m]), D = ra(c ? N() : {}, { id: r, ref: B, "aria-activedescendant": $e(f, f.selectors.activeDescendantId), "aria-multiselectable": p.mode === Fe.Multi ? !0 : void 0, "aria-labelledby": j, "aria-orientation": p.orientation, onKeyDown: S, role: "listbox", tabIndex: m === pe.Open ? 0 : void 0, style: { ...l.style, ...ee, "--button-width": Zl(g, !0).width }, ...xa(C) }), U = Ee(), H = ce(() => p.mode === Fe.Multi ? p : { ...p, isSelected: K }, [p, K]);
return V.createElement(df, { enabled: i ? e.static || v : !1, ownerDocument: x }, V.createElement($n.Provider, { value: H }, U({ ourProps: D, theirProps: l, slot: M, defaultTag: If, features: Lf, visible: P, name: "Listbox.Options" })));
}
let Ff = "div";
function _f(e, t) {
let n = Ot(), { id: r = `headlessui-listbox-option-${n}`, disabled: o = !1, value: i, ...a } = e, s = ue(Qa) === !0, l = Kt("Listbox.Option"), c = lo("Listbox.Option"), u = $e(c, (P) => c.selectors.isActive(P, r)), d = l.isSelected(i), p = Q(null), f = Sf(p), m = gt({ disabled: o, value: i, domRef: p, get textValue() {
return f();
} }), g = Te(t, p, (P) => {
P ? l.listRef.current.set(r, P) : l.listRef.current.delete(r);
}), h = $e(c, (P) => c.selectors.shouldScrollIntoView(P, r));
se(() => {
if (h) return ze().requestAnimationFrame(() => {
var P, _;
(_ = (P = p.current) == null ? void 0 : P.scrollIntoView) == null || _.call(P, { block: "nearest" });
});
}, [h, p]), se(() => {
if (!s) return c.actions.registerOption(r, m), () => c.actions.unregisterOption(r);
}, [m, r, s]);
let b = Z((P) => {
var _;
if (o) return P.preventDefault();
c.actions.onChange(i), l.mode === Fe.Single && (st(() => c.actions.closeListbox()), (_ = c.state.buttonElement) == null || _.focus({ preventScroll: !0 }));
}), x = Z(() => {
if (o) return c.actions.goToOption({ focus: me.Nothing });
c.actions.goToOption({ focus: me.Specific, id: r });
}), y = Oc(), E = Z((P) => {
y.update(P), !o && (u || c.actions.goToOption({ focus: me.Specific, id: r }, Sr.Pointer));
}), v = Z((P) => {
y.wasMoved(P) && (o || u || c.actions.goToOption({ focus: me.Specific, id: r }, Sr.Pointer));
}), C = Z((P) => {
y.wasMoved(P) && (o || u && c.actions.goToOption({ focus: me.Nothing }));
}), $ = ce(() => ({ active: u, focus: u, selected: d, disabled: o, selectedOption: d && s }), [u, d, o, s]), G = s ? {} : { id: r, ref: g, role: "option", tabIndex: o === !0 ? void 0 : -1, "aria-disabled": o === !0 ? !0 : void 0, "aria-selected": d, disabled: void 0, onClick: b, onFocus: x, onPointerEnter: E, onMouseEnter: E, onPointerMove: v, onMouseMove: v, onPointerLeave: C, onMouseLeave: C }, J = Ee();
return !d && s ? null : J({ ourProps: G, theirProps: a, slot: $, defaultTag: Ff, name: "Listbox.Option" });
}
let Nf = Re;
function Df(e, t) {
let { options: n, placeholder: r, ...o } = e, i = { ref: Te(t) }, a = Kt("ListboxSelectedOption"), s = ce(() => ({}), []), l = a.value === void 0 || a.value === null || a.mode === Fe.Multi && Array.isArray(a.value) && a.value.length === 0, c = Ee();
return V.createElement(Qa.Provider, { value: !0 }, c({ ourProps: i, theirProps: { ...o, children: V.createElement(V.Fragment, null, r && l ? r : n) }, slot: s, defaultTag: Nf, name: "ListboxSelectedOption" }));
}
let jf = xe($f), Ja = xe(kf), zf = Kl, Za = xe(Mf), es = xe(_f), Hf = xe(Df), Wf = Object.assign(jf, { Button: Ja, Label: zf, Options: Za, Option: es, SelectedOption: Hf });
/*!
* Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license (Commercial License)
* Copyright 2024 Fonticons, Inc.
*/
const Bf = {
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"]
}, Uf = {
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 Vf(e, t, n) {
return (t = Gf(t)) in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
function ei(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter(function(o) {
return Object.getOwnPropertyDescriptor(e, o).enumerable;
})), n.push.apply(n, r);
}
return n;
}
function O(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? ei(Object(n), !0).forEach(function(r) {
Vf(e, r, n[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ei(Object(n)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
});
}
return e;
}
function Yf(e, t) {
if (typeof e != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var r = n.call(e, t);
if (typeof r != "object") return r;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
function Gf(e) {
var t = Yf(e, "string");
return typeof t == "symbol" ? t : t + "";
}
const ti = () => {
};
let co = {}, ts = {}, ns = null, rs = {
mark: ti,
measure: ti
};
try {
typeof window < "u" && (co = window), typeof document < "u" && (ts = document), typeof MutationObserver < "u" && (ns = MutationObserver), typeof performance < "u" && (rs = performance);
} catch {
}
const {
userAgent: ni = ""
} = co.navigator || {}, et = co, ie = ts, ri = ns, nn = rs;
et.document;
const Ye = !!ie.documentElement && !!ie.head && typeof ie.addEventListener == "function" && typeof ie.createElement == "function", os = ~ni.indexOf("MSIE") || ~ni.indexOf("Trident/");
var qf = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/, Kf = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i, is = {
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"
}
}, Xf = {
GROUP: "duotone-group",
PRIMARY: "primary",
SECONDARY: "secondary"
}, as = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], ve = "classic", Rn = "duotone", Qf = "sharp", Jf = "sharp-duotone", ss = [ve, Rn, Qf, Jf], Zf = {
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"
}
}, ed = {
"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"
}
}, td = /* @__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
}]]), nd = {
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"
}
}, rd = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], oi = {
kit: {
fak: "kit",
"fa-kit": "kit"
},
"kit-duotone": {
fakd: "kit-duotone",
"fa-kit-duotone": "kit-duotone"
}
}, od = ["kit"], id = {
kit: {
"fa-kit": "fak"
}
}, ad = ["fak", "fakd"], sd = {
kit: {
fak: "fa-kit"
}
}, ii = {
kit: {
kit: "fak"
},
"kit-duotone": {
"kit-duotone": "fakd"
}
}, rn = {
GROUP: "duotone-group",
SWAP_OPACITY: "swap-opacity",
PRIMARY: "primary",
SECONDARY: "secondary"
}, ld = ["fa-classic", "fa-duotone", "fa-sharp", "fa-sharp-duotone"], cd = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], ud = {
"Font Awesome Kit": {
400: "fak",
normal: "fak"
},
"Font Awesome Kit Duotone": {
400: "fakd",
normal: "fakd"
}
}, fd = {
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"
}
}, dd = {
classic: ["fas", "far", "fal", "fat", "fad"],
duotone: ["fadr", "fadl", "fadt"],
sharp: ["fass", "fasr", "fasl", "fast"],
"sharp-duotone": ["fasds", "fasdr", "fasdl", "fasdt"]
}, Tr = {
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"
}
}, pd = ["fa-solid", "fa-regular", "fa-light", "fa-thin", "fa-duotone", "fa-brands"], Ar = ["fa", "fas", "far", "fal", "fat", "fad", "fadr", "fadl", "fadt", "fab", "fass", "fasr", "fasl", "fast", "fasds", "fasdr", "fasdl", "fasdt", ...ld, ...pd], md = ["solid", "regular", "light", "thin", "duotone", "brands"], ls = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], gd = ls.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]), hd = [...Object.keys(dd), ...md, "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", rn.GROUP, rn.SWAP_OPACITY, rn.PRIMARY, rn.SECONDARY].concat(ls.map((e) => "".concat(e, "x"))).concat(gd.map((e) => "w-".concat(e))), vd = {
"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 Ue = "___FONT_AWESOME___", Pr = 16, cs = "fa", us = "svg-inline--fa", pt = "data-fa-i2svg", Cr = "data-fa-pseudo-element", bd = "data-fa-pseudo-element-pending", uo = "data-prefix", fo = "data-icon", ai = "fontawesome-i2svg", yd = "async", xd = ["HTML", "HEAD", "STYLE", "SCRIPT"], fs = (() => {
try {
return process.env.NODE_ENV === "production";
} catch {
return !1;
}
})();
function Xt(e) {
return new Proxy(e, {
get(t, n) {
return n in t ? t[n] : t[ve];
}
});
}
const ds = O({}, is);
ds[ve] = O(O(O(O({}, {
"fa-duotone": "duotone"
}), is[ve]), oi.kit), oi["kit-duotone"]);
const wd = Xt(ds), $r = O({}, nd);
$r[ve] = O(O(O(O({}, {
duotone: "fad"
}), $r[ve]), ii.kit), ii["kit-duotone"]);
const si = Xt($r), Rr = O({}, Tr);
Rr[ve] = O(O({}, Rr[ve]), sd.kit);
const po = Xt(Rr), kr = O({}, fd);
kr[ve] = O(O({}, kr[ve]), id.kit);
Xt(kr);
const Ed = qf, ps = "fa-layers-text", Od = Kf, Sd = O({}, Zf);
Xt(Sd);
const Td = ["class", "data-prefix", "data-icon", "data-fa-transform", "data-fa-mask"], Xn = Xf, Ad = [...od, ...hd], Dt = et.FontAwesomeConfig || {};
function Pd(e) {
var t = ie.querySelector("script[" + e + "]");
if (t)
return t.getAttribute(e);
}
function Cd(e) {
return e === "" ? !0 : e === "false" ? !1 : e === "true" ? !0 : e;
}
ie && typeof ie.querySelector == "function" && [["data-family-prefix", "familyPrefix"], ["data-css-prefix", "cssPrefix"], ["data-family-default", "familyDefault"], ["data-style-default", "styleDefault"], ["data-replacement-class", "replacementClass"], ["data-auto-replace-svg", "autoReplaceSvg"], ["data-auto-add-css", "autoAddCss"], ["data-auto-a11y", "autoA11y"], ["data-search-pseudo-elements", "searchPseudoElements"], ["data-observe-mutations", "observeMutations"], ["data-mutate-approach", "mutateApproach"], ["data-keep-original-source", "keepOriginalSource"], ["data-measure-performance", "measurePerformance"], ["data-show-missing-icons", "showMissingIcons"]].forEach((t) => {
let [n, r] = t;
const o = Cd(Pd(n));
o != null && (Dt[r] = o);
});
const ms = {
styleDefault: "solid",
familyDefault: ve,
cssPrefix: cs,
replacementClass: us,
autoReplaceSvg: !0,
autoAddCss: !0,
autoA11y: !0,
searchPseudoElements: !1,
observeMutations: !0,
mutateApproach: "async",
keepOriginalSource: !0,
measurePerformance: !1,
showMissingIcons: !0
};
Dt.familyPrefix && (Dt.cssPrefix = Dt.familyPrefix);
const Et = O(O({}, ms), Dt);
Et.autoReplaceSvg || (Et.observeMutations = !1);
const k = {};
Object.keys(ms).forEach((e) => {
Object.defineProperty(k, e, {
enumerable: !0,
set: function(t) {
Et[e] = t, jt.forEach((n) => n(k));
},
get: function() {
return Et[e];
}
});
});
Object.defineProperty(k, "familyPrefix", {
enumerable: !0,
set: function(e) {
Et.cssPrefix = e, jt.forEach((t) => t(k));
},
get: function() {
return Et.cssPrefix;
}
});
et.FontAwesomeConfig = k;
const jt = [];
function $d(e) {
return jt.push(e), () => {
jt.splice(jt.indexOf(e), 1);
};
}
const Ge = Pr, _e = {
size: 16,
x: 0,
y: 0,
rotate: 0,
flipX: !1,
flipY: !1
};
function Rd(e) {
if (!e || !Ye)
return;
const t = ie.createElement("style");
t.setAttribute("type", "text/css"), t.innerHTML = e;
const n = ie.head.childNodes;
let r = null;
for (let o = n.length - 1; o > -1; o--) {
const i = n[o], a = (i.tagName || "").toUpperCase();
["STYLE", "LINK"].indexOf(a) > -1 && (r = i);
}
return ie.head.insertBefore(t, r), e;
}
const kd = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
function Bt() {
let e = 12, t = "";
for (; e-- > 0; )
t += kd[Math.random() * 62 | 0];
return t;
}
function Ct(e) {
const t = [];
for (let n = (e || []).length >>> 0; n--; )
t[n] = e[n];
return t;
}
function mo(e) {
return e.classList ? Ct(e.classList) : (e.getAttribute("class") || "").split(" ").filter((t) => t);
}
function gs(e) {
return "".concat(e).replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function Id(e) {
return Object.keys(e || {}).reduce((t, n) => t + "".concat(n, '="').concat(gs(e[n]), '" '), "").trim();
}
function kn(e) {
return Object.keys(e || {}).reduce((t, n) => t + "".concat(n, ": ").concat(e[n].trim(), ";"), "");
}
function go(e) {
return e.size !== _e.size || e.x !== _e.x || e.y !== _e.y || e.rotate !== _e.rotate || e.flipX || e.flipY;
}
function Ld(e) {
let {
transform: t,
containerWidth: n,
iconWidth: r
} = e;
const o = {
transform: "translate(".concat(n / 2, " 256)")
}, i = "translate(".concat(t.x * 32, ", ").concat(t.y * 32, ") "), a = "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(i, " ").concat(a, " ").concat(s)
}, c = {
transform: "translate(".concat(r / 2 * -1, " -256)")
};
return {
outer: o,
inner: l,
path: c
};
}
function Md(e) {
let {
transform: t,
width: n = Pr,
height: r = Pr,
startCentered: o = !1
} = e, i = "";
return o && os ? i += "translate(".concat(t.x / Ge - n / 2, "em, ").concat(t.y / Ge - r / 2, "em) ") : o ? i += "translate(calc(-50% + ".concat(t.x / Ge, "em), calc(-50% + ").concat(t.y / Ge, "em)) ") : i += "translate(".concat(t.x / Ge, "em, ").concat(t.y / Ge, "em) "), i += "scale(".concat(t.size / Ge * (t.flipX ? -1 : 1), ", ").concat(t.size / Ge * (t.flipY ? -1 : 1), ") "), i += "rotate(".concat(t.rotate, "deg) "), i;
}
var Fd = `: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 hs() {
const e = cs, t = us, n = k.cssPrefix, r = k.replacementClass;
let o = Fd;
if (n !== e || r !== t) {
const i = new RegExp("\\.".concat(e, "\\-"), "g"), a = new RegExp("\\--".concat(e, "\\-"), "g"), s = new RegExp("\\.".concat(t), "g");
o = o.replace(i, ".".concat(n, "-")).replace(a, "--".concat(n, "-")).replace(s, ".".concat(r));
}
return o;
}
let li = !1;
function Qn() {
k.autoAddCss && !li && (Rd(hs()), li = !0);
}
var _d = {
mixout() {
return {
dom: {
css: hs,
insertCss: Qn
}
};
},
hooks() {
return {
beforeDOMElementCreation() {
Qn();
},
beforeI2svg() {
Qn();
}
};
}
};
const Ve = et || {};
Ve[Ue] || (Ve[Ue] = {});
Ve[Ue].styles || (Ve[Ue].styles = {});
Ve[Ue].hooks || (Ve[Ue].hooks = {});
Ve[Ue].shims || (Ve[Ue].shims = []);
var Ne = Ve[Ue];
const vs = [], bs = function() {
ie.removeEventListener("DOMContentLoaded", bs), vn = 1, vs.map((e) => e());
};
let vn = !1;
Ye && (vn = (ie.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(ie.readyState), vn || ie.addEventListener("DOMContentLoaded", bs));
function Nd(e) {
Ye && (vn ? setTimeout(e, 0) : vs.push(e));
}
function Qt(e) {
const {
tag: t,
attributes: n = {},
children: r = []
} = e;
return typeof e == "string" ? gs(e) : "<".concat(t, " ").concat(Id(n), ">").concat(r.map(Qt).join(""), "</").concat(t, ">");
}
function ci(e, t, n) {
if (e && e[t] && e[t][n])
return {
prefix: t,
iconName: n,
icon: e[t][n]
};
}
var Jn = function(t, n, r, o) {
var i = Object.keys(t), a = i.length, s = n, l, c, u;
for (r === void 0 ? (l = 1, u = t[i[0]]) : (l = 0, u = r); l < a; l++)
c = i[l], u = s(u, t[c], c, t);
return u;
};
function Dd(e) {
const t = [];
let n = 0;
const r = e.length;
for (; n < r; ) {
const o = e.charCodeAt(n++);
if (o >= 55296 && o <= 56319 && n < r) {
const i = e.charCodeAt(n++);
(i & 64512) == 56320 ? t.push(((o & 1023) << 10) + (i & 1023) + 65536) : (t.push(o), n--);
} else
t.push(o);
}
return t;
}
function Ir(e) {
const t = Dd(e);
return t.length === 1 ? t[0].toString(16) : null;
}
function jd(e, t) {
const n = e.length;
let r = e.charCodeAt(t), o;
return r >= 55296 && r <= 56319 && n > t + 1 && (o = e.charCodeAt(t + 1), o >= 56320 && o <= 57343) ? (r - 55296) * 1024 + o - 56320 + 65536 : r;
}
function ui(e) {
return Object.keys(e).reduce((t, n) => {
const r = e[n];
return !!r.icon ? t[r.iconName] = r.icon : t[n] = r, t;
}, {});
}
function Lr(e, t) {
let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
const {
skipHooks: r = !1
} = n, o = ui(t);
typeof Ne.hooks.addPack == "function" && !r ? Ne.hooks.addPack(e, ui(t)) : Ne.styles[e] = O(O({}, Ne.styles[e] || {}), o), e === "fas" && Lr("fa", t);
}
const {
styles: Ut,
shims: zd
} = Ne, ys = Object.keys(po), Hd = ys.reduce((e, t) => (e[t] = Object.keys(po[t]), e), {});
let ho = null, xs = {}, ws = {}, Es = {}, Os = {}, Ss = {};
function Wd(e) {
return ~Ad.indexOf(e);
}
function Bd(e, t) {
const n = t.split("-"), r = n[0], o = n.slice(1).join("-");
return r === e && o !== "" && !Wd(o) ? o : null;
}
const Ts = () => {
const e = (r) => Jn(Ut, (o, i, a) => (o[a] = Jn(i, r, {}), o), {});
xs = e((r, o, i) => (o[3] && (r[o[3]] = i), o[2] && o[2].filter((s) => typeof s == "number").forEach((s) => {
r[s.toString(16)] = i;
}), r)), ws = e((r, o, i) => (r[i] = i, o[2] && o[2].filter((s) => typeof s == "string").forEach((s) => {
r[s] = i;
}), r)), Ss = e((r, o, i) => {
const a = o[2];
return r[i] = i, a.forEach((s) => {
r[s] = i;
}), r;
});
const t = "far" in Ut || k.autoFetchSvg, n = Jn(zd, (r, o) => {
const i = o[0];
let a = o[1];
const s = o[2];
return a === "far" && !t && (a = "fas"), typeof i == "string" && (r.names[i] = {
prefix: a,
iconName: s
}), typeof i == "number" && (r.unicodes[i.toString(16)] = {
prefix: a,
iconName: s
}), r;
}, {
names: {},
unicodes: {}
});
Es = n.names, Os = n.unicodes, ho = In(k.styleDefault, {
family: k.familyDefault
});
};
$d((e) => {
ho = In(e.styleDefault, {
family: k.familyDefault
});
});
Ts();
function vo(e, t) {
return (xs[e] || {})[t];
}
function Ud(e, t) {
return (ws[e] || {})[t];
}
function at(e, t) {
return (Ss[e] || {})[t];
}
function As(e) {
return Es[e] || {
prefix: null,
iconName: null
};
}
function Vd(e) {
const t = Os[e], n = vo("fas", e);
return t || (n ? {
prefix: "fas",
iconName: n
} : null) || {
prefix: null,
iconName: null
};
}
function tt() {
return ho;
}
const Ps = () => ({
prefix: null,
iconName: null,
rest: []
});
function Yd(e) {
let t = ve;
const n = ys.reduce((r, o) => (r[o] = "".concat(k.cssPrefix, "-").concat(o), r), {});
return ss.forEach((r) => {
(e.includes(n[r]) || e.some((o) => Hd[r].includes(o))) && (t = r);
}), t;
}
function In(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
family: n = ve
} = t, r = wd[n][e];
if (n === Rn && !e)
return "fad";
const o = si[n][e] || si[n][r], i = e in Ne.styles ? e : null;
return o || i || null;
}
function Gd(e) {
let t = [], n = null;
return e.forEach((r) => {
const o = Bd(k.cssPrefix, r);
o ? n = o : r && t.push(r);
}), {
iconName: n,
rest: t
};
}
function fi(e) {
return e.sort().filter((t, n, r) => r.indexOf(t) === n);
}
function Ln(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
skipLookups: n = !1
} = t;
let r = null;
const o = Ar.concat(cd), i = fi(e.filter((d) => o.includes(d))), a = fi(e.filter((d) => !Ar.includes(d))), s = i.filter((d) => (r = d, !as.includes(d))), [l = null] = s, c = Yd(i), u = O(O({}, Gd(a)), {}, {
prefix: In(l, {
family: c
})
});
return O(O(O({}, u), Qd({
values: e,
family: c,
styles: Ut,
config: k,
canonical: u,
givenPrefix: r
})), qd(n, r, u));
}
function qd(e, t, n) {
let {
prefix: r,
iconName: o
} = n;
if (e || !r || !o)
return {
prefix: r,
iconName: o
};
const i = t === "fa" ? As(o) : {}, a = at(r, o);
return o = i.iconName || a || o, r = i.prefix || r, r === "far" && !Ut.far && Ut.fas && !k.autoFetchSvg && (r = "fas"), {
prefix: r,
iconName: o
};
}
const Kd = ss.filter((e) => e !== ve || e !== Rn), Xd = Object.keys(Tr).filter((e) => e !== ve).map((e) => Object.keys(Tr[e])).flat();
function Qd(e) {
const {
values: t,
family: n,
canonical: r,
givenPrefix: o = "",
styles: i = {},
config: a = {}
} = e, s = n === Rn, l = t.includes("fa-duotone") || t.includes("fad"), c = a.familyDefault === "duotone", u = r.prefix === "fad" || r.prefix === "fa-duotone";
if (!s && (l || c || u) && (r.prefix = "fad"), (t.includes("fa-brands") || t.includes("fab")) && (r.prefix = "fab"), !r.prefix && Kd.includes(n) && (Object.keys(i).find((p) => Xd.includes(p)) || a.autoFetchSvg)) {
const p = td.get(n).defaultShortPrefixId;
r.prefix = p, r.iconName = at(r.prefix, r.iconName) || r.iconName;
}
return (r.prefix === "fa" || o === "fa") && (r.prefix = tt() || "fas"), r;
}
class Jd {
constructor() {
this.definitions = {};
}
add() {
for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
n[r] = arguments[r];
const o = n.reduce(this._pullDefinitions, {});
Object.keys(o).forEach((i) => {
this.definitions[i] = O(O({}, this.definitions[i] || {}), o[i]), Lr(i, o[i]);
const a = po[ve][i];
a && Lr(a, o[i]), Ts();
});
}
reset() {
this.definitions = {};
}
_pullDefinitions(t, n) {
const r = n.prefix && n.iconName && n.icon ? {
0: n
} : n;
return Object.keys(r).map((o) => {
const {
prefix: i,
iconName: a,
icon: s
} = r[o], l = s[2];
t[i] || (t[i] = {}), l.length > 0 && l.forEach((c) => {
typeof c == "string" && (t[i][c] = s);
}), t[i][a] = s;
}), t;
}
}
let di = [], ht = {};
const yt = {}, Zd = Object.keys(yt);
function ep(e, t) {
let {
mixoutsTo: n
} = t;
return di = e, ht = {}, Object.keys(yt).forEach((r) => {
Zd.indexOf(r) === -1 && delete yt[r];
}), di.forEach((r) => {
const o = r.mixout ? r.mixout() : {};
if (Object.keys(o).forEach((i) => {
typeof o[i] == "function" && (n[i] = o[i]), typeof o[i] == "object" && Object.keys(o[i]).forEach((a) => {
n[i] || (n[i] = {}), n[i][a] = o[i][a];
});
}), r.hooks) {
const i = r.hooks();
Object.keys(i).forEach((a) => {
ht[a] || (ht[a] = []), ht[a].push(i[a]);
});
}
r.provides && r.provides(yt);
}), n;
}
function Mr(e, t) {
for (var n = arguments.length, r = new Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++)
r[o - 2] = arguments[o];
return (ht[e] || []).forEach((a) => {
t = a.apply(null, [t, ...r]);
}), t;
}
function mt(e) {
for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
n[r - 1] = arguments[r];
(ht[e] || []).forEach((i) => {
i.apply(null, n);
});
}
function nt() {
const e = arguments[0], t = Array.prototype.slice.call(arguments, 1);
return yt[e] ? yt[e].apply(null, t) : void 0;
}
function Fr(e) {
e.prefix === "fa" && (e.prefix = "fas");
let {
iconName: t
} = e;
const n = e.prefix || tt();
if (t)
return t = at(n, t) || t, ci(Cs.definitions, n, t) || ci(Ne.styles, n, t);
}
const Cs = new Jd(), tp = () => {
k.autoReplaceSvg = !1, k.observeMutations = !1, mt("noAuto");
}, np = {
i2svg: function() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
return Ye ? (mt("beforeI2svg", e), nt("pseudoElements2svg", e), nt("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;
k.autoReplaceSvg === !1 && (k.autoReplaceSvg = !0), k.observeMutations = !0, Nd(() => {
op({
autoReplaceSvgRoot: t
}), mt("watch", e);
});
}
}, rp = {
icon: (e) => {
if (e === null)
return null;
if (typeof e == "object" && e.prefix && e.iconName)
return {
prefix: e.prefix,
iconName: at(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], n = In(e[0]);
return {
prefix: n,
iconName: at(n, t) || t
};
}
if (typeof e == "string" && (e.indexOf("".concat(k.cssPrefix, "-")) > -1 || e.match(Ed))) {
const t = Ln(e.split(" "), {
skipLookups: !0
});
return {
prefix: t.prefix || tt(),
iconName: at(t.prefix, t.iconName) || t.iconName
};
}
if (typeof e == "string") {
const t = tt();
return {
prefix: t,
iconName: at(t, e) || e
};
}
}
}, Oe = {
noAuto: tp,
config: k,
dom: np,
parse: rp,
library: Cs,
findIconDefinition: Fr,
toHtml: Qt
}, op = function() {
let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
const {
autoReplaceSvgRoot: t = ie
} = e;
(Object.keys(Ne.styles).length > 0 || k.autoFetchSvg) && Ye && k.autoReplaceSvg && Oe.dom.i2svg({
node: t
});
};
function Mn(e, t) {
return Object.defineProperty(e, "abstract", {
get: t
}), Object.defineProperty(e, "html", {
get: function() {
return e.abstract.map((n) => Qt(n));
}
}), Object.defineProperty(e, "node", {
get: function() {
if (!Ye) return;
const n = ie.createElement("div");
return n.innerHTML = e.html, n.children;
}
}), e;
}
function ip(e) {
let {
children: t,
main: n,
mask: r,
attributes: o,
styles: i,
transform: a
} = e;
if (go(a) && n.found && !r.found) {
const {
width: s,
height: l
} = n, c = {
x: s / l / 2,
y: 0.5
};
o.style = kn(O(O({}, i), {}, {
"transform-origin": "".concat(c.x + a.x / 16, "em ").concat(c.y + a.y / 16, "em")
}));
}
return [{
tag: "svg",
attributes: o,
children: t
}];
}
function ap(e) {
let {
prefix: t,
iconName: n,
children: r,
attributes: o,
symbol: i
} = e;
const a = i === !0 ? "".concat(t, "-").concat(k.cssPrefix, "-").concat(n) : i;
return [{
tag: "svg",
attributes: {
style: "display: none;"
},
children: [{
tag: "symbol",
attributes: O(O({}, o), {}, {
id: a
}),
children: r
}]
}];
}
function bo(e) {
const {
icons: {
main: t,
mask: n
},
prefix: r,
iconName: o,
transform: i,
symbol: a,
title: s,
maskId: l,
titleId: c,
extra: u,
watchable: d = !1
} = e, {
width: p,
height: f
} = n.found ? n : t, m = ad.includes(r), g = [k.replacementClass, o ? "".concat(k.cssPrefix, "-").concat(o) : ""].filter((v) => u.classes.indexOf(v) === -1).filter((v) => v !== "" || !!v).concat(u.classes).join(" ");
let h = {
children: [],
attributes: O(O({}, u.attributes), {}, {
"data-prefix": r,
"data-icon": o,
class: g,
role: u.attributes.role || "img",
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 ".concat(p, " ").concat(f)
})
};
const b = m && !~u.classes.indexOf("fa-fw") ? {
width: "".concat(p / f * 16 * 0.0625, "em")
} : {};
d && (h.attributes[pt] = ""), s && (h.children.push({
tag: "title",
attributes: {
id: h.attributes["aria-labelledby"] || "title-".concat(c || Bt())
},
children: [s]
}), delete h.attributes.title);
const x = O(O({}, h), {}, {
prefix: r,
iconName: o,
main: t,
mask: n,
maskId: l,
transform: i,
symbol: a,
styles: O(O({}, b), u.styles)
}), {
children: y,
attributes: E
} = n.found && t.found ? nt("generateAbstractMask", x) || {
children: [],
attributes: {}
} : nt("generateAbstractIcon", x) || {
children: [],
attributes: {}
};
return x.children = y, x.attributes = E, a ? ap(x) : ip(x);
}
function pi(e) {
const {
content: t,
width: n,
height: r,
transform: o,
title: i,
extra: a,
watchable: s = !1
} = e, l = O(O(O({}, a.attributes), i ? {
title: i
} : {}), {}, {
class: a.classes.join(" ")
});
s && (l[pt] = "");
const c = O({}, a.styles);
go(o) && (c.transform = Md({
transform: o,
startCentered: !0,
width: n,
height: r
}), c["-webkit-transform"] = c.transform);
const u = kn(c);
u.length > 0 && (l.style = u);
const d = [];
return d.push({
tag: "span",
attributes: l,
children: [t]
}), i && d.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [i]
}), d;
}
function sp(e) {
const {
content: t,
title: n,
extra: r
} = e, o = O(O(O({}, r.attributes), n ? {
title: n
} : {}), {}, {
class: r.classes.join(" ")
}), i = kn(r.styles);
i.length > 0 && (o.style = i);
const a = [];
return a.push({
tag: "span",
attributes: o,
children: [t]
}), n && a.push({
tag: "span",
attributes: {
class: "sr-only"
},
children: [n]
}), a;
}
const {
styles: Zn
} = Ne;
function _r(e) {
const t = e[0], n = e[1], [r] = e.slice(4);
let o = null;
return Array.isArray(r) ? o = {
tag: "g",
attributes: {
class: "".concat(k.cssPrefix, "-").concat(Xn.GROUP)
},
children: [{
tag: "path",
attributes: {
class: "".concat(k.cssPrefix, "-").concat(Xn.SECONDARY),
fill: "currentColor",
d: r[0]
}
}, {
tag: "path",
attributes: {
class: "".concat(k.cssPrefix, "-").concat(Xn.PRIMARY),
fill: "currentColor",
d: r[1]
}
}]
} : o = {
tag: "path",
attributes: {
fill: "currentColor",
d: r
}
}, {
found: !0,
width: t,
height: n,
icon: o
};
}
const lp = {
found: !1,
width: 512,
height: 512
};
function cp(e, t) {
!fs && !k.showMissingIcons && e && console.error('Icon with name "'.concat(e, '" and prefix "').concat(t, '" is missing.'));
}
function Nr(e, t) {
let n = t;
return t === "fa" && k.styleDefault !== null && (t = tt()), new Promise((r, o) => {
if (n === "fa") {
const i = As(e) || {};
e = i.iconName || e, t = i.prefix || t;
}
if (e && t && Zn[t] && Zn[t][e]) {
const i = Zn[t][e];
return r(_r(i));
}
cp(e, t), r(O(O({}, lp), {}, {
icon: k.showMissingIcons && e ? nt("missingIconAbstract") || {} : {}
}));
});
}
const mi = () => {
}, Dr = k.measurePerformance && nn && nn.mark && nn.measure ? nn : {
mark: mi,
measure: mi
}, Ft = 'FA "6.7.2"', up = (e) => (Dr.mark("".concat(Ft, " ").concat(e, " begins")), () => $s(e)), $s = (e) => {
Dr.mark("".concat(Ft, " ").concat(e, " ends")), Dr.measure("".concat(Ft, " ").concat(e), "".concat(Ft, " ").concat(e, " begins"), "".concat(Ft, " ").concat(e, " ends"));
};
var yo = {
begin: up,
end: $s
};
const ln = () => {
};
function gi(e) {
return typeof (e.getAttribute ? e.getAttribute(pt) : null) == "string";
}
function fp(e) {
const t = e.getAttribute ? e.getAttribute(uo) : null, n = e.getAttribute ? e.getAttribute(fo) : null;
return t && n;
}
function dp(e) {
return e && e.classList && e.classList.contains && e.classList.contains(k.replacementClass);
}
function pp() {
return k.autoReplaceSvg === !0 ? cn.replace : cn[k.autoReplaceSvg] || cn.replace;
}
function mp(e) {
return ie.createElementNS("http://www.w3.org/2000/svg", e);
}
function gp(e) {
return ie.createElement(e);
}
function Rs(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
ceFn: n = e.tag === "svg" ? mp : gp
} = t;
if (typeof e == "string")
return ie.createTextNode(e);
const r = n(e.tag);
return Object.keys(e.attributes || []).forEach(function(i) {
r.setAttribute(i, e.attributes[i]);
}), (e.children || []).forEach(function(i) {
r.appendChild(Rs(i, {
ceFn: n
}));
}), r;
}
function hp(e) {
let t = " ".concat(e.outerHTML, " ");
return t = "".concat(t, "Font Awesome fontawesome.com "), t;
}
const cn = {
replace: function(e) {
const t = e[0];
if (t.parentNode)
if (e[1].forEach((n) => {
t.parentNode.insertBefore(Rs(n), t);
}), t.getAttribute(pt) === null && k.keepOriginalSource) {
let n = ie.createComment(hp(t));
t.parentNode.replaceChild(n, t);
} else
t.remove();
},
nest: function(e) {
const t = e[0], n = e[1];
if (~mo(t).indexOf(k.replacementClass))
return cn.replace(e);
const r = new RegExp("".concat(k.cssPrefix, "-.*"));
if (delete n[0].attributes.id, n[0].attributes.class) {
const i = n[0].attributes.class.split(" ").reduce((a, s) => (s === k.replacementClass || s.match(r) ? a.toSvg.push(s) : a.toNode.push(s), a), {
toNode: [],
toSvg: []
});
n[0].attributes.class = i.toSvg.join(" "), i.toNode.length === 0 ? t.removeAttribute("class") : t.setAttribute("class", i.toNode.join(" "));
}
const o = n.map((i) => Qt(i)).join(`
`);
t.setAttribute(pt, ""), t.innerHTML = o;
}
};
function hi(e) {
e();
}
function ks(e, t) {
const n = typeof t == "function" ? t : ln;
if (e.length === 0)
n();
else {
let r = hi;
k.mutateApproach === yd && (r = et.requestAnimationFrame || hi), r(() => {
const o = pp(), i = yo.begin("mutate");
e.map(o), i(), n();
});
}
}
let xo = !1;
function Is() {
xo = !0;
}
function jr() {
xo = !1;
}
let bn = null;
function vi(e) {
if (!ri || !k.observeMutations)
return;
const {
treeCallback: t = ln,
nodeCallback: n = ln,
pseudoElementsCallback: r = ln,
observeMutationsRoot: o = ie
} = e;
bn = new ri((i) => {
if (xo) return;
const a = tt();
Ct(i).forEach((s) => {
if (s.type === "childList" && s.addedNodes.length > 0 && !gi(s.addedNodes[0]) && (k.searchPseudoElements && r(s.target), t(s.target)), s.type === "attributes" && s.target.parentNode && k.searchPseudoElements && r(s.target.parentNode), s.type === "attributes" && gi(s.target) && ~Td.indexOf(s.attributeName))
if (s.attributeName === "class" && fp(s.target)) {
const {
prefix: l,
iconName: c
} = Ln(mo(s.target));
s.target.setAttribute(uo, l || a), c && s.target.setAttribute(fo, c);
} else dp(s.target) && n(s.target);
});
}), Ye && bn.observe(o, {
childList: !0,
attributes: !0,
characterData: !0,
subtree: !0
});
}
function vp() {
bn && bn.disconnect();
}
function bp(e) {
const t = e.getAttribute("style");
let n = [];
return t && (n = t.split(";").reduce((r, o) => {
const i = o.split(":"), a = i[0], s = i.slice(1);
return a && s.length > 0 && (r[a] = s.join(":").trim()), r;
}, {})), n;
}
function yp(e) {
const t = e.getAttribute("data-prefix"), n = e.getAttribute("data-icon"), r = e.innerText !== void 0 ? e.innerText.trim() : "";
let o = Ln(mo(e));
return o.prefix || (o.prefix = tt()), t && n && (o.prefix = t, o.iconName = n), o.iconName && o.prefix || (o.prefix && r.length > 0 && (o.iconName = Ud(o.prefix, e.innerText) || vo(o.prefix, Ir(e.innerText))), !o.iconName && k.autoFetchSvg && e.firstChild && e.firstChild.nodeType === Node.TEXT_NODE && (o.iconName = e.firstChild.data)), o;
}
function xp(e) {
const t = Ct(e.attributes).reduce((o, i) => (o.name !== "class" && o.name !== "style" && (o[i.name] = i.value), o), {}), n = e.getAttribute("title"), r = e.getAttribute("data-fa-title-id");
return k.autoA11y && (n ? t["aria-labelledby"] = "".concat(k.replacementClass, "-title-").concat(r || Bt()) : (t["aria-hidden"] = "true", t.focusable = "false")), t;
}
function wp() {
return {
iconName: null,
title: null,
titleId: null,
prefix: null,
transform: _e,
symbol: !1,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
extra: {
classes: [],
styles: {},
attributes: {}
}
};
}
function bi(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
styleParser: !0
};
const {
iconName: n,
prefix: r,
rest: o
} = yp(e), i = xp(e), a = Mr("parseNodeAttributes", {}, e);
let s = t.styleParser ? bp(e) : [];
return O({
iconName: n,
title: e.getAttribute("title"),
titleId: e.getAttribute("data-fa-title-id"),
prefix: r,
transform: _e,
mask: {
iconName: null,
prefix: null,
rest: []
},
maskId: null,
symbol: !1,
extra: {
classes: o,
styles: s,
attributes: i
}
}, a);
}
const {
styles: Ep
} = Ne;
function Ls(e) {
const t = k.autoReplaceSvg === "nest" ? bi(e, {
styleParser: !1
}) : bi(e);
return ~t.extra.classes.indexOf(ps) ? nt("generateLayersText", e, t) : nt("generateSvgReplacementMutation", e, t);
}
function Op() {
return [...rd, ...Ar];
}
function yi(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
if (!Ye) return Promise.resolve();
const n = ie.documentElement.classList, r = (u) => n.add("".concat(ai, "-").concat(u)), o = (u) => n.remove("".concat(ai, "-").concat(u)), i = k.autoFetchSvg ? Op() : as.concat(Object.keys(Ep));
i.includes("fa") || i.push("fa");
const a = [".".concat(ps, ":not([").concat(pt, "])")].concat(i.map((u) => ".".concat(u, ":not([").concat(pt, "])"))).join(", ");
if (a.length === 0)
return Promise.resolve();
let s = [];
try {
s = Ct(e.querySelectorAll(a));
} catch {
}
if (s.length > 0)
r("pending"), o("complete");
else
return Promise.resolve();
const l = yo.begin("onTree"), c = s.reduce((u, d) => {
try {
const p = Ls(d);
p && u.push(p);
} catch (p) {
fs || p.name === "MissingIcon" && console.error(p);
}
return u;
}, []);
return new Promise((u, d) => {
Promise.all(c).then((p) => {
ks(p, () => {
r("active"), r("complete"), o("pending"), typeof t == "function" && t(), l(), u();
});
}).catch((p) => {
l(), d(p);
});
});
}
function Sp(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
Ls(e).then((n) => {
n && ks([n], t);
});
}
function Tp(e) {
return function(t) {
let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const r = (t || {}).icon ? t : Fr(t || {});
let {
mask: o
} = n;
return o && (o = (o || {}).icon ? o : Fr(o || {})), e(r, O(O({}, n), {}, {
mask: o
}));
};
}
const Ap = function(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
transform: n = _e,
symbol: r = !1,
mask: o = null,
maskId: i = null,
title: a = null,
titleId: s = null,
classes: l = [],
attributes: c = {},
styles: u = {}
} = t;
if (!e) return;
const {
prefix: d,
iconName: p,
icon: f
} = e;
return Mn(O({
type: "icon"
}, e), () => (mt("beforeDOMElementCreation", {
iconDefinition: e,
params: t
}), k.autoA11y && (a ? c["aria-labelledby"] = "".concat(k.replacementClass, "-title-").concat(s || Bt()) : (c["aria-hidden"] = "true", c.focusable = "false")), bo({
icons: {
main: _r(f),
mask: o ? _r(o.icon) : {
found: !1,
width: null,
height: null,
icon: {}
}
},
prefix: d,
iconName: p,
transform: O(O({}, _e), n),
symbol: r,
title: a,
maskId: i,
titleId: s,
extra: {
attributes: c,
styles: u,
classes: l
}
})));
};
var Pp = {
mixout() {
return {
icon: Tp(Ap)
};
},
hooks() {
return {
mutationObserverCallbacks(e) {
return e.treeCallback = yi, e.nodeCallback = Sp, e;
}
};
},
provides(e) {
e.i2svg = function(t) {
const {
node: n = ie,
callback: r = () => {
}
} = t;
return yi(n, r);
}, e.generateSvgReplacementMutation = function(t, n) {
const {
iconName: r,
title: o,
titleId: i,
prefix: a,
transform: s,
symbol: l,
mask: c,
maskId: u,
extra: d
} = n;
return new Promise((p, f) => {
Promise.all([Nr(r, a), c.iconName ? Nr(c.iconName, c.prefix) : Promise.resolve({
found: !1,
width: 512,
height: 512,
icon: {}
})]).then((m) => {
let [g, h] = m;
p([t, bo({
icons: {
main: g,
mask: h
},
prefix: a,
iconName: r,
transform: s,
symbol: l,
maskId: u,
title: o,
titleId: i,
extra: d,
watchable: !0
})]);
}).catch(f);
});
}, e.generateAbstractIcon = function(t) {
let {
children: n,
attributes: r,
main: o,
transform: i,
styles: a
} = t;
const s = kn(a);
s.length > 0 && (r.style = s);
let l;
return go(i) && (l = nt("generateAbstractTransformGrouping", {
main: o,
transform: i,
containerWidth: o.width,
iconWidth: o.width
})), n.push(l || o.icon), {
children: n,
attributes: r
};
};
}
}, Cp = {
mixout() {
return {
layer(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
classes: n = []
} = t;
return Mn({
type: "layer"
}, () => {
mt("beforeDOMElementCreation", {
assembler: e,
params: t
});
let r = [];
return e((o) => {
Array.isArray(o) ? o.map((i) => {
r = r.concat(i.abstract);
}) : r = r.concat(o.abstract);
}), [{
tag: "span",
attributes: {
class: ["".concat(k.cssPrefix, "-layers"), ...n].join(" ")
},
children: r
}];
});
}
};
}
}, $p = {
mixout() {
return {
counter(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
title: n = null,
classes: r = [],
attributes: o = {},
styles: i = {}
} = t;
return Mn({
type: "counter",
content: e
}, () => (mt("beforeDOMElementCreation", {
content: e,
params: t
}), sp({
content: e.toString(),
title: n,
extra: {
attributes: o,
styles: i,
classes: ["".concat(k.cssPrefix, "-layers-counter"), ...r]
}
})));
}
};
}
}, Rp = {
mixout() {
return {
text(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
const {
transform: n = _e,
title: r = null,
classes: o = [],
attributes: i = {},
styles: a = {}
} = t;
return Mn({
type: "text",
content: e
}, () => (mt("beforeDOMElementCreation", {
content: e,
params: t
}), pi({
content: e,
transform: O(O({}, _e), n),
title: r,
extra: {
attributes: i,
styles: a,
classes: ["".concat(k.cssPrefix, "-layers-text"), ...o]
}
})));
}
};
},
provides(e) {
e.generateLayersText = function(t, n) {
const {
title: r,
transform: o,
extra: i
} = n;
let a = null, s = null;
if (os) {
const l = parseInt(getComputedStyle(t).fontSize, 10), c = t.getBoundingClientRect();
a = c.width / l, s = c.height / l;
}
return k.autoA11y && !r && (i.attributes["aria-hidden"] = "true"), Promise.resolve([t, pi({
content: t.innerHTML,
width: a,
height: s,
transform: o,
title: r,
extra: i,
watchable: !0
})]);
};
}
};
const kp = new RegExp('"', "ug"), xi = [1105920, 1112319], wi = O(O(O(O({}, {
FontAwesome: {
normal: "fas",
400: "fas"
}
}), ed), vd), ud), zr = Object.keys(wi).reduce((e, t) => (e[t.toLowerCase()] = wi[t], e), {}), Ip = Object.keys(zr).reduce((e, t) => {
const n = zr[t];
return e[t] = n[900] || [...Object.entries(n)][0][1], e;
}, {});
function Lp(e) {
const t = e.replace(kp, ""), n = jd(t, 0), r = n >= xi[0] && n <= xi[1], o = t.length === 2 ? t[0] === t[1] : !1;
return {
value: Ir(o ? t[0] : t),
isSecondary: r || o
};
}
function Mp(e, t) {
const n = e.replace(/^['"]|['"]$/g, "").toLowerCase(), r = parseInt(t), o = isNaN(r) ? "normal" : r;
return (zr[n] || {})[o] || Ip[n];
}
function Ei(e, t) {
const n = "".concat(bd).concat(t.replace(":", "-"));
return new Promise((r, o) => {
if (e.getAttribute(n) !== null)
return r();
const a = Ct(e.children).filter((p) => p.getAttribute(Cr) === t)[0], s = et.getComputedStyle(e, t), l = s.getPropertyValue("font-family"), c = l.match(Od), u = s.getPropertyValue("font-weight"), d = s.getPropertyValue("content");
if (a && !c)
return e.removeChild(a), r();
if (c && d !== "none" && d !== "") {
const p = s.getPropertyValue("content");
let f = Mp(l, u);
const {
value: m,
isSecondary: g
} = Lp(p), h = c[0].startsWith("FontAwesome");
let b = vo(f, m), x = b;
if (h) {
const y = Vd(m);
y.iconName && y.prefix && (b = y.iconName, f = y.prefix);
}
if (b && !g && (!a || a.getAttribute(uo) !== f || a.getAttribute(fo) !== x)) {
e.setAttribute(n, x), a && e.removeChild(a);
const y = wp(), {
extra: E
} = y;
E.attributes[Cr] = t, Nr(b, f).then((v) => {
const C = bo(O(O({}, y), {}, {
icons: {
main: v,
mask: Ps()
},
prefix: f,
iconName: x,
extra: E,
watchable: !0
})), $ = ie.createElementNS("http://www.w3.org/2000/svg", "svg");
t === "::before" ? e.insertBefore($, e.firstChild) : e.appendChild($), $.outerHTML = C.map((G) => Qt(G)).join(`
`), e.removeAttribute(n), r();
}).catch(o);
} else
r();
} else
r();
});
}
function Fp(e) {
return Promise.all([Ei(e, "::before"), Ei(e, "::after")]);
}
function _p(e) {
return e.parentNode !== document.head && !~xd.indexOf(e.tagName.toUpperCase()) && !e.getAttribute(Cr) && (!e.parentNode || e.parentNode.tagName !== "svg");
}
function Oi(e) {
if (Ye)
return new Promise((t, n) => {
const r = Ct(e.querySelectorAll("*")).filter(_p).map(Fp), o = yo.begin("searchPseudoElements");
Is(), Promise.all(r).then(() => {
o(), jr(), t();
}).catch(() => {
o(), jr(), n();
});
});
}
var Np = {
hooks() {
return {
mutationObserverCallbacks(e) {
return e.pseudoElementsCallback = Oi, e;
}
};
},
provides(e) {
e.pseudoElements2svg = function(t) {
const {
node: n = ie
} = t;
k.searchPseudoElements && Oi(n);
};
}
};
let Si = !1;
var Dp = {
mixout() {
return {
dom: {
unwatch() {
Is(), Si = !0;
}
}
};
},
hooks() {
return {
bootstrap() {
vi(Mr("mutationObserverCallbacks", {}));
},
noAuto() {
vp();
},
watch(e) {
const {
observeMutationsRoot: t
} = e;
Si ? jr() : vi(Mr("mutationObserverCallbacks", {
observeMutationsRoot: t
}));
}
};
}
};
const Ti = (e) => {
let t = {
size: 16,
x: 0,
y: 0,
flipX: !1,
flipY: !1,
rotate: 0
};
return e.toLowerCase().split(" ").reduce((n, r) => {
const o = r.toLowerCase().split("-"), i = o[0];
let a = o.slice(1).join("-");
if (i && a === "h")
return n.flipX = !0, n;
if (i && a === "v")
return n.flipY = !0, n;
if (a = parseFloat(a), isNaN(a))
return n;
switch (i) {
case "grow":
n.size = n.size + a;
break;
case "shrink":
n.size = n.size - a;
break;
case "left":
n.x = n.x - a;
break;
case "right":
n.x = n.x + a;
break;
case "up":
n.y = n.y - a;
break;
case "down":
n.y = n.y + a;
break;
case "rotate":
n.rotate = n.rotate + a;
break;
}
return n;
}, t);
};
var jp = {
mixout() {
return {
parse: {
transform: (e) => Ti(e)
}
};
},
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-transform");
return n && (e.transform = Ti(n)), e;
}
};
},
provides(e) {
e.generateAbstractTransformGrouping = function(t) {
let {
main: n,
transform: r,
containerWidth: o,
iconWidth: i
} = t;
const a = {
transform: "translate(".concat(o / 2, " 256)")
}, s = "translate(".concat(r.x * 32, ", ").concat(r.y * 32, ") "), l = "scale(".concat(r.size / 16 * (r.flipX ? -1 : 1), ", ").concat(r.size / 16 * (r.flipY ? -1 : 1), ") "), c = "rotate(".concat(r.rotate, " 0 0)"), u = {
transform: "".concat(s, " ").concat(l, " ").concat(c)
}, d = {
transform: "translate(".concat(i / 2 * -1, " -256)")
}, p = {
outer: a,
inner: u,
path: d
};
return {
tag: "g",
attributes: O({}, p.outer),
children: [{
tag: "g",
attributes: O({}, p.inner),
children: [{
tag: n.icon.tag,
children: n.icon.children,
attributes: O(O({}, n.icon.attributes), p.path)
}]
}]
};
};
}
};
const er = {
x: 0,
y: 0,
width: "100%",
height: "100%"
};
function Ai(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 zp(e) {
return e.tag === "g" ? e.children : [e];
}
var Hp = {
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-mask"), r = n ? Ln(n.split(" ").map((o) => o.trim())) : Ps();
return r.prefix || (r.prefix = tt()), e.mask = r, e.maskId = t.getAttribute("data-fa-mask-id"), e;
}
};
},
provides(e) {
e.generateAbstractMask = function(t) {
let {
children: n,
attributes: r,
main: o,
mask: i,
maskId: a,
transform: s
} = t;
const {
width: l,
icon: c
} = o, {
width: u,
icon: d
} = i, p = Ld({
transform: s,
containerWidth: u,
iconWidth: l
}), f = {
tag: "rect",
attributes: O(O({}, er), {}, {
fill: "white"
})
}, m = c.children ? {
children: c.children.map(Ai)
} : {}, g = {
tag: "g",
attributes: O({}, p.inner),
children: [Ai(O({
tag: c.tag,
attributes: O(O({}, c.attributes), p.path)
}, m))]
}, h = {
tag: "g",
attributes: O({}, p.outer),
children: [g]
}, b = "mask-".concat(a || Bt()), x = "clip-".concat(a || Bt()), y = {
tag: "mask",
attributes: O(O({}, er), {}, {
id: b,
maskUnits: "userSpaceOnUse",
maskContentUnits: "userSpaceOnUse"
}),
children: [f, h]
}, E = {
tag: "defs",
children: [{
tag: "clipPath",
attributes: {
id: x
},
children: zp(d)
}, y]
};
return n.push(E, {
tag: "rect",
attributes: O({
fill: "currentColor",
"clip-path": "url(#".concat(x, ")"),
mask: "url(#".concat(b, ")")
}, er)
}), {
children: n,
attributes: r
};
};
}
}, Wp = {
provides(e) {
let t = !1;
et.matchMedia && (t = et.matchMedia("(prefers-reduced-motion: reduce)").matches), e.missingIconAbstract = function() {
const n = [], r = {
fill: "currentColor"
}, o = {
attributeType: "XML",
repeatCount: "indefinite",
dur: "2s"
};
n.push({
tag: "path",
attributes: O(O({}, r), {}, {
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 i = O(O({}, o), {}, {
attributeName: "opacity"
}), a = {
tag: "circle",
attributes: O(O({}, r), {}, {
cx: "256",
cy: "364",
r: "28"
}),
children: []
};
return t || a.children.push({
tag: "animate",
attributes: O(O({}, o), {}, {
attributeName: "r",
values: "28;14;28;28;14;28;"
})
}, {
tag: "animate",
attributes: O(O({}, i), {}, {
values: "1;0;1;1;0;1;"
})
}), n.push(a), n.push({
tag: "path",
attributes: O(O({}, r), {}, {
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: O(O({}, i), {}, {
values: "1;0;0;0;0;1;"
})
}]
}), t || n.push({
tag: "path",
attributes: O(O({}, r), {}, {
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: O(O({}, i), {}, {
values: "0;0;1;1;0;0;"
})
}]
}), {
tag: "g",
attributes: {
class: "missing"
},
children: n
};
};
}
}, Bp = {
hooks() {
return {
parseNodeAttributes(e, t) {
const n = t.getAttribute("data-fa-symbol"), r = n === null ? !1 : n === "" ? !0 : n;
return e.symbol = r, e;
}
};
}
}, Up = [_d, Pp, Cp, $p, Rp, Np, Dp, jp, Hp, Wp, Bp];
ep(Up, {
mixoutsTo: Oe
});
Oe.noAuto;
Oe.config;
Oe.library;
Oe.dom;
const Hr = Oe.parse;
Oe.findIconDefinition;
Oe.toHtml;
const Vp = Oe.icon;
Oe.layer;
Oe.text;
Oe.counter;
var on = { exports: {} }, an = { exports: {} }, te = {};
/** @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 Pi;
function Yp() {
if (Pi) return te;
Pi = 1;
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, i = e ? Symbol.for("react.profiler") : 60114, a = 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, d = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, f = e ? Symbol.for("react.memo") : 60115, m = e ? Symbol.for("react.lazy") : 60116, g = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, b = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
function y(v) {
if (typeof v == "object" && v !== null) {
var C = v.$$typeof;
switch (C) {
case t:
switch (v = v.type, v) {
case l:
case c:
case r:
case i:
case o:
case d:
return v;
default:
switch (v = v && v.$$typeof, v) {
case s:
case u:
case m:
case f:
case a:
return v;
default:
return C;
}
}
case n:
return C;
}
}
}
function E(v) {
return y(v) === c;
}
return te.AsyncMode = l, te.ConcurrentMode = c, te.ContextConsumer = s, te.ContextProvider = a, te.Element = t, te.ForwardRef = u, te.Fragment = r, te.Lazy = m, te.Memo = f, te.Portal = n, te.Profiler = i, te.StrictMode = o, te.Suspense = d, te.isAsyncMode = function(v) {
return E(v) || y(v) === l;
}, te.isConcurrentMode = E, te.isContextConsumer = function(v) {
return y(v) === s;
}, te.isContextProvider = function(v) {
return y(v) === a;
}, te.isElement = function(v) {
return typeof v == "object" && v !== null && v.$$typeof === t;
}, te.isForwardRef = function(v) {
return y(v) === u;
}, te.isFragment = function(v) {
return y(v) === r;
}, te.isLazy = function(v) {
return y(v) === m;
}, te.isMemo = function(v) {
return y(v) === f;
}, te.isPortal = function(v) {
return y(v) === n;
}, te.isProfiler = function(v) {
return y(v) === i;
}, te.isStrictMode = function(v) {
return y(v) === o;
}, te.isSuspense = function(v) {
return y(v) === d;
}, te.isValidElementType = function(v) {
return typeof v == "string" || typeof v == "function" || v === r || v === c || v === i || v === o || v === d || v === p || typeof v == "object" && v !== null && (v.$$typeof === m || v.$$typeof === f || v.$$typeof === a || v.$$typeof === s || v.$$typeof === u || v.$$typeof === h || v.$$typeof === b || v.$$typeof === x || v.$$typeof === g);
}, te.typeOf = y, te;
}
var ne = {};
/** @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 Ci;
function Gp() {
return Ci || (Ci = 1, process.env.NODE_ENV !== "production" && function() {
var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, n = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, i = e ? Symbol.for("react.profiler") : 60114, a = 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, d = e ? Symbol.for("react.suspense") : 60113, p = e ? Symbol.for("react.suspense_list") : 60120, f = e ? Symbol.for("react.memo") : 60115, m = e ? Symbol.for("react.lazy") : 60116, g = e ? Symbol.for("react.block") : 60121, h = e ? Symbol.for("react.fundamental") : 60117, b = e ? Symbol.for("react.responder") : 60118, x = e ? Symbol.for("react.scope") : 60119;
function y(A) {
return typeof A == "string" || typeof A == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
A === r || A === c || A === i || A === o || A === d || A === p || typeof A == "object" && A !== null && (A.$$typeof === m || A.$$typeof === f || A.$$typeof === a || A.$$typeof === s || A.$$typeof === u || A.$$typeof === h || A.$$typeof === b || A.$$typeof === x || A.$$typeof === g);
}
function E(A) {
if (typeof A == "object" && A !== null) {
var Le = A.$$typeof;
switch (Le) {
case t:
var Jt = A.type;
switch (Jt) {
case l:
case c:
case r:
case i:
case o:
case d:
return Jt;
default:
var Oo = Jt && Jt.$$typeof;
switch (Oo) {
case s:
case u:
case m:
case f:
case a:
return Oo;
default:
return Le;
}
}
case n:
return Le;
}
}
}
var v = l, C = c, $ = s, G = a, J = t, P = u, _ = r, L = m, K = f, R = n, re = i, Y = o, ee = d, N = !1;
function B(A) {
return N || (N = !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.")), w(A) || E(A) === l;
}
function w(A) {
return E(A) === c;
}
function S(A) {
return E(A) === s;
}
function j(A) {
return E(A) === a;
}
function M(A) {
return typeof A == "object" && A !== null && A.$$typeof === t;
}
function D(A) {
return E(A) === u;
}
function U(A) {
return E(A) === r;
}
function H(A) {
return E(A) === m;
}
function T(A) {
return E(A) === f;
}
function F(A) {
return E(A) === n;
}
function z(A) {
return E(A) === i;
}
function X(A) {
return E(A) === o;
}
function ye(A) {
return E(A) === d;
}
ne.AsyncMode = v, ne.ConcurrentMode = C, ne.ContextConsumer = $, ne.ContextProvider = G, ne.Element = J, ne.ForwardRef = P, ne.Fragment = _, ne.Lazy = L, ne.Memo = K, ne.Portal = R, ne.Profiler = re, ne.StrictMode = Y, ne.Suspense = ee, ne.isAsyncMode = B, ne.isConcurrentMode = w, ne.isContextConsumer = S, ne.isContextProvider = j, ne.isElement = M, ne.isForwardRef = D, ne.isFragment = U, ne.isLazy = H, ne.isMemo = T, ne.isPortal = F, ne.isProfiler = z, ne.isStrictMode = X, ne.isSuspense = ye, ne.isValidElementType = y, ne.typeOf = E;
}()), ne;
}
var $i;
function Ms() {
return $i || ($i = 1, process.env.NODE_ENV === "production" ? an.exports = Yp() : an.exports = Gp()), an.exports;
}
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var tr, Ri;
function qp() {
if (Ri) return tr;
Ri = 1;
var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, n = Object.prototype.propertyIsEnumerable;
function r(i) {
if (i == null)
throw new TypeError("Object.assign cannot be called with null or undefined");
return Object(i);
}
function o() {
try {
if (!Object.assign)
return !1;
var i = new String("abc");
if (i[5] = "de", Object.getOwnPropertyNames(i)[0] === "5")
return !1;
for (var a = {}, s = 0; s < 10; s++)
a["_" + String.fromCharCode(s)] = s;
var l = Object.getOwnPropertyNames(a).map(function(u) {
return a[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 tr = o() ? Object.assign : function(i, a) {
for (var s, l = r(i), c, u = 1; u < arguments.length; u++) {
s = Object(arguments[u]);
for (var d in s)
t.call(s, d) && (l[d] = s[d]);
if (e) {
c = e(s);
for (var p = 0; p < c.length; p++)
n.call(s, c[p]) && (l[c[p]] = s[c[p]]);
}
}
return l;
}, tr;
}
var nr, ki;
function wo() {
if (ki) return nr;
ki = 1;
var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
return nr = e, nr;
}
var rr, Ii;
function Fs() {
return Ii || (Ii = 1, rr = Function.call.bind(Object.prototype.hasOwnProperty)), rr;
}
var or, Li;
function Kp() {
if (Li) return or;
Li = 1;
var e = function() {
};
if (process.env.NODE_ENV !== "production") {
var t = /* @__PURE__ */ wo(), n = {}, r = /* @__PURE__ */ Fs();
e = function(i) {
var a = "Warning: " + i;
typeof console < "u" && console.error(a);
try {
throw new Error(a);
} catch {
}
};
}
function o(i, a, s, l, c) {
if (process.env.NODE_ENV !== "production") {
for (var u in i)
if (r(i, u)) {
var d;
try {
if (typeof i[u] != "function") {
var p = Error(
(l || "React class") + ": " + s + " type `" + u + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof i[u] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
);
throw p.name = "Invariant Violation", p;
}
d = i[u](a, u, l, s, null, t);
} catch (m) {
d = m;
}
if (d && !(d 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 d + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
), d instanceof Error && !(d.message in n)) {
n[d.message] = !0;
var f = c ? c() : "";
e(
"Failed " + s + " type: " + d.message + (f ?? "")
);
}
}
}
}
return o.resetWarningCache = function() {
process.env.NODE_ENV !== "production" && (n = {});
}, or = o, or;
}
var ir, Mi;
function Xp() {
if (Mi) return ir;
Mi = 1;
var e = Ms(), t = qp(), n = /* @__PURE__ */ wo(), r = /* @__PURE__ */ Fs(), o = /* @__PURE__ */ Kp(), i = function() {
};
process.env.NODE_ENV !== "production" && (i = function(s) {
var l = "Warning: " + s;
typeof console < "u" && console.error(l);
try {
throw new Error(l);
} catch {
}
});
function a() {
return null;
}
return ir = function(s, l) {
var c = typeof Symbol == "function" && Symbol.iterator, u = "@@iterator";
function d(w) {
var S = w && (c && w[c] || w[u]);
if (typeof S == "function")
return S;
}
var p = "<<anonymous>>", f = {
array: b("array"),
bigint: b("bigint"),
bool: b("boolean"),
func: b("function"),
number: b("number"),
object: b("object"),
string: b("string"),
symbol: b("symbol"),
any: x(),
arrayOf: y,
element: E(),
elementType: v(),
instanceOf: C,
node: P(),
objectOf: G,
oneOf: $,
oneOfType: J,
shape: L,
exact: K
};
function m(w, S) {
return w === S ? w !== 0 || 1 / w === 1 / S : w !== w && S !== S;
}
function g(w, S) {
this.message = w, this.data = S && typeof S == "object" ? S : {}, this.stack = "";
}
g.prototype = Error.prototype;
function h(w) {
if (process.env.NODE_ENV !== "production")
var S = {}, j = 0;
function M(U, H, T, F, z, X, ye) {
if (F = F || p, X = X || T, ye !== n) {
if (l) {
var A = 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 A.name = "Invariant Violation", A;
} else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
var Le = F + ":" + T;
!S[Le] && // Avoid spamming the console because they are often not actionable except for lib authors
j < 3 && (i(
"You are manually calling a React.PropTypes validation function for the `" + X + "` prop on `" + F + "`. 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."
), S[Le] = !0, j++);
}
}
return H[T] == null ? U ? H[T] === null ? new g("The " + z + " `" + X + "` is marked as required " + ("in `" + F + "`, but its value is `null`.")) : new g("The " + z + " `" + X + "` is marked as required in " + ("`" + F + "`, but its value is `undefined`.")) : null : w(H, T, F, z, X);
}
var D = M.bind(null, !1);
return D.isRequired = M.bind(null, !0), D;
}
function b(w) {
function S(j, M, D, U, H, T) {
var F = j[M], z = Y(F);
if (z !== w) {
var X = ee(F);
return new g(
"Invalid " + U + " `" + H + "` of type " + ("`" + X + "` supplied to `" + D + "`, expected ") + ("`" + w + "`."),
{ expectedType: w }
);
}
return null;
}
return h(S);
}
function x() {
return h(a);
}
function y(w) {
function S(j, M, D, U, H) {
if (typeof w != "function")
return new g("Property `" + H + "` of component `" + D + "` has invalid PropType notation inside arrayOf.");
var T = j[M];
if (!Array.isArray(T)) {
var F = Y(T);
return new g("Invalid " + U + " `" + H + "` of type " + ("`" + F + "` supplied to `" + D + "`, expected an array."));
}
for (var z = 0; z < T.length; z++) {
var X = w(T, z, D, U, H + "[" + z + "]", n);
if (X instanceof Error)
return X;
}
return null;
}
return h(S);
}
function E() {
function w(S, j, M, D, U) {
var H = S[j];
if (!s(H)) {
var T = Y(H);
return new g("Invalid " + D + " `" + U + "` of type " + ("`" + T + "` supplied to `" + M + "`, expected a single ReactElement."));
}
return null;
}
return h(w);
}
function v() {
function w(S, j, M, D, U) {
var H = S[j];
if (!e.isValidElementType(H)) {
var T = Y(H);
return new g("Invalid " + D + " `" + U + "` of type " + ("`" + T + "` supplied to `" + M + "`, expected a single ReactElement type."));
}
return null;
}
return h(w);
}
function C(w) {
function S(j, M, D, U, H) {
if (!(j[M] instanceof w)) {
var T = w.name || p, F = B(j[M]);
return new g("Invalid " + U + " `" + H + "` of type " + ("`" + F + "` supplied to `" + D + "`, expected ") + ("instance of `" + T + "`."));
}
return null;
}
return h(S);
}
function $(w) {
if (!Array.isArray(w))
return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? i(
"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])."
) : i("Invalid argument supplied to oneOf, expected an array.")), a;
function S(j, M, D, U, H) {
for (var T = j[M], F = 0; F < w.length; F++)
if (m(T, w[F]))
return null;
var z = JSON.stringify(w, function(ye, A) {
var Le = ee(A);
return Le === "symbol" ? String(A) : A;
});
return new g("Invalid " + U + " `" + H + "` of value `" + String(T) + "` " + ("supplied to `" + D + "`, expected one of " + z + "."));
}
return h(S);
}
function G(w) {
function S(j, M, D, U, H) {
if (typeof w != "function")
return new g("Property `" + H + "` of component `" + D + "` has invalid PropType notation inside objectOf.");
var T = j[M], F = Y(T);
if (F !== "object")
return new g("Invalid " + U + " `" + H + "` of type " + ("`" + F + "` supplied to `" + D + "`, expected an object."));
for (var z in T)
if (r(T, z)) {
var X = w(T, z, D, U, H + "." + z, n);
if (X instanceof Error)
return X;
}
return null;
}
return h(S);
}
function J(w) {
if (!Array.isArray(w))
return process.env.NODE_ENV !== "production" && i("Invalid argument supplied to oneOfType, expected an instance of array."), a;
for (var S = 0; S < w.length; S++) {
var j = w[S];
if (typeof j != "function")
return i(
"Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + N(j) + " at index " + S + "."
), a;
}
function M(D, U, H, T, F) {
for (var z = [], X = 0; X < w.length; X++) {
var ye = w[X], A = ye(D, U, H, T, F, n);
if (A == null)
return null;
A.data && r(A.data, "expectedType") && z.push(A.data.expectedType);
}
var Le = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
return new g("Invalid " + T + " `" + F + "` supplied to " + ("`" + H + "`" + Le + "."));
}
return h(M);
}
function P() {
function w(S, j, M, D, U) {
return R(S[j]) ? null : new g("Invalid " + D + " `" + U + "` supplied to " + ("`" + M + "`, expected a ReactNode."));
}
return h(w);
}
function _(w, S, j, M, D) {
return new g(
(w || "React class") + ": " + S + " type `" + j + "." + M + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + D + "`."
);
}
function L(w) {
function S(j, M, D, U, H) {
var T = j[M], F = Y(T);
if (F !== "object")
return new g("Invalid " + U + " `" + H + "` of type `" + F + "` " + ("supplied to `" + D + "`, expected `object`."));
for (var z in w) {
var X = w[z];
if (typeof X != "function")
return _(D, U, H, z, ee(X));
var ye = X(T, z, D, U, H + "." + z, n);
if (ye)
return ye;
}
return null;
}
return h(S);
}
function K(w) {
function S(j, M, D, U, H) {
var T = j[M], F = Y(T);
if (F !== "object")
return new g("Invalid " + U + " `" + H + "` of type `" + F + "` " + ("supplied to `" + D + "`, expected `object`."));
var z = t({}, j[M], w);
for (var X in z) {
var ye = w[X];
if (r(w, X) && typeof ye != "function")
return _(D, U, H, X, ee(ye));
if (!ye)
return new g(
"Invalid " + U + " `" + H + "` key `" + X + "` supplied to `" + D + "`.\nBad object: " + JSON.stringify(j[M], null, " ") + `
Valid keys: ` + JSON.stringify(Object.keys(w), null, " ")
);
var A = ye(T, X, D, U, H + "." + X, n);
if (A)
return A;
}
return null;
}
return h(S);
}
function R(w) {
switch (typeof w) {
case "number":
case "string":
case "undefined":
return !0;
case "boolean":
return !w;
case "object":
if (Array.isArray(w))
return w.every(R);
if (w === null || s(w))
return !0;
var S = d(w);
if (S) {
var j = S.call(w), M;
if (S !== w.entries) {
for (; !(M = j.next()).done; )
if (!R(M.value))
return !1;
} else
for (; !(M = j.next()).done; ) {
var D = M.value;
if (D && !R(D[1]))
return !1;
}
} else
return !1;
return !0;
default:
return !1;
}
}
function re(w, S) {
return w === "symbol" ? !0 : S ? S["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && S instanceof Symbol : !1;
}
function Y(w) {
var S = typeof w;
return Array.isArray(w) ? "array" : w instanceof RegExp ? "object" : re(S, w) ? "symbol" : S;
}
function ee(w) {
if (typeof w > "u" || w === null)
return "" + w;
var S = Y(w);
if (S === "object") {
if (w instanceof Date)
return "date";
if (w instanceof RegExp)
return "regexp";
}
return S;
}
function N(w) {
var S = ee(w);
switch (S) {
case "array":
case "object":
return "an " + S;
case "boolean":
case "date":
case "regexp":
return "a " + S;
default:
return S;
}
}
function B(w) {
return !w.constructor || !w.constructor.name ? p : w.constructor.name;
}
return f.checkPropTypes = o, f.resetWarningCache = o.resetWarningCache, f.PropTypes = f, f;
}, ir;
}
var ar, Fi;
function Qp() {
if (Fi) return ar;
Fi = 1;
var e = /* @__PURE__ */ wo();
function t() {
}
function n() {
}
return n.resetWarningCache = t, ar = function() {
function r(a, s, l, c, u, d) {
if (d !== e) {
var p = 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 p.name = "Invariant Violation", p;
}
}
r.isRequired = r;
function o() {
return r;
}
var i = {
array: r,
bigint: r,
bool: r,
func: r,
number: r,
object: r,
string: r,
symbol: r,
any: r,
arrayOf: o,
element: r,
elementType: r,
instanceOf: o,
node: r,
objectOf: o,
oneOf: o,
oneOfType: o,
shape: o,
exact: o,
checkPropTypes: n,
resetWarningCache: t
};
return i.PropTypes = i, i;
}, ar;
}
var _i;
function Jp() {
if (_i) return on.exports;
if (_i = 1, process.env.NODE_ENV !== "production") {
var e = Ms(), t = !0;
on.exports = /* @__PURE__ */ Xp()(e.isElement, t);
} else
on.exports = /* @__PURE__ */ Qp()();
return on.exports;
}
var Zp = /* @__PURE__ */ Jp();
const q = /* @__PURE__ */ Vu(Zp);
function Ni(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var r = Object.getOwnPropertySymbols(e);
t && (r = r.filter(function(o) {
return Object.getOwnPropertyDescriptor(e, o).enumerable;
})), n.push.apply(n, r);
}
return n;
}
function Me(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? Ni(Object(n), !0).forEach(function(r) {
vt(e, r, n[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Ni(Object(n)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
});
}
return e;
}
function yn(e) {
"@babel/helpers - typeof";
return yn = 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;
}, yn(e);
}
function vt(e, t, n) {
return t in e ? Object.defineProperty(e, t, {
value: n,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = n, e;
}
function em(e, t) {
if (e == null) return {};
var n = {}, r = Object.keys(e), o, i;
for (i = 0; i < r.length; i++)
o = r[i], !(t.indexOf(o) >= 0) && (n[o] = e[o]);
return n;
}
function tm(e, t) {
if (e == null) return {};
var n = em(e, t), r, o;
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
for (o = 0; o < i.length; o++)
r = i[o], !(t.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);
}
return n;
}
function Wr(e) {
return nm(e) || rm(e) || om(e) || im();
}
function nm(e) {
if (Array.isArray(e)) return Br(e);
}
function rm(e) {
if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
}
function om(e, t) {
if (e) {
if (typeof e == "string") return Br(e, t);
var n = Object.prototype.toString.call(e).slice(8, -1);
if (n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set") return Array.from(e);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Br(e, t);
}
}
function Br(e, t) {
(t == null || t > e.length) && (t = e.length);
for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
return r;
}
function im() {
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 am(e) {
var t, n = e.beat, r = e.fade, o = e.beatFade, i = e.bounce, a = e.shake, s = e.flash, l = e.spin, c = e.spinPulse, u = e.spinReverse, d = e.pulse, p = e.fixedWidth, f = e.inverse, m = e.border, g = e.listItem, h = e.flip, b = e.size, x = e.rotation, y = e.pull, E = (t = {
"fa-beat": n,
"fa-fade": r,
"fa-beat-fade": o,
"fa-bounce": i,
"fa-shake": a,
"fa-flash": s,
"fa-spin": l,
"fa-spin-reverse": u,
"fa-spin-pulse": c,
"fa-pulse": d,
"fa-fw": p,
"fa-inverse": f,
"fa-border": m,
"fa-li": g,
"fa-flip": h === !0,
"fa-flip-horizontal": h === "horizontal" || h === "both",
"fa-flip-vertical": h === "vertical" || h === "both"
}, vt(t, "fa-".concat(b), typeof b < "u" && b !== null), vt(t, "fa-rotate-".concat(x), typeof x < "u" && x !== null && x !== 0), vt(t, "fa-pull-".concat(y), typeof y < "u" && y !== null), vt(t, "fa-swap-opacity", e.swapOpacity), t);
return Object.keys(E).map(function(v) {
return E[v] ? v : null;
}).filter(function(v) {
return v;
});
}
function sm(e) {
return e = e - 0, e === e;
}
function _s(e) {
return sm(e) ? e : (e = e.replace(/[\-_\s]+(.)?/g, function(t, n) {
return n ? n.toUpperCase() : "";
}), e.substr(0, 1).toLowerCase() + e.substr(1));
}
var lm = ["style"];
function cm(e) {
return e.charAt(0).toUpperCase() + e.slice(1);
}
function um(e) {
return e.split(";").map(function(t) {
return t.trim();
}).filter(function(t) {
return t;
}).reduce(function(t, n) {
var r = n.indexOf(":"), o = _s(n.slice(0, r)), i = n.slice(r + 1).trim();
return o.startsWith("webkit") ? t[cm(o)] = i : t[o] = i, t;
}, {});
}
function Ns(e, t) {
var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
if (typeof t == "string")
return t;
var r = (t.children || []).map(function(l) {
return Ns(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 = um(u);
break;
default:
c.indexOf("aria-") === 0 || c.indexOf("data-") === 0 ? l.attrs[c.toLowerCase()] = u : l.attrs[_s(c)] = u;
}
return l;
}, {
attrs: {}
}), i = n.style, a = i === void 0 ? {} : i, s = tm(n, lm);
return o.attrs.style = Me(Me({}, o.attrs.style), a), e.apply(void 0, [t.tag, Me(Me({}, o.attrs), s)].concat(Wr(r)));
}
var Ds = !1;
try {
Ds = process.env.NODE_ENV === "production";
} catch {
}
function fm() {
if (!Ds && console && typeof console.error == "function") {
var e;
(e = console).error.apply(e, arguments);
}
}
function Di(e) {
if (e && yn(e) === "object" && e.prefix && e.iconName && e.icon)
return e;
if (Hr.icon)
return Hr.icon(e);
if (e === null)
return null;
if (e && yn(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 sr(e, t) {
return Array.isArray(t) && t.length > 0 || !Array.isArray(t) && t ? vt({}, e, t) : {};
}
var ji = {
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
}, xn = /* @__PURE__ */ V.forwardRef(function(e, t) {
var n = Me(Me({}, ji), e), r = n.icon, o = n.mask, i = n.symbol, a = n.className, s = n.title, l = n.titleId, c = n.maskId, u = Di(r), d = sr("classes", [].concat(Wr(am(n)), Wr((a || "").split(" ")))), p = sr("transform", typeof n.transform == "string" ? Hr.transform(n.transform) : n.transform), f = sr("mask", Di(o)), m = Vp(u, Me(Me(Me(Me({}, d), p), f), {}, {
symbol: i,
title: s,
titleId: l,
maskId: c
}));
if (!m)
return fm("Could not find icon", u), null;
var g = m.abstract, h = {
ref: t
};
return Object.keys(n).forEach(function(b) {
ji.hasOwnProperty(b) || (h[b] = n[b]);
}), dm(g[0], h);
});
xn.displayName = "FontAwesomeIcon";
xn.propTypes = {
beat: q.bool,
border: q.bool,
beatFade: q.bool,
bounce: q.bool,
className: q.string,
fade: q.bool,
flash: q.bool,
mask: q.oneOfType([q.object, q.array, q.string]),
maskId: q.string,
fixedWidth: q.bool,
inverse: q.bool,
flip: q.oneOf([!0, !1, "horizontal", "vertical", "both"]),
icon: q.oneOfType([q.object, q.array, q.string]),
listItem: q.bool,
pull: q.oneOf(["right", "left"]),
pulse: q.bool,
rotation: q.oneOf([0, 90, 180, 270]),
shake: q.bool,
size: q.oneOf(["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x"]),
spin: q.bool,
spinPulse: q.bool,
spinReverse: q.bool,
symbol: q.oneOfType([q.bool, q.string]),
title: q.string,
titleId: q.string,
transform: q.oneOfType([q.string, q.object]),
swapOpacity: q.bool
};
var dm = Ns.bind(null, V.createElement);
const Eo = "-", pm = (e) => {
const t = gm(e), {
conflictingClassGroups: n,
conflictingClassGroupModifiers: r
} = e;
return {
getClassGroupId: (a) => {
const s = a.split(Eo);
return s[0] === "" && s.length !== 1 && s.shift(), js(s, t) || mm(a);
},
getConflictingClassGroupIds: (a, s) => {
const l = n[a] || [];
return s && r[a] ? [...l, ...r[a]] : l;
}
};
}, js = (e, t) => {
var a;
if (e.length === 0)
return t.classGroupId;
const n = e[0], r = t.nextPart.get(n), o = r ? js(e.slice(1), r) : void 0;
if (o)
return o;
if (t.validators.length === 0)
return;
const i = e.join(Eo);
return (a = t.validators.find(({
validator: s
}) => s(i))) == null ? void 0 : a.classGroupId;
}, zi = /^\[(.+)\]$/, mm = (e) => {
if (zi.test(e)) {
const t = zi.exec(e)[1], n = t == null ? void 0 : t.substring(0, t.indexOf(":"));
if (n)
return "arbitrary.." + n;
}
}, gm = (e) => {
const {
theme: t,
prefix: n
} = e, r = {
nextPart: /* @__PURE__ */ new Map(),
validators: []
};
return vm(Object.entries(e.classGroups), n).forEach(([i, a]) => {
Ur(a, r, i, t);
}), r;
}, Ur = (e, t, n, r) => {
e.forEach((o) => {
if (typeof o == "string") {
const i = o === "" ? t : Hi(t, o);
i.classGroupId = n;
return;
}
if (typeof o == "function") {
if (hm(o)) {
Ur(o(r), t, n, r);
return;
}
t.validators.push({
validator: o,
classGroupId: n
});
return;
}
Object.entries(o).forEach(([i, a]) => {
Ur(a, Hi(t, i), n, r);
});
});
}, Hi = (e, t) => {
let n = e;
return t.split(Eo).forEach((r) => {
n.nextPart.has(r) || n.nextPart.set(r, {
nextPart: /* @__PURE__ */ new Map(),
validators: []
}), n = n.nextPart.get(r);
}), n;
}, hm = (e) => e.isThemeGetter, vm = (e, t) => t ? e.map(([n, r]) => {
const o = r.map((i) => typeof i == "string" ? t + i : typeof i == "object" ? Object.fromEntries(Object.entries(i).map(([a, s]) => [t + a, s])) : i);
return [n, o];
}) : e, bm = (e) => {
if (e < 1)
return {
get: () => {
},
set: () => {
}
};
let t = 0, n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
const o = (i, a) => {
n.set(i, a), t++, t > e && (t = 0, r = n, n = /* @__PURE__ */ new Map());
};
return {
get(i) {
let a = n.get(i);
if (a !== void 0)
return a;
if ((a = r.get(i)) !== void 0)
return o(i, a), a;
},
set(i, a) {
n.has(i) ? n.set(i, a) : o(i, a);
}
};
}, zs = "!", ym = (e) => {
const {
separator: t,
experimentalParseClassName: n
} = e, r = t.length === 1, o = t[0], i = t.length, a = (s) => {
const l = [];
let c = 0, u = 0, d;
for (let h = 0; h < s.length; h++) {
let b = s[h];
if (c === 0) {
if (b === o && (r || s.slice(h, h + i) === t)) {
l.push(s.slice(u, h)), u = h + i;
continue;
}
if (b === "/") {
d = h;
continue;
}
}
b === "[" ? c++ : b === "]" && c--;
}
const p = l.length === 0 ? s : s.substring(u), f = p.startsWith(zs), m = f ? p.substring(1) : p, g = d && d > u ? d - u : void 0;
return {
modifiers: l,
hasImportantModifier: f,
baseClassName: m,
maybePostfixModifierPosition: g
};
};
return n ? (s) => n({
className: s,
parseClassName: a
}) : a;
}, xm = (e) => {
if (e.length <= 1)
return e;
const t = [];
let n = [];
return e.forEach((r) => {
r[0] === "[" ? (t.push(...n.sort(), r), n = []) : n.push(r);
}), t.push(...n.sort()), t;
}, wm = (e) => ({
cache: bm(e.cacheSize),
parseClassName: ym(e),
...pm(e)
}), Em = /\s+/, Om = (e, t) => {
const {
parseClassName: n,
getClassGroupId: r,
getConflictingClassGroupIds: o
} = t, i = [], a = e.trim().split(Em);
let s = "";
for (let l = a.length - 1; l >= 0; l -= 1) {
const c = a[l], {
modifiers: u,
hasImportantModifier: d,
baseClassName: p,
maybePostfixModifierPosition: f
} = n(c);
let m = !!f, g = r(m ? p.substring(0, f) : p);
if (!g) {
if (!m) {
s = c + (s.length > 0 ? " " + s : s);
continue;
}
if (g = r(p), !g) {
s = c + (s.length > 0 ? " " + s : s);
continue;
}
m = !1;
}
const h = xm(u).join(":"), b = d ? h + zs : h, x = b + g;
if (i.includes(x))
continue;
i.push(x);
const y = o(g, m);
for (let E = 0; E < y.length; ++E) {
const v = y[E];
i.push(b + v);
}
s = c + (s.length > 0 ? " " + s : s);
}
return s;
};
function Sm() {
let e = 0, t, n, r = "";
for (; e < arguments.length; )
(t = arguments[e++]) && (n = Hs(t)) && (r && (r += " "), r += n);
return r;
}
const Hs = (e) => {
if (typeof e == "string")
return e;
let t, n = "";
for (let r = 0; r < e.length; r++)
e[r] && (t = Hs(e[r])) && (n && (n += " "), n += t);
return n;
};
function Tm(e, ...t) {
let n, r, o, i = a;
function a(l) {
const c = t.reduce((u, d) => d(u), e());
return n = wm(c), r = n.cache.get, o = n.cache.set, i = s, s(l);
}
function s(l) {
const c = r(l);
if (c)
return c;
const u = Om(l, n);
return o(l, u), u;
}
return function() {
return i(Sm.apply(null, arguments));
};
}
const oe = (e) => {
const t = (n) => n[e] || [];
return t.isThemeGetter = !0, t;
}, Ws = /^\[(?:([a-z-]+):)?(.+)\]$/i, Am = /^\d+\/\d+$/, Pm = /* @__PURE__ */ new Set(["px", "full", "screen"]), Cm = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, $m = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Rm = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, km = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Im = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, We = (e) => xt(e) || Pm.has(e) || Am.test(e), qe = (e) => $t(e, "length", zm), xt = (e) => !!e && !Number.isNaN(Number(e)), lr = (e) => $t(e, "number", xt), kt = (e) => !!e && Number.isInteger(Number(e)), Lm = (e) => e.endsWith("%") && xt(e.slice(0, -1)), W = (e) => Ws.test(e), Ke = (e) => Cm.test(e), Mm = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Fm = (e) => $t(e, Mm, Bs), _m = (e) => $t(e, "position", Bs), Nm = /* @__PURE__ */ new Set(["image", "url"]), Dm = (e) => $t(e, Nm, Wm), jm = (e) => $t(e, "", Hm), It = () => !0, $t = (e, t, n) => {
const r = Ws.exec(e);
return r ? r[1] ? typeof t == "string" ? r[1] === t : t.has(r[1]) : n(r[2]) : !1;
}, zm = (e) => (
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
$m.test(e) && !Rm.test(e)
), Bs = () => !1, Hm = (e) => km.test(e), Wm = (e) => Im.test(e), Bm = () => {
const e = oe("colors"), t = oe("spacing"), n = oe("blur"), r = oe("brightness"), o = oe("borderColor"), i = oe("borderRadius"), a = oe("borderSpacing"), s = oe("borderWidth"), l = oe("contrast"), c = oe("grayscale"), u = oe("hueRotate"), d = oe("invert"), p = oe("gap"), f = oe("gradientColorStops"), m = oe("gradientColorStopPositions"), g = oe("inset"), h = oe("margin"), b = oe("opacity"), x = oe("padding"), y = oe("saturate"), E = oe("scale"), v = oe("sepia"), C = oe("skew"), $ = oe("space"), G = oe("translate"), J = () => ["auto", "contain", "none"], P = () => ["auto", "hidden", "clip", "visible", "scroll"], _ = () => ["auto", W, t], L = () => [W, t], K = () => ["", We, qe], R = () => ["auto", xt, W], re = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], Y = () => ["solid", "dashed", "dotted", "double", "none"], ee = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], N = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], B = () => ["", "0", W], w = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], S = () => [xt, W];
return {
cacheSize: 500,
separator: ":",
theme: {
colors: [It],
spacing: [We, qe],
blur: ["none", "", Ke, W],
brightness: S(),
borderColor: [e],
borderRadius: ["none", "", "full", Ke, W],
borderSpacing: L(),
borderWidth: K(),
contrast: S(),
grayscale: B(),
hueRotate: S(),
invert: B(),
gap: L(),
gradientColorStops: [e],
gradientColorStopPositions: [Lm, qe],
inset: _(),
margin: _(),
opacity: S(),
padding: L(),
saturate: S(),
scale: S(),
sepia: B(),
skew: S(),
space: L(),
translate: L()
},
classGroups: {
// Layout
/**
* Aspect Ratio
* @see https://tailwindcss.com/docs/aspect-ratio
*/
aspect: [{
aspect: ["auto", "square", "video", W]
}],
/**
* Container
* @see https://tailwindcss.com/docs/container
*/
container: ["container"],
/**
* Columns
* @see https://tailwindcss.com/docs/columns
*/
columns: [{
columns: [Ke]
}],
/**
* Break After
* @see https://tailwindcss.com/docs/break-after
*/
"break-after": [{
"break-after": w()
}],
/**
* Break Before
* @see https://tailwindcss.com/docs/break-before
*/
"break-before": [{
"break-before": w()
}],
/**
* 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: [...re(), W]
}],
/**
* Overflow
* @see https://tailwindcss.com/docs/overflow
*/
overflow: [{
overflow: P()
}],
/**
* Overflow X
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-x": [{
"overflow-x": P()
}],
/**
* Overflow Y
* @see https://tailwindcss.com/docs/overflow
*/
"overflow-y": [{
"overflow-y": P()
}],
/**
* 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: [g]
}],
/**
* Right / Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
"inset-x": [{
"inset-x": [g]
}],
/**
* Top / Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
"inset-y": [{
"inset-y": [g]
}],
/**
* Start
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
start: [{
start: [g]
}],
/**
* End
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
end: [{
end: [g]
}],
/**
* Top
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
top: [{
top: [g]
}],
/**
* Right
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
right: [{
right: [g]
}],
/**
* Bottom
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
bottom: [{
bottom: [g]
}],
/**
* Left
* @see https://tailwindcss.com/docs/top-right-bottom-left
*/
left: [{
left: [g]
}],
/**
* Visibility
* @see https://tailwindcss.com/docs/visibility
*/
visibility: ["visible", "invisible", "collapse"],
/**
* Z-Index
* @see https://tailwindcss.com/docs/z-index
*/
z: [{
z: ["auto", kt, W]
}],
// Flexbox and Grid
/**
* Flex Basis
* @see https://tailwindcss.com/docs/flex-basis
*/
basis: [{
basis: _()
}],
/**
* 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", W]
}],
/**
* Flex Grow
* @see https://tailwindcss.com/docs/flex-grow
*/
grow: [{
grow: B()
}],
/**
* Flex Shrink
* @see https://tailwindcss.com/docs/flex-shrink
*/
shrink: [{
shrink: B()
}],
/**
* Order
* @see https://tailwindcss.com/docs/order
*/
order: [{
order: ["first", "last", "none", kt, W]
}],
/**
* Grid Template Columns
* @see https://tailwindcss.com/docs/grid-template-columns
*/
"grid-cols": [{
"grid-cols": [It]
}],
/**
* Grid Column Start / End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start-end": [{
col: ["auto", {
span: ["full", kt, W]
}, W]
}],
/**
* Grid Column Start
* @see https://tailwindcss.com/docs/grid-column
*/
"col-start": [{
"col-start": R()
}],
/**
* Grid Column End
* @see https://tailwindcss.com/docs/grid-column
*/
"col-end": [{
"col-end": R()
}],
/**
* Grid Template Rows
* @see https://tailwindcss.com/docs/grid-template-rows
*/
"grid-rows": [{
"grid-rows": [It]
}],
/**
* Grid Row Start / End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start-end": [{
row: ["auto", {
span: [kt, W]
}, W]
}],
/**
* Grid Row Start
* @see https://tailwindcss.com/docs/grid-row
*/
"row-start": [{
"row-start": R()
}],
/**
* Grid Row End
* @see https://tailwindcss.com/docs/grid-row
*/
"row-end": [{
"row-end": R()
}],
/**
* 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", W]
}],
/**
* Grid Auto Rows
* @see https://tailwindcss.com/docs/grid-auto-rows
*/
"auto-rows": [{
"auto-rows": ["auto", "min", "max", "fr", W]
}],
/**
* Gap
* @see https://tailwindcss.com/docs/gap
*/
gap: [{
gap: [p]
}],
/**
* Gap X
* @see https://tailwindcss.com/docs/gap
*/
"gap-x": [{
"gap-x": [p]
}],
/**
* Gap Y
* @see https://tailwindcss.com/docs/gap
*/
"gap-y": [{
"gap-y": [p]
}],
/**
* Justify Content
* @see https://tailwindcss.com/docs/justify-content
*/
"justify-content": [{
justify: ["normal", ...N()]
}],
/**
* 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", ...N(), "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": [...N(), "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": [$]
}],
/**
* 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": [$]
}],
/**
* 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", W, t]
}],
/**
* Min-Width
* @see https://tailwindcss.com/docs/min-width
*/
"min-w": [{
"min-w": [W, t, "min", "max", "fit"]
}],
/**
* Max-Width
* @see https://tailwindcss.com/docs/max-width
*/
"max-w": [{
"max-w": [W, t, "none", "full", "min", "max", "fit", "prose", {
screen: [Ke]
}, Ke]
}],
/**
* Height
* @see https://tailwindcss.com/docs/height
*/
h: [{
h: [W, t, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Min-Height
* @see https://tailwindcss.com/docs/min-height
*/
"min-h": [{
"min-h": [W, t, "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Max-Height
* @see https://tailwindcss.com/docs/max-height
*/
"max-h": [{
"max-h": [W, t, "min", "max", "fit", "svh", "lvh", "dvh"]
}],
/**
* Size
* @see https://tailwindcss.com/docs/size
*/
size: [{
size: [W, t, "auto", "min", "max", "fit"]
}],
// Typography
/**
* Font Size
* @see https://tailwindcss.com/docs/font-size
*/
"font-size": [{
text: ["base", Ke, qe]
}],
/**
* 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", lr]
}],
/**
* Font Family
* @see https://tailwindcss.com/docs/font-family
*/
"font-family": [{
font: [It]
}],
/**
* 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", W]
}],
/**
* Line Clamp
* @see https://tailwindcss.com/docs/line-clamp
*/
"line-clamp": [{
"line-clamp": ["none", xt, lr]
}],
/**
* Line Height
* @see https://tailwindcss.com/docs/line-height
*/
leading: [{
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", We, W]
}],
/**
* List Style Image
* @see https://tailwindcss.com/docs/list-style-image
*/
"list-image": [{
"list-image": ["none", W]
}],
/**
* List Style Type
* @see https://tailwindcss.com/docs/list-style-type
*/
"list-style-type": [{
list: ["none", "disc", "decimal", W]
}],
/**
* 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": [b]
}],
/**
* 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": [b]
}],
/**
* 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: [...Y(), "wavy"]
}],
/**
* Text Decoration Thickness
* @see https://tailwindcss.com/docs/text-decoration-thickness
*/
"text-decoration-thickness": [{
decoration: ["auto", "from-font", We, qe]
}],
/**
* Text Underline Offset
* @see https://tailwindcss.com/docs/text-underline-offset
*/
"underline-offset": [{
"underline-offset": ["auto", We, W]
}],
/**
* 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: L()
}],
/**
* Vertical Alignment
* @see https://tailwindcss.com/docs/vertical-align
*/
"vertical-align": [{
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", W]
}],
/**
* 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", W]
}],
// 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": [b]
}],
/**
* 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: [...re(), _m]
}],
/**
* 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", Fm]
}],
/**
* Background Image
* @see https://tailwindcss.com/docs/background-image
*/
"bg-image": [{
bg: ["none", {
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
}, Dm]
}],
/**
* 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: [m]
}],
/**
* Gradient Color Stops Via Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via-pos": [{
via: [m]
}],
/**
* Gradient Color Stops To Position
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to-pos": [{
to: [m]
}],
/**
* Gradient Color Stops From
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-from": [{
from: [f]
}],
/**
* Gradient Color Stops Via
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-via": [{
via: [f]
}],
/**
* Gradient Color Stops To
* @see https://tailwindcss.com/docs/gradient-color-stops
*/
"gradient-to": [{
to: [f]
}],
// Borders
/**
* Border Radius
* @see https://tailwindcss.com/docs/border-radius
*/
rounded: [{
rounded: [i]
}],
/**
* Border Radius Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-s": [{
"rounded-s": [i]
}],
/**
* Border Radius End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-e": [{
"rounded-e": [i]
}],
/**
* Border Radius Top
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-t": [{
"rounded-t": [i]
}],
/**
* Border Radius Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-r": [{
"rounded-r": [i]
}],
/**
* Border Radius Bottom
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-b": [{
"rounded-b": [i]
}],
/**
* Border Radius Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-l": [{
"rounded-l": [i]
}],
/**
* Border Radius Start Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ss": [{
"rounded-ss": [i]
}],
/**
* Border Radius Start End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-se": [{
"rounded-se": [i]
}],
/**
* Border Radius End End
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-ee": [{
"rounded-ee": [i]
}],
/**
* Border Radius End Start
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-es": [{
"rounded-es": [i]
}],
/**
* Border Radius Top Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tl": [{
"rounded-tl": [i]
}],
/**
* Border Radius Top Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-tr": [{
"rounded-tr": [i]
}],
/**
* Border Radius Bottom Right
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-br": [{
"rounded-br": [i]
}],
/**
* Border Radius Bottom Left
* @see https://tailwindcss.com/docs/border-radius
*/
"rounded-bl": [{
"rounded-bl": [i]
}],
/**
* 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": [b]
}],
/**
* Border Style
* @see https://tailwindcss.com/docs/border-style
*/
"border-style": [{
border: [...Y(), "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": [b]
}],
/**
* Divide Style
* @see https://tailwindcss.com/docs/divide-style
*/
"divide-style": [{
divide: Y()
}],
/**
* 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: ["", ...Y()]
}],
/**
* Outline Offset
* @see https://tailwindcss.com/docs/outline-offset
*/
"outline-offset": [{
"outline-offset": [We, W]
}],
/**
* Outline Width
* @see https://tailwindcss.com/docs/outline-width
*/
"outline-w": [{
outline: [We, qe]
}],
/**
* 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: K()
}],
/**
* 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": [b]
}],
/**
* Ring Offset Width
* @see https://tailwindcss.com/docs/ring-offset-width
*/
"ring-offset-w": [{
"ring-offset": [We, qe]
}],
/**
* 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", Ke, jm]
}],
/**
* Box Shadow Color
* @see https://tailwindcss.com/docs/box-shadow-color
*/
"shadow-color": [{
shadow: [It]
}],
/**
* Opacity
* @see https://tailwindcss.com/docs/opacity
*/
opacity: [{
opacity: [b]
}],
/**
* Mix Blend Mode
* @see https://tailwindcss.com/docs/mix-blend-mode
*/
"mix-blend": [{
"mix-blend": [...ee(), "plus-lighter", "plus-darker"]
}],
/**
* Background Blend Mode
* @see https://tailwindcss.com/docs/background-blend-mode
*/
"bg-blend": [{
"bg-blend": ee()
}],
// 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: [n]
}],
/**
* Brightness
* @see https://tailwindcss.com/docs/brightness
*/
brightness: [{
brightness: [r]
}],
/**
* Contrast
* @see https://tailwindcss.com/docs/contrast
*/
contrast: [{
contrast: [l]
}],
/**
* Drop Shadow
* @see https://tailwindcss.com/docs/drop-shadow
*/
"drop-shadow": [{
"drop-shadow": ["", "none", Ke, W]
}],
/**
* 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: [d]
}],
/**
* Saturate
* @see https://tailwindcss.com/docs/saturate
*/
saturate: [{
saturate: [y]
}],
/**
* Sepia
* @see https://tailwindcss.com/docs/sepia
*/
sepia: [{
sepia: [v]
}],
/**
* 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": [n]
}],
/**
* Backdrop Brightness
* @see https://tailwindcss.com/docs/backdrop-brightness
*/
"backdrop-brightness": [{
"backdrop-brightness": [r]
}],
/**
* 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": [d]
}],
/**
* Backdrop Opacity
* @see https://tailwindcss.com/docs/backdrop-opacity
*/
"backdrop-opacity": [{
"backdrop-opacity": [b]
}],
/**
* Backdrop Saturate
* @see https://tailwindcss.com/docs/backdrop-saturate
*/
"backdrop-saturate": [{
"backdrop-saturate": [y]
}],
/**
* Backdrop Sepia
* @see https://tailwindcss.com/docs/backdrop-sepia
*/
"backdrop-sepia": [{
"backdrop-sepia": [v]
}],
// 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": [a]
}],
/**
* Border Spacing X
* @see https://tailwindcss.com/docs/border-spacing
*/
"border-spacing-x": [{
"border-spacing-x": [a]
}],
/**
* Border Spacing Y
* @see https://tailwindcss.com/docs/border-spacing
*/
"border-spacing-y": [{
"border-spacing-y": [a]
}],
/**
* 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", W]
}],
/**
* Transition Duration
* @see https://tailwindcss.com/docs/transition-duration
*/
duration: [{
duration: S()
}],
/**
* Transition Timing Function
* @see https://tailwindcss.com/docs/transition-timing-function
*/
ease: [{
ease: ["linear", "in", "out", "in-out", W]
}],
/**
* Transition Delay
* @see https://tailwindcss.com/docs/transition-delay
*/
delay: [{
delay: S()
}],
/**
* Animation
* @see https://tailwindcss.com/docs/animation
*/
animate: [{
animate: ["none", "spin", "ping", "pulse", "bounce", W]
}],
// Transforms
/**
* Transform
* @see https://tailwindcss.com/docs/transform
*/
transform: [{
transform: ["", "gpu", "none"]
}],
/**
* Scale
* @see https://tailwindcss.com/docs/scale
*/
scale: [{
scale: [E]
}],
/**
* Scale X
* @see https://tailwindcss.com/docs/scale
*/
"scale-x": [{
"scale-x": [E]
}],
/**
* Scale Y
* @see https://tailwindcss.com/docs/scale
*/
"scale-y": [{
"scale-y": [E]
}],
/**
* Rotate
* @see https://tailwindcss.com/docs/rotate
*/
rotate: [{
rotate: [kt, W]
}],
/**
* 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": [C]
}],
/**
* Skew Y
* @see https://tailwindcss.com/docs/skew
*/
"skew-y": [{
"skew-y": [C]
}],
/**
* 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", W]
}],
// 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", W]
}],
/**
* 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": L()
}],
/**
* Scroll Margin X
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mx": [{
"scroll-mx": L()
}],
/**
* Scroll Margin Y
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-my": [{
"scroll-my": L()
}],
/**
* Scroll Margin Start
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ms": [{
"scroll-ms": L()
}],
/**
* Scroll Margin End
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-me": [{
"scroll-me": L()
}],
/**
* Scroll Margin Top
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mt": [{
"scroll-mt": L()
}],
/**
* Scroll Margin Right
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mr": [{
"scroll-mr": L()
}],
/**
* Scroll Margin Bottom
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-mb": [{
"scroll-mb": L()
}],
/**
* Scroll Margin Left
* @see https://tailwindcss.com/docs/scroll-margin
*/
"scroll-ml": [{
"scroll-ml": L()
}],
/**
* Scroll Padding
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-p": [{
"scroll-p": L()
}],
/**
* Scroll Padding X
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-px": [{
"scroll-px": L()
}],
/**
* Scroll Padding Y
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-py": [{
"scroll-py": L()
}],
/**
* Scroll Padding Start
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-ps": [{
"scroll-ps": L()
}],
/**
* Scroll Padding End
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pe": [{
"scroll-pe": L()
}],
/**
* Scroll Padding Top
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pt": [{
"scroll-pt": L()
}],
/**
* Scroll Padding Right
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pr": [{
"scroll-pr": L()
}],
/**
* Scroll Padding Bottom
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pb": [{
"scroll-pb": L()
}],
/**
* Scroll Padding Left
* @see https://tailwindcss.com/docs/scroll-padding
*/
"scroll-pl": [{
"scroll-pl": L()
}],
/**
* 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", W]
}],
// SVG
/**
* Fill
* @see https://tailwindcss.com/docs/fill
*/
fill: [{
fill: [e, "none"]
}],
/**
* Stroke Width
* @see https://tailwindcss.com/docs/stroke-width
*/
"stroke-w": [{
stroke: [We, qe, lr]
}],
/**
* 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__ */ Tm(Bm), Xm = ({
onChange: e,
options: t,
placeholder: n,
value: r,
id: o,
className: i
}) => {
const a = t.find(
(s) => s.value === r
) || { label: n || "" };
return /* @__PURE__ */ Ae("div", { className: cr("relative", i), children: /* @__PURE__ */ Ae(Wf, { value: r || "", onChange: e, children: ({ open: s }) => /* @__PURE__ */ Fn(So, { children: [
/* @__PURE__ */ Fn(
Ja,
{
id: o,
className: "relative h-10 w-full cursor-pointer rounded-md bg-ui-controls text-base-fg border border-ui-controls-border py-2 pl-3 pr-10 text-left outline-none outline-offset-0 transition-all duration-150 ease-in-out sm:text-sm focus:!outline-none hover:bg-ui-controls/80",
children: [
/* @__PURE__ */ Ae(
"span",
{
className: cr("block truncate", !r && "opacity-50"),
children: a.label
}
),
/* @__PURE__ */ Ae("span", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2.5", children: /* @__PURE__ */ Ae(xn, { icon: Bf, "aria-hidden": "true" }) })
]
}
),
/* @__PURE__ */ Ae(
wf,
{
as: "div",
show: s,
leave: "transition ease-in duration-[50ms]",
leaveFrom: "opacity-100",
leaveTo: "opacity-0",
children: /* @__PURE__ */ Ae(Za, { className: "absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-md bg-ui-panel border border-ui-panel-border py-1.5 text-base shadow-xl focus:outline-none sm:text-sm", children: t.map((l, c) => /* @__PURE__ */ Ae(
es,
{
className: ({ focus: u, selected: d }) => cr(
"relative cursor-pointer select-none py-2 pl-7 pr-2 transition-all duration-150 ease-in-out",
u && "bg-ui-controls/50",
d && "bg-primary/20",
d ? "text-base-fg" : "text-base-fg/90"
),
value: l.value,
children: ({ selected: u }) => /* @__PURE__ */ Fn(So, { children: [
/* @__PURE__ */ Ae(
"span",
{
className: `block truncate ${u ? "font-medium" : "font-normal"}`,
children: l.label
}
),
u ? /* @__PURE__ */ Ae("span", { className: "absolute inset-y-0 left-0 flex items-center pl-2.5", children: /* @__PURE__ */ Ae(
xn,
{
icon: Uf,
"aria-hidden": "true",
className: "text-xs"
}
) }) : null
] })
},
c
)) })
}
)
] }) }) });
};
export {
Xm as Select
};