react-infinity-sidebar
Version:
A fully customizable and responsive sidebar component for React applications, built with TailwindCSS and Headless UI. Easily integrate dynamic navigation menus, dark mode, and various styling options. Designed for dashboards, admin panels, and modern web
1,361 lines (1,359 loc) • 194 kB
JavaScript
import * as T from "react";
import F, { useRef as k, useCallback as V, useEffect as G, useState as H, useMemo as Y, useLayoutEffect as jn, useContext as Q, createContext as ne, forwardRef as Bo, Fragment as fe, isValidElement as Io, cloneElement as Wo, createElement as zo, useId as Ne, useReducer as $n, useSyncExternalStore as Vo, memo as ge } from "react";
import { NavLink as Jt, Link as Nn, useNavigate as Uo, Outlet as Yo, Route as Ko, Routes as qo } from "react-router-dom";
import * as Tt from "react-dom";
import { createPortal as Xo, flushSync as st } from "react-dom";
var cn = { exports: {} }, ot = {};
/**
* @license React
* react-jsx-runtime.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 rr;
function Go() {
if (rr) return ot;
rr = 1;
var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.fragment");
function n(r, o, l) {
var i = null;
if (l !== void 0 && (i = "" + l), o.key !== void 0 && (i = "" + o.key), "key" in o) {
l = {};
for (var a in o)
a !== "key" && (l[a] = o[a]);
} else l = o;
return o = l.ref, {
$$typeof: e,
type: r,
key: i,
ref: o !== void 0 ? o : null,
props: l
};
}
return ot.Fragment = t, ot.jsx = n, ot.jsxs = n, ot;
}
var lt = {};
/**
* @license React
* react-jsx-runtime.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 or;
function Jo() {
return or || (or = 1, process.env.NODE_ENV !== "production" && function() {
function e(h) {
if (h == null) return null;
if (typeof h == "function")
return h.$$typeof === S ? null : h.displayName || h.name || null;
if (typeof h == "string") return h;
switch (h) {
case O:
return "Fragment";
case E:
return "Portal";
case _:
return "Profiler";
case j:
return "StrictMode";
case z:
return "Suspense";
case W:
return "SuspenseList";
}
if (typeof h == "object")
switch (typeof h.tag == "number" && console.error(
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
), h.$$typeof) {
case R:
return (h.displayName || "Context") + ".Provider";
case A:
return (h._context.displayName || "Context") + ".Consumer";
case P:
var $ = h.render;
return h = h.displayName, h || (h = $.displayName || $.name || "", h = h !== "" ? "ForwardRef(" + h + ")" : "ForwardRef"), h;
case B:
return $ = h.displayName || null, $ !== null ? $ : e(h.type) || "Memo";
case te:
$ = h._payload, h = h._init;
try {
return e(h($));
} catch {
}
}
return null;
}
function t(h) {
return "" + h;
}
function n(h) {
try {
t(h);
var $ = !1;
} catch {
$ = !0;
}
if ($) {
$ = console;
var N = $.error, I = typeof Symbol == "function" && Symbol.toStringTag && h[Symbol.toStringTag] || h.constructor.name || "Object";
return N.call(
$,
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
I
), t(h);
}
}
function r() {
}
function o() {
if (Ae === 0) {
Te = console.log, xt = console.info, Ke = console.warn, De = console.error, Pe = console.group, Gn = console.groupCollapsed, Jn = console.groupEnd;
var h = {
configurable: !0,
enumerable: !0,
value: r,
writable: !0
};
Object.defineProperties(console, {
info: h,
log: h,
warn: h,
error: h,
group: h,
groupCollapsed: h,
groupEnd: h
});
}
Ae++;
}
function l() {
if (Ae--, Ae === 0) {
var h = { configurable: !0, enumerable: !0, writable: !0 };
Object.defineProperties(console, {
log: le({}, h, { value: Te }),
info: le({}, h, { value: xt }),
warn: le({}, h, { value: Ke }),
error: le({}, h, { value: De }),
group: le({}, h, { value: Pe }),
groupCollapsed: le({}, h, { value: Gn }),
groupEnd: le({}, h, { value: Jn })
});
}
0 > Ae && console.error(
"disabledDepth fell below zero. This is a bug in React. Please file an issue."
);
}
function i(h) {
if (qt === void 0)
try {
throw Error();
} catch (N) {
var $ = N.stack.trim().match(/\n( *(at )?)/);
qt = $ && $[1] || "", Qn = -1 < N.stack.indexOf(`
at`) ? " (<anonymous>)" : -1 < N.stack.indexOf("@") ? "@unknown:0:0" : "";
}
return `
` + qt + h + Qn;
}
function a(h, $) {
if (!h || Xt) return "";
var N = Gt.get(h);
if (N !== void 0) return N;
Xt = !0, N = Error.prepareStackTrace, Error.prepareStackTrace = void 0;
var I = null;
I = L.H, L.H = null, o();
try {
var ie = {
DetermineComponentFrameRoot: function() {
try {
if ($) {
var Oe = function() {
throw Error();
};
if (Object.defineProperty(Oe.prototype, "props", {
set: function() {
throw Error();
}
}), typeof Reflect == "object" && Reflect.construct) {
try {
Reflect.construct(Oe, []);
} catch ($e) {
var bt = $e;
}
Reflect.construct(h, [], Oe);
} else {
try {
Oe.call();
} catch ($e) {
bt = $e;
}
h.call(Oe.prototype);
}
} else {
try {
throw Error();
} catch ($e) {
bt = $e;
}
(Oe = h()) && typeof Oe.catch == "function" && Oe.catch(function() {
});
}
} catch ($e) {
if ($e && bt && typeof $e.stack == "string")
return [$e.stack, bt.stack];
}
return [null, null];
}
};
ie.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot";
var X = Object.getOwnPropertyDescriptor(
ie.DetermineComponentFrameRoot,
"name"
);
X && X.configurable && Object.defineProperty(
ie.DetermineComponentFrameRoot,
"name",
{ value: "DetermineComponentFrameRoot" }
);
var M = ie.DetermineComponentFrameRoot(), je = M[0], qe = M[1];
if (je && qe) {
var ue = je.split(`
`), Le = qe.split(`
`);
for (M = X = 0; X < ue.length && !ue[X].includes(
"DetermineComponentFrameRoot"
); )
X++;
for (; M < Le.length && !Le[M].includes(
"DetermineComponentFrameRoot"
); )
M++;
if (X === ue.length || M === Le.length)
for (X = ue.length - 1, M = Le.length - 1; 1 <= X && 0 <= M && ue[X] !== Le[M]; )
M--;
for (; 1 <= X && 0 <= M; X--, M--)
if (ue[X] !== Le[M]) {
if (X !== 1 || M !== 1)
do
if (X--, M--, 0 > M || ue[X] !== Le[M]) {
var rt = `
` + ue[X].replace(
" at new ",
" at "
);
return h.displayName && rt.includes("<anonymous>") && (rt = rt.replace("<anonymous>", h.displayName)), typeof h == "function" && Gt.set(h, rt), rt;
}
while (1 <= X && 0 <= M);
break;
}
}
} finally {
Xt = !1, L.H = I, l(), Error.prepareStackTrace = N;
}
return ue = (ue = h ? h.displayName || h.name : "") ? i(ue) : "", typeof h == "function" && Gt.set(h, ue), ue;
}
function s(h) {
if (h == null) return "";
if (typeof h == "function") {
var $ = h.prototype;
return a(
h,
!(!$ || !$.isReactComponent)
);
}
if (typeof h == "string") return i(h);
switch (h) {
case z:
return i("Suspense");
case W:
return i("SuspenseList");
}
if (typeof h == "object")
switch (h.$$typeof) {
case P:
return h = a(h.render, !1), h;
case B:
return s(h.type);
case te:
$ = h._payload, h = h._init;
try {
return s(h($));
} catch {
}
}
return "";
}
function c() {
var h = L.A;
return h === null ? null : h.getOwner();
}
function f(h) {
if (K.call(h, "key")) {
var $ = Object.getOwnPropertyDescriptor(h, "key").get;
if ($ && $.isReactWarning) return !1;
}
return h.key !== void 0;
}
function g(h, $) {
function N() {
Zn || (Zn = !0, console.error(
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
$
));
}
N.isReactWarning = !0, Object.defineProperty(h, "key", {
get: N,
configurable: !0
});
}
function p() {
var h = e(this.type);
return er[h] || (er[h] = !0, console.error(
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
)), h = this.props.ref, h !== void 0 ? h : null;
}
function d(h, $, N, I, ie, X) {
return N = X.ref, h = {
$$typeof: C,
type: h,
key: $,
props: X,
_owner: ie
}, (N !== void 0 ? N : null) !== null ? Object.defineProperty(h, "ref", {
enumerable: !1,
get: p
}) : Object.defineProperty(h, "ref", { enumerable: !1, value: null }), h._store = {}, Object.defineProperty(h._store, "validated", {
configurable: !1,
enumerable: !1,
writable: !0,
value: 0
}), Object.defineProperty(h, "_debugInfo", {
configurable: !1,
enumerable: !1,
writable: !0,
value: null
}), Object.freeze && (Object.freeze(h.props), Object.freeze(h)), h;
}
function m(h, $, N, I, ie, X) {
if (typeof h == "string" || typeof h == "function" || h === O || h === _ || h === j || h === z || h === W || h === q || typeof h == "object" && h !== null && (h.$$typeof === te || h.$$typeof === B || h.$$typeof === R || h.$$typeof === A || h.$$typeof === P || h.$$typeof === Se || h.getModuleId !== void 0)) {
var M = $.children;
if (M !== void 0)
if (I)
if (Z(M)) {
for (I = 0; I < M.length; I++)
v(M[I], h);
Object.freeze && Object.freeze(M);
} else
console.error(
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
);
else v(M, h);
} else
M = "", (h === void 0 || typeof h == "object" && h !== null && Object.keys(h).length === 0) && (M += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."), h === null ? I = "null" : Z(h) ? I = "array" : h !== void 0 && h.$$typeof === C ? (I = "<" + (e(h.type) || "Unknown") + " />", M = " Did you accidentally export a JSX literal instead of a component?") : I = typeof h, console.error(
"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",
I,
M
);
if (K.call($, "key")) {
M = e(h);
var je = Object.keys($).filter(function(ue) {
return ue !== "key";
});
I = 0 < je.length ? "{key: someKey, " + je.join(": ..., ") + ": ...}" : "{key: someKey}", tr[M + I] || (je = 0 < je.length ? "{" + je.join(": ..., ") + ": ...}" : "{}", console.error(
`A props object containing a "key" prop is being spread into JSX:
let props = %s;
<%s {...props} />
React keys must be passed directly to JSX without using spread:
let props = %s;
<%s key={someKey} {...props} />`,
I,
M,
je,
M
), tr[M + I] = !0);
}
if (M = null, N !== void 0 && (n(N), M = "" + N), f($) && (n($.key), M = "" + $.key), "key" in $) {
N = {};
for (var qe in $)
qe !== "key" && (N[qe] = $[qe]);
} else N = $;
return M && g(
N,
typeof h == "function" ? h.displayName || h.name || "Unknown" : h
), d(h, M, X, ie, c(), N);
}
function v(h, $) {
if (typeof h == "object" && h && h.$$typeof !== Ho) {
if (Z(h))
for (var N = 0; N < h.length; N++) {
var I = h[N];
x(I) && w(I, $);
}
else if (x(h))
h._store && (h._store.validated = 1);
else if (h === null || typeof h != "object" ? N = null : (N = ee && h[ee] || h["@@iterator"], N = typeof N == "function" ? N : null), typeof N == "function" && N !== h.entries && (N = N.call(h), N !== h))
for (; !(h = N.next()).done; )
x(h.value) && w(h.value, $);
}
}
function x(h) {
return typeof h == "object" && h !== null && h.$$typeof === C;
}
function w(h, $) {
if (h._store && !h._store.validated && h.key == null && (h._store.validated = 1, $ = y($), !nr[$])) {
nr[$] = !0;
var N = "";
h && h._owner != null && h._owner !== c() && (N = null, typeof h._owner.tag == "number" ? N = e(h._owner.type) : typeof h._owner.name == "string" && (N = h._owner.name), N = " It was passed a child from " + N + ".");
var I = L.getCurrentStack;
L.getCurrentStack = function() {
var ie = s(h.type);
return I && (ie += I() || ""), ie;
}, console.error(
'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
$,
N
), L.getCurrentStack = I;
}
}
function y(h) {
var $ = "", N = c();
return N && (N = e(N.type)) && ($ = `
Check the render method of \`` + N + "`."), $ || (h = e(h)) && ($ = `
Check the top-level render call using <` + h + ">."), $;
}
var b = F, C = Symbol.for("react.transitional.element"), E = Symbol.for("react.portal"), O = Symbol.for("react.fragment"), j = Symbol.for("react.strict_mode"), _ = Symbol.for("react.profiler"), A = Symbol.for("react.consumer"), R = Symbol.for("react.context"), P = Symbol.for("react.forward_ref"), z = Symbol.for("react.suspense"), W = Symbol.for("react.suspense_list"), B = Symbol.for("react.memo"), te = Symbol.for("react.lazy"), q = Symbol.for("react.offscreen"), ee = Symbol.iterator, S = Symbol.for("react.client.reference"), L = b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, K = Object.prototype.hasOwnProperty, le = Object.assign, Se = Symbol.for("react.client.reference"), Z = Array.isArray, Ae = 0, Te, xt, Ke, De, Pe, Gn, Jn;
r.__reactDisabledLog = !0;
var qt, Qn, Xt = !1, Gt = new (typeof WeakMap == "function" ? WeakMap : Map)(), Ho = Symbol.for("react.client.reference"), Zn, er = {}, tr = {}, nr = {};
lt.Fragment = O, lt.jsx = function(h, $, N, I, ie) {
return m(h, $, N, !1, I, ie);
}, lt.jsxs = function(h, $, N, I, ie) {
return m(h, $, N, !0, I, ie);
};
}()), lt;
}
process.env.NODE_ENV === "production" ? cn.exports = Go() : cn.exports = Jo();
var u = cn.exports, Rr = {
color: void 0,
size: void 0,
className: void 0,
style: void 0,
attr: void 0
}, lr = F.createContext && /* @__PURE__ */ F.createContext(Rr), Qo = ["attr", "size", "title"];
function Zo(e, t) {
if (e == null) return {};
var n = el(e, t), r, o;
if (Object.getOwnPropertySymbols) {
var l = Object.getOwnPropertySymbols(e);
for (o = 0; o < l.length; o++)
r = l[o], !(t.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);
}
return n;
}
function el(e, t) {
if (e == null) return {};
var n = {};
for (var r in e)
if (Object.prototype.hasOwnProperty.call(e, r)) {
if (t.indexOf(r) >= 0) continue;
n[r] = e[r];
}
return n;
}
function Pt() {
return Pt = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var r in n)
Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
}
return e;
}, Pt.apply(this, arguments);
}
function ir(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 Ot(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? ir(Object(n), !0).forEach(function(r) {
tl(e, r, n[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ir(Object(n)).forEach(function(r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(n, r));
});
}
return e;
}
function tl(e, t, n) {
return t = nl(t), t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
}
function nl(e) {
var t = rl(e, "string");
return typeof t == "symbol" ? t : t + "";
}
function rl(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 Fr(e) {
return e && e.map((t, n) => /* @__PURE__ */ F.createElement(t.tag, Ot({
key: n
}, t.attr), Fr(t.child)));
}
function Me(e) {
return (t) => /* @__PURE__ */ F.createElement(ol, Pt({
attr: Ot({}, e.attr)
}, t), Fr(e.child));
}
function ol(e) {
var t = (n) => {
var {
attr: r,
size: o,
title: l
} = e, i = Zo(e, Qo), a = o || n.size || "1em", s;
return n.className && (s = n.className), e.className && (s = (s ? s + " " : "") + e.className), /* @__PURE__ */ F.createElement("svg", Pt({
stroke: "currentColor",
fill: "currentColor",
strokeWidth: "0"
}, n.attr, r, i, {
className: s,
style: Ot(Ot({
color: e.color || n.color
}, n.style), e.style),
height: a,
width: a,
xmlns: "http://www.w3.org/2000/svg"
}), l && /* @__PURE__ */ F.createElement("title", null, l), e.children);
};
return lr !== void 0 ? /* @__PURE__ */ F.createElement(lr.Consumer, null, (n) => t(n)) : t(Rr);
}
function Tn(e) {
return Me({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M17 12H3" }, child: [] }, { tag: "path", attr: { d: "m11 18 6-6-6-6" }, child: [] }, { tag: "path", attr: { d: "M21 5v14" }, child: [] }] })(e);
}
const kr = typeof document < "u" ? F.useLayoutEffect : () => {
};
function ll(e) {
const t = k(null);
return kr(() => {
t.current = e;
}, [
e
]), V((...n) => {
const r = t.current;
return r == null ? void 0 : r(...n);
}, []);
}
const pt = (e) => {
var t;
return (t = e == null ? void 0 : e.ownerDocument) !== null && t !== void 0 ? t : document;
}, He = (e) => e && "window" in e && e.window === e ? e : pt(e).defaultView || window;
function il(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 sl(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 Mr(e) {
let t = null;
return () => (t == null && (t = e()), t);
}
const al = Mr(function() {
return sl(/^Mac/i);
}), cl = Mr(function() {
return il(/Android/i);
});
function ul(e) {
return e.mozInputSource === 0 && e.isTrusted ? !0 : cl() && e.pointerType ? e.type === "click" && e.buttons === 1 : e.detail === 0 && !e.pointerType;
}
class dl {
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 Ar(e) {
let t = k({
isFocused: !1,
observer: null
});
kr(() => {
const r = t.current;
return () => {
r.observer && (r.observer.disconnect(), r.observer = null);
};
}, []);
let n = ll((r) => {
e == null || e(r);
});
return V((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, l = (i) => {
t.current.isFocused = !1, o.disabled && n(new dl("blur", i)), t.current.observer && (t.current.observer.disconnect(), t.current.observer = null);
};
o.addEventListener("focusout", l, {
once: !0
}), t.current.observer = new MutationObserver(() => {
if (t.current.isFocused && o.disabled) {
var i;
(i = t.current.observer) === null || i === void 0 || i.disconnect();
let a = o === document.activeElement ? null : document.activeElement;
o.dispatchEvent(new FocusEvent("blur", {
relatedTarget: a
})), o.dispatchEvent(new FocusEvent("focusout", {
bubbles: !0,
relatedTarget: a
}));
}
}), t.current.observer.observe(o, {
attributes: !0,
attributeFilter: [
"disabled"
]
});
}
}, [
n
]);
}
function fl(e) {
let { isDisabled: t, onFocus: n, onBlur: r, onFocusChange: o } = e;
const l = V((s) => {
if (s.target === s.currentTarget)
return r && r(s), o && o(!1), !0;
}, [
r,
o
]), i = Ar(l), a = V((s) => {
const c = pt(s.target);
s.target === s.currentTarget && c.activeElement === s.target && (n && n(s), o && o(!0), i(s));
}, [
o,
n,
i
]);
return {
focusProps: {
onFocus: !t && (n || o || r) ? a : void 0,
onBlur: !t && (r || o) ? l : void 0
}
};
}
let mt = null, un = /* @__PURE__ */ new Set(), at = /* @__PURE__ */ new Map(), We = !1, dn = !1;
const pl = {
Tab: !0,
Escape: !0
};
function Pn(e, t) {
for (let n of un) n(e, t);
}
function ml(e) {
return !(e.metaKey || !al() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
}
function Rt(e) {
We = !0, ml(e) && (mt = "keyboard", Pn("keyboard", e));
}
function he(e) {
mt = "pointer", (e.type === "mousedown" || e.type === "pointerdown") && (We = !0, Pn("pointer", e));
}
function Dr(e) {
ul(e) && (We = !0, mt = "virtual");
}
function Lr(e) {
e.target === window || e.target === document || (!We && !dn && (mt = "virtual", Pn("virtual", e)), We = !1, dn = !1);
}
function _r() {
We = !1, dn = !0;
}
function fn(e) {
if (typeof window > "u" || at.get(He(e))) return;
const t = He(e), n = pt(e);
let r = t.HTMLElement.prototype.focus;
t.HTMLElement.prototype.focus = function() {
We = !0, r.apply(this, arguments);
}, n.addEventListener("keydown", Rt, !0), n.addEventListener("keyup", Rt, !0), n.addEventListener("click", Dr, !0), t.addEventListener("focus", Lr, !0), t.addEventListener("blur", _r, !1), typeof PointerEvent < "u" ? (n.addEventListener("pointerdown", he, !0), n.addEventListener("pointermove", he, !0), n.addEventListener("pointerup", he, !0)) : (n.addEventListener("mousedown", he, !0), n.addEventListener("mousemove", he, !0), n.addEventListener("mouseup", he, !0)), t.addEventListener("beforeunload", () => {
Hr(e);
}, {
once: !0
}), at.set(t, {
focus: r
});
}
const Hr = (e, t) => {
const n = He(e), r = pt(e);
t && r.removeEventListener("DOMContentLoaded", t), at.has(n) && (n.HTMLElement.prototype.focus = at.get(n).focus, r.removeEventListener("keydown", Rt, !0), r.removeEventListener("keyup", Rt, !0), r.removeEventListener("click", Dr, !0), n.removeEventListener("focus", Lr, !0), n.removeEventListener("blur", _r, !1), typeof PointerEvent < "u" ? (r.removeEventListener("pointerdown", he, !0), r.removeEventListener("pointermove", he, !0), r.removeEventListener("pointerup", he, !0)) : (r.removeEventListener("mousedown", he, !0), r.removeEventListener("mousemove", he, !0), r.removeEventListener("mouseup", he, !0)), at.delete(n));
};
function hl(e) {
const t = pt(e);
let n;
return t.readyState !== "loading" ? fn(e) : (n = () => {
fn(e);
}, t.addEventListener("DOMContentLoaded", n)), () => Hr(e, n);
}
typeof document < "u" && hl();
function Br() {
return mt !== "pointer";
}
const gl = /* @__PURE__ */ new Set([
"checkbox",
"radio",
"range",
"color",
"file",
"image",
"button",
"submit",
"reset"
]);
function vl(e, t, n) {
var r;
const o = typeof window < "u" ? He(n == null ? void 0 : n.target).HTMLInputElement : HTMLInputElement, l = typeof window < "u" ? He(n == null ? void 0 : n.target).HTMLTextAreaElement : HTMLTextAreaElement, i = typeof window < "u" ? He(n == null ? void 0 : n.target).HTMLElement : HTMLElement, a = typeof window < "u" ? He(n == null ? void 0 : n.target).KeyboardEvent : KeyboardEvent;
return e = e || (n == null ? void 0 : n.target) instanceof o && !gl.has(n == null || (r = n.target) === null || r === void 0 ? void 0 : r.type) || (n == null ? void 0 : n.target) instanceof l || (n == null ? void 0 : n.target) instanceof i && (n == null ? void 0 : n.target.isContentEditable), !(e && t === "keyboard" && n instanceof a && !pl[n.key]);
}
function xl(e, t, n) {
fn(), G(() => {
let r = (o, l) => {
vl(!!(n != null && n.isTextInput), o, l) && e(Br());
};
return un.add(r), () => {
un.delete(r);
};
}, t);
}
function bl(e) {
let { isDisabled: t, onBlurWithin: n, onFocusWithin: r, onFocusWithinChange: o } = e, l = k({
isFocusWithin: !1
}), i = V((c) => {
l.current.isFocusWithin && !c.currentTarget.contains(c.relatedTarget) && (l.current.isFocusWithin = !1, n && n(c), o && o(!1));
}, [
n,
o,
l
]), a = Ar(i), s = V((c) => {
!l.current.isFocusWithin && document.activeElement === c.target && (r && r(c), o && o(!0), l.current.isFocusWithin = !0, a(c));
}, [
r,
o,
a
]);
return t ? {
focusWithinProps: {
// These should not have been null, that would conflict in mergeProps
onFocus: void 0,
onBlur: void 0
}
} : {
focusWithinProps: {
onFocus: s,
onBlur: i
}
};
}
let Ft = !1, Qt = 0;
function pn() {
Ft = !0, setTimeout(() => {
Ft = !1;
}, 50);
}
function sr(e) {
e.pointerType === "touch" && pn();
}
function wl() {
if (!(typeof document > "u"))
return typeof PointerEvent < "u" ? document.addEventListener("pointerup", sr) : document.addEventListener("touchend", pn), Qt++, () => {
Qt--, !(Qt > 0) && (typeof PointerEvent < "u" ? document.removeEventListener("pointerup", sr) : document.removeEventListener("touchend", pn));
};
}
function Ir(e) {
let { onHoverStart: t, onHoverChange: n, onHoverEnd: r, isDisabled: o } = e, [l, i] = H(!1), a = k({
isHovered: !1,
ignoreEmulatedMouseEvents: !1,
pointerType: "",
target: null
}).current;
G(wl, []);
let { hoverProps: s, triggerHoverEnd: c } = Y(() => {
let f = (d, m) => {
if (a.pointerType = m, o || m === "touch" || a.isHovered || !d.currentTarget.contains(d.target)) return;
a.isHovered = !0;
let v = d.currentTarget;
a.target = v, t && t({
type: "hoverstart",
target: v,
pointerType: m
}), n && n(!0), i(!0);
}, g = (d, m) => {
if (a.pointerType = "", a.target = null, m === "touch" || !a.isHovered) return;
a.isHovered = !1;
let v = d.currentTarget;
r && r({
type: "hoverend",
target: v,
pointerType: m
}), n && n(!1), i(!1);
}, p = {};
return typeof PointerEvent < "u" ? (p.onPointerEnter = (d) => {
Ft && d.pointerType === "mouse" || f(d, d.pointerType);
}, p.onPointerLeave = (d) => {
!o && d.currentTarget.contains(d.target) && g(d, d.pointerType);
}) : (p.onTouchStart = () => {
a.ignoreEmulatedMouseEvents = !0;
}, p.onMouseEnter = (d) => {
!a.ignoreEmulatedMouseEvents && !Ft && f(d, "mouse"), a.ignoreEmulatedMouseEvents = !1;
}, p.onMouseLeave = (d) => {
!o && d.currentTarget.contains(d.target) && g(d, "mouse");
}), {
hoverProps: p,
triggerHoverEnd: g
};
}, [
t,
n,
r,
o,
a
]);
return G(() => {
o && c({
currentTarget: a.target
}, a.pointerType);
}, [
o
]), {
hoverProps: s,
isHovered: l
};
}
function Wr(e = {}) {
let { autoFocus: t = !1, isTextInput: n, within: r } = e, o = k({
isFocused: !1,
isFocusVisible: t || Br()
}), [l, i] = H(!1), [a, s] = H(() => o.current.isFocused && o.current.isFocusVisible), c = V(() => s(o.current.isFocused && o.current.isFocusVisible), []), f = V((d) => {
o.current.isFocused = d, i(d), c();
}, [
c
]);
xl((d) => {
o.current.isFocusVisible = d, c();
}, [], {
isTextInput: n
});
let { focusProps: g } = fl({
isDisabled: r,
onFocusChange: f
}), { focusWithinProps: p } = bl({
isDisabled: !r,
onFocusWithinChange: f
});
return {
isFocused: l,
isFocusVisible: a,
focusProps: r ? p : g
};
}
var yl = Object.defineProperty, El = (e, t, n) => t in e ? yl(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Zt = (e, t, n) => (El(e, typeof t != "symbol" ? t + "" : t, n), n);
let Cl = class {
constructor() {
Zt(this, "current", this.detect()), Zt(this, "handoffState", "pending"), Zt(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";
}
}, Ie = new Cl();
function Ye(e) {
return Ie.isServer ? null : e instanceof Node ? e.ownerDocument : e != null && e.hasOwnProperty("current") && e.current instanceof Node ? e.current.ownerDocument : document;
}
function zr(e) {
typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((t) => setTimeout(() => {
throw t;
}));
}
function we() {
let e = [], t = { addEventListener(n, r, o, l) {
return n.addEventListener(r, o, l), t.add(() => n.removeEventListener(r, o, l));
}, 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 zr(() => {
r.current && n[0]();
}), t.add(() => {
r.current = !1;
});
}, style(n, r, o) {
let l = n.style.getPropertyValue(r);
return Object.assign(n.style, { [r]: o }), this.add(() => {
Object.assign(n.style, { [r]: l });
});
}, group(n) {
let r = we();
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 ht() {
let [e] = H(we);
return G(() => () => e.dispose(), [e]), e;
}
let U = (e, t) => {
Ie.isServer ? G(e, t) : jn(e, t);
};
function Ze(e) {
let t = k(e);
return U(() => {
t.current = e;
}, [e]), t;
}
let D = function(e) {
let t = Ze(e);
return F.useCallback((...n) => t.current(...n), [t]);
};
function Sl(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 jl(e, t) {
return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
}
function Vr({ disabled: e = !1 } = {}) {
let t = k(null), [n, r] = H(!1), o = ht(), l = D(() => {
t.current = null, r(!1), o.dispose();
}), i = D((a) => {
if (o.dispose(), t.current === null) {
t.current = a.currentTarget, r(!0);
{
let s = Ye(a.currentTarget);
o.addEventListener(s, "pointerup", l, !1), o.addEventListener(s, "pointermove", (c) => {
if (t.current) {
let f = Sl(c);
r(jl(f, t.current.getBoundingClientRect()));
}
}, !1), o.addEventListener(s, "pointercancel", l, !1);
}
}
});
return { pressed: n, pressProps: e ? {} : { onPointerDown: i, onPointerUp: l, onClick: l } };
}
let $l = ne(void 0);
function Ur() {
return Q($l);
}
function mn(...e) {
return Array.from(new Set(e.flatMap((t) => typeof t == "string" ? t.split(" ") : []))).filter(Boolean).join(" ");
}
function ye(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, ye), r;
}
var Je = ((e) => (e[e.None = 0] = "None", e[e.RenderStrategy = 1] = "RenderStrategy", e[e.Static = 2] = "Static", e))(Je || {}), Re = ((e) => (e[e.Unmount = 0] = "Unmount", e[e.Hidden = 1] = "Hidden", e))(Re || {});
function oe() {
let e = Tl();
return V((t) => Nl({ mergeRefs: e, ...t }), [e]);
}
function Nl({ ourProps: e, theirProps: t, slot: n, defaultTag: r, features: o, visible: l = !0, name: i, mergeRefs: a }) {
a = a ?? Pl;
let s = Yr(t, e);
if (l) return wt(s, n, r, i, a);
let c = o ?? 0;
if (c & 2) {
let { static: f = !1, ...g } = s;
if (f) return wt(g, n, r, i, a);
}
if (c & 1) {
let { unmount: f = !0, ...g } = s;
return ye(f ? 0 : 1, { 0() {
return null;
}, 1() {
return wt({ ...g, hidden: !0, style: { display: "none" } }, n, r, i, a);
} });
}
return wt(s, n, r, i, a);
}
function wt(e, t = {}, n, r, o) {
let { as: l = n, children: i, refName: a = "ref", ...s } = en(e, ["unmount", "static"]), c = e.ref !== void 0 ? { [a]: e.ref } : {}, f = typeof i == "function" ? i(t) : i;
"className" in s && s.className && typeof s.className == "function" && (s.className = s.className(t)), s["aria-labelledby"] && s["aria-labelledby"] === s.id && (s["aria-labelledby"] = void 0);
let g = {};
if (t) {
let p = !1, d = [];
for (let [m, v] of Object.entries(t)) typeof v == "boolean" && (p = !0), v === !0 && d.push(m.replace(/([A-Z])/g, (x) => `-${x.toLowerCase()}`));
if (p) {
g["data-headlessui-state"] = d.join(" ");
for (let m of d) g[`data-${m}`] = "";
}
}
if (l === fe && (Object.keys(_e(s)).length > 0 || Object.keys(_e(g)).length > 0)) if (!Io(f) || Array.isArray(f) && f.length > 1) {
if (Object.keys(_e(s)).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(_e(s)).concat(Object.keys(_e(g))).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 = f.props, d = p == null ? void 0 : p.className, m = typeof d == "function" ? (...w) => mn(d(...w), s.className) : mn(d, s.className), v = m ? { className: m } : {}, x = Yr(f.props, _e(en(s, ["ref"])));
for (let w in g) w in x && delete g[w];
return Wo(f, Object.assign({}, x, g, c, { ref: o(Ol(f), c.ref) }, v));
}
return zo(l, Object.assign({}, en(s, ["ref"]), l !== fe && c, l !== fe && g), f);
}
function Tl() {
let e = k([]), t = V((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 Pl(...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 Yr(...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 l;
return (l = o == null ? void 0 : o.preventDefault) == null ? void 0 : l.call(o);
}]);
for (let r in n) Object.assign(t, { [r](o, ...l) {
let i = n[r];
for (let a of i) {
if ((o instanceof Event || (o == null ? void 0 : o.nativeEvent) instanceof Event) && o.defaultPrevented) return;
a(o, ...l);
}
} });
return t;
}
function kt(...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 l = n[r];
for (let i of l) i == null || i(...o);
} });
return t;
}
function re(e) {
var t;
return Object.assign(Bo(e), { displayName: (t = e.displayName) != null ? t : e.name });
}
function _e(e) {
let t = Object.assign({}, e);
for (let n in t) t[n] === void 0 && delete t[n];
return t;
}
function en(e, t = []) {
let n = Object.assign({}, e);
for (let r of t) r in n && delete n[r];
return n;
}
function Ol(e) {
return F.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
}
let Rl = ne(void 0);
function Fl() {
return Q(Rl);
}
function Kr(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 && kl(n) ? !1 : r;
}
function kl(e) {
if (!e) return !1;
let t = e.previousElementSibling;
for (; t !== null; ) {
if (t instanceof HTMLLegendElement) return !1;
t = t.previousElementSibling;
}
return !0;
}
let qr = Symbol();
function Xr(e, t = !0) {
return Object.assign(e, { [qr]: t });
}
function pe(...e) {
let t = k(e);
G(() => {
t.current = e;
}, [e]);
let n = D((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[qr])) ? void 0 : n;
}
let On = ne(null);
On.displayName = "DescriptionContext";
function Gr() {
let e = Q(On);
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, Gr), t;
}
return e;
}
function Ml() {
let [e, t] = H([]);
return [e.length > 0 ? e.join(" ") : void 0, Y(() => function(n) {
let r = D((l) => (t((i) => [...i, l]), () => t((i) => {
let a = i.slice(), s = a.indexOf(l);
return s !== -1 && a.splice(s, 1), a;
}))), o = Y(() => ({ register: r, slot: n.slot, name: n.name, props: n.props, value: n.value }), [r, n.slot, n.name, n.props, n.value]);
return F.createElement(On.Provider, { value: o }, n.children);
}, [t])];
}
let Al = "p";
function Dl(e, t) {
let n = Ne(), r = Ur(), { id: o = `headlessui-description-${n}`, ...l } = e, i = Gr(), a = pe(t);
U(() => i.register(o), [o, i.register]);
let s = r || !1, c = Y(() => ({ ...i.slot, disabled: s }), [i.slot, s]), f = { ref: a, ...i.props, id: o };
return oe()({ ourProps: f, theirProps: l, slot: c, defaultTag: Al, name: i.name || "Description" });
}
let Ll = re(Dl);
Object.assign(Ll, {});
var J = ((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))(J || {});
let Lt = ne(null);
Lt.displayName = "LabelContext";
function Rn() {
let e = Q(Lt);
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, Rn), t;
}
return e;
}
function _l(e) {
var t, n, r;
let o = (n = (t = Q(Lt)) == null ? void 0 : t.value) != null ? n : void 0;
return ((r = void 0) != null ? r : 0) > 0 ? [o, ...e].filter(Boolean).join(" ") : o;
}
function Jr({ inherit: e = !1 } = {}) {
let t = _l(), [n, r] = H([]), o = e ? [t, ...n].filter(Boolean) : n;
return [o.length > 0 ? o.join(" ") : void 0, Y(() => function(l) {
let i = D((s) => (r((c) => [...c, s]), () => r((c) => {
let f = c.slice(), g = f.indexOf(s);
return g !== -1 && f.splice(g, 1), f;
}))), a = Y(() => ({ register: i, slot: l.slot, name: l.name, props: l.props, value: l.value }), [i, l.slot, l.name, l.props, l.value]);
return F.createElement(Lt.Provider, { value: a }, l.children);
}, [r])];
}
let Hl = "label";
function Bl(e, t) {
var n;
let r = Ne(), o = Rn(), l = Fl(), i = Ur(), { id: a = `headlessui-label-${r}`, htmlFor: s = l ?? ((n = o.props) == null ? void 0 : n.htmlFor), passive: c = !1, ...f } = e, g = pe(t);
U(() => o.register(a), [a, o.register]);
let p = D((x) => {
let w = x.currentTarget;
if (w instanceof HTMLLabelElement && x.preventDefault(), o.props && "onClick" in o.props && typeof o.props.onClick == "function" && o.props.onClick(x), w instanceof HTMLLabelElement) {
let y = document.getElementById(w.htmlFor);
if (y) {
let b = y.getAttribute("disabled");
if (b === "true" || b === "") return;
let C = y.getAttribute("aria-disabled");
if (C === "true" || C === "") return;
(y instanceof HTMLInputElement && (y.type === "radio" || y.type === "checkbox") || y.role === "radio" || y.role === "checkbox" || y.role === "switch") && y.click(), y.focus({ preventScroll: !0 });
}
}
}), d = i || !1, m = Y(() => ({ ...o.slot, disabled: d }), [o.slot, d]), v = { ref: g, ...o.props, id: a, htmlFor: s, onClick: p };
return c && ("onClick" in v && (delete v.htmlFor, delete v.onClick), "onClick" in f && delete f.onClick), oe()({ ourProps: v, theirProps: f, slot: m, defaultTag: s ? Hl : "div", name: o.name || "Label" });
}
let Il = re(Bl);
Object.assign(Il, {});
let Wl = ne(() => {
});
function zl({ value: e, children: t }) {
return F.createElement(Wl.Provider, { value: e }, t);
}
function Vl(e) {
if (e === null) return { width: 0, height: 0 };
let { width: t, height: n } = e.getBoundingClientRect();
return { width: t, height: n };
}
function Ul(e, t = !1) {
let [n, r] = $n(() => ({}), {}), o = Y(() => Vl(e), [e, n]);
return U(() => {
if (!e) return;
let l = new ResizeObserver(r);
return l.observe(e), () => {
l.disconnect();
};
}, [e]), t ? { width: `${o.width}px`, height: `${o.height}px` } : o;
}
let Yl = 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 Qr(e, t) {
let n = e(), r = /* @__PURE__ */ new Set();
return { getSnapshot() {
return n;
}, subscribe(o) {
return r.add(o), () => r.delete(o);
}, dispatch(o, ...l) {
let i = t[o].call(n, ...l);
i && (n = i, r.forEach((a) => a()));
} };
}
function Zr(e) {
return Vo(e.subscribe, e.getSnapshot, e.getSnapshot);
}
let Kl = new Yl(() => Qr(() => [], { 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 Fn(e, t) {
let n = Kl.get(t), r = Ne(), o = Zr(n);
if (U(() => {
if (e) return n.dispatch("ADD", r), () => n.dispatch("REMOVE", r);
}, [n, e]), !e) return !1;
let l = o.indexOf(r), i = o.length;
return l === -1 && (l = i, i += 1), l === i - 1;
}
let hn = /* @__PURE__ */ new Map(), ct = /* @__PURE__ */ new Map();
function ar(e) {
var t;
let n = (t = ct.get(e)) != null ? t : 0;
return ct.set(e, n + 1), n !== 0 ? () => cr(e) : (hn.set(e, { "aria-hidden": e.getAttribute("aria-hidden"), inert: e.inert }), e.setAttribute("aria-hidden", "true"), e.inert = !0, () => cr(e));
}
function cr(e) {
var t;
let n = (t = ct.get(e)) != null ? t : 1;
if (n === 1 ? ct.delete(e) : ct.set(e, n - 1), n !== 1) return;
let r = hn.get(e);
r && (r["aria-hidden"] === null ? e.removeAttribute("aria-hidden") : e.setAttribute("aria-hidden", r["aria-hidden"]), e.inert = r.inert, hn.delete(e));
}
function ql(e, { allowed: t, disallowed: n } = {}) {
let r = Fn(e, "inert-others");
U(() => {
var o, l;
if (!r) return;
let i = we();
for (let s of (o = n == null ? void 0 : n()) != null ? o : []) s && i.add(ar(s));
let a = (l = t == null ? void 0 : t()) != null ? l : [];
for (let s of a) {
if (!s) continue;
let c = Ye(s);
if (!c) continue;
let f = s.parentElement;
for (; f && f !== c.body; ) {
for (let g of f.children) a.some((p) => g.contains(p)) || i.add(ar(g));
f = f.parentElement;
}
}
return i.dispose;
}, [r, t, n]);
}
function Xl(e, t, n) {
let r = Ze((o) => {
let l = o.getBoundingClientRect();
l.x === 0 && l.y === 0 && l.width === 0 && l.height === 0 && n();
});
G(() => {
if (!e) return;
let o = t === null ? null : t instanceof HTMLElement ? t : t.current;
if (!o) return;
let l = we();
if (typeof ResizeObserver < "u") {
let i = new ResizeObserver(() => r.current(o));
i.observe(o), l.add(() => i.disconnect());
}
if (typeof IntersectionObserver < "u") {
let i = new IntersectionObserver(() => r.current(o));
i.observe(o), l.add(() => i.disconnect());
}
return () => l.dispose();
}, [t, r, e]);
}
let gn = ["[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(","), Gl = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
var vn = ((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))(vn || {}), Jl = ((e) => (e[e.Error = 0] = "Error", e[e.Overflow = 1] = "Overflow", e[e.Success = 2] = "Success", e[e.Underflow = 3] = "Underflow", e))(Jl || {}), Ql = ((e) => (e[e.Previous = -1] = "Previous", e[e.Next = 1] = "Next", e))(Ql || {});
function eo(e = document.body) {
return e == null ? [] : Array.from(e.querySelectorAll(gn)).sort((t, n) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (n.tabIndex || Number.MAX_SAFE_INTEGER)));
}
function Zl(e = document.body) {
return e == null ? [] : Array.from(e.querySelectorAll(Gl)).sort((t, n) => Math.sign((t.tabIndex || Number.MAX_SAFE_INTEGER) - (n.tabIndex || Number.MAX_SAFE_INTEGER)));
}
var kn =