From fc3b752b9718e182d096a7ffe63f8ad5c207e594 Mon Sep 17 00:00:00 2001 From: firmansyah Date: Tue, 19 May 2026 11:10:14 +0700 Subject: [PATCH] feat input virtual --- .gitignore | 2 + dist/index.js | 19537 +++++++++++++++++++++++++++++- package-lock.json | 1585 ++- package.json | 15 +- src/App.css | 184 - src/App.jsx | 122 - src/api/axiosClient.js | 42 + src/api/request.js | 163 + src/assets/hero.png | Bin 13057 -> 0 bytes src/assets/react.svg | 1 - src/assets/vite.svg | 1 - src/components/BaseButton.jsx | 19 - src/components/ListVirtual.jsx | 256 + src/config/constants.js | 61 + src/index.css | 111 - src/index.js | 4 +- src/main.jsx | 10 - src/utils/filterTableBuilder.js | 101 + src/utils/response.js | 61 + 19 files changed, 21419 insertions(+), 856 deletions(-) delete mode 100644 src/App.css delete mode 100644 src/App.jsx create mode 100644 src/api/axiosClient.js create mode 100644 src/api/request.js delete mode 100644 src/assets/hero.png delete mode 100644 src/assets/react.svg delete mode 100644 src/assets/vite.svg delete mode 100644 src/components/BaseButton.jsx create mode 100644 src/components/ListVirtual.jsx create mode 100644 src/config/constants.js delete mode 100644 src/index.css delete mode 100644 src/main.jsx create mode 100644 src/utils/filterTableBuilder.js create mode 100644 src/utils/response.js diff --git a/.gitignore b/.gitignore index 251ce6d..878b001 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ dist-ssr *.njsproj *.sln *.sw? + +.env \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 23e4023..4fe201b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,5 +1,14 @@ -import Se from "react"; -var X = { exports: {} }, F = {}; +var pu = Object.defineProperty; +var mu = (e, t, n) => t in e ? pu(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n; +var qn = (e, t, n) => mu(e, typeof t != "symbol" ? t + "" : t, n); +import * as x from "react"; +import xt, { forwardRef as hu, useContext as yu, isValidElement as Br, cloneElement as Fr, Children as gu, useState as Qt, useCallback as bu, useMemo as vu, useEffect as xs } from "react"; +import * as Eu from "react-dom"; +import Ir from "react-dom"; +function Su(e) { + return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; +} +var mi = { exports: {} }, Gn = {}; /** * @license React * react-jsx-runtime.production.min.js @@ -9,21 +18,21 @@ var X = { exports: {} }, F = {}; * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var Te; -function lr() { - if (Te) return F; - Te = 1; - var w = Se, _ = Symbol.for("react.element"), j = Symbol.for("react.fragment"), y = Object.prototype.hasOwnProperty, I = w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, $ = { key: !0, ref: !0, __self: !0, __source: !0 }; - function x(h, f, O) { - var p, b = {}, R = null, W = null; - O !== void 0 && (R = "" + O), f.key !== void 0 && (R = "" + f.key), f.ref !== void 0 && (W = f.ref); - for (p in f) y.call(f, p) && !$.hasOwnProperty(p) && (b[p] = f[p]); - if (h && h.defaultProps) for (p in f = h.defaultProps, f) b[p] === void 0 && (b[p] = f[p]); - return { $$typeof: _, type: h, key: R, ref: W, props: b, _owner: I.current }; +var Rs; +function Tu() { + if (Rs) return Gn; + Rs = 1; + var e = xt, t = Symbol.for("react.element"), n = Symbol.for("react.fragment"), r = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, s = { key: !0, ref: !0, __self: !0, __source: !0 }; + function a(l, c, u) { + var d, h = {}, b = null, m = null; + u !== void 0 && (b = "" + u), c.key !== void 0 && (b = "" + c.key), c.ref !== void 0 && (m = c.ref); + for (d in c) r.call(c, d) && !s.hasOwnProperty(d) && (h[d] = c[d]); + if (l && l.defaultProps) for (d in c = l.defaultProps, c) h[d] === void 0 && (h[d] = c[d]); + return { $$typeof: t, type: l, key: b, ref: m, props: h, _owner: i.current }; } - return F.Fragment = j, F.jsx = x, F.jsxs = x, F; + return Gn.Fragment = n, Gn.jsx = a, Gn.jsxs = a, Gn; } -var A = {}; +var Yn = {}; /** * @license React * react-jsx-runtime.development.js @@ -33,91 +42,91 @@ var A = {}; * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -var Oe; -function fr() { - return Oe || (Oe = 1, process.env.NODE_ENV !== "production" && function() { - var w = Se, _ = Symbol.for("react.element"), j = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), I = Symbol.for("react.strict_mode"), $ = Symbol.for("react.profiler"), x = Symbol.for("react.provider"), h = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), O = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), b = Symbol.for("react.memo"), R = Symbol.for("react.lazy"), W = Symbol.for("react.offscreen"), H = Symbol.iterator, Ce = "@@iterator"; - function Pe(e) { - if (e === null || typeof e != "object") +var Os; +function xu() { + return Os || (Os = 1, process.env.NODE_ENV !== "production" && function() { + var e = xt, t = Symbol.for("react.element"), n = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), a = Symbol.for("react.provider"), l = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), d = Symbol.for("react.suspense_list"), h = Symbol.for("react.memo"), b = Symbol.for("react.lazy"), m = Symbol.for("react.offscreen"), g = Symbol.iterator, f = "@@iterator"; + function y(R) { + if (R === null || typeof R != "object") return null; - var r = H && e[H] || e[Ce]; - return typeof r == "function" ? r : null; + var U = g && R[g] || R[f]; + return typeof U == "function" ? U : null; } - var S = w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; - function c(e) { + var S = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + function O(R) { { - for (var r = arguments.length, t = new Array(r > 1 ? r - 1 : 0), n = 1; n < r; n++) - t[n - 1] = arguments[n]; - we("error", e, t); + for (var U = arguments.length, ee = new Array(U > 1 ? U - 1 : 0), ce = 1; ce < U; ce++) + ee[ce - 1] = arguments[ce]; + T("error", R, ee); } } - function we(e, r, t) { + function T(R, U, ee) { { - var n = S.ReactDebugCurrentFrame, i = n.getStackAddendum(); - i !== "" && (r += "%s", t = t.concat([i])); - var u = t.map(function(o) { - return String(o); + var ce = S.ReactDebugCurrentFrame, Te = ce.getStackAddendum(); + Te !== "" && (U += "%s", ee = ee.concat([Te])); + var Ne = ee.map(function(he) { + return String(he); }); - u.unshift("Warning: " + r), Function.prototype.apply.call(console[e], console, u); + Ne.unshift("Warning: " + U), Function.prototype.apply.call(console[R], console, Ne); } } - var je = !1, xe = !1, ke = !1, De = !1, Fe = !1, Z; - Z = Symbol.for("react.module.reference"); - function Ae(e) { - return !!(typeof e == "string" || typeof e == "function" || e === y || e === $ || Fe || e === I || e === O || e === p || De || e === W || je || xe || ke || typeof e == "object" && e !== null && (e.$$typeof === R || e.$$typeof === b || e.$$typeof === x || e.$$typeof === h || e.$$typeof === f || // This needs to include all possible module reference object + var v = !1, E = !1, w = !1, k = !1, L = !1, z; + z = Symbol.for("react.module.reference"); + function W(R) { + return !!(typeof R == "string" || typeof R == "function" || R === r || R === s || L || R === i || R === u || R === d || k || R === m || v || E || w || typeof R == "object" && R !== null && (R.$$typeof === b || R.$$typeof === h || R.$$typeof === a || R.$$typeof === l || R.$$typeof === c || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. - e.$$typeof === Z || e.getModuleId !== void 0)); + R.$$typeof === z || R.getModuleId !== void 0)); } - function Ie(e, r, t) { - var n = e.displayName; - if (n) - return n; - var i = r.displayName || r.name || ""; - return i !== "" ? t + "(" + i + ")" : t; + function F(R, U, ee) { + var ce = R.displayName; + if (ce) + return ce; + var Te = U.displayName || U.name || ""; + return Te !== "" ? ee + "(" + Te + ")" : ee; } - function Q(e) { - return e.displayName || "Context"; + function p(R) { + return R.displayName || "Context"; } - function E(e) { - if (e == null) + function A(R) { + if (R == null) return null; - if (typeof e.tag == "number" && c("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof e == "function") - return e.displayName || e.name || null; - if (typeof e == "string") - return e; - switch (e) { - case y: + if (typeof R.tag == "number" && O("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof R == "function") + return R.displayName || R.name || null; + if (typeof R == "string") + return R; + switch (R) { + case r: return "Fragment"; - case j: + case n: return "Portal"; - case $: + case s: return "Profiler"; - case I: + case i: return "StrictMode"; - case O: + case u: return "Suspense"; - case p: + case d: return "SuspenseList"; } - if (typeof e == "object") - switch (e.$$typeof) { + if (typeof R == "object") + switch (R.$$typeof) { + case l: + var U = R; + return p(U) + ".Consumer"; + case a: + var ee = R; + return p(ee._context) + ".Provider"; + case c: + return F(R, R.render, "ForwardRef"); case h: - var r = e; - return Q(r) + ".Consumer"; - case x: - var t = e; - return Q(t._context) + ".Provider"; - case f: - return Ie(e, e.render, "ForwardRef"); - case b: - var n = e.displayName || null; - return n !== null ? n : E(e.type) || "Memo"; - case R: { - var i = e, u = i._payload, o = i._init; + var ce = R.displayName || null; + return ce !== null ? ce : A(R.type) || "Memo"; + case b: { + var Te = R, Ne = Te._payload, he = Te._init; try { - return E(o(u)); + return A(he(Ne)); } catch { return null; } @@ -125,518 +134,19274 @@ function fr() { } return null; } - var m = Object.assign, k = 0, ee, re, te, ne, ae, oe, ie; - function ue() { + var P = Object.assign, D = 0, j, H, te, G, N, I, X; + function B() { } - ue.__reactDisabledLog = !0; - function $e() { + B.__reactDisabledLog = !0; + function Y() { { - if (k === 0) { - ee = console.log, re = console.info, te = console.warn, ne = console.error, ae = console.group, oe = console.groupCollapsed, ie = console.groupEnd; - var e = { + if (D === 0) { + j = console.log, H = console.info, te = console.warn, G = console.error, N = console.group, I = console.groupCollapsed, X = console.groupEnd; + var R = { configurable: !0, enumerable: !0, - value: ue, + value: B, writable: !0 }; Object.defineProperties(console, { - info: e, - log: e, - warn: e, - error: e, - group: e, - groupCollapsed: e, - groupEnd: e + info: R, + log: R, + warn: R, + error: R, + group: R, + groupCollapsed: R, + groupEnd: R }); } - k++; + D++; } } - function We() { + function q() { { - if (k--, k === 0) { - var e = { + if (D--, D === 0) { + var R = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { - log: m({}, e, { - value: ee + log: P({}, R, { + value: j }), - info: m({}, e, { - value: re + info: P({}, R, { + value: H }), - warn: m({}, e, { + warn: P({}, R, { value: te }), - error: m({}, e, { - value: ne + error: P({}, R, { + value: G }), - group: m({}, e, { - value: ae + group: P({}, R, { + value: N }), - groupCollapsed: m({}, e, { - value: oe + groupCollapsed: P({}, R, { + value: I }), - groupEnd: m({}, e, { - value: ie + groupEnd: P({}, R, { + value: X }) }); } - k < 0 && c("disabledDepth fell below zero. This is a bug in React. Please file an issue."); + D < 0 && O("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } - var U = S.ReactCurrentDispatcher, N; - function Y(e, r, t) { + var Q = S.ReactCurrentDispatcher, J; + function K(R, U, ee) { { - if (N === void 0) + if (J === void 0) try { throw Error(); - } catch (i) { - var n = i.stack.trim().match(/\n( *(at )?)/); - N = n && n[1] || ""; + } catch (Te) { + var ce = Te.stack.trim().match(/\n( *(at )?)/); + J = ce && ce[1] || ""; } return ` -` + N + e; +` + J + R; } } - var B = !1, L; + var Z = !1, V; { - var Ye = typeof WeakMap == "function" ? WeakMap : Map; - L = new Ye(); + var ne = typeof WeakMap == "function" ? WeakMap : Map; + V = new ne(); } - function se(e, r) { - if (!e || B) + function _(R, U) { + if (!R || Z) return ""; { - var t = L.get(e); - if (t !== void 0) - return t; + var ee = V.get(R); + if (ee !== void 0) + return ee; } - var n; - B = !0; - var i = Error.prepareStackTrace; + var ce; + Z = !0; + var Te = Error.prepareStackTrace; Error.prepareStackTrace = void 0; - var u; - u = U.current, U.current = null, $e(); + var Ne; + Ne = Q.current, Q.current = null, Y(); try { - if (r) { - var o = function() { + if (U) { + var he = function() { throw Error(); }; - if (Object.defineProperty(o.prototype, "props", { + if (Object.defineProperty(he.prototype, "props", { set: function() { throw Error(); } }), typeof Reflect == "object" && Reflect.construct) { try { - Reflect.construct(o, []); - } catch (v) { - n = v; + Reflect.construct(he, []); + } catch (ot) { + ce = ot; } - Reflect.construct(e, [], o); + Reflect.construct(R, [], he); } else { try { - o.call(); - } catch (v) { - n = v; + he.call(); + } catch (ot) { + ce = ot; } - e.call(o.prototype); + R.call(he.prototype); } } else { try { throw Error(); - } catch (v) { - n = v; + } catch (ot) { + ce = ot; } - e(); + R(); } - } catch (v) { - if (v && n && typeof v.stack == "string") { - for (var a = v.stack.split(` -`), d = n.stack.split(` -`), s = a.length - 1, l = d.length - 1; s >= 1 && l >= 0 && a[s] !== d[l]; ) - l--; - for (; s >= 1 && l >= 0; s--, l--) - if (a[s] !== d[l]) { - if (s !== 1 || l !== 1) + } catch (ot) { + if (ot && ce && typeof ot.stack == "string") { + for (var pe = ot.stack.split(` +`), tt = ce.stack.split(` +`), ze = pe.length - 1, qe = tt.length - 1; ze >= 1 && qe >= 0 && pe[ze] !== tt[qe]; ) + qe--; + for (; ze >= 1 && qe >= 0; ze--, qe--) + if (pe[ze] !== tt[qe]) { + if (ze !== 1 || qe !== 1) do - if (s--, l--, l < 0 || a[s] !== d[l]) { - var g = ` -` + a[s].replace(" at new ", " at "); - return e.displayName && g.includes("") && (g = g.replace("", e.displayName)), typeof e == "function" && L.set(e, g), g; + if (ze--, qe--, qe < 0 || pe[ze] !== tt[qe]) { + var ft = ` +` + pe[ze].replace(" at new ", " at "); + return R.displayName && ft.includes("") && (ft = ft.replace("", R.displayName)), typeof R == "function" && V.set(R, ft), ft; } - while (s >= 1 && l >= 0); + while (ze >= 1 && qe >= 0); break; } } } finally { - B = !1, U.current = u, We(), Error.prepareStackTrace = i; + Z = !1, Q.current = Ne, q(), Error.prepareStackTrace = Te; } - var P = e ? e.displayName || e.name : "", T = P ? Y(P) : ""; - return typeof e == "function" && L.set(e, T), T; + var Sn = R ? R.displayName || R.name : "", Jt = Sn ? K(Sn) : ""; + return typeof R == "function" && V.set(R, Jt), Jt; } - function Le(e, r, t) { - return se(e, !1); + function de(R, U, ee) { + return _(R, !1); } - function Ve(e) { - var r = e.prototype; - return !!(r && r.isReactComponent); + function re(R) { + var U = R.prototype; + return !!(U && U.isReactComponent); } - function V(e, r, t) { - if (e == null) + function me(R, U, ee) { + if (R == null) return ""; - if (typeof e == "function") - return se(e, Ve(e)); - if (typeof e == "string") - return Y(e); - switch (e) { - case O: - return Y("Suspense"); - case p: - return Y("SuspenseList"); + if (typeof R == "function") + return _(R, re(R)); + if (typeof R == "string") + return K(R); + switch (R) { + case u: + return K("Suspense"); + case d: + return K("SuspenseList"); } - if (typeof e == "object") - switch (e.$$typeof) { - case f: - return Le(e.render); - case b: - return V(e.type, r, t); - case R: { - var n = e, i = n._payload, u = n._init; + if (typeof R == "object") + switch (R.$$typeof) { + case c: + return de(R.render); + case h: + return me(R.type, U, ee); + case b: { + var ce = R, Te = ce._payload, Ne = ce._init; try { - return V(u(i), r, t); + return me(Ne(Te), U, ee); } catch { } } } return ""; } - var D = Object.prototype.hasOwnProperty, le = {}, fe = S.ReactDebugCurrentFrame; - function M(e) { - if (e) { - var r = e._owner, t = V(e.type, e._source, r ? r.type : null); - fe.setExtraStackFrame(t); + var $e = Object.prototype.hasOwnProperty, Me = {}, De = S.ReactDebugCurrentFrame; + function Ke(R) { + if (R) { + var U = R._owner, ee = me(R.type, R._source, U ? U.type : null); + De.setExtraStackFrame(ee); } else - fe.setExtraStackFrame(null); + De.setExtraStackFrame(null); } - function Me(e, r, t, n, i) { + function at(R, U, ee, ce, Te) { { - var u = Function.call.bind(D); - for (var o in e) - if (u(e, o)) { - var a = void 0; + var Ne = Function.call.bind($e); + for (var he in R) + if (Ne(R, he)) { + var pe = void 0; try { - if (typeof e[o] != "function") { - var d = Error((n || "React class") + ": " + t + " type `" + o + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof e[o] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); - throw d.name = "Invariant Violation", d; + if (typeof R[he] != "function") { + var tt = Error((ce || "React class") + ": " + ee + " type `" + he + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof R[he] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); + throw tt.name = "Invariant Violation", tt; } - a = e[o](r, o, n, t, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); - } catch (s) { - a = s; + pe = R[he](U, he, ce, ee, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); + } catch (ze) { + pe = ze; } - a && !(a instanceof Error) && (M(i), c("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", n || "React class", t, o, typeof a), M(null)), a instanceof Error && !(a.message in le) && (le[a.message] = !0, M(i), c("Failed %s type: %s", t, a.message), M(null)); + pe && !(pe instanceof Error) && (Ke(Te), O("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", ce || "React class", ee, he, typeof pe), Ke(null)), pe instanceof Error && !(pe.message in Me) && (Me[pe.message] = !0, Ke(Te), O("Failed %s type: %s", ee, pe.message), Ke(null)); } } } - var Ue = Array.isArray; - function J(e) { - return Ue(e); + var je = Array.isArray; + function le(R) { + return je(R); } - function Ne(e) { + function Nt(R) { { - var r = typeof Symbol == "function" && Symbol.toStringTag, t = r && e[Symbol.toStringTag] || e.constructor.name || "Object"; - return t; + var U = typeof Symbol == "function" && Symbol.toStringTag, ee = U && R[Symbol.toStringTag] || R.constructor.name || "Object"; + return ee; } } - function Be(e) { + function Je(R) { try { - return ce(e), !1; + return gn(R), !1; } catch { return !0; } } - function ce(e) { - return "" + e; + function gn(R) { + return "" + R; } - function de(e) { - if (Be(e)) - return c("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Ne(e)), ce(e); + function lt(R) { + if (Je(R)) + return O("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Nt(R)), gn(R); } - var ve = S.ReactCurrentOwner, Je = { + var qt = S.ReactCurrentOwner, kt = { key: !0, ref: !0, __self: !0, __source: !0 - }, pe, ge; - function qe(e) { - if (D.call(e, "ref")) { - var r = Object.getOwnPropertyDescriptor(e, "ref").get; - if (r && r.isReactWarning) + }, Et, $t; + function ye(R) { + if ($e.call(R, "ref")) { + var U = Object.getOwnPropertyDescriptor(R, "ref").get; + if (U && U.isReactWarning) return !1; } - return e.ref !== void 0; + return R.ref !== void 0; } - function Ke(e) { - if (D.call(e, "key")) { - var r = Object.getOwnPropertyDescriptor(e, "key").get; - if (r && r.isReactWarning) + function St(R) { + if ($e.call(R, "key")) { + var U = Object.getOwnPropertyDescriptor(R, "key").get; + if (U && U.isReactWarning) return !1; } - return e.key !== void 0; + return R.key !== void 0; } - function Ge(e, r) { - typeof e.ref == "string" && ve.current; + function ct(R, U) { + typeof R.ref == "string" && qt.current; } - function ze(e, r) { + function bn(R, U) { { - var t = function() { - pe || (pe = !0, c("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r)); + var ee = function() { + Et || (Et = !0, O("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", U)); }; - t.isReactWarning = !0, Object.defineProperty(e, "key", { - get: t, + ee.isReactWarning = !0, Object.defineProperty(R, "key", { + get: ee, configurable: !0 }); } } - function Xe(e, r) { + function Gt(R, U) { { - var t = function() { - ge || (ge = !0, c("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", r)); + var ee = function() { + $t || ($t = !0, O("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", U)); }; - t.isReactWarning = !0, Object.defineProperty(e, "ref", { - get: t, + ee.isReactWarning = !0, Object.defineProperty(R, "ref", { + get: ee, configurable: !0 }); } } - var He = function(e, r, t, n, i, u, o) { - var a = { + var Fn = function(R, U, ee, ce, Te, Ne, he) { + var pe = { // This tag allows us to uniquely identify this as a React Element - $$typeof: _, + $$typeof: t, // Built-in properties that belong on the element - type: e, - key: r, - ref: t, - props: o, + type: R, + key: U, + ref: ee, + props: he, // Record the component responsible for creating this element. - _owner: u + _owner: Ne }; - return a._store = {}, Object.defineProperty(a._store, "validated", { + return pe._store = {}, Object.defineProperty(pe._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: !1 - }), Object.defineProperty(a, "_self", { + }), Object.defineProperty(pe, "_self", { configurable: !1, enumerable: !1, writable: !1, - value: n - }), Object.defineProperty(a, "_source", { + value: ce + }), Object.defineProperty(pe, "_source", { configurable: !1, enumerable: !1, writable: !1, - value: i - }), Object.freeze && (Object.freeze(a.props), Object.freeze(a)), a; + value: Te + }), Object.freeze && (Object.freeze(pe.props), Object.freeze(pe)), pe; }; - function Ze(e, r, t, n, i) { + function Un(R, U, ee, ce, Te) { { - var u, o = {}, a = null, d = null; - t !== void 0 && (de(t), a = "" + t), Ke(r) && (de(r.key), a = "" + r.key), qe(r) && (d = r.ref, Ge(r, i)); - for (u in r) - D.call(r, u) && !Je.hasOwnProperty(u) && (o[u] = r[u]); - if (e && e.defaultProps) { - var s = e.defaultProps; - for (u in s) - o[u] === void 0 && (o[u] = s[u]); + var Ne, he = {}, pe = null, tt = null; + ee !== void 0 && (lt(ee), pe = "" + ee), St(U) && (lt(U.key), pe = "" + U.key), ye(U) && (tt = U.ref, ct(U, Te)); + for (Ne in U) + $e.call(U, Ne) && !kt.hasOwnProperty(Ne) && (he[Ne] = U[Ne]); + if (R && R.defaultProps) { + var ze = R.defaultProps; + for (Ne in ze) + he[Ne] === void 0 && (he[Ne] = ze[Ne]); } - if (a || d) { - var l = typeof e == "function" ? e.displayName || e.name || "Unknown" : e; - a && ze(o, l), d && Xe(o, l); + if (pe || tt) { + var qe = typeof R == "function" ? R.displayName || R.name || "Unknown" : R; + pe && bn(he, qe), tt && Gt(he, qe); } - return He(e, a, d, i, n, ve.current, o); + return Fn(R, pe, tt, Te, ce, qt.current, he); } } - var q = S.ReactCurrentOwner, be = S.ReactDebugCurrentFrame; - function C(e) { - if (e) { - var r = e._owner, t = V(e.type, e._source, r ? r.type : null); - be.setExtraStackFrame(t); + var Vn = S.ReactCurrentOwner, zn = S.ReactDebugCurrentFrame; + function Mt(R) { + if (R) { + var U = R._owner, ee = me(R.type, R._source, U ? U.type : null); + zn.setExtraStackFrame(ee); } else - be.setExtraStackFrame(null); + zn.setExtraStackFrame(null); } - var K; - K = !1; - function G(e) { - return typeof e == "object" && e !== null && e.$$typeof === _; + var vn; + vn = !1; + function En(R) { + return typeof R == "object" && R !== null && R.$$typeof === t; } - function ye() { + function Wn() { { - if (q.current) { - var e = E(q.current.type); - if (e) + if (Vn.current) { + var R = A(Vn.current.type); + if (R) return ` -Check the render method of \`` + e + "`."; +Check the render method of \`` + R + "`."; } return ""; } } - function Qe(e) { + function se(R) { return ""; } - var Ee = {}; - function er(e) { + var fe = {}; + function Ye(R) { { - var r = ye(); - if (!r) { - var t = typeof e == "string" ? e : e.displayName || e.name; - t && (r = ` + var U = Wn(); + if (!U) { + var ee = typeof R == "string" ? R : R.displayName || R.name; + ee && (U = ` -Check the top-level render call using <` + t + ">."); +Check the top-level render call using <` + ee + ">."); } - return r; + return U; } } - function _e(e, r) { + function Dt(R, U) { { - if (!e._store || e._store.validated || e.key != null) + if (!R._store || R._store.validated || R.key != null) return; - e._store.validated = !0; - var t = er(r); - if (Ee[t]) + R._store.validated = !0; + var ee = Ye(U); + if (fe[ee]) return; - Ee[t] = !0; - var n = ""; - e && e._owner && e._owner !== q.current && (n = " It was passed a child from " + E(e._owner.type) + "."), C(e), c('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', t, n), C(null); + fe[ee] = !0; + var ce = ""; + R && R._owner && R._owner !== Vn.current && (ce = " It was passed a child from " + A(R._owner.type) + "."), Mt(R), O('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', ee, ce), Mt(null); } } - function he(e, r) { + function Hn(R, U) { { - if (typeof e != "object") + if (typeof R != "object") return; - if (J(e)) - for (var t = 0; t < e.length; t++) { - var n = e[t]; - G(n) && _e(n, r); + if (le(R)) + for (var ee = 0; ee < R.length; ee++) { + var ce = R[ee]; + En(ce) && Dt(ce, U); } - else if (G(e)) - e._store && (e._store.validated = !0); - else if (e) { - var i = Pe(e); - if (typeof i == "function" && i !== e.entries) - for (var u = i.call(e), o; !(o = u.next()).done; ) - G(o.value) && _e(o.value, r); + else if (En(R)) + R._store && (R._store.validated = !0); + else if (R) { + var Te = y(R); + if (typeof Te == "function" && Te !== R.entries) + for (var Ne = Te.call(R), he; !(he = Ne.next()).done; ) + En(he.value) && Dt(he.value, U); } } } - function rr(e) { + function iu(R) { { - var r = e.type; - if (r == null || typeof r == "string") + var U = R.type; + if (U == null || typeof U == "string") return; - var t; - if (typeof r == "function") - t = r.propTypes; - else if (typeof r == "object" && (r.$$typeof === f || // Note: Memo only checks outer props here. + var ee; + if (typeof U == "function") + ee = U.propTypes; + else if (typeof U == "object" && (U.$$typeof === c || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. - r.$$typeof === b)) - t = r.propTypes; + U.$$typeof === h)) + ee = U.propTypes; else return; - if (t) { - var n = E(r); - Me(t, e.props, "prop", n, e); - } else if (r.PropTypes !== void 0 && !K) { - K = !0; - var i = E(r); - c("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", i || "Unknown"); + if (ee) { + var ce = A(U); + at(ee, R.props, "prop", ce, R); + } else if (U.PropTypes !== void 0 && !vn) { + vn = !0; + var Te = A(U); + O("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", Te || "Unknown"); } - typeof r.getDefaultProps == "function" && !r.getDefaultProps.isReactClassApproved && c("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); + typeof U.getDefaultProps == "function" && !U.getDefaultProps.isReactClassApproved && O("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } - function tr(e) { + function su(R) { { - for (var r = Object.keys(e.props), t = 0; t < r.length; t++) { - var n = r[t]; - if (n !== "children" && n !== "key") { - C(e), c("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", n), C(null); + for (var U = Object.keys(R.props), ee = 0; ee < U.length; ee++) { + var ce = U[ee]; + if (ce !== "children" && ce !== "key") { + Mt(R), O("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", ce), Mt(null); break; } } - e.ref !== null && (C(e), c("Invalid attribute `ref` supplied to `React.Fragment`."), C(null)); + R.ref !== null && (Mt(R), O("Invalid attribute `ref` supplied to `React.Fragment`."), Mt(null)); } } - var Re = {}; - function me(e, r, t, n, i, u) { + var Ss = {}; + function Ts(R, U, ee, ce, Te, Ne) { { - var o = Ae(e); - if (!o) { - var a = ""; - (e === void 0 || typeof e == "object" && e !== null && Object.keys(e).length === 0) && (a += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); - var d = Qe(); - d ? a += d : a += ye(); - var s; - e === null ? s = "null" : J(e) ? s = "array" : e !== void 0 && e.$$typeof === _ ? (s = "<" + (E(e.type) || "Unknown") + " />", a = " Did you accidentally export a JSX literal instead of a component?") : s = typeof e, c("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", s, a); + var he = W(R); + if (!he) { + var pe = ""; + (R === void 0 || typeof R == "object" && R !== null && Object.keys(R).length === 0) && (pe += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); + var tt = se(); + tt ? pe += tt : pe += Wn(); + var ze; + R === null ? ze = "null" : le(R) ? ze = "array" : R !== void 0 && R.$$typeof === t ? (ze = "<" + (A(R.type) || "Unknown") + " />", pe = " Did you accidentally export a JSX literal instead of a component?") : ze = typeof R, O("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", ze, pe); } - var l = Ze(e, r, t, i, u); - if (l == null) - return l; - if (o) { - var g = r.children; - if (g !== void 0) - if (n) - if (J(g)) { - for (var P = 0; P < g.length; P++) - he(g[P], e); - Object.freeze && Object.freeze(g); + var qe = Un(R, U, ee, Te, Ne); + if (qe == null) + return qe; + if (he) { + var ft = U.children; + if (ft !== void 0) + if (ce) + if (le(ft)) { + for (var Sn = 0; Sn < ft.length; Sn++) + Hn(ft[Sn], R); + Object.freeze && Object.freeze(ft); } else - c("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."); + O("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 - he(g, e); + Hn(ft, R); } - if (D.call(r, "key")) { - var T = E(e), v = Object.keys(r).filter(function(sr) { - return sr !== "key"; - }), z = v.length > 0 ? "{key: someKey, " + v.join(": ..., ") + ": ...}" : "{key: someKey}"; - if (!Re[T + z]) { - var ur = v.length > 0 ? "{" + v.join(": ..., ") + ": ...}" : "{}"; - c(`A props object containing a "key" prop is being spread into JSX: + if ($e.call(U, "key")) { + var Jt = A(R), ot = Object.keys(U).filter(function(fu) { + return fu !== "key"; + }), Go = ot.length > 0 ? "{key: someKey, " + ot.join(": ..., ") + ": ...}" : "{key: someKey}"; + if (!Ss[Jt + Go]) { + var du = ot.length > 0 ? "{" + ot.join(": ..., ") + ": ...}" : "{}"; + O(`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} />`, z, T, ur, T), Re[T + z] = !0; + <%s key={someKey} {...props} />`, Go, Jt, du, Jt), Ss[Jt + Go] = !0; } } - return e === y ? tr(l) : rr(l), l; + return R === r ? su(qe) : iu(qe), qe; } } - function nr(e, r, t) { - return me(e, r, t, !0); + function au(R, U, ee) { + return Ts(R, U, ee, !0); } - function ar(e, r, t) { - return me(e, r, t, !1); + function lu(R, U, ee) { + return Ts(R, U, ee, !1); } - var or = ar, ir = nr; - A.Fragment = y, A.jsx = or, A.jsxs = ir; - }()), A; + var cu = lu, uu = au; + Yn.Fragment = r, Yn.jsx = cu, Yn.jsxs = uu; + }()), Yn; } -process.env.NODE_ENV === "production" ? X.exports = lr() : X.exports = fr(); -var cr = X.exports; -function vr({ onClick: w, children: _, style: j }) { - const y = { - padding: "10px 20px", - backgroundColor: "#0070f3", - color: "#fff", - border: "none", - borderRadius: "5px", - cursor: "pointer", - ...j +process.env.NODE_ENV === "production" ? mi.exports = Tu() : mi.exports = xu(); +var $ = mi.exports; +const ur = { + black: "#000", + white: "#fff" +}, Tn = { + 300: "#e57373", + 400: "#ef5350", + 500: "#f44336", + 700: "#d32f2f", + 800: "#c62828" +}, xn = { + 50: "#f3e5f5", + 200: "#ce93d8", + 300: "#ba68c8", + 400: "#ab47bc", + 500: "#9c27b0", + 700: "#7b1fa2" +}, Rn = { + 50: "#e3f2fd", + 200: "#90caf9", + 400: "#42a5f5", + 700: "#1976d2", + 800: "#1565c0" +}, On = { + 300: "#4fc3f7", + 400: "#29b6f6", + 500: "#03a9f4", + 700: "#0288d1", + 900: "#01579b" +}, wn = { + 300: "#81c784", + 400: "#66bb6a", + 500: "#4caf50", + 700: "#388e3c", + 800: "#2e7d32", + 900: "#1b5e20" +}, Kn = { + 300: "#ffb74d", + 400: "#ffa726", + 500: "#ff9800", + 700: "#f57c00", + 900: "#e65100" +}, Ru = { + 50: "#fafafa", + 100: "#f5f5f5", + 200: "#eeeeee", + 300: "#e0e0e0", + 400: "#bdbdbd", + 500: "#9e9e9e", + 600: "#757575", + 700: "#616161", + 800: "#424242", + 900: "#212121", + A100: "#f5f5f5", + A200: "#eeeeee", + A400: "#bdbdbd", + A700: "#616161" +}; +function Ft(e, ...t) { + const n = new URL(`https://mui.com/production-error/?code=${e}`); + return t.forEach((r) => n.searchParams.append("args[]", r)), `Minified MUI error #${e}; visit ${n} for the full message.`; +} +const Ui = "$$material"; +function Yr() { + return Yr = Object.assign ? Object.assign.bind() : function(e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t]; + for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]); + } + return e; + }, Yr.apply(null, arguments); +} +function Ou(e) { + if (e.sheet) + return e.sheet; + for (var t = 0; t < document.styleSheets.length; t++) + if (document.styleSheets[t].ownerNode === e) + return document.styleSheets[t]; +} +function wu(e) { + var t = document.createElement("style"); + return t.setAttribute("data-emotion", e.key), e.nonce !== void 0 && t.setAttribute("nonce", e.nonce), t.appendChild(document.createTextNode("")), t.setAttribute("data-s", ""), t; +} +var Cu = /* @__PURE__ */ function() { + function e(n) { + var r = this; + this._insertTag = function(i) { + var s; + r.tags.length === 0 ? r.insertionPoint ? s = r.insertionPoint.nextSibling : r.prepend ? s = r.container.firstChild : s = r.before : s = r.tags[r.tags.length - 1].nextSibling, r.container.insertBefore(i, s), r.tags.push(i); + }, this.isSpeedy = n.speedy === void 0 ? !0 : n.speedy, this.tags = [], this.ctr = 0, this.nonce = n.nonce, this.key = n.key, this.container = n.container, this.prepend = n.prepend, this.insertionPoint = n.insertionPoint, this.before = null; + } + var t = e.prototype; + return t.hydrate = function(r) { + r.forEach(this._insertTag); + }, t.insert = function(r) { + this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 && this._insertTag(wu(this)); + var i = this.tags[this.tags.length - 1]; + if (this.isSpeedy) { + var s = Ou(i); + try { + s.insertRule(r, s.cssRules.length); + } catch { + } + } else + i.appendChild(document.createTextNode(r)); + this.ctr++; + }, t.flush = function() { + this.tags.forEach(function(r) { + var i; + return (i = r.parentNode) == null ? void 0 : i.removeChild(r); + }), this.tags = [], this.ctr = 0; + }, e; +}(), Qe = "-ms-", Kr = "-moz-", be = "-webkit-", il = "comm", Vi = "rule", zi = "decl", Pu = "@import", sl = "@keyframes", _u = "@layer", Au = Math.abs, mo = String.fromCharCode, Iu = Object.assign; +function Nu(e, t) { + return Xe(e, 0) ^ 45 ? (((t << 2 ^ Xe(e, 0)) << 2 ^ Xe(e, 1)) << 2 ^ Xe(e, 2)) << 2 ^ Xe(e, 3) : 0; +} +function al(e) { + return e.trim(); +} +function ku(e, t) { + return (e = t.exec(e)) ? e[0] : e; +} +function ve(e, t, n) { + return e.replace(t, n); +} +function hi(e, t) { + return e.indexOf(t); +} +function Xe(e, t) { + return e.charCodeAt(t) | 0; +} +function dr(e, t, n) { + return e.slice(t, n); +} +function Ct(e) { + return e.length; +} +function Wi(e) { + return e.length; +} +function Nr(e, t) { + return t.push(e), e; +} +function $u(e, t) { + return e.map(t).join(""); +} +var ho = 1, kn = 1, ll = 0, st = 0, Ge = 0, jn = ""; +function yo(e, t, n, r, i, s, a) { + return { value: e, root: t, parent: n, type: r, props: i, children: s, line: ho, column: kn, length: a, return: "" }; +} +function Xn(e, t) { + return Iu(yo("", null, null, "", null, null, 0), e, { length: -e.length }, t); +} +function Mu() { + return Ge; +} +function Du() { + return Ge = st > 0 ? Xe(jn, --st) : 0, kn--, Ge === 10 && (kn = 1, ho--), Ge; +} +function dt() { + return Ge = st < ll ? Xe(jn, st++) : 0, kn++, Ge === 10 && (kn = 1, ho++), Ge; +} +function At() { + return Xe(jn, st); +} +function Ur() { + return st; +} +function yr(e, t) { + return dr(jn, e, t); +} +function fr(e) { + switch (e) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5; + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4; + case 58: + return 3; + case 34: + case 39: + case 40: + case 91: + return 2; + case 41: + case 93: + return 1; + } + return 0; +} +function cl(e) { + return ho = kn = 1, ll = Ct(jn = e), st = 0, []; +} +function ul(e) { + return jn = "", e; +} +function Vr(e) { + return al(yr(st - 1, yi(e === 91 ? e + 2 : e === 40 ? e + 1 : e))); +} +function ju(e) { + for (; (Ge = At()) && Ge < 33; ) + dt(); + return fr(e) > 2 || fr(Ge) > 3 ? "" : " "; +} +function Lu(e, t) { + for (; --t && dt() && !(Ge < 48 || Ge > 102 || Ge > 57 && Ge < 65 || Ge > 70 && Ge < 97); ) + ; + return yr(e, Ur() + (t < 6 && At() == 32 && dt() == 32)); +} +function yi(e) { + for (; dt(); ) + switch (Ge) { + case e: + return st; + case 34: + case 39: + e !== 34 && e !== 39 && yi(Ge); + break; + case 40: + e === 41 && yi(e); + break; + case 92: + dt(); + break; + } + return st; +} +function Bu(e, t) { + for (; dt() && e + Ge !== 57; ) + if (e + Ge === 84 && At() === 47) + break; + return "/*" + yr(t, st - 1) + "*" + mo(e === 47 ? e : dt()); +} +function Fu(e) { + for (; !fr(At()); ) + dt(); + return yr(e, st); +} +function Uu(e) { + return ul(zr("", null, null, null, [""], e = cl(e), 0, [0], e)); +} +function zr(e, t, n, r, i, s, a, l, c) { + for (var u = 0, d = 0, h = a, b = 0, m = 0, g = 0, f = 1, y = 1, S = 1, O = 0, T = "", v = i, E = s, w = r, k = T; y; ) + switch (g = O, O = dt()) { + case 40: + if (g != 108 && Xe(k, h - 1) == 58) { + hi(k += ve(Vr(O), "&", "&\f"), "&\f") != -1 && (S = -1); + break; + } + case 34: + case 39: + case 91: + k += Vr(O); + break; + case 9: + case 10: + case 13: + case 32: + k += ju(g); + break; + case 92: + k += Lu(Ur() - 1, 7); + continue; + case 47: + switch (At()) { + case 42: + case 47: + Nr(Vu(Bu(dt(), Ur()), t, n), c); + break; + default: + k += "/"; + } + break; + case 123 * f: + l[u++] = Ct(k) * S; + case 125 * f: + case 59: + case 0: + switch (O) { + case 0: + case 125: + y = 0; + case 59 + d: + S == -1 && (k = ve(k, /\f/g, "")), m > 0 && Ct(k) - h && Nr(m > 32 ? Cs(k + ";", r, n, h - 1) : Cs(ve(k, " ", "") + ";", r, n, h - 2), c); + break; + case 59: + k += ";"; + default: + if (Nr(w = ws(k, t, n, u, d, i, l, T, v = [], E = [], h), s), O === 123) + if (d === 0) + zr(k, t, w, w, v, s, h, l, E); + else + switch (b === 99 && Xe(k, 3) === 110 ? 100 : b) { + case 100: + case 108: + case 109: + case 115: + zr(e, w, w, r && Nr(ws(e, w, w, 0, 0, i, l, T, i, v = [], h), E), i, E, h, l, r ? v : E); + break; + default: + zr(k, w, w, w, [""], E, 0, l, E); + } + } + u = d = m = 0, f = S = 1, T = k = "", h = a; + break; + case 58: + h = 1 + Ct(k), m = g; + default: + if (f < 1) { + if (O == 123) + --f; + else if (O == 125 && f++ == 0 && Du() == 125) + continue; + } + switch (k += mo(O), O * f) { + case 38: + S = d > 0 ? 1 : (k += "\f", -1); + break; + case 44: + l[u++] = (Ct(k) - 1) * S, S = 1; + break; + case 64: + At() === 45 && (k += Vr(dt())), b = At(), d = h = Ct(T = k += Fu(Ur())), O++; + break; + case 45: + g === 45 && Ct(k) == 2 && (f = 0); + } + } + return s; +} +function ws(e, t, n, r, i, s, a, l, c, u, d) { + for (var h = i - 1, b = i === 0 ? s : [""], m = Wi(b), g = 0, f = 0, y = 0; g < r; ++g) + for (var S = 0, O = dr(e, h + 1, h = Au(f = a[g])), T = e; S < m; ++S) + (T = al(f > 0 ? b[S] + " " + O : ve(O, /&\f/g, b[S]))) && (c[y++] = T); + return yo(e, t, n, i === 0 ? Vi : l, c, u, d); +} +function Vu(e, t, n) { + return yo(e, t, n, il, mo(Mu()), dr(e, 2, -2), 0); +} +function Cs(e, t, n, r) { + return yo(e, t, n, zi, dr(e, 0, r), dr(e, r + 1, -1), r); +} +function In(e, t) { + for (var n = "", r = Wi(e), i = 0; i < r; i++) + n += t(e[i], i, e, t) || ""; + return n; +} +function zu(e, t, n, r) { + switch (e.type) { + case _u: + if (e.children.length) break; + case Pu: + case zi: + return e.return = e.return || e.value; + case il: + return ""; + case sl: + return e.return = e.value + "{" + In(e.children, r) + "}"; + case Vi: + e.value = e.props.join(","); + } + return Ct(n = In(e.children, r)) ? e.return = e.value + "{" + n + "}" : ""; +} +function Wu(e) { + var t = Wi(e); + return function(n, r, i, s) { + for (var a = "", l = 0; l < t; l++) + a += e[l](n, r, i, s) || ""; + return a; }; - return /* @__PURE__ */ cr.jsx("button", { style: y, onClick: w, children: _ }); +} +function Hu(e) { + return function(t) { + t.root || (t = t.return) && e(t); + }; +} +function dl(e) { + var t = /* @__PURE__ */ Object.create(null); + return function(n) { + return t[n] === void 0 && (t[n] = e(n)), t[n]; + }; +} +var qu = function(t, n, r) { + for (var i = 0, s = 0; i = s, s = At(), i === 38 && s === 12 && (n[r] = 1), !fr(s); ) + dt(); + return yr(t, st); +}, Gu = function(t, n) { + var r = -1, i = 44; + do + switch (fr(i)) { + case 0: + i === 38 && At() === 12 && (n[r] = 1), t[r] += qu(st - 1, n, r); + break; + case 2: + t[r] += Vr(i); + break; + case 4: + if (i === 44) { + t[++r] = At() === 58 ? "&\f" : "", n[r] = t[r].length; + break; + } + default: + t[r] += mo(i); + } + while (i = dt()); + return t; +}, Yu = function(t, n) { + return ul(Gu(cl(t), n)); +}, Ps = /* @__PURE__ */ new WeakMap(), Ku = function(t) { + if (!(t.type !== "rule" || !t.parent || // positive .length indicates that this rule contains pseudo + // negative .length indicates that this rule has been already prefixed + t.length < 1)) { + for (var n = t.value, r = t.parent, i = t.column === r.column && t.line === r.line; r.type !== "rule"; ) + if (r = r.parent, !r) return; + if (!(t.props.length === 1 && n.charCodeAt(0) !== 58 && !Ps.get(r)) && !i) { + Ps.set(t, !0); + for (var s = [], a = Yu(n, s), l = r.props, c = 0, u = 0; c < a.length; c++) + for (var d = 0; d < l.length; d++, u++) + t.props[u] = s[c] ? a[c].replace(/&\f/g, l[d]) : l[d] + " " + a[c]; + } + } +}, Xu = function(t) { + if (t.type === "decl") { + var n = t.value; + // charcode for l + n.charCodeAt(0) === 108 && // charcode for b + n.charCodeAt(2) === 98 && (t.return = "", t.value = ""); + } +}; +function fl(e, t) { + switch (Nu(e, t)) { + case 5103: + return be + "print-" + e + e; + case 5737: + case 4201: + case 3177: + case 3433: + case 1641: + case 4457: + case 2921: + case 5572: + case 6356: + case 5844: + case 3191: + case 6645: + case 3005: + case 6391: + case 5879: + case 5623: + case 6135: + case 4599: + case 4855: + case 4215: + case 6389: + case 5109: + case 5365: + case 5621: + case 3829: + return be + e + e; + case 5349: + case 4246: + case 4810: + case 6968: + case 2756: + return be + e + Kr + e + Qe + e + e; + case 6828: + case 4268: + return be + e + Qe + e + e; + case 6165: + return be + e + Qe + "flex-" + e + e; + case 5187: + return be + e + ve(e, /(\w+).+(:[^]+)/, be + "box-$1$2" + Qe + "flex-$1$2") + e; + case 5443: + return be + e + Qe + "flex-item-" + ve(e, /flex-|-self/, "") + e; + case 4675: + return be + e + Qe + "flex-line-pack" + ve(e, /align-content|flex-|-self/, "") + e; + case 5548: + return be + e + Qe + ve(e, "shrink", "negative") + e; + case 5292: + return be + e + Qe + ve(e, "basis", "preferred-size") + e; + case 6060: + return be + "box-" + ve(e, "-grow", "") + be + e + Qe + ve(e, "grow", "positive") + e; + case 4554: + return be + ve(e, /([^-])(transform)/g, "$1" + be + "$2") + e; + case 6187: + return ve(ve(ve(e, /(zoom-|grab)/, be + "$1"), /(image-set)/, be + "$1"), e, "") + e; + case 5495: + case 3959: + return ve(e, /(image-set\([^]*)/, be + "$1$`$1"); + case 4968: + return ve(ve(e, /(.+:)(flex-)?(.*)/, be + "box-pack:$3" + Qe + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + be + e + e; + case 4095: + case 3583: + case 4068: + case 2532: + return ve(e, /(.+)-inline(.+)/, be + "$1$2") + e; + case 8116: + case 7059: + case 5753: + case 5535: + case 5445: + case 5701: + case 4933: + case 4677: + case 5533: + case 5789: + case 5021: + case 4765: + if (Ct(e) - 1 - t > 6) switch (Xe(e, t + 1)) { + case 109: + if (Xe(e, t + 4) !== 45) break; + case 102: + return ve(e, /(.+:)(.+)-([^]+)/, "$1" + be + "$2-$3$1" + Kr + (Xe(e, t + 3) == 108 ? "$3" : "$2-$3")) + e; + case 115: + return ~hi(e, "stretch") ? fl(ve(e, "stretch", "fill-available"), t) + e : e; + } + break; + case 4949: + if (Xe(e, t + 1) !== 115) break; + case 6444: + switch (Xe(e, Ct(e) - 3 - (~hi(e, "!important") && 10))) { + case 107: + return ve(e, ":", ":" + be) + e; + case 101: + return ve(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + be + (Xe(e, 14) === 45 ? "inline-" : "") + "box$3$1" + be + "$2$3$1" + Qe + "$2box$3") + e; + } + break; + case 5936: + switch (Xe(e, t + 11)) { + case 114: + return be + e + Qe + ve(e, /[svh]\w+-[tblr]{2}/, "tb") + e; + case 108: + return be + e + Qe + ve(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e; + case 45: + return be + e + Qe + ve(e, /[svh]\w+-[tblr]{2}/, "lr") + e; + } + return be + e + Qe + e + e; + } + return e; +} +var Ju = function(t, n, r, i) { + if (t.length > -1 && !t.return) switch (t.type) { + case zi: + t.return = fl(t.value, t.length); + break; + case sl: + return In([Xn(t, { + value: ve(t.value, "@", "@" + be) + })], i); + case Vi: + if (t.length) return $u(t.props, function(s) { + switch (ku(s, /(::plac\w+|:read-\w+)/)) { + case ":read-only": + case ":read-write": + return In([Xn(t, { + props: [ve(s, /:(read-\w+)/, ":" + Kr + "$1")] + })], i); + case "::placeholder": + return In([Xn(t, { + props: [ve(s, /:(plac\w+)/, ":" + be + "input-$1")] + }), Xn(t, { + props: [ve(s, /:(plac\w+)/, ":" + Kr + "$1")] + }), Xn(t, { + props: [ve(s, /:(plac\w+)/, Qe + "input-$1")] + })], i); + } + return ""; + }); + } +}, Qu = [Ju], Zu = function(t) { + var n = t.key; + if (n === "css") { + var r = document.querySelectorAll("style[data-emotion]:not([data-s])"); + Array.prototype.forEach.call(r, function(f) { + var y = f.getAttribute("data-emotion"); + y.indexOf(" ") !== -1 && (document.head.appendChild(f), f.setAttribute("data-s", "")); + }); + } + var i = t.stylisPlugins || Qu, s = {}, a, l = []; + a = t.container || document.head, Array.prototype.forEach.call( + // this means we will ignore elements which don't have a space in them which + // means that the style elements we're looking at are only Emotion 11 server-rendered style elements + document.querySelectorAll('style[data-emotion^="' + n + ' "]'), + function(f) { + for (var y = f.getAttribute("data-emotion").split(" "), S = 1; S < y.length; S++) + s[y[S]] = !0; + l.push(f); + } + ); + var c, u = [Ku, Xu]; + { + var d, h = [zu, Hu(function(f) { + d.insert(f); + })], b = Wu(u.concat(i, h)), m = function(y) { + return In(Uu(y), b); + }; + c = function(y, S, O, T) { + d = O, m(y ? y + "{" + S.styles + "}" : S.styles), T && (g.inserted[S.name] = !0); + }; + } + var g = { + key: n, + sheet: new Cu({ + key: n, + container: a, + nonce: t.nonce, + speedy: t.speedy, + prepend: t.prepend, + insertionPoint: t.insertionPoint + }), + nonce: t.nonce, + inserted: s, + registered: {}, + insert: c + }; + return g.sheet.hydrate(l), g; +}, gi = { exports: {} }, xe = {}; +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var _s; +function ed() { + if (_s) return xe; + _s = 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, i = e ? Symbol.for("react.strict_mode") : 60108, s = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, h = e ? Symbol.for("react.suspense") : 60113, b = e ? Symbol.for("react.suspense_list") : 60120, m = e ? Symbol.for("react.memo") : 60115, g = e ? Symbol.for("react.lazy") : 60116, f = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, S = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; + function T(E) { + if (typeof E == "object" && E !== null) { + var w = E.$$typeof; + switch (w) { + case t: + switch (E = E.type, E) { + case c: + case u: + case r: + case s: + case i: + case h: + return E; + default: + switch (E = E && E.$$typeof, E) { + case l: + case d: + case g: + case m: + case a: + return E; + default: + return w; + } + } + case n: + return w; + } + } + } + function v(E) { + return T(E) === u; + } + return xe.AsyncMode = c, xe.ConcurrentMode = u, xe.ContextConsumer = l, xe.ContextProvider = a, xe.Element = t, xe.ForwardRef = d, xe.Fragment = r, xe.Lazy = g, xe.Memo = m, xe.Portal = n, xe.Profiler = s, xe.StrictMode = i, xe.Suspense = h, xe.isAsyncMode = function(E) { + return v(E) || T(E) === c; + }, xe.isConcurrentMode = v, xe.isContextConsumer = function(E) { + return T(E) === l; + }, xe.isContextProvider = function(E) { + return T(E) === a; + }, xe.isElement = function(E) { + return typeof E == "object" && E !== null && E.$$typeof === t; + }, xe.isForwardRef = function(E) { + return T(E) === d; + }, xe.isFragment = function(E) { + return T(E) === r; + }, xe.isLazy = function(E) { + return T(E) === g; + }, xe.isMemo = function(E) { + return T(E) === m; + }, xe.isPortal = function(E) { + return T(E) === n; + }, xe.isProfiler = function(E) { + return T(E) === s; + }, xe.isStrictMode = function(E) { + return T(E) === i; + }, xe.isSuspense = function(E) { + return T(E) === h; + }, xe.isValidElementType = function(E) { + return typeof E == "string" || typeof E == "function" || E === r || E === u || E === s || E === i || E === h || E === b || typeof E == "object" && E !== null && (E.$$typeof === g || E.$$typeof === m || E.$$typeof === a || E.$$typeof === l || E.$$typeof === d || E.$$typeof === y || E.$$typeof === S || E.$$typeof === O || E.$$typeof === f); + }, xe.typeOf = T, xe; +} +var Re = {}; +/** @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 As; +function td() { + return As || (As = 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, i = e ? Symbol.for("react.strict_mode") : 60108, s = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, h = e ? Symbol.for("react.suspense") : 60113, b = e ? Symbol.for("react.suspense_list") : 60120, m = e ? Symbol.for("react.memo") : 60115, g = e ? Symbol.for("react.lazy") : 60116, f = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, S = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; + function T(_) { + return typeof _ == "string" || typeof _ == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + _ === r || _ === u || _ === s || _ === i || _ === h || _ === b || typeof _ == "object" && _ !== null && (_.$$typeof === g || _.$$typeof === m || _.$$typeof === a || _.$$typeof === l || _.$$typeof === d || _.$$typeof === y || _.$$typeof === S || _.$$typeof === O || _.$$typeof === f); + } + function v(_) { + if (typeof _ == "object" && _ !== null) { + var de = _.$$typeof; + switch (de) { + case t: + var re = _.type; + switch (re) { + case c: + case u: + case r: + case s: + case i: + case h: + return re; + default: + var me = re && re.$$typeof; + switch (me) { + case l: + case d: + case g: + case m: + case a: + return me; + default: + return de; + } + } + case n: + return de; + } + } + } + var E = c, w = u, k = l, L = a, z = t, W = d, F = r, p = g, A = m, P = n, D = s, j = i, H = h, te = !1; + function G(_) { + return te || (te = !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.")), N(_) || v(_) === c; + } + function N(_) { + return v(_) === u; + } + function I(_) { + return v(_) === l; + } + function X(_) { + return v(_) === a; + } + function B(_) { + return typeof _ == "object" && _ !== null && _.$$typeof === t; + } + function Y(_) { + return v(_) === d; + } + function q(_) { + return v(_) === r; + } + function Q(_) { + return v(_) === g; + } + function J(_) { + return v(_) === m; + } + function K(_) { + return v(_) === n; + } + function Z(_) { + return v(_) === s; + } + function V(_) { + return v(_) === i; + } + function ne(_) { + return v(_) === h; + } + Re.AsyncMode = E, Re.ConcurrentMode = w, Re.ContextConsumer = k, Re.ContextProvider = L, Re.Element = z, Re.ForwardRef = W, Re.Fragment = F, Re.Lazy = p, Re.Memo = A, Re.Portal = P, Re.Profiler = D, Re.StrictMode = j, Re.Suspense = H, Re.isAsyncMode = G, Re.isConcurrentMode = N, Re.isContextConsumer = I, Re.isContextProvider = X, Re.isElement = B, Re.isForwardRef = Y, Re.isFragment = q, Re.isLazy = Q, Re.isMemo = J, Re.isPortal = K, Re.isProfiler = Z, Re.isStrictMode = V, Re.isSuspense = ne, Re.isValidElementType = T, Re.typeOf = v; + }()), Re; +} +process.env.NODE_ENV === "production" ? gi.exports = ed() : gi.exports = td(); +var nd = gi.exports, pl = nd, rd = { + $$typeof: !0, + render: !0, + defaultProps: !0, + displayName: !0, + propTypes: !0 +}, od = { + $$typeof: !0, + compare: !0, + defaultProps: !0, + displayName: !0, + propTypes: !0, + type: !0 +}, ml = {}; +ml[pl.ForwardRef] = rd; +ml[pl.Memo] = od; +var id = !0; +function hl(e, t, n) { + var r = ""; + return n.split(" ").forEach(function(i) { + e[i] !== void 0 ? t.push(e[i] + ";") : i && (r += i + " "); + }), r; +} +var Hi = function(t, n, r) { + var i = t.key + "-" + n.name; + // we only need to add the styles to the registered cache if the + // class name could be used further down + // the tree but if it's a string tag, we know it won't + // so we don't have to add it to registered cache. + // this improves memory usage since we can avoid storing the whole style string + (r === !1 || // we need to always store it if we're in compat mode and + // in node since emotion-server relies on whether a style is in + // the registered cache to know whether a style is global or not + // also, note that this check will be dead code eliminated in the browser + id === !1) && t.registered[i] === void 0 && (t.registered[i] = n.styles); +}, qi = function(t, n, r) { + Hi(t, n, r); + var i = t.key + "-" + n.name; + if (t.inserted[n.name] === void 0) { + var s = n; + do + t.insert(n === s ? "." + i : "", s, t.sheet, !0), s = s.next; + while (s !== void 0); + } +}; +function sd(e) { + for (var t = 0, n, r = 0, i = e.length; i >= 4; ++r, i -= 4) + n = e.charCodeAt(r) & 255 | (e.charCodeAt(++r) & 255) << 8 | (e.charCodeAt(++r) & 255) << 16 | (e.charCodeAt(++r) & 255) << 24, n = /* Math.imul(k, m): */ + (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16), n ^= /* k >>> r: */ + n >>> 24, t = /* Math.imul(k, m): */ + (n & 65535) * 1540483477 + ((n >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */ + (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16); + switch (i) { + case 3: + t ^= (e.charCodeAt(r + 2) & 255) << 16; + case 2: + t ^= (e.charCodeAt(r + 1) & 255) << 8; + case 1: + t ^= e.charCodeAt(r) & 255, t = /* Math.imul(h, m): */ + (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16); + } + return t ^= t >>> 13, t = /* Math.imul(h, m): */ + (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16), ((t ^ t >>> 15) >>> 0).toString(36); +} +var ad = { + animationIterationCount: 1, + aspectRatio: 1, + borderImageOutset: 1, + borderImageSlice: 1, + borderImageWidth: 1, + boxFlex: 1, + boxFlexGroup: 1, + boxOrdinalGroup: 1, + columnCount: 1, + columns: 1, + flex: 1, + flexGrow: 1, + flexPositive: 1, + flexShrink: 1, + flexNegative: 1, + flexOrder: 1, + gridRow: 1, + gridRowEnd: 1, + gridRowSpan: 1, + gridRowStart: 1, + gridColumn: 1, + gridColumnEnd: 1, + gridColumnSpan: 1, + gridColumnStart: 1, + msGridRow: 1, + msGridRowSpan: 1, + msGridColumn: 1, + msGridColumnSpan: 1, + fontWeight: 1, + lineHeight: 1, + opacity: 1, + order: 1, + orphans: 1, + scale: 1, + tabSize: 1, + widows: 1, + zIndex: 1, + zoom: 1, + WebkitLineClamp: 1, + // SVG-related properties + fillOpacity: 1, + floodOpacity: 1, + stopOpacity: 1, + strokeDasharray: 1, + strokeDashoffset: 1, + strokeMiterlimit: 1, + strokeOpacity: 1, + strokeWidth: 1 +}, ld = /[A-Z]|^ms/g, cd = /_EMO_([^_]+?)_([^]*?)_EMO_/g, yl = function(t) { + return t.charCodeAt(1) === 45; +}, Is = function(t) { + return t != null && typeof t != "boolean"; +}, Yo = /* @__PURE__ */ dl(function(e) { + return yl(e) ? e : e.replace(ld, "-$&").toLowerCase(); +}), Ns = function(t, n) { + switch (t) { + case "animation": + case "animationName": + if (typeof n == "string") + return n.replace(cd, function(r, i, s) { + return Pt = { + name: i, + styles: s, + next: Pt + }, i; + }); + } + return ad[t] !== 1 && !yl(t) && typeof n == "number" && n !== 0 ? n + "px" : n; +}; +function pr(e, t, n) { + if (n == null) + return ""; + var r = n; + if (r.__emotion_styles !== void 0) + return r; + switch (typeof n) { + case "boolean": + return ""; + case "object": { + var i = n; + if (i.anim === 1) + return Pt = { + name: i.name, + styles: i.styles, + next: Pt + }, i.name; + var s = n; + if (s.styles !== void 0) { + var a = s.next; + if (a !== void 0) + for (; a !== void 0; ) + Pt = { + name: a.name, + styles: a.styles, + next: Pt + }, a = a.next; + var l = s.styles + ";"; + return l; + } + return ud(e, t, n); + } + case "function": { + if (e !== void 0) { + var c = Pt, u = n(e); + return Pt = c, pr(e, t, u); + } + break; + } + } + var d = n; + if (t == null) + return d; + var h = t[d]; + return h !== void 0 ? h : d; +} +function ud(e, t, n) { + var r = ""; + if (Array.isArray(n)) + for (var i = 0; i < n.length; i++) + r += pr(e, t, n[i]) + ";"; + else + for (var s in n) { + var a = n[s]; + if (typeof a != "object") { + var l = a; + t != null && t[l] !== void 0 ? r += s + "{" + t[l] + "}" : Is(l) && (r += Yo(s) + ":" + Ns(s, l) + ";"); + } else if (Array.isArray(a) && typeof a[0] == "string" && (t == null || t[a[0]] === void 0)) + for (var c = 0; c < a.length; c++) + Is(a[c]) && (r += Yo(s) + ":" + Ns(s, a[c]) + ";"); + else { + var u = pr(e, t, a); + switch (s) { + case "animation": + case "animationName": { + r += Yo(s) + ":" + u + ";"; + break; + } + default: + r += s + "{" + u + "}"; + } + } + } + return r; +} +var ks = /label:\s*([^\s;{]+)\s*(;|$)/g, Pt; +function gr(e, t, n) { + if (e.length === 1 && typeof e[0] == "object" && e[0] !== null && e[0].styles !== void 0) + return e[0]; + var r = !0, i = ""; + Pt = void 0; + var s = e[0]; + if (s == null || s.raw === void 0) + r = !1, i += pr(n, t, s); + else { + var a = s; + i += a[0]; + } + for (var l = 1; l < e.length; l++) + if (i += pr(n, t, e[l]), r) { + var c = s; + i += c[l]; + } + ks.lastIndex = 0; + for (var u = "", d; (d = ks.exec(i)) !== null; ) + u += "-" + d[1]; + var h = sd(i) + u; + return { + name: h, + styles: i, + next: Pt + }; +} +var dd = function(t) { + return t(); +}, gl = x.useInsertionEffect ? x.useInsertionEffect : !1, bl = gl || dd, $s = gl || x.useLayoutEffect, vl = /* @__PURE__ */ x.createContext( + // we're doing this to avoid preconstruct's dead code elimination in this one case + // because this module is primarily intended for the browser and node + // but it's also required in react native and similar environments sometimes + // and we could have a special build just for that + // but this is much easier and the native packages + // might use a different theme context in the future anyway + typeof HTMLElement < "u" ? /* @__PURE__ */ Zu({ + key: "css" + }) : null +); +vl.Provider; +var Gi = function(t) { + return /* @__PURE__ */ hu(function(n, r) { + var i = yu(vl); + return t(n, i, r); + }); +}, go = /* @__PURE__ */ x.createContext({}), Yi = {}.hasOwnProperty, bi = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__", fd = function(t, n) { + var r = {}; + for (var i in n) + Yi.call(n, i) && (r[i] = n[i]); + return r[bi] = t, r; +}, pd = function(t) { + var n = t.cache, r = t.serialized, i = t.isStringTag; + return Hi(n, r, i), bl(function() { + return qi(n, r, i); + }), null; +}, md = /* @__PURE__ */ Gi(function(e, t, n) { + var r = e.css; + typeof r == "string" && t.registered[r] !== void 0 && (r = t.registered[r]); + var i = e[bi], s = [r], a = ""; + typeof e.className == "string" ? a = hl(t.registered, s, e.className) : e.className != null && (a = e.className + " "); + var l = gr(s, void 0, x.useContext(go)); + a += t.key + "-" + l.name; + var c = {}; + for (var u in e) + Yi.call(e, u) && u !== "css" && u !== bi && (c[u] = e[u]); + return c.className = a, n && (c.ref = n), /* @__PURE__ */ x.createElement(x.Fragment, null, /* @__PURE__ */ x.createElement(pd, { + cache: t, + serialized: l, + isStringTag: typeof i == "string" + }), /* @__PURE__ */ x.createElement(i, c)); +}), hd = md, Ms = function(t, n) { + var r = arguments; + if (n == null || !Yi.call(n, "css")) + return x.createElement.apply(void 0, r); + var i = r.length, s = new Array(i); + s[0] = hd, s[1] = fd(t, n); + for (var a = 2; a < i; a++) + s[a] = r[a]; + return x.createElement.apply(null, s); +}; +(function(e) { + var t; + t || (t = e.JSX || (e.JSX = {})); +})(Ms || (Ms = {})); +var yd = /* @__PURE__ */ Gi(function(e, t) { + var n = e.styles, r = gr([n], void 0, x.useContext(go)), i = x.useRef(); + return $s(function() { + var s = t.key + "-global", a = new t.sheet.constructor({ + key: s, + nonce: t.sheet.nonce, + container: t.sheet.container, + speedy: t.sheet.isSpeedy + }), l = !1, c = document.querySelector('style[data-emotion="' + s + " " + r.name + '"]'); + return t.sheet.tags.length && (a.before = t.sheet.tags[0]), c !== null && (l = !0, c.setAttribute("data-emotion", s), a.hydrate([c])), i.current = [a, l], function() { + a.flush(); + }; + }, [t]), $s(function() { + var s = i.current, a = s[0], l = s[1]; + if (l) { + s[1] = !1; + return; + } + if (r.next !== void 0 && qi(t, r.next, !0), a.tags.length) { + var c = a.tags[a.tags.length - 1].nextElementSibling; + a.before = c, a.flush(); + } + t.insert("", r, a, !1); + }, [t, r.name]), null; +}); +function Ki() { + for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) + t[n] = arguments[n]; + return gr(t); +} +function br() { + var e = Ki.apply(void 0, arguments), t = "animation-" + e.name; + return { + name: t, + styles: "@keyframes " + t + "{" + e.styles + "}", + anim: 1, + toString: function() { + return "_EMO_" + this.name + "_" + this.styles + "_EMO_"; + } + }; +} +var gd = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|popover|popoverTarget|popoverTargetAction|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/, bd = /* @__PURE__ */ dl( + function(e) { + return gd.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91; + } + /* Z+1 */ +), vd = bd, Ed = function(t) { + return t !== "theme"; +}, Ds = function(t) { + return typeof t == "string" && // 96 is one less than the char code + // for "a" so this is checking that + // it's a lowercase character + t.charCodeAt(0) > 96 ? vd : Ed; +}, js = function(t, n, r) { + var i; + if (n) { + var s = n.shouldForwardProp; + i = t.__emotion_forwardProp && s ? function(a) { + return t.__emotion_forwardProp(a) && s(a); + } : s; + } + return typeof i != "function" && r && (i = t.__emotion_forwardProp), i; +}, Sd = function(t) { + var n = t.cache, r = t.serialized, i = t.isStringTag; + return Hi(n, r, i), bl(function() { + return qi(n, r, i); + }), null; +}, Td = function e(t, n) { + var r = t.__emotion_real === t, i = r && t.__emotion_base || t, s, a; + n !== void 0 && (s = n.label, a = n.target); + var l = js(t, n, r), c = l || Ds(i), u = !c("as"); + return function() { + var d = arguments, h = r && t.__emotion_styles !== void 0 ? t.__emotion_styles.slice(0) : []; + if (s !== void 0 && h.push("label:" + s + ";"), d[0] == null || d[0].raw === void 0) + h.push.apply(h, d); + else { + var b = d[0]; + h.push(b[0]); + for (var m = d.length, g = 1; g < m; g++) + h.push(d[g], b[g]); + } + var f = Gi(function(y, S, O) { + var T = u && y.as || i, v = "", E = [], w = y; + if (y.theme == null) { + w = {}; + for (var k in y) + w[k] = y[k]; + w.theme = x.useContext(go); + } + typeof y.className == "string" ? v = hl(S.registered, E, y.className) : y.className != null && (v = y.className + " "); + var L = gr(h.concat(E), S.registered, w); + v += S.key + "-" + L.name, a !== void 0 && (v += " " + a); + var z = u && l === void 0 ? Ds(T) : c, W = {}; + for (var F in y) + u && F === "as" || z(F) && (W[F] = y[F]); + return W.className = v, O && (W.ref = O), /* @__PURE__ */ x.createElement(x.Fragment, null, /* @__PURE__ */ x.createElement(Sd, { + cache: S, + serialized: L, + isStringTag: typeof T == "string" + }), /* @__PURE__ */ x.createElement(T, W)); + }); + return f.displayName = s !== void 0 ? s : "Styled(" + (typeof i == "string" ? i : i.displayName || i.name || "Component") + ")", f.defaultProps = t.defaultProps, f.__emotion_real = f, f.__emotion_base = i, f.__emotion_styles = h, f.__emotion_forwardProp = l, Object.defineProperty(f, "toString", { + value: function() { + return "." + a; + } + }), f.withComponent = function(y, S) { + var O = e(y, Yr({}, n, S, { + shouldForwardProp: js(f, S, !0) + })); + return O.apply(void 0, h); + }, f; + }; +}, xd = [ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "big", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "keygen", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "marquee", + "menu", + "menuitem", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "pre", + "progress", + "q", + "rp", + "rt", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "table", + "tbody", + "td", + "textarea", + "tfoot", + "th", + "thead", + "time", + "title", + "tr", + "track", + "u", + "ul", + "var", + "video", + "wbr", + // SVG + "circle", + "clipPath", + "defs", + "ellipse", + "foreignObject", + "g", + "image", + "line", + "linearGradient", + "mask", + "path", + "pattern", + "polygon", + "polyline", + "radialGradient", + "rect", + "stop", + "svg", + "text", + "tspan" +], vi = Td.bind(null); +xd.forEach(function(e) { + vi[e] = vi(e); +}); +var Ei = { exports: {} }, kr = { exports: {} }, Oe = {}; +/** @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 Ls; +function Rd() { + if (Ls) return Oe; + Ls = 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, i = e ? Symbol.for("react.strict_mode") : 60108, s = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, h = e ? Symbol.for("react.suspense") : 60113, b = e ? Symbol.for("react.suspense_list") : 60120, m = e ? Symbol.for("react.memo") : 60115, g = e ? Symbol.for("react.lazy") : 60116, f = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, S = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; + function T(E) { + if (typeof E == "object" && E !== null) { + var w = E.$$typeof; + switch (w) { + case t: + switch (E = E.type, E) { + case c: + case u: + case r: + case s: + case i: + case h: + return E; + default: + switch (E = E && E.$$typeof, E) { + case l: + case d: + case g: + case m: + case a: + return E; + default: + return w; + } + } + case n: + return w; + } + } + } + function v(E) { + return T(E) === u; + } + return Oe.AsyncMode = c, Oe.ConcurrentMode = u, Oe.ContextConsumer = l, Oe.ContextProvider = a, Oe.Element = t, Oe.ForwardRef = d, Oe.Fragment = r, Oe.Lazy = g, Oe.Memo = m, Oe.Portal = n, Oe.Profiler = s, Oe.StrictMode = i, Oe.Suspense = h, Oe.isAsyncMode = function(E) { + return v(E) || T(E) === c; + }, Oe.isConcurrentMode = v, Oe.isContextConsumer = function(E) { + return T(E) === l; + }, Oe.isContextProvider = function(E) { + return T(E) === a; + }, Oe.isElement = function(E) { + return typeof E == "object" && E !== null && E.$$typeof === t; + }, Oe.isForwardRef = function(E) { + return T(E) === d; + }, Oe.isFragment = function(E) { + return T(E) === r; + }, Oe.isLazy = function(E) { + return T(E) === g; + }, Oe.isMemo = function(E) { + return T(E) === m; + }, Oe.isPortal = function(E) { + return T(E) === n; + }, Oe.isProfiler = function(E) { + return T(E) === s; + }, Oe.isStrictMode = function(E) { + return T(E) === i; + }, Oe.isSuspense = function(E) { + return T(E) === h; + }, Oe.isValidElementType = function(E) { + return typeof E == "string" || typeof E == "function" || E === r || E === u || E === s || E === i || E === h || E === b || typeof E == "object" && E !== null && (E.$$typeof === g || E.$$typeof === m || E.$$typeof === a || E.$$typeof === l || E.$$typeof === d || E.$$typeof === y || E.$$typeof === S || E.$$typeof === O || E.$$typeof === f); + }, Oe.typeOf = T, Oe; +} +var we = {}; +/** @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 Bs; +function Od() { + return Bs || (Bs = 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, i = e ? Symbol.for("react.strict_mode") : 60108, s = e ? Symbol.for("react.profiler") : 60114, a = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, d = e ? Symbol.for("react.forward_ref") : 60112, h = e ? Symbol.for("react.suspense") : 60113, b = e ? Symbol.for("react.suspense_list") : 60120, m = e ? Symbol.for("react.memo") : 60115, g = e ? Symbol.for("react.lazy") : 60116, f = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, S = e ? Symbol.for("react.responder") : 60118, O = e ? Symbol.for("react.scope") : 60119; + function T(_) { + return typeof _ == "string" || typeof _ == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + _ === r || _ === u || _ === s || _ === i || _ === h || _ === b || typeof _ == "object" && _ !== null && (_.$$typeof === g || _.$$typeof === m || _.$$typeof === a || _.$$typeof === l || _.$$typeof === d || _.$$typeof === y || _.$$typeof === S || _.$$typeof === O || _.$$typeof === f); + } + function v(_) { + if (typeof _ == "object" && _ !== null) { + var de = _.$$typeof; + switch (de) { + case t: + var re = _.type; + switch (re) { + case c: + case u: + case r: + case s: + case i: + case h: + return re; + default: + var me = re && re.$$typeof; + switch (me) { + case l: + case d: + case g: + case m: + case a: + return me; + default: + return de; + } + } + case n: + return de; + } + } + } + var E = c, w = u, k = l, L = a, z = t, W = d, F = r, p = g, A = m, P = n, D = s, j = i, H = h, te = !1; + function G(_) { + return te || (te = !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.")), N(_) || v(_) === c; + } + function N(_) { + return v(_) === u; + } + function I(_) { + return v(_) === l; + } + function X(_) { + return v(_) === a; + } + function B(_) { + return typeof _ == "object" && _ !== null && _.$$typeof === t; + } + function Y(_) { + return v(_) === d; + } + function q(_) { + return v(_) === r; + } + function Q(_) { + return v(_) === g; + } + function J(_) { + return v(_) === m; + } + function K(_) { + return v(_) === n; + } + function Z(_) { + return v(_) === s; + } + function V(_) { + return v(_) === i; + } + function ne(_) { + return v(_) === h; + } + we.AsyncMode = E, we.ConcurrentMode = w, we.ContextConsumer = k, we.ContextProvider = L, we.Element = z, we.ForwardRef = W, we.Fragment = F, we.Lazy = p, we.Memo = A, we.Portal = P, we.Profiler = D, we.StrictMode = j, we.Suspense = H, we.isAsyncMode = G, we.isConcurrentMode = N, we.isContextConsumer = I, we.isContextProvider = X, we.isElement = B, we.isForwardRef = Y, we.isFragment = q, we.isLazy = Q, we.isMemo = J, we.isPortal = K, we.isProfiler = Z, we.isStrictMode = V, we.isSuspense = ne, we.isValidElementType = T, we.typeOf = v; + }()), we; +} +var Fs; +function El() { + return Fs || (Fs = 1, process.env.NODE_ENV === "production" ? kr.exports = Rd() : kr.exports = Od()), kr.exports; +} +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +var Ko, Us; +function wd() { + if (Us) return Ko; + Us = 1; + var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, n = Object.prototype.propertyIsEnumerable; + function r(s) { + if (s == null) + throw new TypeError("Object.assign cannot be called with null or undefined"); + return Object(s); + } + function i() { + try { + if (!Object.assign) + return !1; + var s = new String("abc"); + if (s[5] = "de", Object.getOwnPropertyNames(s)[0] === "5") + return !1; + for (var a = {}, l = 0; l < 10; l++) + a["_" + String.fromCharCode(l)] = l; + var c = Object.getOwnPropertyNames(a).map(function(d) { + return a[d]; + }); + if (c.join("") !== "0123456789") + return !1; + var u = {}; + return "abcdefghijklmnopqrst".split("").forEach(function(d) { + u[d] = d; + }), Object.keys(Object.assign({}, u)).join("") === "abcdefghijklmnopqrst"; + } catch { + return !1; + } + } + return Ko = i() ? Object.assign : function(s, a) { + for (var l, c = r(s), u, d = 1; d < arguments.length; d++) { + l = Object(arguments[d]); + for (var h in l) + t.call(l, h) && (c[h] = l[h]); + if (e) { + u = e(l); + for (var b = 0; b < u.length; b++) + n.call(l, u[b]) && (c[u[b]] = l[u[b]]); + } + } + return c; + }, Ko; +} +var Xo, Vs; +function Xi() { + if (Vs) return Xo; + Vs = 1; + var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; + return Xo = e, Xo; +} +var Jo, zs; +function Sl() { + return zs || (zs = 1, Jo = Function.call.bind(Object.prototype.hasOwnProperty)), Jo; +} +var Qo, Ws; +function Cd() { + if (Ws) return Qo; + Ws = 1; + var e = function() { + }; + if (process.env.NODE_ENV !== "production") { + var t = Xi(), n = {}, r = Sl(); + e = function(s) { + var a = "Warning: " + s; + typeof console < "u" && console.error(a); + try { + throw new Error(a); + } catch { + } + }; + } + function i(s, a, l, c, u) { + if (process.env.NODE_ENV !== "production") { + for (var d in s) + if (r(s, d)) { + var h; + try { + if (typeof s[d] != "function") { + var b = Error( + (c || "React class") + ": " + l + " type `" + d + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof s[d] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`." + ); + throw b.name = "Invariant Violation", b; + } + h = s[d](a, d, c, l, null, t); + } catch (g) { + h = g; + } + if (h && !(h instanceof Error) && e( + (c || "React class") + ": type specification of " + l + " `" + d + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof h + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)." + ), h instanceof Error && !(h.message in n)) { + n[h.message] = !0; + var m = u ? u() : ""; + e( + "Failed " + l + " type: " + h.message + (m ?? "") + ); + } + } + } + } + return i.resetWarningCache = function() { + process.env.NODE_ENV !== "production" && (n = {}); + }, Qo = i, Qo; +} +var Zo, Hs; +function Pd() { + if (Hs) return Zo; + Hs = 1; + var e = El(), t = wd(), n = Xi(), r = Sl(), i = Cd(), s = function() { + }; + process.env.NODE_ENV !== "production" && (s = function(l) { + var c = "Warning: " + l; + typeof console < "u" && console.error(c); + try { + throw new Error(c); + } catch { + } + }); + function a() { + return null; + } + return Zo = function(l, c) { + var u = typeof Symbol == "function" && Symbol.iterator, d = "@@iterator"; + function h(N) { + var I = N && (u && N[u] || N[d]); + if (typeof I == "function") + return I; + } + var b = "<>", m = { + array: S("array"), + bigint: S("bigint"), + bool: S("boolean"), + func: S("function"), + number: S("number"), + object: S("object"), + string: S("string"), + symbol: S("symbol"), + any: O(), + arrayOf: T, + element: v(), + elementType: E(), + instanceOf: w, + node: W(), + objectOf: L, + oneOf: k, + oneOfType: z, + shape: p, + exact: A + }; + function g(N, I) { + return N === I ? N !== 0 || 1 / N === 1 / I : N !== N && I !== I; + } + function f(N, I) { + this.message = N, this.data = I && typeof I == "object" ? I : {}, this.stack = ""; + } + f.prototype = Error.prototype; + function y(N) { + if (process.env.NODE_ENV !== "production") + var I = {}, X = 0; + function B(q, Q, J, K, Z, V, ne) { + if (K = K || b, V = V || J, ne !== n) { + if (c) { + var _ = 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 _.name = "Invariant Violation", _; + } else if (process.env.NODE_ENV !== "production" && typeof console < "u") { + var de = K + ":" + J; + !I[de] && // Avoid spamming the console because they are often not actionable except for lib authors + X < 3 && (s( + "You are manually calling a React.PropTypes validation function for the `" + V + "` prop on `" + K + "`. 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." + ), I[de] = !0, X++); + } + } + return Q[J] == null ? q ? Q[J] === null ? new f("The " + Z + " `" + V + "` is marked as required " + ("in `" + K + "`, but its value is `null`.")) : new f("The " + Z + " `" + V + "` is marked as required in " + ("`" + K + "`, but its value is `undefined`.")) : null : N(Q, J, K, Z, V); + } + var Y = B.bind(null, !1); + return Y.isRequired = B.bind(null, !0), Y; + } + function S(N) { + function I(X, B, Y, q, Q, J) { + var K = X[B], Z = j(K); + if (Z !== N) { + var V = H(K); + return new f( + "Invalid " + q + " `" + Q + "` of type " + ("`" + V + "` supplied to `" + Y + "`, expected ") + ("`" + N + "`."), + { expectedType: N } + ); + } + return null; + } + return y(I); + } + function O() { + return y(a); + } + function T(N) { + function I(X, B, Y, q, Q) { + if (typeof N != "function") + return new f("Property `" + Q + "` of component `" + Y + "` has invalid PropType notation inside arrayOf."); + var J = X[B]; + if (!Array.isArray(J)) { + var K = j(J); + return new f("Invalid " + q + " `" + Q + "` of type " + ("`" + K + "` supplied to `" + Y + "`, expected an array.")); + } + for (var Z = 0; Z < J.length; Z++) { + var V = N(J, Z, Y, q, Q + "[" + Z + "]", n); + if (V instanceof Error) + return V; + } + return null; + } + return y(I); + } + function v() { + function N(I, X, B, Y, q) { + var Q = I[X]; + if (!l(Q)) { + var J = j(Q); + return new f("Invalid " + Y + " `" + q + "` of type " + ("`" + J + "` supplied to `" + B + "`, expected a single ReactElement.")); + } + return null; + } + return y(N); + } + function E() { + function N(I, X, B, Y, q) { + var Q = I[X]; + if (!e.isValidElementType(Q)) { + var J = j(Q); + return new f("Invalid " + Y + " `" + q + "` of type " + ("`" + J + "` supplied to `" + B + "`, expected a single ReactElement type.")); + } + return null; + } + return y(N); + } + function w(N) { + function I(X, B, Y, q, Q) { + if (!(X[B] instanceof N)) { + var J = N.name || b, K = G(X[B]); + return new f("Invalid " + q + " `" + Q + "` of type " + ("`" + K + "` supplied to `" + Y + "`, expected ") + ("instance of `" + J + "`.")); + } + return null; + } + return y(I); + } + function k(N) { + if (!Array.isArray(N)) + return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? s( + "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])." + ) : s("Invalid argument supplied to oneOf, expected an array.")), a; + function I(X, B, Y, q, Q) { + for (var J = X[B], K = 0; K < N.length; K++) + if (g(J, N[K])) + return null; + var Z = JSON.stringify(N, function(ne, _) { + var de = H(_); + return de === "symbol" ? String(_) : _; + }); + return new f("Invalid " + q + " `" + Q + "` of value `" + String(J) + "` " + ("supplied to `" + Y + "`, expected one of " + Z + ".")); + } + return y(I); + } + function L(N) { + function I(X, B, Y, q, Q) { + if (typeof N != "function") + return new f("Property `" + Q + "` of component `" + Y + "` has invalid PropType notation inside objectOf."); + var J = X[B], K = j(J); + if (K !== "object") + return new f("Invalid " + q + " `" + Q + "` of type " + ("`" + K + "` supplied to `" + Y + "`, expected an object.")); + for (var Z in J) + if (r(J, Z)) { + var V = N(J, Z, Y, q, Q + "." + Z, n); + if (V instanceof Error) + return V; + } + return null; + } + return y(I); + } + function z(N) { + if (!Array.isArray(N)) + return process.env.NODE_ENV !== "production" && s("Invalid argument supplied to oneOfType, expected an instance of array."), a; + for (var I = 0; I < N.length; I++) { + var X = N[I]; + if (typeof X != "function") + return s( + "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + te(X) + " at index " + I + "." + ), a; + } + function B(Y, q, Q, J, K) { + for (var Z = [], V = 0; V < N.length; V++) { + var ne = N[V], _ = ne(Y, q, Q, J, K, n); + if (_ == null) + return null; + _.data && r(_.data, "expectedType") && Z.push(_.data.expectedType); + } + var de = Z.length > 0 ? ", expected one of type [" + Z.join(", ") + "]" : ""; + return new f("Invalid " + J + " `" + K + "` supplied to " + ("`" + Q + "`" + de + ".")); + } + return y(B); + } + function W() { + function N(I, X, B, Y, q) { + return P(I[X]) ? null : new f("Invalid " + Y + " `" + q + "` supplied to " + ("`" + B + "`, expected a ReactNode.")); + } + return y(N); + } + function F(N, I, X, B, Y) { + return new f( + (N || "React class") + ": " + I + " type `" + X + "." + B + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + Y + "`." + ); + } + function p(N) { + function I(X, B, Y, q, Q) { + var J = X[B], K = j(J); + if (K !== "object") + return new f("Invalid " + q + " `" + Q + "` of type `" + K + "` " + ("supplied to `" + Y + "`, expected `object`.")); + for (var Z in N) { + var V = N[Z]; + if (typeof V != "function") + return F(Y, q, Q, Z, H(V)); + var ne = V(J, Z, Y, q, Q + "." + Z, n); + if (ne) + return ne; + } + return null; + } + return y(I); + } + function A(N) { + function I(X, B, Y, q, Q) { + var J = X[B], K = j(J); + if (K !== "object") + return new f("Invalid " + q + " `" + Q + "` of type `" + K + "` " + ("supplied to `" + Y + "`, expected `object`.")); + var Z = t({}, X[B], N); + for (var V in Z) { + var ne = N[V]; + if (r(N, V) && typeof ne != "function") + return F(Y, q, Q, V, H(ne)); + if (!ne) + return new f( + "Invalid " + q + " `" + Q + "` key `" + V + "` supplied to `" + Y + "`.\nBad object: " + JSON.stringify(X[B], null, " ") + ` +Valid keys: ` + JSON.stringify(Object.keys(N), null, " ") + ); + var _ = ne(J, V, Y, q, Q + "." + V, n); + if (_) + return _; + } + return null; + } + return y(I); + } + function P(N) { + switch (typeof N) { + case "number": + case "string": + case "undefined": + return !0; + case "boolean": + return !N; + case "object": + if (Array.isArray(N)) + return N.every(P); + if (N === null || l(N)) + return !0; + var I = h(N); + if (I) { + var X = I.call(N), B; + if (I !== N.entries) { + for (; !(B = X.next()).done; ) + if (!P(B.value)) + return !1; + } else + for (; !(B = X.next()).done; ) { + var Y = B.value; + if (Y && !P(Y[1])) + return !1; + } + } else + return !1; + return !0; + default: + return !1; + } + } + function D(N, I) { + return N === "symbol" ? !0 : I ? I["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && I instanceof Symbol : !1; + } + function j(N) { + var I = typeof N; + return Array.isArray(N) ? "array" : N instanceof RegExp ? "object" : D(I, N) ? "symbol" : I; + } + function H(N) { + if (typeof N > "u" || N === null) + return "" + N; + var I = j(N); + if (I === "object") { + if (N instanceof Date) + return "date"; + if (N instanceof RegExp) + return "regexp"; + } + return I; + } + function te(N) { + var I = H(N); + switch (I) { + case "array": + case "object": + return "an " + I; + case "boolean": + case "date": + case "regexp": + return "a " + I; + default: + return I; + } + } + function G(N) { + return !N.constructor || !N.constructor.name ? b : N.constructor.name; + } + return m.checkPropTypes = i, m.resetWarningCache = i.resetWarningCache, m.PropTypes = m, m; + }, Zo; +} +var ei, qs; +function _d() { + if (qs) return ei; + qs = 1; + var e = Xi(); + function t() { + } + function n() { + } + return n.resetWarningCache = t, ei = function() { + function r(a, l, c, u, d, h) { + if (h !== e) { + var b = 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 b.name = "Invariant Violation", b; + } + } + r.isRequired = r; + function i() { + return r; + } + var s = { + array: r, + bigint: r, + bool: r, + func: r, + number: r, + object: r, + string: r, + symbol: r, + any: r, + arrayOf: i, + element: r, + elementType: r, + instanceOf: i, + node: r, + objectOf: i, + oneOf: i, + oneOfType: i, + shape: i, + exact: i, + checkPropTypes: n, + resetWarningCache: t + }; + return s.PropTypes = s, s; + }, ei; +} +if (process.env.NODE_ENV !== "production") { + var Ad = El(), Id = !0; + Ei.exports = Pd()(Ad.isElement, Id); +} else + Ei.exports = _d()(); +var Nd = Ei.exports; +const o = /* @__PURE__ */ Su(Nd); +function kd(e) { + return e == null || Object.keys(e).length === 0; +} +function Tl(e) { + const { + styles: t, + defaultTheme: n = {} + } = e, r = typeof t == "function" ? (i) => t(kd(i) ? n : i) : t; + return /* @__PURE__ */ $.jsx(yd, { + styles: r + }); +} +process.env.NODE_ENV !== "production" && (Tl.propTypes = { + defaultTheme: o.object, + styles: o.oneOfType([o.array, o.string, o.object, o.func]) +}); +/** + * @mui/styled-engine v7.3.10 + * + * @license MIT + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +function $d(e, t) { + const n = vi(e, t); + return process.env.NODE_ENV !== "production" ? (...r) => { + const i = typeof e == "string" ? `"${e}"` : "component"; + return r.length === 0 ? console.error([`MUI: Seems like you called \`styled(${i})()\` without a \`style\` argument.`, 'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join(` +`)) : r.some((s) => s === void 0) && console.error(`MUI: the styled(${i})(...args) API requires all its args to be defined.`), n(...r); + } : n; +} +function Md(e, t) { + Array.isArray(e.__emotion_styles) && (e.__emotion_styles = t(e.__emotion_styles)); +} +const Gs = []; +function Yt(e) { + return Gs[0] = e, gr(Gs); +} +var Si = { exports: {} }, Ae = {}; +/** + * @license React + * react-is.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 Ys; +function Dd() { + if (Ys) return Ae; + Ys = 1; + var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.portal"), n = Symbol.for("react.fragment"), r = Symbol.for("react.strict_mode"), i = Symbol.for("react.profiler"), s = Symbol.for("react.consumer"), a = Symbol.for("react.context"), l = Symbol.for("react.forward_ref"), c = Symbol.for("react.suspense"), u = Symbol.for("react.suspense_list"), d = Symbol.for("react.memo"), h = Symbol.for("react.lazy"), b = Symbol.for("react.view_transition"), m = Symbol.for("react.client.reference"); + function g(f) { + if (typeof f == "object" && f !== null) { + var y = f.$$typeof; + switch (y) { + case e: + switch (f = f.type, f) { + case n: + case i: + case r: + case c: + case u: + case b: + return f; + default: + switch (f = f && f.$$typeof, f) { + case a: + case l: + case h: + case d: + return f; + case s: + return f; + default: + return y; + } + } + case t: + return y; + } + } + } + return Ae.ContextConsumer = s, Ae.ContextProvider = a, Ae.Element = e, Ae.ForwardRef = l, Ae.Fragment = n, Ae.Lazy = h, Ae.Memo = d, Ae.Portal = t, Ae.Profiler = i, Ae.StrictMode = r, Ae.Suspense = c, Ae.SuspenseList = u, Ae.isContextConsumer = function(f) { + return g(f) === s; + }, Ae.isContextProvider = function(f) { + return g(f) === a; + }, Ae.isElement = function(f) { + return typeof f == "object" && f !== null && f.$$typeof === e; + }, Ae.isForwardRef = function(f) { + return g(f) === l; + }, Ae.isFragment = function(f) { + return g(f) === n; + }, Ae.isLazy = function(f) { + return g(f) === h; + }, Ae.isMemo = function(f) { + return g(f) === d; + }, Ae.isPortal = function(f) { + return g(f) === t; + }, Ae.isProfiler = function(f) { + return g(f) === i; + }, Ae.isStrictMode = function(f) { + return g(f) === r; + }, Ae.isSuspense = function(f) { + return g(f) === c; + }, Ae.isSuspenseList = function(f) { + return g(f) === u; + }, Ae.isValidElementType = function(f) { + return typeof f == "string" || typeof f == "function" || f === n || f === i || f === r || f === c || f === u || typeof f == "object" && f !== null && (f.$$typeof === h || f.$$typeof === d || f.$$typeof === a || f.$$typeof === s || f.$$typeof === l || f.$$typeof === m || f.getModuleId !== void 0); + }, Ae.typeOf = g, Ae; +} +var Ie = {}; +/** + * @license React + * react-is.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 Ks; +function jd() { + return Ks || (Ks = 1, process.env.NODE_ENV !== "production" && function() { + function e(f) { + if (typeof f == "object" && f !== null) { + var y = f.$$typeof; + switch (y) { + case t: + switch (f = f.type, f) { + case r: + case s: + case i: + case u: + case d: + case m: + return f; + default: + switch (f = f && f.$$typeof, f) { + case l: + case c: + case b: + case h: + return f; + case a: + return f; + default: + return y; + } + } + case n: + return y; + } + } + } + var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), i = Symbol.for("react.strict_mode"), s = Symbol.for("react.profiler"), a = Symbol.for("react.consumer"), l = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), d = Symbol.for("react.suspense_list"), h = Symbol.for("react.memo"), b = Symbol.for("react.lazy"), m = Symbol.for("react.view_transition"), g = Symbol.for("react.client.reference"); + Ie.ContextConsumer = a, Ie.ContextProvider = l, Ie.Element = t, Ie.ForwardRef = c, Ie.Fragment = r, Ie.Lazy = b, Ie.Memo = h, Ie.Portal = n, Ie.Profiler = s, Ie.StrictMode = i, Ie.Suspense = u, Ie.SuspenseList = d, Ie.isContextConsumer = function(f) { + return e(f) === a; + }, Ie.isContextProvider = function(f) { + return e(f) === l; + }, Ie.isElement = function(f) { + return typeof f == "object" && f !== null && f.$$typeof === t; + }, Ie.isForwardRef = function(f) { + return e(f) === c; + }, Ie.isFragment = function(f) { + return e(f) === r; + }, Ie.isLazy = function(f) { + return e(f) === b; + }, Ie.isMemo = function(f) { + return e(f) === h; + }, Ie.isPortal = function(f) { + return e(f) === n; + }, Ie.isProfiler = function(f) { + return e(f) === s; + }, Ie.isStrictMode = function(f) { + return e(f) === i; + }, Ie.isSuspense = function(f) { + return e(f) === u; + }, Ie.isSuspenseList = function(f) { + return e(f) === d; + }, Ie.isValidElementType = function(f) { + return typeof f == "string" || typeof f == "function" || f === r || f === s || f === i || f === u || f === d || typeof f == "object" && f !== null && (f.$$typeof === b || f.$$typeof === h || f.$$typeof === l || f.$$typeof === a || f.$$typeof === c || f.$$typeof === g || f.getModuleId !== void 0); + }, Ie.typeOf = e; + }()), Ie; +} +process.env.NODE_ENV === "production" ? Si.exports = Dd() : Si.exports = jd(); +var un = Si.exports; +function _t(e) { + if (typeof e != "object" || e === null) + return !1; + const t = Object.getPrototypeOf(e); + return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(Symbol.toStringTag in e) && !(Symbol.iterator in e); +} +function xl(e) { + if (/* @__PURE__ */ x.isValidElement(e) || un.isValidElementType(e) || !_t(e)) + return e; + const t = {}; + return Object.keys(e).forEach((n) => { + t[n] = xl(e[n]); + }), t; +} +function et(e, t, n = { + clone: !0 +}) { + const r = n.clone ? { + ...e + } : e; + return _t(e) && _t(t) && Object.keys(t).forEach((i) => { + /* @__PURE__ */ x.isValidElement(t[i]) || un.isValidElementType(t[i]) ? r[i] = t[i] : _t(t[i]) && // Avoid prototype pollution + Object.prototype.hasOwnProperty.call(e, i) && _t(e[i]) ? r[i] = et(e[i], t[i], n) : n.clone ? r[i] = _t(t[i]) ? xl(t[i]) : t[i] : r[i] = t[i]; + }), r; +} +const Ld = (e) => { + const t = Object.keys(e).map((n) => ({ + key: n, + val: e[n] + })) || []; + return t.sort((n, r) => n.val - r.val), t.reduce((n, r) => ({ + ...n, + [r.key]: r.val + }), {}); +}; +function Bd(e) { + const { + // The breakpoint **start** at this value. + // For instance with the first breakpoint xs: [xs, sm). + values: t = { + xs: 0, + // phone + sm: 600, + // tablet + md: 900, + // small laptop + lg: 1200, + // desktop + xl: 1536 + // large screen + }, + unit: n = "px", + step: r = 5, + ...i + } = e, s = Ld(t), a = Object.keys(s); + function l(b) { + return `@media (min-width:${typeof t[b] == "number" ? t[b] : b}${n})`; + } + function c(b) { + return `@media (max-width:${(typeof t[b] == "number" ? t[b] : b) - r / 100}${n})`; + } + function u(b, m) { + const g = a.indexOf(m); + return `@media (min-width:${typeof t[b] == "number" ? t[b] : b}${n}) and (max-width:${(g !== -1 && typeof t[a[g]] == "number" ? t[a[g]] : m) - r / 100}${n})`; + } + function d(b) { + return a.indexOf(b) + 1 < a.length ? u(b, a[a.indexOf(b) + 1]) : l(b); + } + function h(b) { + const m = a.indexOf(b); + return m === 0 ? l(a[1]) : m === a.length - 1 ? c(a[m]) : u(b, a[a.indexOf(b) + 1]).replace("@media", "@media not all and"); + } + return { + keys: a, + values: s, + up: l, + down: c, + between: u, + only: d, + not: h, + unit: n, + ...i + }; +} +function Xs(e, t) { + if (!e.containerQueries) + return t; + const n = Object.keys(t).filter((r) => r.startsWith("@container")).sort((r, i) => { + var a, l; + const s = /min-width:\s*([0-9.]+)/; + return +(((a = r.match(s)) == null ? void 0 : a[1]) || 0) - +(((l = i.match(s)) == null ? void 0 : l[1]) || 0); + }); + return n.length ? n.reduce((r, i) => { + const s = t[i]; + return delete r[i], r[i] = s, r; + }, { + ...t + }) : t; +} +function Fd(e, t) { + return t === "@" || t.startsWith("@") && (e.some((n) => t.startsWith(`@${n}`)) || !!t.match(/^@\d/)); +} +function Ud(e, t) { + const n = t.match(/^@([^/]+)?\/?(.+)?$/); + if (!n) { + if (process.env.NODE_ENV !== "production") + throw ( + /* minify-error */ + new Error(`MUI: The provided shorthand ${`(${t})`} is invalid. The format should be \`@\` or \`@/\`. +For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.`) + ); + return null; + } + const [, r, i] = n, s = Number.isNaN(+r) ? r || 0 : +r; + return e.containerQueries(i).up(s); +} +function Vd(e) { + const t = (s, a) => s.replace("@media", a ? `@container ${a}` : "@container"); + function n(s, a) { + s.up = (...l) => t(e.breakpoints.up(...l), a), s.down = (...l) => t(e.breakpoints.down(...l), a), s.between = (...l) => t(e.breakpoints.between(...l), a), s.only = (...l) => t(e.breakpoints.only(...l), a), s.not = (...l) => { + const c = t(e.breakpoints.not(...l), a); + return c.includes("not all and") ? c.replace("not all and ", "").replace("min-width:", "width<").replace("max-width:", "width>").replace("and", "or") : c; + }; + } + const r = {}, i = (s) => (n(r, s), r); + return n(i), { + ...e, + containerQueries: i + }; +} +const zd = { + borderRadius: 4 +}, Xt = process.env.NODE_ENV !== "production" ? o.oneOfType([o.number, o.string, o.object, o.array]) : {}; +function sr(e, t) { + return t ? et(e, t, { + clone: !1 + // No need to clone deep, it's way faster. + }) : e; +} +const bo = { + xs: 0, + // phone + sm: 600, + // tablet + md: 900, + // small laptop + lg: 1200, + // desktop + xl: 1536 + // large screen +}, Js = { + // Sorted ASC by size. That's important. + // It can't be configured as it's used statically for propTypes. + keys: ["xs", "sm", "md", "lg", "xl"], + up: (e) => `@media (min-width:${bo[e]}px)` +}, Wd = { + containerQueries: (e) => ({ + up: (t) => { + let n = typeof t == "number" ? t : bo[t] || t; + return typeof n == "number" && (n = `${n}px`), e ? `@container ${e} (min-width:${n})` : `@container (min-width:${n})`; + } + }) +}; +function Ut(e, t, n) { + const r = e.theme || {}; + if (Array.isArray(t)) { + const s = r.breakpoints || Js; + return t.reduce((a, l, c) => (a[s.up(s.keys[c])] = n(t[c]), a), {}); + } + if (typeof t == "object") { + const s = r.breakpoints || Js; + return Object.keys(t).reduce((a, l) => { + if (Fd(s.keys, l)) { + const c = Ud(r.containerQueries ? r : Wd, l); + c && (a[c] = n(t[l], l)); + } else if (Object.keys(s.values || bo).includes(l)) { + const c = s.up(l); + a[c] = n(t[l], l); + } else { + const c = l; + a[c] = t[c]; + } + return a; + }, {}); + } + return n(t); +} +function Hd(e = {}) { + var n; + return ((n = e.keys) == null ? void 0 : n.reduce((r, i) => { + const s = e.up(i); + return r[s] = {}, r; + }, {})) || {}; +} +function Qs(e, t) { + return e.reduce((n, r) => { + const i = n[r]; + return (!i || Object.keys(i).length === 0) && delete n[r], n; + }, t); +} +function ae(e) { + if (typeof e != "string") + throw new Error(process.env.NODE_ENV !== "production" ? "MUI: `capitalize(string)` expects a string argument." : Ft(7)); + return e.charAt(0).toUpperCase() + e.slice(1); +} +function vo(e, t, n = !0) { + if (!t || typeof t != "string") + return null; + if (e && e.vars && n) { + const r = `vars.${t}`.split(".").reduce((i, s) => i && i[s] ? i[s] : null, e); + if (r != null) + return r; + } + return t.split(".").reduce((r, i) => r && r[i] != null ? r[i] : null, e); +} +function Xr(e, t, n, r = n) { + let i; + return typeof e == "function" ? i = e(n) : Array.isArray(e) ? i = e[n] || r : i = vo(e, n) || r, t && (i = t(i, r, e)), i; +} +function He(e) { + const { + prop: t, + cssProperty: n = e.prop, + themeKey: r, + transform: i + } = e, s = (a) => { + if (a[t] == null) + return null; + const l = a[t], c = a.theme, u = vo(c, r) || {}; + return Ut(a, l, (h) => { + let b = Xr(u, i, h); + return h === b && typeof h == "string" && (b = Xr(u, i, `${t}${h === "default" ? "" : ae(h)}`, h)), n === !1 ? b : { + [n]: b + }; + }); + }; + return s.propTypes = process.env.NODE_ENV !== "production" ? { + [t]: Xt + } : {}, s.filterProps = [t], s; +} +function qd(e) { + const t = {}; + return (n) => (t[n] === void 0 && (t[n] = e(n)), t[n]); +} +const Gd = { + m: "margin", + p: "padding" +}, Yd = { + t: "Top", + r: "Right", + b: "Bottom", + l: "Left", + x: ["Left", "Right"], + y: ["Top", "Bottom"] +}, Zs = { + marginX: "mx", + marginY: "my", + paddingX: "px", + paddingY: "py" +}, Kd = qd((e) => { + if (e.length > 2) + if (Zs[e]) + e = Zs[e]; + else + return [e]; + const [t, n] = e.split(""), r = Gd[t], i = Yd[n] || ""; + return Array.isArray(i) ? i.map((s) => r + s) : [r + i]; +}), Eo = ["m", "mt", "mr", "mb", "ml", "mx", "my", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginInline", "marginInlineStart", "marginInlineEnd", "marginBlock", "marginBlockStart", "marginBlockEnd"], So = ["p", "pt", "pr", "pb", "pl", "px", "py", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "paddingBlock", "paddingBlockStart", "paddingBlockEnd"], Xd = [...Eo, ...So]; +function vr(e, t, n, r) { + const i = vo(e, t, !0) ?? n; + return typeof i == "number" || typeof i == "string" ? (s) => typeof s == "string" ? s : (process.env.NODE_ENV !== "production" && typeof s != "number" && console.error(`MUI: Expected ${r} argument to be a number or a string, got ${s}.`), typeof i == "string" ? i.startsWith("var(") && s === 0 ? 0 : i.startsWith("var(") && s === 1 ? i : `calc(${s} * ${i})` : i * s) : Array.isArray(i) ? (s) => { + if (typeof s == "string") + return s; + const a = Math.abs(s); + process.env.NODE_ENV !== "production" && (Number.isInteger(a) ? a > i.length - 1 && console.error([`MUI: The value provided (${a}) overflows.`, `The supported values are: ${JSON.stringify(i)}.`, `${a} > ${i.length - 1}, you need to add the missing values.`].join(` +`)) : console.error([`MUI: The \`theme.${t}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${t}\` as a number.`].join(` +`))); + const l = i[a]; + return s >= 0 ? l : typeof l == "number" ? -l : typeof l == "string" && l.startsWith("var(") ? `calc(-1 * ${l})` : `-${l}`; + } : typeof i == "function" ? i : (process.env.NODE_ENV !== "production" && console.error([`MUI: The \`theme.${t}\` value (${i}) is invalid.`, "It should be a number, an array or a function."].join(` +`)), () => { + }); +} +function Ji(e) { + return vr(e, "spacing", 8, "spacing"); +} +function Er(e, t) { + return typeof t == "string" || t == null ? t : e(t); +} +function Jd(e, t) { + return (n) => e.reduce((r, i) => (r[i] = Er(t, n), r), {}); +} +function Qd(e, t, n, r) { + if (!t.includes(n)) + return null; + const i = Kd(n), s = Jd(i, r), a = e[n]; + return Ut(e, a, s); +} +function Rl(e, t) { + const n = Ji(e.theme); + return Object.keys(e).map((r) => Qd(e, t, r, n)).reduce(sr, {}); +} +function Ue(e) { + return Rl(e, Eo); +} +Ue.propTypes = process.env.NODE_ENV !== "production" ? Eo.reduce((e, t) => (e[t] = Xt, e), {}) : {}; +Ue.filterProps = Eo; +function Ve(e) { + return Rl(e, So); +} +Ve.propTypes = process.env.NODE_ENV !== "production" ? So.reduce((e, t) => (e[t] = Xt, e), {}) : {}; +Ve.filterProps = So; +process.env.NODE_ENV !== "production" && Xd.reduce((e, t) => (e[t] = Xt, e), {}); +function Ol(e = 8, t = Ji({ + spacing: e +})) { + if (e.mui) + return e; + const n = (...r) => (process.env.NODE_ENV !== "production" && (r.length <= 4 || console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${r.length}`)), (r.length === 0 ? [1] : r).map((s) => { + const a = t(s); + return typeof a == "number" ? `${a}px` : a; + }).join(" ")); + return n.mui = !0, n; +} +function To(...e) { + const t = e.reduce((r, i) => (i.filterProps.forEach((s) => { + r[s] = i; + }), r), {}), n = (r) => Object.keys(r).reduce((i, s) => t[s] ? sr(i, t[s](r)) : i, {}); + return n.propTypes = process.env.NODE_ENV !== "production" ? e.reduce((r, i) => Object.assign(r, i.propTypes), {}) : {}, n.filterProps = e.reduce((r, i) => r.concat(i.filterProps), []), n; +} +function ht(e) { + return typeof e != "number" ? e : `${e}px solid`; +} +function bt(e, t) { + return He({ + prop: e, + themeKey: "borders", + transform: t + }); +} +const Zd = bt("border", ht), ef = bt("borderTop", ht), tf = bt("borderRight", ht), nf = bt("borderBottom", ht), rf = bt("borderLeft", ht), of = bt("borderColor"), sf = bt("borderTopColor"), af = bt("borderRightColor"), lf = bt("borderBottomColor"), cf = bt("borderLeftColor"), uf = bt("outline", ht), df = bt("outlineColor"), xo = (e) => { + if (e.borderRadius !== void 0 && e.borderRadius !== null) { + const t = vr(e.theme, "shape.borderRadius", 4, "borderRadius"), n = (r) => ({ + borderRadius: Er(t, r) + }); + return Ut(e, e.borderRadius, n); + } + return null; +}; +xo.propTypes = process.env.NODE_ENV !== "production" ? { + borderRadius: Xt +} : {}; +xo.filterProps = ["borderRadius"]; +To(Zd, ef, tf, nf, rf, of, sf, af, lf, cf, xo, uf, df); +const Ro = (e) => { + if (e.gap !== void 0 && e.gap !== null) { + const t = vr(e.theme, "spacing", 8, "gap"), n = (r) => ({ + gap: Er(t, r) + }); + return Ut(e, e.gap, n); + } + return null; +}; +Ro.propTypes = process.env.NODE_ENV !== "production" ? { + gap: Xt +} : {}; +Ro.filterProps = ["gap"]; +const Oo = (e) => { + if (e.columnGap !== void 0 && e.columnGap !== null) { + const t = vr(e.theme, "spacing", 8, "columnGap"), n = (r) => ({ + columnGap: Er(t, r) + }); + return Ut(e, e.columnGap, n); + } + return null; +}; +Oo.propTypes = process.env.NODE_ENV !== "production" ? { + columnGap: Xt +} : {}; +Oo.filterProps = ["columnGap"]; +const wo = (e) => { + if (e.rowGap !== void 0 && e.rowGap !== null) { + const t = vr(e.theme, "spacing", 8, "rowGap"), n = (r) => ({ + rowGap: Er(t, r) + }); + return Ut(e, e.rowGap, n); + } + return null; +}; +wo.propTypes = process.env.NODE_ENV !== "production" ? { + rowGap: Xt +} : {}; +wo.filterProps = ["rowGap"]; +const ff = He({ + prop: "gridColumn" +}), pf = He({ + prop: "gridRow" +}), mf = He({ + prop: "gridAutoFlow" +}), hf = He({ + prop: "gridAutoColumns" +}), yf = He({ + prop: "gridAutoRows" +}), gf = He({ + prop: "gridTemplateColumns" +}), bf = He({ + prop: "gridTemplateRows" +}), vf = He({ + prop: "gridTemplateAreas" +}), Ef = He({ + prop: "gridArea" +}); +To(Ro, Oo, wo, ff, pf, mf, hf, yf, gf, bf, vf, Ef); +function Nn(e, t) { + return t === "grey" ? t : e; +} +const Sf = He({ + prop: "color", + themeKey: "palette", + transform: Nn +}), Tf = He({ + prop: "bgcolor", + cssProperty: "backgroundColor", + themeKey: "palette", + transform: Nn +}), xf = He({ + prop: "backgroundColor", + themeKey: "palette", + transform: Nn +}); +To(Sf, Tf, xf); +function ut(e) { + return e <= 1 && e !== 0 ? `${e * 100}%` : e; +} +const Rf = He({ + prop: "width", + transform: ut +}), Qi = (e) => { + if (e.maxWidth !== void 0 && e.maxWidth !== null) { + const t = (n) => { + var i, s, a, l, c; + const r = ((a = (s = (i = e.theme) == null ? void 0 : i.breakpoints) == null ? void 0 : s.values) == null ? void 0 : a[n]) || bo[n]; + return r ? ((c = (l = e.theme) == null ? void 0 : l.breakpoints) == null ? void 0 : c.unit) !== "px" ? { + maxWidth: `${r}${e.theme.breakpoints.unit}` + } : { + maxWidth: r + } : { + maxWidth: ut(n) + }; + }; + return Ut(e, e.maxWidth, t); + } + return null; +}; +Qi.filterProps = ["maxWidth"]; +const Of = He({ + prop: "minWidth", + transform: ut +}), wf = He({ + prop: "height", + transform: ut +}), Cf = He({ + prop: "maxHeight", + transform: ut +}), Pf = He({ + prop: "minHeight", + transform: ut +}); +He({ + prop: "size", + cssProperty: "width", + transform: ut +}); +He({ + prop: "size", + cssProperty: "height", + transform: ut +}); +const _f = He({ + prop: "boxSizing" +}); +To(Rf, Qi, Of, wf, Cf, Pf, _f); +const Sr = { + // borders + border: { + themeKey: "borders", + transform: ht + }, + borderTop: { + themeKey: "borders", + transform: ht + }, + borderRight: { + themeKey: "borders", + transform: ht + }, + borderBottom: { + themeKey: "borders", + transform: ht + }, + borderLeft: { + themeKey: "borders", + transform: ht + }, + borderColor: { + themeKey: "palette" + }, + borderTopColor: { + themeKey: "palette" + }, + borderRightColor: { + themeKey: "palette" + }, + borderBottomColor: { + themeKey: "palette" + }, + borderLeftColor: { + themeKey: "palette" + }, + outline: { + themeKey: "borders", + transform: ht + }, + outlineColor: { + themeKey: "palette" + }, + borderRadius: { + themeKey: "shape.borderRadius", + style: xo + }, + // palette + color: { + themeKey: "palette", + transform: Nn + }, + bgcolor: { + themeKey: "palette", + cssProperty: "backgroundColor", + transform: Nn + }, + backgroundColor: { + themeKey: "palette", + transform: Nn + }, + // spacing + p: { + style: Ve + }, + pt: { + style: Ve + }, + pr: { + style: Ve + }, + pb: { + style: Ve + }, + pl: { + style: Ve + }, + px: { + style: Ve + }, + py: { + style: Ve + }, + padding: { + style: Ve + }, + paddingTop: { + style: Ve + }, + paddingRight: { + style: Ve + }, + paddingBottom: { + style: Ve + }, + paddingLeft: { + style: Ve + }, + paddingX: { + style: Ve + }, + paddingY: { + style: Ve + }, + paddingInline: { + style: Ve + }, + paddingInlineStart: { + style: Ve + }, + paddingInlineEnd: { + style: Ve + }, + paddingBlock: { + style: Ve + }, + paddingBlockStart: { + style: Ve + }, + paddingBlockEnd: { + style: Ve + }, + m: { + style: Ue + }, + mt: { + style: Ue + }, + mr: { + style: Ue + }, + mb: { + style: Ue + }, + ml: { + style: Ue + }, + mx: { + style: Ue + }, + my: { + style: Ue + }, + margin: { + style: Ue + }, + marginTop: { + style: Ue + }, + marginRight: { + style: Ue + }, + marginBottom: { + style: Ue + }, + marginLeft: { + style: Ue + }, + marginX: { + style: Ue + }, + marginY: { + style: Ue + }, + marginInline: { + style: Ue + }, + marginInlineStart: { + style: Ue + }, + marginInlineEnd: { + style: Ue + }, + marginBlock: { + style: Ue + }, + marginBlockStart: { + style: Ue + }, + marginBlockEnd: { + style: Ue + }, + // display + displayPrint: { + cssProperty: !1, + transform: (e) => ({ + "@media print": { + display: e + } + }) + }, + display: {}, + overflow: {}, + textOverflow: {}, + visibility: {}, + whiteSpace: {}, + // flexbox + flexBasis: {}, + flexDirection: {}, + flexWrap: {}, + justifyContent: {}, + alignItems: {}, + alignContent: {}, + order: {}, + flex: {}, + flexGrow: {}, + flexShrink: {}, + alignSelf: {}, + justifyItems: {}, + justifySelf: {}, + // grid + gap: { + style: Ro + }, + rowGap: { + style: wo + }, + columnGap: { + style: Oo + }, + gridColumn: {}, + gridRow: {}, + gridAutoFlow: {}, + gridAutoColumns: {}, + gridAutoRows: {}, + gridTemplateColumns: {}, + gridTemplateRows: {}, + gridTemplateAreas: {}, + gridArea: {}, + // positions + position: {}, + zIndex: { + themeKey: "zIndex" + }, + top: {}, + right: {}, + bottom: {}, + left: {}, + // shadows + boxShadow: { + themeKey: "shadows" + }, + // sizing + width: { + transform: ut + }, + maxWidth: { + style: Qi + }, + minWidth: { + transform: ut + }, + height: { + transform: ut + }, + maxHeight: { + transform: ut + }, + minHeight: { + transform: ut + }, + boxSizing: {}, + // typography + font: { + themeKey: "font" + }, + fontFamily: { + themeKey: "typography" + }, + fontSize: { + themeKey: "typography" + }, + fontStyle: { + themeKey: "typography" + }, + fontWeight: { + themeKey: "typography" + }, + letterSpacing: {}, + textTransform: {}, + lineHeight: {}, + textAlign: {}, + typography: { + cssProperty: !1, + themeKey: "typography" + } +}; +function Af(...e) { + const t = e.reduce((r, i) => r.concat(Object.keys(i)), []), n = new Set(t); + return e.every((r) => n.size === Object.keys(r).length); +} +function If(e, t) { + return typeof e == "function" ? e(t) : e; +} +function Nf() { + function e(n, r, i, s) { + const a = { + [n]: r, + theme: i + }, l = s[n]; + if (!l) + return { + [n]: r + }; + const { + cssProperty: c = n, + themeKey: u, + transform: d, + style: h + } = l; + if (r == null) + return null; + if (u === "typography" && r === "inherit") + return { + [n]: r + }; + const b = vo(i, u) || {}; + return h ? h(a) : Ut(a, r, (g) => { + let f = Xr(b, d, g); + return g === f && typeof g == "string" && (f = Xr(b, d, `${n}${g === "default" ? "" : ae(g)}`, g)), c === !1 ? f : { + [c]: f + }; + }); + } + function t(n) { + const { + sx: r, + theme: i = {}, + nested: s + } = n || {}; + if (!r) + return null; + const a = i.unstable_sxConfig ?? Sr; + function l(c) { + let u = c; + if (typeof c == "function") + u = c(i); + else if (typeof c != "object") + return c; + if (!u) + return null; + const d = Hd(i.breakpoints), h = Object.keys(d); + let b = d; + return Object.keys(u).forEach((m) => { + const g = If(u[m], i); + if (g != null) + if (typeof g == "object") + if (a[m]) + b = sr(b, e(m, g, i, a)); + else { + const f = Ut({ + theme: i + }, g, (y) => ({ + [m]: y + })); + Af(f, g) ? b[m] = t({ + sx: g, + theme: i, + nested: !0 + }) : b = sr(b, f); + } + else + b = sr(b, e(m, g, i, a)); + }), !s && i.modularCssLayers ? { + "@layer sx": Xs(i, Qs(h, b)) + } : Xs(i, Qs(h, b)); + } + return Array.isArray(r) ? r.map(l) : l(r); + } + return t; +} +const $n = Nf(); +$n.filterProps = ["sx"]; +function kf(e, t) { + var r; + const n = this; + if (n.vars) { + if (!((r = n.colorSchemes) != null && r[e]) || typeof n.getColorSchemeSelector != "function") + return {}; + let i = n.getColorSchemeSelector(e); + return i === "&" ? t : ((i.includes("data-") || i.includes(".")) && (i = `*:where(${i.replace(/\s*&$/, "")}) &`), { + [i]: t + }); + } + return n.palette.mode === e ? t : {}; +} +function Zi(e = {}, ...t) { + const { + breakpoints: n = {}, + palette: r = {}, + spacing: i, + shape: s = {}, + ...a + } = e, l = Bd(n), c = Ol(i); + let u = et({ + breakpoints: l, + direction: "ltr", + components: {}, + // Inject component definitions. + palette: { + mode: "light", + ...r + }, + spacing: c, + shape: { + ...zd, + ...s + } + }, a); + return u = Vd(u), u.applyStyles = kf, u = t.reduce((d, h) => et(d, h), u), u.unstable_sxConfig = { + ...Sr, + ...a == null ? void 0 : a.unstable_sxConfig + }, u.unstable_sx = function(h) { + return $n({ + sx: h, + theme: this + }); + }, u; +} +function $f(e) { + return Object.keys(e).length === 0; +} +function Mf(e = null) { + const t = x.useContext(go); + return !t || $f(t) ? e : t; +} +const Df = Zi(); +function wl(e = Df) { + return Mf(e); +} +function ti(e) { + const t = Yt(e); + return e !== t && t.styles ? (t.styles.match(/^@layer\s+[^{]*$/) || (t.styles = `@layer global{${t.styles}}`), t) : e; +} +function Cl({ + styles: e, + themeId: t, + defaultTheme: n = {} +}) { + const r = wl(n), i = t && r[t] || r; + let s = typeof e == "function" ? e(i) : e; + return i.modularCssLayers && (Array.isArray(s) ? s = s.map((a) => ti(typeof a == "function" ? a(i) : a)) : s = ti(s)), /* @__PURE__ */ $.jsx(Tl, { + styles: s + }); +} +process.env.NODE_ENV !== "production" && (Cl.propTypes = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * @ignore + */ + defaultTheme: o.object, + /** + * @ignore + */ + styles: o.oneOfType([o.array, o.func, o.number, o.object, o.string, o.bool]), + /** + * @ignore + */ + themeId: o.string +}); +const jf = (e) => { + var r; + const t = { + systemProps: {}, + otherProps: {} + }, n = ((r = e == null ? void 0 : e.theme) == null ? void 0 : r.unstable_sxConfig) ?? Sr; + return Object.keys(e).forEach((i) => { + n[i] ? t.systemProps[i] = e[i] : t.otherProps[i] = e[i]; + }), t; +}; +function Lf(e) { + const { + sx: t, + ...n + } = e, { + systemProps: r, + otherProps: i + } = jf(n); + let s; + return Array.isArray(t) ? s = [r, ...t] : typeof t == "function" ? s = (...a) => { + const l = t(...a); + return _t(l) ? { + ...r, + ...l + } : r; + } : s = { + ...r, + ...t + }, { + ...i, + sx: s + }; +} +const ea = (e) => e, Bf = () => { + let e = ea; + return { + configure(t) { + e = t; + }, + generate(t) { + return e(t); + }, + reset() { + e = ea; + } + }; +}, Ff = Bf(); +function Pl(e) { + var t, n, r = ""; + if (typeof e == "string" || typeof e == "number") r += e; + else if (typeof e == "object") if (Array.isArray(e)) { + var i = e.length; + for (t = 0; t < i; t++) e[t] && (n = Pl(e[t])) && (r && (r += " "), r += n); + } else for (n in e) e[n] && (r && (r += " "), r += n); + return r; +} +function ue() { + for (var e, t, n = 0, r = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (t = Pl(e)) && (r && (r += " "), r += t); + return r; +} +const Uf = { + active: "active", + checked: "checked", + completed: "completed", + disabled: "disabled", + error: "error", + expanded: "expanded", + focused: "focused", + focusVisible: "focusVisible", + open: "open", + readOnly: "readOnly", + required: "required", + selected: "selected" +}; +function ge(e, t, n = "Mui") { + const r = Uf[t]; + return r ? `${n}-${r}` : `${Ff.generate(e)}-${t}`; +} +function Ee(e, t, n = "Mui") { + const r = {}; + return t.forEach((i) => { + r[i] = ge(e, i, n); + }), r; +} +function _l(e, t = "") { + return e.displayName || e.name || t; +} +function ta(e, t, n) { + const r = _l(t); + return e.displayName || (r !== "" ? `${n}(${r})` : n); +} +function Vf(e) { + if (e != null) { + if (typeof e == "string") + return e; + if (typeof e == "function") + return _l(e, "Component"); + if (typeof e == "object") + switch (e.$$typeof) { + case un.ForwardRef: + return ta(e, e.render, "ForwardRef"); + case un.Memo: + return ta(e, e.type, "memo"); + default: + return; + } + } +} +function Al(e) { + const { + variants: t, + ...n + } = e, r = { + variants: t, + style: Yt(n), + isProcessed: !0 + }; + return r.style === n || t && t.forEach((i) => { + typeof i.style != "function" && (i.style = Yt(i.style)); + }), r; +} +const zf = Zi(); +function ni(e) { + return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as"; +} +function on(e, t) { + return t && e && typeof e == "object" && e.styles && !e.styles.startsWith("@layer") && (e.styles = `@layer ${t}{${String(e.styles)}}`), e; +} +function Wf(e) { + return e ? (t, n) => n[e] : null; +} +function Hf(e, t, n) { + e.theme = Kf(e.theme) ? n : e.theme[t] || e.theme; +} +function Wr(e, t, n) { + const r = typeof t == "function" ? t(e) : t; + if (Array.isArray(r)) + return r.flatMap((i) => Wr(e, i, n)); + if (Array.isArray(r == null ? void 0 : r.variants)) { + let i; + if (r.isProcessed) + i = n ? on(r.style, n) : r.style; + else { + const { + variants: s, + ...a + } = r; + i = n ? on(Yt(a), n) : a; + } + return Il(e, r.variants, [i], n); + } + return r != null && r.isProcessed ? n ? on(Yt(r.style), n) : r.style : n ? on(Yt(r), n) : r; +} +function Il(e, t, n = [], r = void 0) { + var s; + let i; + e: for (let a = 0; a < t.length; a += 1) { + const l = t[a]; + if (typeof l.props == "function") { + if (i ?? (i = { + ...e, + ...e.ownerState, + ownerState: e.ownerState + }), !l.props(i)) + continue; + } else + for (const c in l.props) + if (e[c] !== l.props[c] && ((s = e.ownerState) == null ? void 0 : s[c]) !== l.props[c]) + continue e; + typeof l.style == "function" ? (i ?? (i = { + ...e, + ...e.ownerState, + ownerState: e.ownerState + }), n.push(r ? on(Yt(l.style(i)), r) : l.style(i))) : n.push(r ? on(Yt(l.style), r) : l.style); + } + return n; +} +function qf(e = {}) { + const { + themeId: t, + defaultTheme: n = zf, + rootShouldForwardProp: r = ni, + slotShouldForwardProp: i = ni + } = e; + function s(l) { + Hf(l, t, n); + } + return (l, c = {}) => { + Md(l, (w) => w.filter((k) => k !== $n)); + const { + name: u, + slot: d, + skipVariantsResolver: h, + skipSx: b, + // TODO v6: remove `lowercaseFirstLetter()` in the next major release + // For more details: https://github.com/mui/material-ui/pull/37908 + overridesResolver: m = Wf(Nl(d)), + ...g + } = c, f = u && u.startsWith("Mui") || d ? "components" : "custom", y = h !== void 0 ? h : ( + // TODO v6: remove `Root` in the next major release + // For more details: https://github.com/mui/material-ui/pull/37908 + d && d !== "Root" && d !== "root" || !1 + ), S = b || !1; + let O = ni; + d === "Root" || d === "root" ? O = r : d ? O = i : Xf(l) && (O = void 0); + const T = $d(l, { + shouldForwardProp: O, + label: Yf(u, d), + ...g + }), v = (w) => { + if (w.__emotion_real === w) + return w; + if (typeof w == "function") + return function(L) { + return Wr(L, w, L.theme.modularCssLayers ? f : void 0); + }; + if (_t(w)) { + const k = Al(w); + return function(z) { + return k.variants ? Wr(z, k, z.theme.modularCssLayers ? f : void 0) : z.theme.modularCssLayers ? on(k.style, f) : k.style; + }; + } + return w; + }, E = (...w) => { + const k = [], L = w.map(v), z = []; + if (k.push(s), u && m && z.push(function(A) { + var H, te; + const D = (te = (H = A.theme.components) == null ? void 0 : H[u]) == null ? void 0 : te.styleOverrides; + if (!D) + return null; + const j = {}; + for (const G in D) + j[G] = Wr(A, D[G], A.theme.modularCssLayers ? "theme" : void 0); + return m(A, j); + }), u && !y && z.push(function(A) { + var j, H; + const P = A.theme, D = (H = (j = P == null ? void 0 : P.components) == null ? void 0 : j[u]) == null ? void 0 : H.variants; + return D ? Il(A, D, [], A.theme.modularCssLayers ? "theme" : void 0) : null; + }), S || z.push($n), Array.isArray(L[0])) { + const p = L.shift(), A = new Array(k.length).fill(""), P = new Array(z.length).fill(""); + let D; + D = [...A, ...p, ...P], D.raw = [...A, ...p.raw, ...P], k.unshift(D); + } + const W = [...k, ...L, ...z], F = T(...W); + return l.muiName && (F.muiName = l.muiName), process.env.NODE_ENV !== "production" && (F.displayName = Gf(u, d, l)), F; + }; + return T.withConfig && (E.withConfig = T.withConfig), E; + }; +} +function Gf(e, t, n) { + return e ? `${e}${ae(t || "")}` : `Styled(${Vf(n)})`; +} +function Yf(e, t) { + let n; + return process.env.NODE_ENV !== "production" && e && (n = `${e}-${Nl(t || "Root")}`), n; +} +function Kf(e) { + for (const t in e) + return !1; + return !0; +} +function Xf(e) { + return typeof e == "string" && // 96 is one less than the char code + // for "a" so this is checking that + // it's a lowercase character + e.charCodeAt(0) > 96; +} +function Nl(e) { + return e && e.charAt(0).toLowerCase() + e.slice(1); +} +function Jr(e, t, n = !1) { + const r = { + ...t + }; + for (const i in e) + if (Object.prototype.hasOwnProperty.call(e, i)) { + const s = i; + if (s === "components" || s === "slots") + r[s] = { + ...e[s], + ...r[s] + }; + else if (s === "componentsProps" || s === "slotProps") { + const a = e[s], l = t[s]; + if (!l) + r[s] = a || {}; + else if (!a) + r[s] = l; + else { + r[s] = { + ...l + }; + for (const c in a) + if (Object.prototype.hasOwnProperty.call(a, c)) { + const u = c; + r[s][u] = Jr(a[u], l[u], n); + } + } + } else s === "className" && n && t.className ? r.className = ue(e == null ? void 0 : e.className, t == null ? void 0 : t.className) : s === "style" && n && t.style ? r.style = { + ...e == null ? void 0 : e.style, + ...t == null ? void 0 : t.style + } : r[s] === void 0 && (r[s] = e[s]); + } + return r; +} +const Vt = typeof window < "u" ? x.useLayoutEffect : x.useEffect; +function Jf(e, t = Number.MIN_SAFE_INTEGER, n = Number.MAX_SAFE_INTEGER) { + return Math.max(t, Math.min(e, n)); +} +function es(e, t = 0, n = 1) { + return process.env.NODE_ENV !== "production" && (e < t || e > n) && console.error(`MUI: The value provided ${e} is out of range [${t}, ${n}].`), Jf(e, t, n); +} +function Qf(e) { + e = e.slice(1); + const t = new RegExp(`.{1,${e.length >= 6 ? 2 : 1}}`, "g"); + let n = e.match(t); + return n && n[0].length === 1 && (n = n.map((r) => r + r)), process.env.NODE_ENV !== "production" && e.length !== e.trim().length && console.error(`MUI: The color: "${e}" is invalid. Make sure the color input doesn't contain leading/trailing space.`), n ? `rgb${n.length === 4 ? "a" : ""}(${n.map((r, i) => i < 3 ? parseInt(r, 16) : Math.round(parseInt(r, 16) / 255 * 1e3) / 1e3).join(", ")})` : ""; +} +function Kt(e) { + if (e.type) + return e; + if (e.charAt(0) === "#") + return Kt(Qf(e)); + const t = e.indexOf("("), n = e.substring(0, t); + if (!["rgb", "rgba", "hsl", "hsla", "color"].includes(n)) + throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Unsupported \`${e}\` color. +The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : Ft(9, e)); + let r = e.substring(t + 1, e.length - 1), i; + if (n === "color") { + if (r = r.split(" "), i = r.shift(), r.length === 4 && r[3].charAt(0) === "/" && (r[3] = r[3].slice(1)), !["srgb", "display-p3", "a98-rgb", "prophoto-rgb", "rec-2020"].includes(i)) + throw new Error(process.env.NODE_ENV !== "production" ? `MUI: unsupported \`${i}\` color space. +The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : Ft(10, i)); + } else + r = r.split(","); + return r = r.map((s) => parseFloat(s)), { + type: n, + values: r, + colorSpace: i + }; +} +const Zf = (e) => { + const t = Kt(e); + return t.values.slice(0, 3).map((n, r) => t.type.includes("hsl") && r !== 0 ? `${n}%` : n).join(" "); +}, nr = (e, t) => { + try { + return Zf(e); + } catch { + return t && process.env.NODE_ENV !== "production" && console.warn(t), e; + } +}; +function Co(e) { + const { + type: t, + colorSpace: n + } = e; + let { + values: r + } = e; + return t.includes("rgb") ? r = r.map((i, s) => s < 3 ? parseInt(i, 10) : i) : t.includes("hsl") && (r[1] = `${r[1]}%`, r[2] = `${r[2]}%`), t.includes("color") ? r = `${n} ${r.join(" ")}` : r = `${r.join(", ")}`, `${t}(${r})`; +} +function kl(e) { + e = Kt(e); + const { + values: t + } = e, n = t[0], r = t[1] / 100, i = t[2] / 100, s = r * Math.min(i, 1 - i), a = (u, d = (u + n / 30) % 12) => i - s * Math.max(Math.min(d - 3, 9 - d, 1), -1); + let l = "rgb"; + const c = [Math.round(a(0) * 255), Math.round(a(8) * 255), Math.round(a(4) * 255)]; + return e.type === "hsla" && (l += "a", c.push(t[3])), Co({ + type: l, + values: c + }); +} +function Ti(e) { + e = Kt(e); + let t = e.type === "hsl" || e.type === "hsla" ? Kt(kl(e)).values : e.values; + return t = t.map((n) => (e.type !== "color" && (n /= 255), n <= 0.03928 ? n / 12.92 : ((n + 0.055) / 1.055) ** 2.4)), Number((0.2126 * t[0] + 0.7152 * t[1] + 0.0722 * t[2]).toFixed(3)); +} +function na(e, t) { + const n = Ti(e), r = Ti(t); + return (Math.max(n, r) + 0.05) / (Math.min(n, r) + 0.05); +} +function Qr(e, t) { + return e = Kt(e), t = es(t), (e.type === "rgb" || e.type === "hsl") && (e.type += "a"), e.type === "color" ? e.values[3] = `/${t}` : e.values[3] = t, Co(e); +} +function Zt(e, t, n) { + try { + return Qr(e, t); + } catch { + return n && process.env.NODE_ENV !== "production" && console.warn(n), e; + } +} +function Po(e, t) { + if (e = Kt(e), t = es(t), e.type.includes("hsl")) + e.values[2] *= 1 - t; + else if (e.type.includes("rgb") || e.type.includes("color")) + for (let n = 0; n < 3; n += 1) + e.values[n] *= 1 - t; + return Co(e); +} +function Pe(e, t, n) { + try { + return Po(e, t); + } catch { + return n && process.env.NODE_ENV !== "production" && console.warn(n), e; + } +} +function _o(e, t) { + if (e = Kt(e), t = es(t), e.type.includes("hsl")) + e.values[2] += (100 - e.values[2]) * t; + else if (e.type.includes("rgb")) + for (let n = 0; n < 3; n += 1) + e.values[n] += (255 - e.values[n]) * t; + else if (e.type.includes("color")) + for (let n = 0; n < 3; n += 1) + e.values[n] += (1 - e.values[n]) * t; + return Co(e); +} +function _e(e, t, n) { + try { + return _o(e, t); + } catch { + return n && process.env.NODE_ENV !== "production" && console.warn(n), e; + } +} +function ep(e, t = 0.15) { + return Ti(e) > 0.5 ? Po(e, t) : _o(e, t); +} +function $r(e, t, n) { + try { + return ep(e, t); + } catch { + return e; + } +} +const tp = "exact-prop: ​"; +function $l(e) { + return process.env.NODE_ENV === "production" ? e : { + ...e, + [tp]: (t) => { + const n = Object.keys(t).filter((r) => !e.hasOwnProperty(r)); + return n.length > 0 ? new Error(`The following props are not supported: ${n.map((r) => `\`${r}\``).join(", ")}. Please remove them.`) : null; + } + }; +} +const np = /* @__PURE__ */ x.createContext(); +process.env.NODE_ENV !== "production" && (o.node, o.bool); +const rp = () => x.useContext(np) ?? !1, op = /* @__PURE__ */ x.createContext(void 0); +process.env.NODE_ENV !== "production" && (o.node, o.object); +function ip(e) { + const { + theme: t, + name: n, + props: r + } = e; + if (!t || !t.components || !t.components[n]) + return r; + const i = t.components[n]; + return i.defaultProps ? Jr(i.defaultProps, r, t.components.mergeClassNameAndStyle) : !i.styleOverrides && !i.variants ? Jr(i, r, t.components.mergeClassNameAndStyle) : r; +} +function sp({ + props: e, + name: t +}) { + const n = x.useContext(op); + return ip({ + props: e, + name: t, + theme: { + components: n + } + }); +} +let ra = 0; +function ap(e) { + const [t, n] = x.useState(e), r = e || t; + return x.useEffect(() => { + t == null && (ra += 1, n(`mui-${ra}`)); + }, [t]), r; +} +const lp = { + ...x +}, oa = lp.useId; +function Tr(e) { + if (oa !== void 0) { + const t = oa(); + return e ?? t; + } + return ap(e); +} +const ia = { + theme: void 0 +}; +function cp(e) { + let t, n; + return function(i) { + let s = t; + return (s === void 0 || i.theme !== n) && (ia.theme = i.theme, s = Al(e(ia)), t = s, n = i.theme), s; + }; +} +function up(e = "") { + function t(...r) { + if (!r.length) + return ""; + const i = r[0]; + return typeof i == "string" && !i.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/) ? `, var(--${e ? `${e}-` : ""}${i}${t(...r.slice(1))})` : `, ${i}`; + } + return (r, ...i) => `var(--${e ? `${e}-` : ""}${r}${t(...i)})`; +} +const sa = (e, t, n, r = []) => { + let i = e; + t.forEach((s, a) => { + a === t.length - 1 ? Array.isArray(i) ? i[Number(s)] = n : i && typeof i == "object" && (i[s] = n) : i && typeof i == "object" && (i[s] || (i[s] = r.includes(s) ? [] : {}), i = i[s]); + }); +}, dp = (e, t, n) => { + function r(i, s = [], a = []) { + Object.entries(i).forEach(([l, c]) => { + (!n || n && !n([...s, l])) && c != null && (typeof c == "object" && Object.keys(c).length > 0 ? r(c, [...s, l], Array.isArray(c) ? [...a, l] : a) : t([...s, l], c, a)); + }); + } + r(e); +}, fp = (e, t) => typeof t == "number" ? ["lineHeight", "fontWeight", "opacity", "zIndex"].some((r) => e.includes(r)) || e[e.length - 1].toLowerCase().includes("opacity") ? t : `${t}px` : t; +function ri(e, t) { + const { + prefix: n, + shouldSkipGeneratingVar: r + } = t || {}, i = {}, s = {}, a = {}; + return dp( + e, + (l, c, u) => { + if ((typeof c == "string" || typeof c == "number") && (!r || !r(l, c))) { + const d = `--${n ? `${n}-` : ""}${l.join("-")}`, h = fp(l, c); + Object.assign(i, { + [d]: h + }), sa(s, l, `var(${d})`, u), sa(a, l, `var(${d}, ${h})`, u); + } + }, + (l) => l[0] === "vars" + // skip 'vars/*' paths + ), { + css: i, + vars: s, + varsWithDefaults: a + }; +} +function pp(e, t = {}) { + const { + getSelector: n = S, + disableCssColorScheme: r, + colorSchemeSelector: i, + enableContrastVars: s + } = t, { + colorSchemes: a = {}, + components: l, + defaultColorScheme: c = "light", + ...u + } = e, { + vars: d, + css: h, + varsWithDefaults: b + } = ri(u, t); + let m = b; + const g = {}, { + [c]: f, + ...y + } = a; + if (Object.entries(y || {}).forEach(([v, E]) => { + const { + vars: w, + css: k, + varsWithDefaults: L + } = ri(E, t); + m = et(m, L), g[v] = { + css: k, + vars: w + }; + }), f) { + const { + css: v, + vars: E, + varsWithDefaults: w + } = ri(f, t); + m = et(m, w), g[c] = { + css: v, + vars: E + }; + } + function S(v, E) { + var k, L; + let w = i; + if (i === "class" && (w = ".%s"), i === "data" && (w = "[data-%s]"), i != null && i.startsWith("data-") && !i.includes("%s") && (w = `[${i}="%s"]`), v) { + if (w === "media") + return e.defaultColorScheme === v ? ":root" : { + [`@media (prefers-color-scheme: ${((L = (k = a[v]) == null ? void 0 : k.palette) == null ? void 0 : L.mode) || v})`]: { + ":root": E + } + }; + if (w) + return e.defaultColorScheme === v ? `:root, ${w.replace("%s", String(v))}` : w.replace("%s", String(v)); + } + return ":root"; + } + return { + vars: m, + generateThemeVars: () => { + let v = { + ...d + }; + return Object.entries(g).forEach(([, { + vars: E + }]) => { + v = et(v, E); + }), v; + }, + generateStyleSheets: () => { + var z, W; + const v = [], E = e.defaultColorScheme || "light"; + function w(F, p) { + Object.keys(p).length && v.push(typeof F == "string" ? { + [F]: { + ...p + } + } : F); + } + w(n(void 0, { + ...h + }), h); + const { + [E]: k, + ...L + } = g; + if (k) { + const { + css: F + } = k, p = (W = (z = a[E]) == null ? void 0 : z.palette) == null ? void 0 : W.mode, A = !r && p ? { + colorScheme: p, + ...F + } : { + ...F + }; + w(n(E, { + ...A + }), A); + } + return Object.entries(L).forEach(([F, { + css: p + }]) => { + var D, j; + const A = (j = (D = a[F]) == null ? void 0 : D.palette) == null ? void 0 : j.mode, P = !r && A ? { + colorScheme: A, + ...p + } : { + ...p + }; + w(n(F, { + ...P + }), P); + }), s && v.push({ + ":root": { + // use double underscore to indicate that these are private variables + "--__l-threshold": "0.7", + "--__l": "clamp(0, (l / var(--__l-threshold) - 1) * -infinity, 1)", + "--__a": "clamp(0.87, (l / var(--__l-threshold) - 1) * -infinity, 1)" + // 0.87 is the default alpha value for black text. + } + }), v; + } + }; +} +function mp(e) { + return function(n) { + return e === "media" ? (process.env.NODE_ENV !== "production" && n !== "light" && n !== "dark" && console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${n}'.`), `@media (prefers-color-scheme: ${n})`) : e ? e.startsWith("data-") && !e.includes("%s") ? `[${e}="${n}"] &` : e === "class" ? `.${n} &` : e === "data" ? `[data-${n}] &` : `${e.replace("%s", n)} &` : "&"; + }; +} +function Se(e, t, n = void 0) { + const r = {}; + for (const i in e) { + const s = e[i]; + let a = "", l = !0; + for (let c = 0; c < s.length; c += 1) { + const u = s[c]; + u && (a += (l === !0 ? "" : " ") + t(u), l = !1, n && n[u] && (a += " " + n[u])); + } + r[i] = a; + } + return r; +} +function oi(e, t) { + var n, r, i; + return /* @__PURE__ */ x.isValidElement(e) && t.indexOf( + // For server components `muiName` is available in element.type._payload.value.muiName + // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45 + // eslint-disable-next-line no-underscore-dangle + e.type.muiName ?? ((i = (r = (n = e.type) == null ? void 0 : n._payload) == null ? void 0 : r.value) == null ? void 0 : i.muiName) + ) !== -1; +} +function Ml() { + return { + // The colors used to style the text. + text: { + // The most important text. + primary: "rgba(0, 0, 0, 0.87)", + // Secondary text. + secondary: "rgba(0, 0, 0, 0.6)", + // Disabled text have even lower visual prominence. + disabled: "rgba(0, 0, 0, 0.38)" + }, + // The color used to divide different elements. + divider: "rgba(0, 0, 0, 0.12)", + // The background colors used to style the surfaces. + // Consistency between these values is important. + background: { + paper: ur.white, + default: ur.white + }, + // The colors used to style the action elements. + action: { + // The color of an active action like an icon button. + active: "rgba(0, 0, 0, 0.54)", + // The color of an hovered action. + hover: "rgba(0, 0, 0, 0.04)", + hoverOpacity: 0.04, + // The color of a selected action. + selected: "rgba(0, 0, 0, 0.08)", + selectedOpacity: 0.08, + // The color of a disabled action. + disabled: "rgba(0, 0, 0, 0.26)", + // The background color of a disabled action. + disabledBackground: "rgba(0, 0, 0, 0.12)", + disabledOpacity: 0.38, + focus: "rgba(0, 0, 0, 0.12)", + focusOpacity: 0.12, + activatedOpacity: 0.12 + } + }; +} +const Dl = Ml(); +function jl() { + return { + text: { + primary: ur.white, + secondary: "rgba(255, 255, 255, 0.7)", + disabled: "rgba(255, 255, 255, 0.5)", + icon: "rgba(255, 255, 255, 0.5)" + }, + divider: "rgba(255, 255, 255, 0.12)", + background: { + paper: "#121212", + default: "#121212" + }, + action: { + active: ur.white, + hover: "rgba(255, 255, 255, 0.08)", + hoverOpacity: 0.08, + selected: "rgba(255, 255, 255, 0.16)", + selectedOpacity: 0.16, + disabled: "rgba(255, 255, 255, 0.3)", + disabledBackground: "rgba(255, 255, 255, 0.12)", + disabledOpacity: 0.38, + focus: "rgba(255, 255, 255, 0.12)", + focusOpacity: 0.12, + activatedOpacity: 0.24 + } + }; +} +const xi = jl(); +function aa(e, t, n, r) { + const i = r.light || r, s = r.dark || r * 1.5; + e[t] || (e.hasOwnProperty(n) ? e[t] = e[n] : t === "light" ? e.light = _o(e.main, i) : t === "dark" && (e.dark = Po(e.main, s))); +} +function la(e, t, n, r, i) { + const s = i.light || i, a = i.dark || i * 1.5; + t[n] || (t.hasOwnProperty(r) ? t[n] = t[r] : n === "light" ? t.light = `color-mix(in ${e}, ${t.main}, #fff ${(s * 100).toFixed(0)}%)` : n === "dark" && (t.dark = `color-mix(in ${e}, ${t.main}, #000 ${(a * 100).toFixed(0)}%)`)); +} +function hp(e = "light") { + return e === "dark" ? { + main: Rn[200], + light: Rn[50], + dark: Rn[400] + } : { + main: Rn[700], + light: Rn[400], + dark: Rn[800] + }; +} +function yp(e = "light") { + return e === "dark" ? { + main: xn[200], + light: xn[50], + dark: xn[400] + } : { + main: xn[500], + light: xn[300], + dark: xn[700] + }; +} +function gp(e = "light") { + return e === "dark" ? { + main: Tn[500], + light: Tn[300], + dark: Tn[700] + } : { + main: Tn[700], + light: Tn[400], + dark: Tn[800] + }; +} +function bp(e = "light") { + return e === "dark" ? { + main: On[400], + light: On[300], + dark: On[700] + } : { + main: On[700], + light: On[500], + dark: On[900] + }; +} +function vp(e = "light") { + return e === "dark" ? { + main: wn[400], + light: wn[300], + dark: wn[700] + } : { + main: wn[800], + light: wn[500], + dark: wn[900] + }; +} +function Ep(e = "light") { + return e === "dark" ? { + main: Kn[400], + light: Kn[300], + dark: Kn[700] + } : { + main: "#ed6c02", + // closest to orange[800] that pass 3:1. + light: Kn[500], + dark: Kn[900] + }; +} +function Sp(e) { + return `oklch(from ${e} var(--__l) 0 h / var(--__a))`; +} +function ts(e) { + const { + mode: t = "light", + contrastThreshold: n = 3, + tonalOffset: r = 0.2, + colorSpace: i, + ...s + } = e, a = e.primary || hp(t), l = e.secondary || yp(t), c = e.error || gp(t), u = e.info || bp(t), d = e.success || vp(t), h = e.warning || Ep(t); + function b(y) { + if (i) + return Sp(y); + const S = na(y, xi.text.primary) >= n ? xi.text.primary : Dl.text.primary; + if (process.env.NODE_ENV !== "production") { + const O = na(y, S); + O < 3 && console.error([`MUI: The contrast ratio of ${O}:1 for ${S} on ${y}`, "falls below the WCAG recommended absolute minimum contrast ratio of 3:1.", "https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast"].join(` +`)); + } + return S; + } + const m = ({ + color: y, + name: S, + mainShade: O = 500, + lightShade: T = 300, + darkShade: v = 700 + }) => { + if (y = { + ...y + }, !y.main && y[O] && (y.main = y[O]), !y.hasOwnProperty("main")) + throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${S ? ` (${S})` : ""} provided to augmentColor(color) is invalid. +The color object needs to have a \`main\` property or a \`${O}\` property.` : Ft(11, S ? ` (${S})` : "", O)); + if (typeof y.main != "string") + throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${S ? ` (${S})` : ""} provided to augmentColor(color) is invalid. +\`color.main\` should be a string, but \`${JSON.stringify(y.main)}\` was provided instead. + +Did you intend to use one of the following approaches? + +import { green } from "@mui/material/colors"; + +const theme1 = createTheme({ palette: { + primary: green, +} }); + +const theme2 = createTheme({ palette: { + primary: { main: green[500] }, +} });` : Ft(12, S ? ` (${S})` : "", JSON.stringify(y.main))); + return i ? (la(i, y, "light", T, r), la(i, y, "dark", v, r)) : (aa(y, "light", T, r), aa(y, "dark", v, r)), y.contrastText || (y.contrastText = b(y.main)), y; + }; + let g; + return t === "light" ? g = Ml() : t === "dark" && (g = jl()), process.env.NODE_ENV !== "production" && (g || console.error(`MUI: The palette mode \`${t}\` is not supported.`)), et({ + // A collection of common colors. + common: { + ...ur + }, + // prevent mutable object. + // The palette mode, can be light or dark. + mode: t, + // The colors used to represent primary interface elements for a user. + primary: m({ + color: a, + name: "primary" + }), + // The colors used to represent secondary interface elements for a user. + secondary: m({ + color: l, + name: "secondary", + mainShade: "A400", + lightShade: "A200", + darkShade: "A700" + }), + // The colors used to represent interface elements that the user should be made aware of. + error: m({ + color: c, + name: "error" + }), + // The colors used to represent potentially dangerous actions or important messages. + warning: m({ + color: h, + name: "warning" + }), + // The colors used to present information to the user that is neutral and not necessarily important. + info: m({ + color: u, + name: "info" + }), + // The colors used to indicate the successful completion of an action that user triggered. + success: m({ + color: d, + name: "success" + }), + // The grey colors. + grey: Ru, + // Used by `getContrastText()` to maximize the contrast between + // the background and the text. + contrastThreshold: n, + // Takes a background color and returns the text color that maximizes the contrast. + getContrastText: b, + // Generate a rich color object. + augmentColor: m, + // Used by the functions below to shift a color's luminance by approximately + // two indexes within its tonal palette. + // E.g., shift from Red 500 to Red 300 or Red 700. + tonalOffset: r, + // The light and dark mode object. + ...g + }, s); +} +function Tp(e) { + const t = {}; + return Object.entries(e).forEach((r) => { + const [i, s] = r; + typeof s == "object" && (t[i] = `${s.fontStyle ? `${s.fontStyle} ` : ""}${s.fontVariant ? `${s.fontVariant} ` : ""}${s.fontWeight ? `${s.fontWeight} ` : ""}${s.fontStretch ? `${s.fontStretch} ` : ""}${s.fontSize || ""}${s.lineHeight ? `/${s.lineHeight} ` : ""}${s.fontFamily || ""}`); + }), t; +} +function xp(e, t) { + return { + toolbar: { + minHeight: 56, + [e.up("xs")]: { + "@media (orientation: landscape)": { + minHeight: 48 + } + }, + [e.up("sm")]: { + minHeight: 64 + } + }, + ...t + }; +} +function Rp(e) { + return Math.round(e * 1e5) / 1e5; +} +const ca = { + textTransform: "uppercase" +}, ua = '"Roboto", "Helvetica", "Arial", sans-serif'; +function Op(e, t) { + const { + fontFamily: n = ua, + // The default font size of the Material Specification. + fontSize: r = 14, + // px + fontWeightLight: i = 300, + fontWeightRegular: s = 400, + fontWeightMedium: a = 500, + fontWeightBold: l = 700, + // Tell MUI what's the font-size on the html element. + // 16px is the default font-size used by browsers. + htmlFontSize: c = 16, + // Apply the CSS properties to all the variants. + allVariants: u, + pxToRem: d, + ...h + } = typeof t == "function" ? t(e) : t; + process.env.NODE_ENV !== "production" && (typeof r != "number" && console.error("MUI: `fontSize` is required to be a number."), typeof c != "number" && console.error("MUI: `htmlFontSize` is required to be a number.")); + const b = r / 14, m = d || ((y) => `${y / c * b}rem`), g = (y, S, O, T, v) => ({ + fontFamily: n, + fontWeight: y, + fontSize: m(S), + // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/ + lineHeight: O, + // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing + // across font-families can cause issues with the kerning. + ...n === ua ? { + letterSpacing: `${Rp(T / S)}em` + } : {}, + ...v, + ...u + }), f = { + h1: g(i, 96, 1.167, -1.5), + h2: g(i, 60, 1.2, -0.5), + h3: g(s, 48, 1.167, 0), + h4: g(s, 34, 1.235, 0.25), + h5: g(s, 24, 1.334, 0), + h6: g(a, 20, 1.6, 0.15), + subtitle1: g(s, 16, 1.75, 0.15), + subtitle2: g(a, 14, 1.57, 0.1), + body1: g(s, 16, 1.5, 0.15), + body2: g(s, 14, 1.43, 0.15), + button: g(a, 14, 1.75, 0.4, ca), + caption: g(s, 12, 1.66, 0.4), + overline: g(s, 12, 2.66, 1, ca), + // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types. + inherit: { + fontFamily: "inherit", + fontWeight: "inherit", + fontSize: "inherit", + lineHeight: "inherit", + letterSpacing: "inherit" + } + }; + return et({ + htmlFontSize: c, + pxToRem: m, + fontFamily: n, + fontSize: r, + fontWeightLight: i, + fontWeightRegular: s, + fontWeightMedium: a, + fontWeightBold: l, + ...f + }, h, { + clone: !1 + // No need to clone deep + }); +} +const wp = 0.2, Cp = 0.14, Pp = 0.12; +function Le(...e) { + return [`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${wp})`, `${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${Cp})`, `${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${Pp})`].join(","); +} +const _p = ["none", Le(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), Le(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), Le(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), Le(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), Le(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), Le(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), Le(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), Le(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), Le(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), Le(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), Le(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), Le(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), Le(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), Le(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), Le(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), Le(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), Le(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), Le(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), Le(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), Le(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), Le(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), Le(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), Le(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), Le(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)], Ap = { + // This is the most common easing curve. + easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)", + // Objects enter the screen at full velocity from off-screen and + // slowly decelerate to a resting point. + easeOut: "cubic-bezier(0.0, 0, 0.2, 1)", + // Objects leave the screen at full velocity. They do not decelerate when off-screen. + easeIn: "cubic-bezier(0.4, 0, 1, 1)", + // The sharp curve is used by objects that may return to the screen at any time. + sharp: "cubic-bezier(0.4, 0, 0.6, 1)" +}, Ip = { + shortest: 150, + shorter: 200, + short: 250, + // most basic recommended timing + standard: 300, + // this is to be used in complex animations + complex: 375, + // recommended when something is entering screen + enteringScreen: 225, + // recommended when something is leaving screen + leavingScreen: 195 +}; +function da(e) { + return `${Math.round(e)}ms`; +} +function Np(e) { + if (!e) + return 0; + const t = e / 36; + return Math.min(Math.round((4 + 15 * t ** 0.25 + t / 5) * 10), 3e3); +} +function kp(e) { + const t = { + ...Ap, + ...e.easing + }, n = { + ...Ip, + ...e.duration + }; + return { + getAutoHeightDuration: Np, + create: (i = ["all"], s = {}) => { + const { + duration: a = n.standard, + easing: l = t.easeInOut, + delay: c = 0, + ...u + } = s; + if (process.env.NODE_ENV !== "production") { + const d = (b) => typeof b == "string", h = (b) => !Number.isNaN(parseFloat(b)); + !d(i) && !Array.isArray(i) && console.error('MUI: Argument "props" must be a string or Array.'), !h(a) && !d(a) && console.error(`MUI: Argument "duration" must be a number or a string but found ${a}.`), d(l) || console.error('MUI: Argument "easing" must be a string.'), !h(c) && !d(c) && console.error('MUI: Argument "delay" must be a number or a string.'), typeof s != "object" && console.error(["MUI: Secong argument of transition.create must be an object.", "Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join(` +`)), Object.keys(u).length !== 0 && console.error(`MUI: Unrecognized argument(s) [${Object.keys(u).join(",")}].`); + } + return (Array.isArray(i) ? i : [i]).map((d) => `${d} ${typeof a == "string" ? a : da(a)} ${l} ${typeof c == "string" ? c : da(c)}`).join(","); + }, + ...e, + easing: t, + duration: n + }; +} +const $p = { + mobileStepper: 1e3, + fab: 1050, + speedDial: 1050, + appBar: 1100, + drawer: 1200, + modal: 1300, + snackbar: 1400, + tooltip: 1500 +}; +function Mp(e) { + return _t(e) || typeof e > "u" || typeof e == "string" || typeof e == "boolean" || typeof e == "number" || Array.isArray(e); +} +function Ll(e = {}) { + const t = { + ...e + }; + function n(r) { + const i = Object.entries(r); + for (let s = 0; s < i.length; s++) { + const [a, l] = i[s]; + !Mp(l) || a.startsWith("unstable_") ? delete r[a] : _t(l) && (r[a] = { + ...l + }, n(r[a])); + } + } + return n(t), `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles'; + +const theme = ${JSON.stringify(t, null, 2)}; + +theme.breakpoints = createBreakpoints(theme.breakpoints || {}); +theme.transitions = createTransitions(theme.transitions || {}); + +export default theme;`; +} +function fa(e) { + return typeof e == "number" ? `${(e * 100).toFixed(0)}%` : `calc((${e}) * 100%)`; +} +const Dp = (e) => { + if (!Number.isNaN(+e)) + return +e; + const t = e.match(/\d*\.?\d+/g); + if (!t) + return 0; + let n = 0; + for (let r = 0; r < t.length; r += 1) + n += +t[r]; + return n; +}; +function jp(e) { + Object.assign(e, { + alpha(t, n) { + const r = this || e; + return r.colorSpace ? `oklch(from ${t} l c h / ${typeof n == "string" ? `calc(${n})` : n})` : r.vars ? `rgba(${t.replace(/var\(--([^,\s)]+)(?:,[^)]+)?\)+/g, "var(--$1Channel)")} / ${typeof n == "string" ? `calc(${n})` : n})` : Qr(t, Dp(n)); + }, + lighten(t, n) { + const r = this || e; + return r.colorSpace ? `color-mix(in ${r.colorSpace}, ${t}, #fff ${fa(n)})` : _o(t, n); + }, + darken(t, n) { + const r = this || e; + return r.colorSpace ? `color-mix(in ${r.colorSpace}, ${t}, #000 ${fa(n)})` : Po(t, n); + } + }); +} +function Ri(e = {}, ...t) { + const { + breakpoints: n, + mixins: r = {}, + spacing: i, + palette: s = {}, + transitions: a = {}, + typography: l = {}, + shape: c, + colorSpace: u, + ...d + } = e; + if (e.vars && // The error should throw only for the root theme creation because user is not allowed to use a custom node `vars`. + // `generateThemeVars` is the closest identifier for checking that the `options` is a result of `createTheme` with CSS variables so that user can create new theme for nested ThemeProvider. + e.generateThemeVars === void 0) + throw new Error(process.env.NODE_ENV !== "production" ? "MUI: `vars` is a private field used for CSS variables support.\nPlease use another name or follow the [docs](https://v7.mui.com/material-ui/customization/css-theme-variables/usage/) to enable the feature." : Ft(20)); + const h = ts({ + ...s, + colorSpace: u + }), b = Zi(e); + let m = et(b, { + mixins: xp(b.breakpoints, r), + palette: h, + // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol. + shadows: _p.slice(), + typography: Op(h, l), + transitions: kp(a), + zIndex: { + ...$p + } + }); + if (m = et(m, d), m = t.reduce((g, f) => et(g, f), m), process.env.NODE_ENV !== "production") { + const g = ["active", "checked", "completed", "disabled", "error", "expanded", "focused", "focusVisible", "required", "selected"], f = (y, S) => { + let O; + for (O in y) { + const T = y[O]; + if (g.includes(O) && Object.keys(T).length > 0) { + if (process.env.NODE_ENV !== "production") { + const v = ge("", O); + console.error([`MUI: The \`${S}\` component increases the CSS specificity of the \`${O}\` internal state.`, "You can not override it like this: ", JSON.stringify(y, null, 2), "", `Instead, you need to use the '&.${v}' syntax:`, JSON.stringify({ + root: { + [`&.${v}`]: T + } + }, null, 2), "", "https://mui.com/r/state-classes-guide"].join(` +`)); + } + y[O] = {}; + } + } + }; + Object.keys(m.components).forEach((y) => { + const S = m.components[y].styleOverrides; + S && y.startsWith("Mui") && f(S, y); + }); + } + return m.unstable_sxConfig = { + ...Sr, + ...d == null ? void 0 : d.unstable_sxConfig + }, m.unstable_sx = function(f) { + return $n({ + sx: f, + theme: this + }); + }, m.toRuntimeSource = Ll, jp(m), m; +} +function Oi(e) { + let t; + return e < 1 ? t = 5.11916 * e ** 2 : t = 4.5 * Math.log(e + 1) + 2, Math.round(t * 10) / 1e3; +} +const Lp = [...Array(25)].map((e, t) => { + if (t === 0) + return "none"; + const n = Oi(t); + return `linear-gradient(rgba(255 255 255 / ${n}), rgba(255 255 255 / ${n}))`; +}); +function Bl(e) { + return { + inputPlaceholder: e === "dark" ? 0.5 : 0.42, + inputUnderline: e === "dark" ? 0.7 : 0.42, + switchTrackDisabled: e === "dark" ? 0.2 : 0.12, + switchTrack: e === "dark" ? 0.3 : 0.38 + }; +} +function Fl(e) { + return e === "dark" ? Lp : []; +} +function Bp(e) { + const { + palette: t = { + mode: "light" + }, + // need to cast to avoid module augmentation test + opacity: n, + overlays: r, + colorSpace: i, + ...s + } = e, a = ts({ + ...t, + colorSpace: i + }); + return { + palette: a, + opacity: { + ...Bl(a.mode), + ...n + }, + overlays: r || Fl(a.mode), + ...s + }; +} +function Fp(e) { + var t; + return !!e[0].match(/(cssVarPrefix|colorSchemeSelector|modularCssLayers|rootSelector|typography|mixins|breakpoints|direction|transitions)/) || !!e[0].match(/sxConfig$/) || // ends with sxConfig + e[0] === "palette" && !!((t = e[1]) != null && t.match(/(mode|contrastThreshold|tonalOffset)/)); +} +const Up = (e) => [...[...Array(25)].map((t, n) => `--${e ? `${e}-` : ""}overlays-${n}`), `--${e ? `${e}-` : ""}palette-AppBar-darkBg`, `--${e ? `${e}-` : ""}palette-AppBar-darkColor`], Vp = (e) => (t, n) => { + const r = e.rootSelector || ":root", i = e.colorSchemeSelector; + let s = i; + if (i === "class" && (s = ".%s"), i === "data" && (s = "[data-%s]"), i != null && i.startsWith("data-") && !i.includes("%s") && (s = `[${i}="%s"]`), e.defaultColorScheme === t) { + if (t === "dark") { + const a = {}; + return Up(e.cssVarPrefix).forEach((l) => { + a[l] = n[l], delete n[l]; + }), s === "media" ? { + [r]: n, + "@media (prefers-color-scheme: dark)": { + [r]: a + } + } : s ? { + [s.replace("%s", t)]: a, + [`${r}, ${s.replace("%s", t)}`]: n + } : { + [r]: { + ...n, + ...a + } + }; + } + if (s && s !== "media") + return `${r}, ${s.replace("%s", String(t))}`; + } else if (t) { + if (s === "media") + return { + [`@media (prefers-color-scheme: ${String(t)})`]: { + [r]: n + } + }; + if (s) + return s.replace("%s", String(t)); + } + return r; +}; +function zp(e, t) { + t.forEach((n) => { + e[n] || (e[n] = {}); + }); +} +function M(e, t, n) { + !e[t] && n && (e[t] = n); +} +function rr(e) { + return typeof e != "string" || !e.startsWith("hsl") ? e : kl(e); +} +function jt(e, t) { + `${t}Channel` in e || (e[`${t}Channel`] = nr(rr(e[t]), `MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color(). +To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`)); +} +function Wp(e) { + return typeof e == "number" ? `${e}px` : typeof e == "string" || typeof e == "function" || Array.isArray(e) ? e : "8px"; +} +const Ot = (e) => { + try { + return e(); + } catch { + } +}, Hp = (e = "mui") => up(e); +function ii(e, t, n, r, i) { + if (!n) + return; + n = n === !0 ? {} : n; + const s = i === "dark" ? "dark" : "light"; + if (!r) { + t[i] = Bp({ + ...n, + palette: { + mode: s, + ...n == null ? void 0 : n.palette + }, + colorSpace: e + }); + return; + } + const { + palette: a, + ...l + } = Ri({ + ...r, + palette: { + mode: s, + ...n == null ? void 0 : n.palette + }, + colorSpace: e + }); + return t[i] = { + ...n, + palette: a, + opacity: { + ...Bl(s), + ...n == null ? void 0 : n.opacity + }, + overlays: (n == null ? void 0 : n.overlays) || Fl(s) + }, l; +} +function qp(e = {}, ...t) { + const { + colorSchemes: n = { + light: !0 + }, + defaultColorScheme: r, + disableCssColorScheme: i = !1, + cssVarPrefix: s = "mui", + nativeColor: a = !1, + shouldSkipGeneratingVar: l = Fp, + colorSchemeSelector: c = n.light && n.dark ? "media" : void 0, + rootSelector: u = ":root", + ...d + } = e, h = Object.keys(n)[0], b = r || (n.light && h !== "light" ? "light" : h), m = Hp(s), { + [b]: g, + light: f, + dark: y, + ...S + } = n, O = { + ...S + }; + let T = g; + if ((b === "dark" && !("dark" in n) || b === "light" && !("light" in n)) && (T = !0), !T) + throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The \`colorSchemes.${b}\` option is either missing or invalid.` : Ft(21, b)); + let v; + a && (v = "oklch"); + const E = ii(v, O, T, d, b); + f && !O.light && ii(v, O, f, void 0, "light"), y && !O.dark && ii(v, O, y, void 0, "dark"); + let w = { + defaultColorScheme: b, + ...E, + cssVarPrefix: s, + colorSchemeSelector: c, + rootSelector: u, + getCssVar: m, + colorSchemes: O, + font: { + ...Tp(E.typography), + ...E.font + }, + spacing: Wp(d.spacing) + }; + Object.keys(w.colorSchemes).forEach((F) => { + const p = w.colorSchemes[F].palette, A = (D) => { + const j = D.split("-"), H = j[1], te = j[2]; + return m(D, p[H][te]); + }; + p.mode === "light" && (M(p.common, "background", "#fff"), M(p.common, "onBackground", "#000")), p.mode === "dark" && (M(p.common, "background", "#000"), M(p.common, "onBackground", "#fff")); + function P(D, j, H) { + if (v) { + let te; + return D === Zt && (te = `transparent ${((1 - H) * 100).toFixed(0)}%`), D === Pe && (te = `#000 ${(H * 100).toFixed(0)}%`), D === _e && (te = `#fff ${(H * 100).toFixed(0)}%`), `color-mix(in ${v}, ${j}, ${te})`; + } + return D(j, H); + } + if (zp(p, ["Alert", "AppBar", "Avatar", "Button", "Chip", "FilledInput", "LinearProgress", "Skeleton", "Slider", "SnackbarContent", "SpeedDialAction", "StepConnector", "StepContent", "Switch", "TableCell", "Tooltip"]), p.mode === "light") { + M(p.Alert, "errorColor", P(Pe, a ? m("palette-error-light") : p.error.light, 0.6)), M(p.Alert, "infoColor", P(Pe, a ? m("palette-info-light") : p.info.light, 0.6)), M(p.Alert, "successColor", P(Pe, a ? m("palette-success-light") : p.success.light, 0.6)), M(p.Alert, "warningColor", P(Pe, a ? m("palette-warning-light") : p.warning.light, 0.6)), M(p.Alert, "errorFilledBg", A("palette-error-main")), M(p.Alert, "infoFilledBg", A("palette-info-main")), M(p.Alert, "successFilledBg", A("palette-success-main")), M(p.Alert, "warningFilledBg", A("palette-warning-main")), M(p.Alert, "errorFilledColor", Ot(() => p.getContrastText(p.error.main))), M(p.Alert, "infoFilledColor", Ot(() => p.getContrastText(p.info.main))), M(p.Alert, "successFilledColor", Ot(() => p.getContrastText(p.success.main))), M(p.Alert, "warningFilledColor", Ot(() => p.getContrastText(p.warning.main))), M(p.Alert, "errorStandardBg", P(_e, a ? m("palette-error-light") : p.error.light, 0.9)), M(p.Alert, "infoStandardBg", P(_e, a ? m("palette-info-light") : p.info.light, 0.9)), M(p.Alert, "successStandardBg", P(_e, a ? m("palette-success-light") : p.success.light, 0.9)), M(p.Alert, "warningStandardBg", P(_e, a ? m("palette-warning-light") : p.warning.light, 0.9)), M(p.Alert, "errorIconColor", A("palette-error-main")), M(p.Alert, "infoIconColor", A("palette-info-main")), M(p.Alert, "successIconColor", A("palette-success-main")), M(p.Alert, "warningIconColor", A("palette-warning-main")), M(p.AppBar, "defaultBg", A("palette-grey-100")), M(p.Avatar, "defaultBg", A("palette-grey-400")), M(p.Button, "inheritContainedBg", A("palette-grey-300")), M(p.Button, "inheritContainedHoverBg", A("palette-grey-A100")), M(p.Chip, "defaultBorder", A("palette-grey-400")), M(p.Chip, "defaultAvatarColor", A("palette-grey-700")), M(p.Chip, "defaultIconColor", A("palette-grey-700")), M(p.FilledInput, "bg", "rgba(0, 0, 0, 0.06)"), M(p.FilledInput, "hoverBg", "rgba(0, 0, 0, 0.09)"), M(p.FilledInput, "disabledBg", "rgba(0, 0, 0, 0.12)"), M(p.LinearProgress, "primaryBg", P(_e, a ? m("palette-primary-main") : p.primary.main, 0.62)), M(p.LinearProgress, "secondaryBg", P(_e, a ? m("palette-secondary-main") : p.secondary.main, 0.62)), M(p.LinearProgress, "errorBg", P(_e, a ? m("palette-error-main") : p.error.main, 0.62)), M(p.LinearProgress, "infoBg", P(_e, a ? m("palette-info-main") : p.info.main, 0.62)), M(p.LinearProgress, "successBg", P(_e, a ? m("palette-success-main") : p.success.main, 0.62)), M(p.LinearProgress, "warningBg", P(_e, a ? m("palette-warning-light") : p.warning.main, 0.62)), M(p.Skeleton, "bg", v ? P(Zt, a ? m("palette-text-primary") : p.text.primary, 0.11) : `rgba(${A("palette-text-primaryChannel")} / 0.11)`), M(p.Slider, "primaryTrack", P(_e, a ? m("palette-primary-main") : p.primary.main, 0.62)), M(p.Slider, "secondaryTrack", P(_e, a ? m("palette-secondary-main") : p.secondary.main, 0.62)), M(p.Slider, "errorTrack", P(_e, a ? m("palette-error-main") : p.error.main, 0.62)), M(p.Slider, "infoTrack", P(_e, a ? m("palette-info-main") : p.info.main, 0.62)), M(p.Slider, "successTrack", P(_e, a ? m("palette-success-main") : p.success.main, 0.62)), M(p.Slider, "warningTrack", P(_e, a ? m("palette-warning-main") : p.warning.main, 0.62)); + const D = v ? P(Pe, a ? m("palette-background-default") : p.background.default, 0.6825) : $r(p.background.default, 0.8); + M(p.SnackbarContent, "bg", D), M(p.SnackbarContent, "color", Ot(() => v ? xi.text.primary : p.getContrastText(D))), M(p.SpeedDialAction, "fabHoverBg", $r(p.background.paper, 0.15)), M(p.StepConnector, "border", A("palette-grey-400")), M(p.StepContent, "border", A("palette-grey-400")), M(p.Switch, "defaultColor", A("palette-common-white")), M(p.Switch, "defaultDisabledColor", A("palette-grey-100")), M(p.Switch, "primaryDisabledColor", P(_e, a ? m("palette-primary-main") : p.primary.main, 0.62)), M(p.Switch, "secondaryDisabledColor", P(_e, a ? m("palette-secondary-main") : p.secondary.main, 0.62)), M(p.Switch, "errorDisabledColor", P(_e, a ? m("palette-error-main") : p.error.main, 0.62)), M(p.Switch, "infoDisabledColor", P(_e, a ? m("palette-info-main") : p.info.main, 0.62)), M(p.Switch, "successDisabledColor", P(_e, a ? m("palette-success-main") : p.success.main, 0.62)), M(p.Switch, "warningDisabledColor", P(_e, a ? m("palette-warning-main") : p.warning.main, 0.62)), M(p.TableCell, "border", P(_e, Zt(a ? m("palette-divider") : p.divider, 1), 0.88)), M(p.Tooltip, "bg", P(Zt, a ? m("palette-grey-700") : p.grey[700], 0.92)); + } + if (p.mode === "dark") { + M(p.Alert, "errorColor", P(_e, a ? m("palette-error-light") : p.error.light, 0.6)), M(p.Alert, "infoColor", P(_e, a ? m("palette-info-light") : p.info.light, 0.6)), M(p.Alert, "successColor", P(_e, a ? m("palette-success-light") : p.success.light, 0.6)), M(p.Alert, "warningColor", P(_e, a ? m("palette-warning-light") : p.warning.light, 0.6)), M(p.Alert, "errorFilledBg", A("palette-error-dark")), M(p.Alert, "infoFilledBg", A("palette-info-dark")), M(p.Alert, "successFilledBg", A("palette-success-dark")), M(p.Alert, "warningFilledBg", A("palette-warning-dark")), M(p.Alert, "errorFilledColor", Ot(() => p.getContrastText(p.error.dark))), M(p.Alert, "infoFilledColor", Ot(() => p.getContrastText(p.info.dark))), M(p.Alert, "successFilledColor", Ot(() => p.getContrastText(p.success.dark))), M(p.Alert, "warningFilledColor", Ot(() => p.getContrastText(p.warning.dark))), M(p.Alert, "errorStandardBg", P(Pe, a ? m("palette-error-light") : p.error.light, 0.9)), M(p.Alert, "infoStandardBg", P(Pe, a ? m("palette-info-light") : p.info.light, 0.9)), M(p.Alert, "successStandardBg", P(Pe, a ? m("palette-success-light") : p.success.light, 0.9)), M(p.Alert, "warningStandardBg", P(Pe, a ? m("palette-warning-light") : p.warning.light, 0.9)), M(p.Alert, "errorIconColor", A("palette-error-main")), M(p.Alert, "infoIconColor", A("palette-info-main")), M(p.Alert, "successIconColor", A("palette-success-main")), M(p.Alert, "warningIconColor", A("palette-warning-main")), M(p.AppBar, "defaultBg", A("palette-grey-900")), M(p.AppBar, "darkBg", A("palette-background-paper")), M(p.AppBar, "darkColor", A("palette-text-primary")), M(p.Avatar, "defaultBg", A("palette-grey-600")), M(p.Button, "inheritContainedBg", A("palette-grey-800")), M(p.Button, "inheritContainedHoverBg", A("palette-grey-700")), M(p.Chip, "defaultBorder", A("palette-grey-700")), M(p.Chip, "defaultAvatarColor", A("palette-grey-300")), M(p.Chip, "defaultIconColor", A("palette-grey-300")), M(p.FilledInput, "bg", "rgba(255, 255, 255, 0.09)"), M(p.FilledInput, "hoverBg", "rgba(255, 255, 255, 0.13)"), M(p.FilledInput, "disabledBg", "rgba(255, 255, 255, 0.12)"), M(p.LinearProgress, "primaryBg", P(Pe, a ? m("palette-primary-main") : p.primary.main, 0.5)), M(p.LinearProgress, "secondaryBg", P(Pe, a ? m("palette-secondary-main") : p.secondary.main, 0.5)), M(p.LinearProgress, "errorBg", P(Pe, a ? m("palette-error-main") : p.error.main, 0.5)), M(p.LinearProgress, "infoBg", P(Pe, a ? m("palette-info-main") : p.info.main, 0.5)), M(p.LinearProgress, "successBg", P(Pe, a ? m("palette-success-main") : p.success.main, 0.5)), M(p.LinearProgress, "warningBg", P(Pe, a ? m("palette-warning-main") : p.warning.main, 0.5)), M(p.Skeleton, "bg", v ? P(Zt, a ? m("palette-text-primary") : p.text.primary, 0.13) : `rgba(${A("palette-text-primaryChannel")} / 0.13)`), M(p.Slider, "primaryTrack", P(Pe, a ? m("palette-primary-main") : p.primary.main, 0.5)), M(p.Slider, "secondaryTrack", P(Pe, a ? m("palette-secondary-main") : p.secondary.main, 0.5)), M(p.Slider, "errorTrack", P(Pe, a ? m("palette-error-main") : p.error.main, 0.5)), M(p.Slider, "infoTrack", P(Pe, a ? m("palette-info-main") : p.info.main, 0.5)), M(p.Slider, "successTrack", P(Pe, a ? m("palette-success-main") : p.success.main, 0.5)), M(p.Slider, "warningTrack", P(Pe, a ? m("palette-warning-light") : p.warning.main, 0.5)); + const D = v ? P(_e, a ? m("palette-background-default") : p.background.default, 0.985) : $r(p.background.default, 0.98); + M(p.SnackbarContent, "bg", D), M(p.SnackbarContent, "color", Ot(() => v ? Dl.text.primary : p.getContrastText(D))), M(p.SpeedDialAction, "fabHoverBg", $r(p.background.paper, 0.15)), M(p.StepConnector, "border", A("palette-grey-600")), M(p.StepContent, "border", A("palette-grey-600")), M(p.Switch, "defaultColor", A("palette-grey-300")), M(p.Switch, "defaultDisabledColor", A("palette-grey-600")), M(p.Switch, "primaryDisabledColor", P(Pe, a ? m("palette-primary-main") : p.primary.main, 0.55)), M(p.Switch, "secondaryDisabledColor", P(Pe, a ? m("palette-secondary-main") : p.secondary.main, 0.55)), M(p.Switch, "errorDisabledColor", P(Pe, a ? m("palette-error-main") : p.error.main, 0.55)), M(p.Switch, "infoDisabledColor", P(Pe, a ? m("palette-info-main") : p.info.main, 0.55)), M(p.Switch, "successDisabledColor", P(Pe, a ? m("palette-success-main") : p.success.main, 0.55)), M(p.Switch, "warningDisabledColor", P(Pe, a ? m("palette-warning-light") : p.warning.main, 0.55)), M(p.TableCell, "border", P(Pe, Zt(a ? m("palette-divider") : p.divider, 1), 0.68)), M(p.Tooltip, "bg", P(Zt, a ? m("palette-grey-700") : p.grey[700], 0.92)); + } + a || (jt(p.background, "default"), jt(p.background, "paper"), jt(p.common, "background"), jt(p.common, "onBackground"), jt(p, "divider")), Object.keys(p).forEach((D) => { + const j = p[D]; + D !== "tonalOffset" && !a && j && typeof j == "object" && (j.main && M(p[D], "mainChannel", nr(rr(j.main))), j.light && M(p[D], "lightChannel", nr(rr(j.light))), j.dark && M(p[D], "darkChannel", nr(rr(j.dark))), j.contrastText && M(p[D], "contrastTextChannel", nr(rr(j.contrastText))), D === "text" && (jt(p[D], "primary"), jt(p[D], "secondary")), D === "action" && (j.active && jt(p[D], "active"), j.selected && jt(p[D], "selected"))); + }); + }), w = t.reduce((F, p) => et(F, p), w); + const k = { + prefix: s, + disableCssColorScheme: i, + shouldSkipGeneratingVar: l, + getSelector: Vp(w), + enableContrastVars: a + }, { + vars: L, + generateThemeVars: z, + generateStyleSheets: W + } = pp(w, k); + return w.vars = L, Object.entries(w.colorSchemes[w.defaultColorScheme]).forEach(([F, p]) => { + w[F] = p; + }), w.generateThemeVars = z, w.generateStyleSheets = W, w.generateSpacing = function() { + return Ol(d.spacing, Ji(this)); + }, w.getColorSchemeSelector = mp(c), w.spacing = w.generateSpacing(), w.shouldSkipGeneratingVar = l, w.unstable_sxConfig = { + ...Sr, + ...d == null ? void 0 : d.unstable_sxConfig + }, w.unstable_sx = function(p) { + return $n({ + sx: p, + theme: this + }); + }, w.toRuntimeSource = Ll, w; +} +function pa(e, t, n) { + e.colorSchemes && n && (e.colorSchemes[t] = { + ...n !== !0 && n, + palette: ts({ + ...n === !0 ? {} : n.palette, + mode: t + }) + // cast type to skip module augmentation test + }); +} +function Gp(e = {}, ...t) { + const { + palette: n, + cssVariables: r = !1, + colorSchemes: i = n ? void 0 : { + light: !0 + }, + defaultColorScheme: s = n == null ? void 0 : n.mode, + ...a + } = e, l = s || "light", c = i == null ? void 0 : i[l], u = { + ...i, + ...n ? { + [l]: { + ...typeof c != "boolean" && c, + palette: n + } + } : void 0 + }; + if (r === !1) { + if (!("colorSchemes" in e)) + return Ri(e, ...t); + let d = n; + "palette" in e || u[l] && (u[l] !== !0 ? d = u[l].palette : l === "dark" && (d = { + mode: "dark" + })); + const h = Ri({ + ...e, + palette: d + }, ...t); + return h.defaultColorScheme = l, h.colorSchemes = u, h.palette.mode === "light" && (h.colorSchemes.light = { + ...u.light !== !0 && u.light, + palette: h.palette + }, pa(h, "dark", u.dark)), h.palette.mode === "dark" && (h.colorSchemes.dark = { + ...u.dark !== !0 && u.dark, + palette: h.palette + }, pa(h, "light", u.light)), h; + } + return !n && !("light" in u) && l === "light" && (u.light = !0), qp({ + ...a, + colorSchemes: u, + defaultColorScheme: l, + ...typeof r != "boolean" && r + }, ...t); +} +const ns = Gp(); +function Ao() { + const e = wl(ns); + return process.env.NODE_ENV !== "production" && x.useDebugValue(e), e[Ui] || e; +} +function Ul(e) { + return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as"; +} +const vt = (e) => Ul(e) && e !== "classes", ie = qf({ + themeId: Ui, + defaultTheme: ns, + rootShouldForwardProp: vt +}); +function ma(...e) { + return e.reduce((t, n) => n == null ? t : function(...i) { + t.apply(this, i), n.apply(this, i); + }, () => { + }); +} +function Vl(e) { + return /* @__PURE__ */ $.jsx(Cl, { + ...e, + defaultTheme: ns, + themeId: Ui + }); +} +process.env.NODE_ENV !== "production" && (Vl.propTypes = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * The styles you want to apply globally. + */ + styles: o.oneOfType([o.array, o.func, o.number, o.object, o.string, o.bool]) +}); +function Yp(e) { + return function(n) { + return ( + // Pigment CSS `globalCss` support callback with theme inside an object but `GlobalStyles` support theme as a callback value. + /* @__PURE__ */ $.jsx(Vl, { + styles: typeof e == "function" ? (r) => e({ + theme: r, + ...n + }) : e + }) + ); + }; +} +function Kp() { + return Lf; +} +const ke = cp; +process.env.NODE_ENV !== "production" && (o.node, o.object.isRequired); +function Ce(e) { + return sp(e); +} +function Xp(e) { + return ge("MuiSvgIcon", e); +} +Ee("MuiSvgIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]); +const Jp = (e) => { + const { + color: t, + fontSize: n, + classes: r + } = e, i = { + root: ["root", t !== "inherit" && `color${ae(t)}`, `fontSize${ae(n)}`] + }; + return Se(i, Xp, r); +}, Qp = ie("svg", { + name: "MuiSvgIcon", + slot: "Root", + overridesResolver: (e, t) => { + const { + ownerState: n + } = e; + return [t.root, n.color !== "inherit" && t[`color${ae(n.color)}`], t[`fontSize${ae(n.fontSize)}`]]; + } +})(ke(({ + theme: e +}) => { + var t, n, r, i, s, a, l, c, u, d, h, b, m, g; + return { + userSelect: "none", + width: "1em", + height: "1em", + display: "inline-block", + flexShrink: 0, + transition: (i = (t = e.transitions) == null ? void 0 : t.create) == null ? void 0 : i.call(t, "fill", { + duration: (r = (n = (e.vars ?? e).transitions) == null ? void 0 : n.duration) == null ? void 0 : r.shorter + }), + variants: [ + { + props: (f) => !f.hasSvgAsChild, + style: { + // the will define the property that has `currentColor` + // for example heroicons uses fill="none" and stroke="currentColor" + fill: "currentColor" + } + }, + { + props: { + fontSize: "inherit" + }, + style: { + fontSize: "inherit" + } + }, + { + props: { + fontSize: "small" + }, + style: { + fontSize: ((a = (s = e.typography) == null ? void 0 : s.pxToRem) == null ? void 0 : a.call(s, 20)) || "1.25rem" + } + }, + { + props: { + fontSize: "medium" + }, + style: { + fontSize: ((c = (l = e.typography) == null ? void 0 : l.pxToRem) == null ? void 0 : c.call(l, 24)) || "1.5rem" + } + }, + { + props: { + fontSize: "large" + }, + style: { + fontSize: ((d = (u = e.typography) == null ? void 0 : u.pxToRem) == null ? void 0 : d.call(u, 35)) || "2.1875rem" + } + }, + // TODO v5 deprecate color prop, v6 remove for sx + ...Object.entries((e.vars ?? e).palette).filter(([, f]) => f && f.main).map(([f]) => { + var y, S; + return { + props: { + color: f + }, + style: { + color: (S = (y = (e.vars ?? e).palette) == null ? void 0 : y[f]) == null ? void 0 : S.main + } + }; + }), + { + props: { + color: "action" + }, + style: { + color: (b = (h = (e.vars ?? e).palette) == null ? void 0 : h.action) == null ? void 0 : b.active + } + }, + { + props: { + color: "disabled" + }, + style: { + color: (g = (m = (e.vars ?? e).palette) == null ? void 0 : m.action) == null ? void 0 : g.disabled + } + }, + { + props: { + color: "inherit" + }, + style: { + color: void 0 + } + } + ] + }; +})), Zr = /* @__PURE__ */ x.forwardRef(function(t, n) { + const r = Ce({ + props: t, + name: "MuiSvgIcon" + }), { + children: i, + className: s, + color: a = "inherit", + component: l = "svg", + fontSize: c = "medium", + htmlColor: u, + inheritViewBox: d = !1, + titleAccess: h, + viewBox: b = "0 0 24 24", + ...m + } = r, g = /* @__PURE__ */ x.isValidElement(i) && i.type === "svg", f = { + ...r, + color: a, + component: l, + fontSize: c, + instanceFontSize: t.fontSize, + inheritViewBox: d, + viewBox: b, + hasSvgAsChild: g + }, y = {}; + d || (y.viewBox = b); + const S = Jp(f); + return /* @__PURE__ */ $.jsxs(Qp, { + as: l, + className: ue(S.root, s), + focusable: "false", + color: u, + "aria-hidden": h ? void 0 : !0, + role: h ? "img" : void 0, + ref: n, + ...y, + ...m, + ...g && i.props, + ownerState: f, + children: [g ? i.props.children : i, h ? /* @__PURE__ */ $.jsx("title", { + children: h + }) : null] + }); +}); +process.env.NODE_ENV !== "production" && (Zr.propTypes = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * Node passed into the SVG element. + */ + children: o.node, + /** + * Override or extend the styles applied to the component. + */ + classes: o.object, + /** + * @ignore + */ + className: o.string, + /** + * The color of the component. + * It supports both default and custom theme colors, which can be added as shown in the + * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). + * You can use the `htmlColor` prop to apply a color attribute to the SVG element. + * @default 'inherit' + */ + color: o.oneOfType([o.oneOf(["inherit", "action", "disabled", "primary", "secondary", "error", "info", "success", "warning"]), o.string]), + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: o.elementType, + /** + * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size. + * @default 'medium' + */ + fontSize: o.oneOfType([o.oneOf(["inherit", "large", "medium", "small"]), o.string]), + /** + * Applies a color attribute to the SVG element. + */ + htmlColor: o.string, + /** + * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox` + * prop will be ignored. + * Useful when you want to reference a custom `component` and have `SvgIcon` pass that + * `component`'s viewBox to the root node. + * @default false + */ + inheritViewBox: o.bool, + /** + * The shape-rendering attribute. The behavior of the different options is described on the + * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/shape-rendering). + * If you are having issues with blurry icons you should investigate this prop. + */ + shapeRendering: o.string, + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]), + /** + * Provides a human-readable title for the element that contains it. + * https://www.w3.org/TR/SVG-access/#Equivalent + */ + titleAccess: o.string, + /** + * Allows you to redefine what the coordinates without units mean inside an SVG element. + * For example, if the SVG element is 500 (width) by 200 (height), + * and you pass viewBox="0 0 50 20", + * this means that the coordinates inside the SVG will go from the top left corner (0,0) + * to bottom right (50,20) and each unit will be worth 10px. + * @default '0 0 24 24' + */ + viewBox: o.string +}); +Zr.muiName = "SvgIcon"; +function zl(e, t) { + function n(r, i) { + return /* @__PURE__ */ $.jsx(Zr, { + "data-testid": process.env.NODE_ENV !== "production" ? `${t}Icon` : void 0, + ref: i, + ...r, + children: e + }); + } + return process.env.NODE_ENV !== "production" && (n.displayName = `${t}Icon`), n.muiName = Zr.muiName, /* @__PURE__ */ x.memo(/* @__PURE__ */ x.forwardRef(n)); +} +function Wl(e, t = 166) { + let n; + function r(...i) { + const s = () => { + e.apply(this, i); + }; + clearTimeout(n), n = setTimeout(s, t); + } + return r.clear = () => { + clearTimeout(n); + }, r; +} +function gt(e) { + return e && e.ownerDocument || document; +} +function zt(e) { + return gt(e).defaultView || window; +} +function ha(e, t) { + typeof e == "function" ? e(t) : e && (e.current = t); +} +function ya(e) { + const { + controlled: t, + default: n, + name: r, + state: i = "value" + } = e, { + current: s + } = x.useRef(t !== void 0), [a, l] = x.useState(n), c = s ? t : a; + if (process.env.NODE_ENV !== "production") { + x.useEffect(() => { + s !== (t !== void 0) && console.error([`MUI: A component is changing the ${s ? "" : "un"}controlled ${i} state of ${r} to be ${s ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${r} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join(` +`)); + }, [i, r, t]); + const { + current: d + } = x.useRef(n); + x.useEffect(() => { + !s && JSON.stringify(n) !== JSON.stringify(d) && console.error([`MUI: A component is changing the default ${i} state of an uncontrolled ${r} after being initialized. To suppress this warning opt to use a controlled ${r}.`].join(` +`)); + }, [JSON.stringify(n)]); + } + const u = x.useCallback((d) => { + s || l(d); + }, []); + return [c, u]; +} +function ln(e) { + const t = x.useRef(e); + return Vt(() => { + t.current = e; + }), x.useRef((...n) => ( + // @ts-expect-error hide `this` + (0, t.current)(...n) + )).current; +} +function rt(...e) { + const t = x.useRef(void 0), n = x.useCallback((r) => { + const i = e.map((s) => { + if (s == null) + return null; + if (typeof s == "function") { + const a = s, l = a(r); + return typeof l == "function" ? l : () => { + a(null); + }; + } + return s.current = r, () => { + s.current = null; + }; + }); + return () => { + i.forEach((s) => s == null ? void 0 : s()); + }; + }, e); + return x.useMemo(() => e.every((r) => r == null) ? null : (r) => { + t.current && (t.current(), t.current = void 0), r != null && (t.current = n(r)); + }, e); +} +function Zp(e, t) { + const n = e.charCodeAt(2); + return e[0] === "o" && e[1] === "n" && n >= 65 && n <= 90 && typeof t == "function"; +} +function em(e, t) { + if (!e) + return t; + function n(a, l) { + const c = {}; + return Object.keys(l).forEach((u) => { + Zp(u, l[u]) && typeof a[u] == "function" && (c[u] = (...d) => { + a[u](...d), l[u](...d); + }); + }), c; + } + if (typeof e == "function" || typeof t == "function") + return (a) => { + const l = typeof t == "function" ? t(a) : t, c = typeof e == "function" ? e({ + ...a, + ...l + }) : e, u = ue(a == null ? void 0 : a.className, l == null ? void 0 : l.className, c == null ? void 0 : c.className), d = n(c, l); + return { + ...l, + ...c, + ...d, + ...!!u && { + className: u + }, + ...(l == null ? void 0 : l.style) && (c == null ? void 0 : c.style) && { + style: { + ...l.style, + ...c.style + } + }, + ...(l == null ? void 0 : l.sx) && (c == null ? void 0 : c.sx) && { + sx: [...Array.isArray(l.sx) ? l.sx : [l.sx], ...Array.isArray(c.sx) ? c.sx : [c.sx]] + } + }; + }; + const r = t, i = n(e, r), s = ue(r == null ? void 0 : r.className, e == null ? void 0 : e.className); + return { + ...t, + ...e, + ...i, + ...!!s && { + className: s + }, + ...(r == null ? void 0 : r.style) && (e == null ? void 0 : e.style) && { + style: { + ...r.style, + ...e.style + } + }, + ...(r == null ? void 0 : r.sx) && (e == null ? void 0 : e.sx) && { + sx: [...Array.isArray(r.sx) ? r.sx : [r.sx], ...Array.isArray(e.sx) ? e.sx : [e.sx]] + } + }; +} +function fn(e, t) { + return process.env.NODE_ENV === "production" ? () => null : function(...r) { + return e(...r) || t(...r); + }; +} +function Hl(e, t) { + if (e == null) return {}; + var n = {}; + for (var r in e) if ({}.hasOwnProperty.call(e, r)) { + if (t.indexOf(r) !== -1) continue; + n[r] = e[r]; + } + return n; +} +function wi(e, t) { + return wi = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, r) { + return n.__proto__ = r, n; + }, wi(e, t); +} +function ql(e, t) { + e.prototype = Object.create(t.prototype), e.prototype.constructor = e, wi(e, t); +} +const ga = { + disabled: !1 +}; +var tm = process.env.NODE_ENV !== "production" ? o.oneOfType([o.number, o.shape({ + enter: o.number, + exit: o.number, + appear: o.number +}).isRequired]) : null; +process.env.NODE_ENV !== "production" && o.oneOfType([o.string, o.shape({ + enter: o.string, + exit: o.string, + active: o.string +}), o.shape({ + enter: o.string, + enterDone: o.string, + enterActive: o.string, + exit: o.string, + exitDone: o.string, + exitActive: o.string +})]); +const eo = xt.createContext(null); +var nm = function(t) { + return t.scrollTop; +}, or = "unmounted", nn = "exited", rn = "entering", _n = "entered", Ci = "exiting", It = /* @__PURE__ */ function(e) { + ql(t, e); + function t(r, i) { + var s; + s = e.call(this, r, i) || this; + var a = i, l = a && !a.isMounting ? r.enter : r.appear, c; + return s.appearStatus = null, r.in ? l ? (c = nn, s.appearStatus = rn) : c = _n : r.unmountOnExit || r.mountOnEnter ? c = or : c = nn, s.state = { + status: c + }, s.nextCallback = null, s; + } + t.getDerivedStateFromProps = function(i, s) { + var a = i.in; + return a && s.status === or ? { + status: nn + } : null; + }; + var n = t.prototype; + return n.componentDidMount = function() { + this.updateStatus(!0, this.appearStatus); + }, n.componentDidUpdate = function(i) { + var s = null; + if (i !== this.props) { + var a = this.state.status; + this.props.in ? a !== rn && a !== _n && (s = rn) : (a === rn || a === _n) && (s = Ci); + } + this.updateStatus(!1, s); + }, n.componentWillUnmount = function() { + this.cancelNextCallback(); + }, n.getTimeouts = function() { + var i = this.props.timeout, s, a, l; + return s = a = l = i, i != null && typeof i != "number" && (s = i.exit, a = i.enter, l = i.appear !== void 0 ? i.appear : a), { + exit: s, + enter: a, + appear: l + }; + }, n.updateStatus = function(i, s) { + if (i === void 0 && (i = !1), s !== null) + if (this.cancelNextCallback(), s === rn) { + if (this.props.unmountOnExit || this.props.mountOnEnter) { + var a = this.props.nodeRef ? this.props.nodeRef.current : Ir.findDOMNode(this); + a && nm(a); + } + this.performEnter(i); + } else + this.performExit(); + else this.props.unmountOnExit && this.state.status === nn && this.setState({ + status: or + }); + }, n.performEnter = function(i) { + var s = this, a = this.props.enter, l = this.context ? this.context.isMounting : i, c = this.props.nodeRef ? [l] : [Ir.findDOMNode(this), l], u = c[0], d = c[1], h = this.getTimeouts(), b = l ? h.appear : h.enter; + if (!i && !a || ga.disabled) { + this.safeSetState({ + status: _n + }, function() { + s.props.onEntered(u); + }); + return; + } + this.props.onEnter(u, d), this.safeSetState({ + status: rn + }, function() { + s.props.onEntering(u, d), s.onTransitionEnd(b, function() { + s.safeSetState({ + status: _n + }, function() { + s.props.onEntered(u, d); + }); + }); + }); + }, n.performExit = function() { + var i = this, s = this.props.exit, a = this.getTimeouts(), l = this.props.nodeRef ? void 0 : Ir.findDOMNode(this); + if (!s || ga.disabled) { + this.safeSetState({ + status: nn + }, function() { + i.props.onExited(l); + }); + return; + } + this.props.onExit(l), this.safeSetState({ + status: Ci + }, function() { + i.props.onExiting(l), i.onTransitionEnd(a.exit, function() { + i.safeSetState({ + status: nn + }, function() { + i.props.onExited(l); + }); + }); + }); + }, n.cancelNextCallback = function() { + this.nextCallback !== null && (this.nextCallback.cancel(), this.nextCallback = null); + }, n.safeSetState = function(i, s) { + s = this.setNextCallback(s), this.setState(i, s); + }, n.setNextCallback = function(i) { + var s = this, a = !0; + return this.nextCallback = function(l) { + a && (a = !1, s.nextCallback = null, i(l)); + }, this.nextCallback.cancel = function() { + a = !1; + }, this.nextCallback; + }, n.onTransitionEnd = function(i, s) { + this.setNextCallback(s); + var a = this.props.nodeRef ? this.props.nodeRef.current : Ir.findDOMNode(this), l = i == null && !this.props.addEndListener; + if (!a || l) { + setTimeout(this.nextCallback, 0); + return; + } + if (this.props.addEndListener) { + var c = this.props.nodeRef ? [this.nextCallback] : [a, this.nextCallback], u = c[0], d = c[1]; + this.props.addEndListener(u, d); + } + i != null && setTimeout(this.nextCallback, i); + }, n.render = function() { + var i = this.state.status; + if (i === or) + return null; + var s = this.props, a = s.children; + s.in, s.mountOnEnter, s.unmountOnExit, s.appear, s.enter, s.exit, s.timeout, s.addEndListener, s.onEnter, s.onEntering, s.onEntered, s.onExit, s.onExiting, s.onExited, s.nodeRef; + var l = Hl(s, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]); + return ( + // allows for nested Transitions + /* @__PURE__ */ xt.createElement(eo.Provider, { + value: null + }, typeof a == "function" ? a(i, l) : xt.cloneElement(xt.Children.only(a), l)) + ); + }, t; +}(xt.Component); +It.contextType = eo; +It.propTypes = process.env.NODE_ENV !== "production" ? { + /** + * A React reference to DOM element that need to transition: + * https://stackoverflow.com/a/51127130/4671932 + * + * - When `nodeRef` prop is used, `node` is not passed to callback functions + * (e.g. `onEnter`) because user already has direct access to the node. + * - When changing `key` prop of `Transition` in a `TransitionGroup` a new + * `nodeRef` need to be provided to `Transition` with changed `key` prop + * (see + * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)). + */ + nodeRef: o.shape({ + current: typeof Element > "u" ? o.any : function(e, t, n, r, i, s) { + var a = e[t]; + return o.instanceOf(a && "ownerDocument" in a ? a.ownerDocument.defaultView.Element : Element)(e, t, n, r, i, s); + } + }), + /** + * A `function` child can be used instead of a React element. This function is + * called with the current transition status (`'entering'`, `'entered'`, + * `'exiting'`, `'exited'`), which can be used to apply context + * specific props to a component. + * + * ```jsx + * + * {state => ( + * + * )} + * + * ``` + */ + children: o.oneOfType([o.func.isRequired, o.element.isRequired]).isRequired, + /** + * Show the component; triggers the enter or exit states + */ + in: o.bool, + /** + * By default the child component is mounted immediately along with + * the parent `Transition` component. If you want to "lazy mount" the component on the + * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay + * mounted, even on "exited", unless you also specify `unmountOnExit`. + */ + mountOnEnter: o.bool, + /** + * By default the child component stays mounted after it reaches the `'exited'` state. + * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting. + */ + unmountOnExit: o.bool, + /** + * By default the child component does not perform the enter transition when + * it first mounts, regardless of the value of `in`. If you want this + * behavior, set both `appear` and `in` to `true`. + * + * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop + * > only adds an additional enter transition. However, in the + * > `` component that first enter transition does result in + * > additional `.appear-*` classes, that way you can choose to style it + * > differently. + */ + appear: o.bool, + /** + * Enable or disable enter transitions. + */ + enter: o.bool, + /** + * Enable or disable exit transitions. + */ + exit: o.bool, + /** + * The duration of the transition, in milliseconds. + * Required unless `addEndListener` is provided. + * + * You may specify a single timeout for all transitions: + * + * ```jsx + * timeout={500} + * ``` + * + * or individually: + * + * ```jsx + * timeout={{ + * appear: 500, + * enter: 300, + * exit: 500, + * }} + * ``` + * + * - `appear` defaults to the value of `enter` + * - `enter` defaults to `0` + * - `exit` defaults to `0` + * + * @type {number | { enter?: number, exit?: number, appear?: number }} + */ + timeout: function(t) { + var n = tm; + t.addEndListener || (n = n.isRequired); + for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), s = 1; s < r; s++) + i[s - 1] = arguments[s]; + return n.apply(void 0, [t].concat(i)); + }, + /** + * Add a custom transition end trigger. Called with the transitioning + * DOM node and a `done` callback. Allows for more fine grained transition end + * logic. Timeouts are still used as a fallback if provided. + * + * **Note**: when `nodeRef` prop is passed, `node` is not passed. + * + * ```jsx + * addEndListener={(node, done) => { + * // use the css transitionend event to mark the finish of a transition + * node.addEventListener('transitionend', done, false); + * }} + * ``` + */ + addEndListener: o.func, + /** + * Callback fired before the "entering" status is applied. An extra parameter + * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount + * + * **Note**: when `nodeRef` prop is passed, `node` is not passed. + * + * @type Function(node: HtmlElement, isAppearing: bool) -> void + */ + onEnter: o.func, + /** + * Callback fired after the "entering" status is applied. An extra parameter + * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount + * + * **Note**: when `nodeRef` prop is passed, `node` is not passed. + * + * @type Function(node: HtmlElement, isAppearing: bool) + */ + onEntering: o.func, + /** + * Callback fired after the "entered" status is applied. An extra parameter + * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount + * + * **Note**: when `nodeRef` prop is passed, `node` is not passed. + * + * @type Function(node: HtmlElement, isAppearing: bool) -> void + */ + onEntered: o.func, + /** + * Callback fired before the "exiting" status is applied. + * + * **Note**: when `nodeRef` prop is passed, `node` is not passed. + * + * @type Function(node: HtmlElement) -> void + */ + onExit: o.func, + /** + * Callback fired after the "exiting" status is applied. + * + * **Note**: when `nodeRef` prop is passed, `node` is not passed. + * + * @type Function(node: HtmlElement) -> void + */ + onExiting: o.func, + /** + * Callback fired after the "exited" status is applied. + * + * **Note**: when `nodeRef` prop is passed, `node` is not passed + * + * @type Function(node: HtmlElement) -> void + */ + onExited: o.func +} : {}; +function Cn() { +} +It.defaultProps = { + in: !1, + mountOnEnter: !1, + unmountOnExit: !1, + appear: !1, + enter: !0, + exit: !0, + onEnter: Cn, + onEntering: Cn, + onEntered: Cn, + onExit: Cn, + onExiting: Cn, + onExited: Cn +}; +It.UNMOUNTED = or; +It.EXITED = nn; +It.ENTERING = rn; +It.ENTERED = _n; +It.EXITING = Ci; +function rm(e) { + if (e === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return e; +} +function rs(e, t) { + var n = function(s) { + return t && Br(s) ? t(s) : s; + }, r = /* @__PURE__ */ Object.create(null); + return e && gu.map(e, function(i) { + return i; + }).forEach(function(i) { + r[i.key] = n(i); + }), r; +} +function om(e, t) { + e = e || {}, t = t || {}; + function n(d) { + return d in t ? t[d] : e[d]; + } + var r = /* @__PURE__ */ Object.create(null), i = []; + for (var s in e) + s in t ? i.length && (r[s] = i, i = []) : i.push(s); + var a, l = {}; + for (var c in t) { + if (r[c]) + for (a = 0; a < r[c].length; a++) { + var u = r[c][a]; + l[r[c][a]] = n(u); + } + l[c] = n(c); + } + for (a = 0; a < i.length; a++) + l[i[a]] = n(i[a]); + return l; +} +function sn(e, t, n) { + return n[t] != null ? n[t] : e.props[t]; +} +function im(e, t) { + return rs(e.children, function(n) { + return Fr(n, { + onExited: t.bind(null, n), + in: !0, + appear: sn(n, "appear", e), + enter: sn(n, "enter", e), + exit: sn(n, "exit", e) + }); + }); +} +function sm(e, t, n) { + var r = rs(e.children), i = om(t, r); + return Object.keys(i).forEach(function(s) { + var a = i[s]; + if (Br(a)) { + var l = s in t, c = s in r, u = t[s], d = Br(u) && !u.props.in; + c && (!l || d) ? i[s] = Fr(a, { + onExited: n.bind(null, a), + in: !0, + exit: sn(a, "exit", e), + enter: sn(a, "enter", e) + }) : !c && l && !d ? i[s] = Fr(a, { + in: !1 + }) : c && l && Br(u) && (i[s] = Fr(a, { + onExited: n.bind(null, a), + in: u.props.in, + exit: sn(a, "exit", e), + enter: sn(a, "enter", e) + })); + } + }), i; +} +var am = Object.values || function(e) { + return Object.keys(e).map(function(t) { + return e[t]; + }); +}, lm = { + component: "div", + childFactory: function(t) { + return t; + } +}, os = /* @__PURE__ */ function(e) { + ql(t, e); + function t(r, i) { + var s; + s = e.call(this, r, i) || this; + var a = s.handleExited.bind(rm(s)); + return s.state = { + contextValue: { + isMounting: !0 + }, + handleExited: a, + firstRender: !0 + }, s; + } + var n = t.prototype; + return n.componentDidMount = function() { + this.mounted = !0, this.setState({ + contextValue: { + isMounting: !1 + } + }); + }, n.componentWillUnmount = function() { + this.mounted = !1; + }, t.getDerivedStateFromProps = function(i, s) { + var a = s.children, l = s.handleExited, c = s.firstRender; + return { + children: c ? im(i, l) : sm(i, a, l), + firstRender: !1 + }; + }, n.handleExited = function(i, s) { + var a = rs(this.props.children); + i.key in a || (i.props.onExited && i.props.onExited(s), this.mounted && this.setState(function(l) { + var c = Yr({}, l.children); + return delete c[i.key], { + children: c + }; + })); + }, n.render = function() { + var i = this.props, s = i.component, a = i.childFactory, l = Hl(i, ["component", "childFactory"]), c = this.state.contextValue, u = am(this.state.children).map(a); + return delete l.appear, delete l.enter, delete l.exit, s === null ? /* @__PURE__ */ xt.createElement(eo.Provider, { + value: c + }, u) : /* @__PURE__ */ xt.createElement(eo.Provider, { + value: c + }, /* @__PURE__ */ xt.createElement(s, l, u)); + }, t; +}(xt.Component); +os.propTypes = process.env.NODE_ENV !== "production" ? { + /** + * `` renders a `
` by default. You can change this + * behavior by providing a `component` prop. + * If you use React v16+ and would like to avoid a wrapping `
` element + * you can pass in `component={null}`. This is useful if the wrapping div + * borks your css styles. + */ + component: o.any, + /** + * A set of `` components, that are toggled `in` and out as they + * leave. the `` will inject specific transition props, so + * remember to spread them through if you are wrapping the `` as + * with our `` example. + * + * While this component is meant for multiple `Transition` or `CSSTransition` + * children, sometimes you may want to have a single transition child with + * content that you want to be transitioned out and in when you change it + * (e.g. routes, images etc.) In that case you can change the `key` prop of + * the transition child as you change its content, this will cause + * `TransitionGroup` to transition the child out and back in. + */ + children: o.node, + /** + * A convenience prop that enables or disables appear animations + * for all children. Note that specifying this will override any defaults set + * on individual children Transitions. + */ + appear: o.bool, + /** + * A convenience prop that enables or disables enter animations + * for all children. Note that specifying this will override any defaults set + * on individual children Transitions. + */ + enter: o.bool, + /** + * A convenience prop that enables or disables exit animations + * for all children. Note that specifying this will override any defaults set + * on individual children Transitions. + */ + exit: o.bool, + /** + * You may need to apply reactive updates to a child as it is exiting. + * This is generally done by using `cloneElement` however in the case of an exiting + * child the element has already been removed and not accessible to the consumer. + * + * If you do need to update a child as it leaves you can provide a `childFactory` + * to wrap every child, even the ones that are leaving. + * + * @type Function(child: ReactElement) -> ReactElement + */ + childFactory: o.func +} : {}; +os.defaultProps = lm; +const ba = {}; +function Gl(e, t) { + const n = x.useRef(ba); + return n.current === ba && (n.current = e(t)), n; +} +const cm = []; +function um(e) { + x.useEffect(e, cm); +} +class is { + constructor() { + qn(this, "currentId", null); + qn(this, "clear", () => { + this.currentId !== null && (clearTimeout(this.currentId), this.currentId = null); + }); + qn(this, "disposeEffect", () => this.clear); + } + static create() { + return new is(); + } + /** + * Executes `fn` after `delay`, clearing any previously scheduled call. + */ + start(t, n) { + this.clear(), this.currentId = setTimeout(() => { + this.currentId = null, n(); + }, t); + } +} +function Yl() { + const e = Gl(is.create).current; + return um(e.disposeEffect), e; +} +function dm(e) { + const { + prototype: t = {} + } = e; + return !!t.isReactComponent; +} +function fm(e, t, n, r, i) { + const s = e[t], a = i || t; + if (s == null || // When server-side rendering React doesn't warn either. + // This is not an accurate check for SSR. + // This is only in place for emotion compat. + // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved. + typeof window > "u") + return null; + let l; + return typeof s == "function" && !dm(s) && (l = "Did you accidentally provide a plain function component instead?"), s === x.Fragment && (l = "Did you accidentally provide a React.Fragment instead?"), l !== void 0 ? new Error(`Invalid ${r} \`${a}\` supplied to \`${n}\`. Expected an element type that can hold a ref. ${l} For more information see https://v7.mui.com/r/caveat-with-refs-guide`) : null; +} +const ss = fn(o.elementType, fm), Kl = (e) => e.scrollTop; +function yt(e, t) { + return (n) => { + if (t) { + const r = e.current; + n === void 0 ? t(r) : t(r, n); + } + }; +} +function Xl(e, t, n, r, i, s) { + const a = e === "exited" && !t ? r : n[e] || n.exited; + return i || s ? { + ...a, + ...i, + ...s + } : a; +} +function to(e, t) { + const { + timeout: n, + easing: r, + style: i = {} + } = e; + return { + duration: i.transitionDuration ?? (typeof n == "number" ? n : n[t.mode] || 0), + easing: i.transitionTimingFunction ?? (typeof r == "object" ? r[t.mode] : r), + delay: i.transitionDelay + }; +} +function no(e) { + return typeof e == "string"; +} +function Jl(e, t, n) { + return e === void 0 || no(e) ? t : { + ...t, + ownerState: { + ...t.ownerState, + ...n + } + }; +} +function Ql(e, t, n) { + return typeof e == "function" ? e(t, n) : e; +} +function Zl(e, t = []) { + if (e === void 0) + return {}; + const n = {}; + return Object.keys(e).filter((r) => r.match(/^on[A-Z]/) && typeof e[r] == "function" && !t.includes(r)).forEach((r) => { + n[r] = e[r]; + }), n; +} +function va(e) { + if (e === void 0) + return {}; + const t = {}; + return Object.keys(e).filter((n) => !(n.match(/^on[A-Z]/) && typeof e[n] == "function")).forEach((n) => { + t[n] = e[n]; + }), t; +} +function ec(e) { + const { + getSlotProps: t, + additionalProps: n, + externalSlotProps: r, + externalForwardedProps: i, + className: s + } = e; + if (!t) { + const m = ue(n == null ? void 0 : n.className, s, i == null ? void 0 : i.className, r == null ? void 0 : r.className), g = { + ...n == null ? void 0 : n.style, + ...i == null ? void 0 : i.style, + ...r == null ? void 0 : r.style + }, f = { + ...n, + ...i, + ...r + }; + return m.length > 0 && (f.className = m), Object.keys(g).length > 0 && (f.style = g), { + props: f, + internalRef: void 0 + }; + } + const a = Zl({ + ...i, + ...r + }), l = va(r), c = va(i), u = t(a), d = ue(u == null ? void 0 : u.className, n == null ? void 0 : n.className, s, i == null ? void 0 : i.className, r == null ? void 0 : r.className), h = { + ...u == null ? void 0 : u.style, + ...n == null ? void 0 : n.style, + ...i == null ? void 0 : i.style, + ...r == null ? void 0 : r.style + }, b = { + ...u, + ...n, + ...c, + ...l + }; + return d.length > 0 && (b.className = d), Object.keys(h).length > 0 && (b.style = h), { + props: b, + internalRef: u.ref + }; +} +function Fe(e, t) { + const { + className: n, + elementType: r, + ownerState: i, + externalForwardedProps: s, + internalForwardedProps: a, + shouldForwardComponentProp: l = !1, + ...c + } = t, { + component: u, + slots: d = { + [e]: void 0 + }, + slotProps: h = { + [e]: void 0 + }, + ...b + } = s, m = d[e] || r, g = Ql(h[e], i), { + props: { + component: f, + ...y + }, + internalRef: S + } = ec({ + className: n, + ...c, + externalForwardedProps: e === "root" ? b : void 0, + externalSlotProps: g + }), O = rt(S, g == null ? void 0 : g.ref, t.ref), T = e === "root" ? f || u : f, v = Jl(m, { + ...e === "root" && !u && !d[e] && a, + ...e !== "root" && !d[e] && a, + ...y, + ...T && !l && { + as: T + }, + ...T && l && { + component: T + }, + ref: O + }, i); + return [m, v]; +} +function pm(e) { + const t = typeof e; + switch (t) { + case "number": + return Number.isNaN(e) ? "NaN" : Number.isFinite(e) ? e !== Math.floor(e) ? "float" : "number" : "Infinity"; + case "object": + return e === null ? "null" : e.constructor.name; + default: + return t; + } +} +function tc(e, t, n, r) { + const i = e[t]; + if (i == null || !Number.isInteger(i)) { + const s = pm(i); + return new RangeError(`Invalid ${r} \`${t}\` of type \`${s}\` supplied to \`${n}\`, expected \`integer\`.`); + } + return null; +} +function nc(e, t, n, r) { + return e[t] === void 0 ? null : tc(e, t, n, r); +} +function Pi() { + return null; +} +nc.isRequired = tc; +Pi.isRequired = Pi; +const rc = process.env.NODE_ENV === "production" ? Pi : nc; +function mm(e) { + return ge("MuiPaper", e); +} +Ee("MuiPaper", ["root", "rounded", "outlined", "elevation", "elevation0", "elevation1", "elevation2", "elevation3", "elevation4", "elevation5", "elevation6", "elevation7", "elevation8", "elevation9", "elevation10", "elevation11", "elevation12", "elevation13", "elevation14", "elevation15", "elevation16", "elevation17", "elevation18", "elevation19", "elevation20", "elevation21", "elevation22", "elevation23", "elevation24"]); +const hm = (e) => { + const { + square: t, + elevation: n, + variant: r, + classes: i + } = e, s = { + root: ["root", r, !t && "rounded", r === "elevation" && `elevation${n}`] + }; + return Se(s, mm, i); +}, ym = ie("div", { + name: "MuiPaper", + slot: "Root", + overridesResolver: (e, t) => { + const { + ownerState: n + } = e; + return [t.root, t[n.variant], !n.square && t.rounded, n.variant === "elevation" && t[`elevation${n.elevation}`]]; + } +})(ke(({ + theme: e +}) => ({ + backgroundColor: (e.vars || e).palette.background.paper, + color: (e.vars || e).palette.text.primary, + transition: e.transitions.create("box-shadow"), + variants: [{ + props: ({ + ownerState: t + }) => !t.square, + style: { + borderRadius: e.shape.borderRadius + } + }, { + props: { + variant: "outlined" + }, + style: { + border: `1px solid ${(e.vars || e).palette.divider}` + } + }, { + props: { + variant: "elevation" + }, + style: { + boxShadow: "var(--Paper-shadow)", + backgroundImage: "var(--Paper-overlay)" + } + }] +}))), Io = /* @__PURE__ */ x.forwardRef(function(t, n) { + var m; + const r = Ce({ + props: t, + name: "MuiPaper" + }), i = Ao(), { + className: s, + component: a = "div", + elevation: l = 1, + square: c = !1, + variant: u = "elevation", + ...d + } = r, h = { + ...r, + component: a, + elevation: l, + square: c, + variant: u + }, b = hm(h); + return process.env.NODE_ENV !== "production" && i.shadows[l] === void 0 && console.error([`MUI: The elevation provided is not available in the theme.`, `Please make sure that \`theme.shadows[${l}]\` is defined.`].join(` +`)), /* @__PURE__ */ $.jsx(ym, { + as: a, + ownerState: h, + className: ue(b.root, s), + ref: n, + ...d, + style: { + ...u === "elevation" && { + "--Paper-shadow": (i.vars || i).shadows[l], + ...i.vars && { + "--Paper-overlay": (m = i.vars.overlays) == null ? void 0 : m[l] + }, + ...!i.vars && i.palette.mode === "dark" && { + "--Paper-overlay": `linear-gradient(${Qr("#fff", Oi(l))}, ${Qr("#fff", Oi(l))})` + } + }, + ...d.style + } + }); +}); +process.env.NODE_ENV !== "production" && (Io.propTypes = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * The content of the component. + */ + children: o.node, + /** + * Override or extend the styles applied to the component. + */ + classes: o.object, + /** + * @ignore + */ + className: o.string, + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: o.elementType, + /** + * Shadow depth, corresponds to `dp` in the spec. + * It accepts values between 0 and 24 inclusive. + * @default 1 + */ + elevation: fn(rc, (e) => { + const { + elevation: t, + variant: n + } = e; + return t > 0 && n === "outlined" ? new Error(`MUI: Combining \`elevation={${t}}\` with \`variant="${n}"\` has no effect. Either use \`elevation={0}\` or use a different \`variant\`.`) : null; + }), + /** + * If `true`, rounded corners are disabled. + * @default false + */ + square: o.bool, + /** + * @ignore + */ + style: o.object, + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]), + /** + * The variant to use. + * @default 'elevation' + */ + variant: o.oneOfType([o.oneOf(["elevation", "outlined"]), o.string]) +}); +const Ht = o.oneOfType([o.func, o.object]); +function Ea(e) { + try { + return e.matches(":focus-visible"); + } catch { + process.env.NODE_ENV !== "production" && !window.navigator.userAgent.includes("jsdom") && console.warn(["MUI: The `:focus-visible` pseudo class is not supported in this browser.", "Some components rely on this feature to work properly."].join(` +`)); + } + return !1; +} +class ro { + constructor() { + qn(this, "mountEffect", () => { + this.shouldMount && !this.didMount && this.ref.current !== null && (this.didMount = !0, this.mounted.resolve()); + }); + this.ref = { + current: null + }, this.mounted = null, this.didMount = !1, this.shouldMount = !1, this.setShouldMount = null; + } + /** React ref to the ripple instance */ + /** If the ripple component should be mounted */ + /** Promise that resolves when the ripple component is mounted */ + /** If the ripple component has been mounted */ + /** React state hook setter */ + static create() { + return new ro(); + } + static use() { + const t = Gl(ro.create).current, [n, r] = x.useState(!1); + return t.shouldMount = n, t.setShouldMount = r, x.useEffect(t.mountEffect, [n]), t; + } + mount() { + return this.mounted || (this.mounted = bm(), this.shouldMount = !0, this.setShouldMount(this.shouldMount)), this.mounted; + } + /* Ripple API */ + start(...t) { + this.mount().then(() => { + var n; + return (n = this.ref.current) == null ? void 0 : n.start(...t); + }); + } + stop(...t) { + this.mount().then(() => { + var n; + return (n = this.ref.current) == null ? void 0 : n.stop(...t); + }); + } + pulsate(...t) { + this.mount().then(() => { + var n; + return (n = this.ref.current) == null ? void 0 : n.pulsate(...t); + }); + } +} +function gm() { + return ro.use(); +} +function bm() { + let e, t; + const n = new Promise((r, i) => { + e = r, t = i; + }); + return n.resolve = e, n.reject = t, n; +} +function oc(e) { + const { + className: t, + classes: n, + pulsate: r = !1, + rippleX: i, + rippleY: s, + rippleSize: a, + in: l, + onExited: c, + timeout: u + } = e, [d, h] = x.useState(!1), b = ue(t, n.ripple, n.rippleVisible, r && n.ripplePulsate), m = { + width: a, + height: a, + top: -(a / 2) + s, + left: -(a / 2) + i + }, g = ue(n.child, d && n.childLeaving, r && n.childPulsate); + return !l && !d && h(!0), x.useEffect(() => { + if (!l && c != null) { + const f = setTimeout(c, u); + return () => { + clearTimeout(f); + }; + } + }, [c, l, u]), /* @__PURE__ */ $.jsx("span", { + className: b, + style: m, + children: /* @__PURE__ */ $.jsx("span", { + className: g + }) + }); +} +process.env.NODE_ENV !== "production" && (oc.propTypes = { + /** + * Override or extend the styles applied to the component. + */ + classes: o.object.isRequired, + className: o.string, + /** + * @ignore - injected from TransitionGroup + */ + in: o.bool, + /** + * @ignore - injected from TransitionGroup + */ + onExited: o.func, + /** + * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element. + */ + pulsate: o.bool, + /** + * Diameter of the ripple. + */ + rippleSize: o.number, + /** + * Horizontal position of the ripple center. + */ + rippleX: o.number, + /** + * Vertical position of the ripple center. + */ + rippleY: o.number, + /** + * exit delay + */ + timeout: o.number.isRequired +}); +const mt = Ee("MuiTouchRipple", ["root", "ripple", "rippleVisible", "ripplePulsate", "child", "childLeaving", "childPulsate"]), _i = 550, vm = 80, Em = br` + 0% { + transform: scale(0); + opacity: 0.1; + } + + 100% { + transform: scale(1); + opacity: 0.3; + } +`, Sm = br` + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +`, Tm = br` + 0% { + transform: scale(1); + } + + 50% { + transform: scale(0.92); + } + + 100% { + transform: scale(1); + } +`, xm = ie("span", { + name: "MuiTouchRipple", + slot: "Root" +})({ + overflow: "hidden", + pointerEvents: "none", + position: "absolute", + zIndex: 0, + top: 0, + right: 0, + bottom: 0, + left: 0, + borderRadius: "inherit" +}), Rm = ie(oc, { + name: "MuiTouchRipple", + slot: "Ripple" +})` + opacity: 0; + position: absolute; + + &.${mt.rippleVisible} { + opacity: 0.3; + transform: scale(1); + animation-name: ${Em}; + animation-duration: ${_i}ms; + animation-timing-function: ${({ + theme: e +}) => e.transitions.easing.easeInOut}; + } + + &.${mt.ripplePulsate} { + animation-duration: ${({ + theme: e +}) => e.transitions.duration.shorter}ms; + } + + & .${mt.child} { + opacity: 1; + display: block; + width: 100%; + height: 100%; + border-radius: 50%; + background-color: currentColor; + } + + & .${mt.childLeaving} { + opacity: 0; + animation-name: ${Sm}; + animation-duration: ${_i}ms; + animation-timing-function: ${({ + theme: e +}) => e.transitions.easing.easeInOut}; + } + + & .${mt.childPulsate} { + position: absolute; + /* @noflip */ + left: 0px; + top: 0; + animation-name: ${Tm}; + animation-duration: 2500ms; + animation-timing-function: ${({ + theme: e +}) => e.transitions.easing.easeInOut}; + animation-iteration-count: infinite; + animation-delay: 200ms; + } +`, ic = /* @__PURE__ */ x.forwardRef(function(t, n) { + const r = Ce({ + props: t, + name: "MuiTouchRipple" + }), { + center: i = !1, + classes: s = {}, + className: a, + ...l + } = r, [c, u] = x.useState([]), d = x.useRef(0), h = x.useRef(null); + x.useEffect(() => { + h.current && (h.current(), h.current = null); + }, [c]); + const b = x.useRef(!1), m = Yl(), g = x.useRef(null), f = x.useRef(null), y = x.useCallback((v) => { + const { + pulsate: E, + rippleX: w, + rippleY: k, + rippleSize: L, + cb: z + } = v; + u((W) => [...W, /* @__PURE__ */ $.jsx(Rm, { + classes: { + ripple: ue(s.ripple, mt.ripple), + rippleVisible: ue(s.rippleVisible, mt.rippleVisible), + ripplePulsate: ue(s.ripplePulsate, mt.ripplePulsate), + child: ue(s.child, mt.child), + childLeaving: ue(s.childLeaving, mt.childLeaving), + childPulsate: ue(s.childPulsate, mt.childPulsate) + }, + timeout: _i, + pulsate: E, + rippleX: w, + rippleY: k, + rippleSize: L + }, d.current)]), d.current += 1, h.current = z; + }, [s]), S = x.useCallback((v = {}, E = {}, w = () => { + }) => { + const { + pulsate: k = !1, + center: L = i || E.pulsate, + fakeElement: z = !1 + // For test purposes + } = E; + if ((v == null ? void 0 : v.type) === "mousedown" && b.current) { + b.current = !1; + return; + } + (v == null ? void 0 : v.type) === "touchstart" && (b.current = !0); + const W = z ? null : f.current, F = W ? W.getBoundingClientRect() : { + width: 0, + height: 0, + left: 0, + top: 0 + }; + let p, A, P; + if (L || v === void 0 || v.clientX === 0 && v.clientY === 0 || !v.clientX && !v.touches) + p = Math.round(F.width / 2), A = Math.round(F.height / 2); + else { + const { + clientX: D, + clientY: j + } = v.touches && v.touches.length > 0 ? v.touches[0] : v; + p = Math.round(D - F.left), A = Math.round(j - F.top); + } + if (L) + P = Math.sqrt((2 * F.width ** 2 + F.height ** 2) / 3), P % 2 === 0 && (P += 1); + else { + const D = Math.max(Math.abs((W ? W.clientWidth : 0) - p), p) * 2 + 2, j = Math.max(Math.abs((W ? W.clientHeight : 0) - A), A) * 2 + 2; + P = Math.sqrt(D ** 2 + j ** 2); + } + v != null && v.touches ? g.current === null && (g.current = () => { + y({ + pulsate: k, + rippleX: p, + rippleY: A, + rippleSize: P, + cb: w + }); + }, m.start(vm, () => { + g.current && (g.current(), g.current = null); + })) : y({ + pulsate: k, + rippleX: p, + rippleY: A, + rippleSize: P, + cb: w + }); + }, [i, y, m]), O = x.useCallback(() => { + S({}, { + pulsate: !0 + }); + }, [S]), T = x.useCallback((v, E) => { + if (m.clear(), (v == null ? void 0 : v.type) === "touchend" && g.current) { + g.current(), g.current = null, m.start(0, () => { + T(v, E); + }); + return; + } + g.current = null, u((w) => w.length > 0 ? w.slice(1) : w), h.current = E; + }, [m]); + return x.useImperativeHandle(n, () => ({ + pulsate: O, + start: S, + stop: T + }), [O, S, T]), /* @__PURE__ */ $.jsx(xm, { + className: ue(mt.root, s.root, a), + ref: f, + ...l, + children: /* @__PURE__ */ $.jsx(os, { + component: null, + exit: !0, + children: c + }) + }); +}); +process.env.NODE_ENV !== "production" && (ic.propTypes = { + /** + * If `true`, the ripple starts at the center of the component + * rather than at the point of interaction. + */ + center: o.bool, + /** + * Override or extend the styles applied to the component. + */ + classes: o.object, + /** + * @ignore + */ + className: o.string +}); +function Om(e) { + return ge("MuiButtonBase", e); +} +const wm = Ee("MuiButtonBase", ["root", "disabled", "focusVisible"]), Cm = (e) => { + const { + disabled: t, + focusVisible: n, + focusVisibleClassName: r, + classes: i + } = e, a = Se({ + root: ["root", t && "disabled", n && "focusVisible"] + }, Om, i); + return n && r && (a.root += ` ${r}`), a; +}, Pm = ie("button", { + name: "MuiButtonBase", + slot: "Root" +})({ + display: "inline-flex", + alignItems: "center", + justifyContent: "center", + position: "relative", + boxSizing: "border-box", + WebkitTapHighlightColor: "transparent", + backgroundColor: "transparent", + // Reset default value + // We disable the focus ring for mouse, touch and keyboard users. + outline: 0, + border: 0, + margin: 0, + // Remove the margin in Safari + borderRadius: 0, + padding: 0, + // Remove the padding in Firefox + cursor: "pointer", + userSelect: "none", + verticalAlign: "middle", + MozAppearance: "none", + // Reset + WebkitAppearance: "none", + // Reset + textDecoration: "none", + // So we take precedent over the style of a native element. + color: "inherit", + "&::-moz-focus-inner": { + borderStyle: "none" + // Remove Firefox dotted outline. + }, + [`&.${wm.disabled}`]: { + pointerEvents: "none", + // Disable link interactions + cursor: "default" + }, + "@media print": { + colorAdjust: "exact" + } +}), No = /* @__PURE__ */ x.forwardRef(function(t, n) { + const r = Ce({ + props: t, + name: "MuiButtonBase" + }), { + action: i, + centerRipple: s = !1, + children: a, + className: l, + component: c = "button", + disabled: u = !1, + disableRipple: d = !1, + disableTouchRipple: h = !1, + focusRipple: b = !1, + focusVisibleClassName: m, + LinkComponent: g = "a", + onBlur: f, + onClick: y, + onContextMenu: S, + onDragLeave: O, + onFocus: T, + onFocusVisible: v, + onKeyDown: E, + onKeyUp: w, + onMouseDown: k, + onMouseLeave: L, + onMouseUp: z, + onTouchEnd: W, + onTouchMove: F, + onTouchStart: p, + tabIndex: A = 0, + TouchRippleProps: P, + touchRippleRef: D, + type: j, + ...H + } = r, te = x.useRef(null), G = gm(), N = rt(G.ref, D), [I, X] = x.useState(!1); + u && I && X(!1), x.useImperativeHandle(i, () => ({ + focusVisible: () => { + X(!0), te.current.focus(); + } + }), []); + const B = G.shouldMount && !d && !u; + x.useEffect(() => { + I && b && !d && G.pulsate(); + }, [d, b, I, G]); + const Y = Lt(G, "start", k, h), q = Lt(G, "stop", S, h), Q = Lt(G, "stop", O, h), J = Lt(G, "stop", z, h), K = Lt(G, "stop", (le) => { + I && le.preventDefault(), L && L(le); + }, h), Z = Lt(G, "start", p, h), V = Lt(G, "stop", W, h), ne = Lt(G, "stop", F, h), _ = Lt(G, "stop", (le) => { + Ea(le.target) || X(!1), f && f(le); + }, !1), de = ln((le) => { + te.current || (te.current = le.currentTarget), Ea(le.target) && (X(!0), v && v(le)), T && T(le); + }), re = () => { + const le = te.current; + return le ? le.tagName === "BUTTON" ? !1 : !(le.tagName === "A" && le.href) : c && c !== "button"; + }, me = ln((le) => { + b && !le.repeat && I && le.key === " " && G.stop(le, () => { + G.start(le); + }), le.target === le.currentTarget && re() && le.key === " " && le.preventDefault(), E && E(le), le.target === le.currentTarget && re() && le.key === "Enter" && !u && (le.preventDefault(), y && y(le)); + }), $e = ln((le) => { + b && le.key === " " && I && !le.defaultPrevented && G.stop(le, () => { + G.pulsate(le); + }), w && w(le), y && le.target === le.currentTarget && re() && le.key === " " && !le.defaultPrevented && !u && y(le); + }); + let Me = c; + Me === "button" && (H.href || H.to) && (Me = g); + const De = {}; + if (Me === "button") { + const le = !!H.formAction; + De.type = j === void 0 && !le ? "button" : j, De.disabled = u; + } else + !H.href && !H.to && (De.role = "button"), u && (De["aria-disabled"] = u); + const Ke = rt(n, te), at = { + ...r, + centerRipple: s, + component: c, + disabled: u, + disableRipple: d, + disableTouchRipple: h, + focusRipple: b, + tabIndex: A, + focusVisible: I + }, je = Cm(at); + return /* @__PURE__ */ $.jsxs(Pm, { + as: Me, + className: ue(je.root, l), + ownerState: at, + onBlur: _, + onClick: y, + onContextMenu: q, + onFocus: de, + onKeyDown: me, + onKeyUp: $e, + onMouseDown: Y, + onMouseLeave: K, + onMouseUp: J, + onDragLeave: Q, + onTouchEnd: V, + onTouchMove: ne, + onTouchStart: Z, + ref: Ke, + tabIndex: u ? -1 : A, + type: j, + ...De, + ...H, + children: [a, B ? /* @__PURE__ */ $.jsx(ic, { + ref: N, + center: s, + ...P + }) : null] + }); +}); +function Lt(e, t, n, r = !1) { + return ln((i) => (n && n(i), r || e[t](i), !0)); +} +process.env.NODE_ENV !== "production" && (No.propTypes = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * A ref for imperative actions. + * It currently only supports `focusVisible()` action. + */ + action: Ht, + /** + * If `true`, the ripples are centered. + * They won't start at the cursor interaction position. + * @default false + */ + centerRipple: o.bool, + /** + * The content of the component. + */ + children: o.node, + /** + * Override or extend the styles applied to the component. + */ + classes: o.object, + /** + * @ignore + */ + className: o.string, + /** + * The component used for the root node. + * Either a string to use a HTML element or a component. + */ + component: ss, + /** + * If `true`, the component is disabled. + * @default false + */ + disabled: o.bool, + /** + * If `true`, the ripple effect is disabled. + * + * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure + * to highlight the element by applying separate styles with the `.Mui-focusVisible` class. + * @default false + */ + disableRipple: o.bool, + /** + * If `true`, the touch ripple effect is disabled. + * @default false + */ + disableTouchRipple: o.bool, + /** + * If `true`, the base button will have a keyboard focus ripple. + * @default false + */ + focusRipple: o.bool, + /** + * This prop can help identify which element has keyboard focus. + * The class name will be applied when the element gains the focus through keyboard interaction. + * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo). + * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md). + * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components + * if needed. + */ + focusVisibleClassName: o.string, + /** + * @ignore + */ + formAction: o.oneOfType([o.func, o.string]), + /** + * @ignore + */ + href: o.any, + /** + * The component used to render a link when the `href` prop is provided. + * @default 'a' + */ + LinkComponent: o.elementType, + /** + * @ignore + */ + onBlur: o.func, + /** + * @ignore + */ + onClick: o.func, + /** + * @ignore + */ + onContextMenu: o.func, + /** + * @ignore + */ + onDragLeave: o.func, + /** + * @ignore + */ + onFocus: o.func, + /** + * Callback fired when the component is focused with a keyboard. + * We trigger a `onFocus` callback too. + */ + onFocusVisible: o.func, + /** + * @ignore + */ + onKeyDown: o.func, + /** + * @ignore + */ + onKeyUp: o.func, + /** + * @ignore + */ + onMouseDown: o.func, + /** + * @ignore + */ + onMouseLeave: o.func, + /** + * @ignore + */ + onMouseUp: o.func, + /** + * @ignore + */ + onTouchEnd: o.func, + /** + * @ignore + */ + onTouchMove: o.func, + /** + * @ignore + */ + onTouchStart: o.func, + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]), + /** + * @default 0 + */ + tabIndex: o.number, + /** + * Props applied to the `TouchRipple` element. + */ + TouchRippleProps: o.object, + /** + * A ref that points to the `TouchRipple` element. + */ + touchRippleRef: o.oneOfType([o.func, o.shape({ + current: o.shape({ + pulsate: o.func.isRequired, + start: o.func.isRequired, + stop: o.func.isRequired + }) + })]), + /** + * @ignore + */ + type: o.oneOfType([o.oneOf(["button", "reset", "submit"]), o.string]) +}); +function _m(e) { + return typeof e.main == "string"; +} +function Am(e, t = []) { + if (!_m(e)) + return !1; + for (const n of t) + if (!e.hasOwnProperty(n) || typeof e[n] != "string") + return !1; + return !0; +} +function Wt(e = []) { + return ([, t]) => t && Am(t, e); +} +function Im(e) { + return ge("MuiCircularProgress", e); +} +Ee("MuiCircularProgress", ["root", "determinate", "indeterminate", "colorPrimary", "colorSecondary", "svg", "track", "circle", "circleDeterminate", "circleIndeterminate", "circleDisableShrink"]); +const Tt = 44, Ai = br` + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +`, Ii = br` + 0% { + stroke-dasharray: 1px, 200px; + stroke-dashoffset: 0; + } + + 50% { + stroke-dasharray: 100px, 200px; + stroke-dashoffset: -15px; + } + + 100% { + stroke-dasharray: 1px, 200px; + stroke-dashoffset: -126px; + } +`, Nm = typeof Ai != "string" ? Ki` + animation: ${Ai} 1.4s linear infinite; + ` : null, km = typeof Ii != "string" ? Ki` + animation: ${Ii} 1.4s ease-in-out infinite; + ` : null, $m = (e) => { + const { + classes: t, + variant: n, + color: r, + disableShrink: i + } = e, s = { + root: ["root", n, `color${ae(r)}`], + svg: ["svg"], + track: ["track"], + circle: ["circle", `circle${ae(n)}`, i && "circleDisableShrink"] + }; + return Se(s, Im, t); +}, Mm = ie("span", { + name: "MuiCircularProgress", + slot: "Root", + overridesResolver: (e, t) => { + const { + ownerState: n + } = e; + return [t.root, t[n.variant], t[`color${ae(n.color)}`]]; + } +})(ke(({ + theme: e +}) => ({ + display: "inline-block", + variants: [{ + props: { + variant: "determinate" + }, + style: { + transition: e.transitions.create("transform") + } + }, { + props: { + variant: "indeterminate" + }, + style: Nm || { + animation: `${Ai} 1.4s linear infinite` + } + }, ...Object.entries(e.palette).filter(Wt()).map(([t]) => ({ + props: { + color: t + }, + style: { + color: (e.vars || e).palette[t].main + } + }))] +}))), Dm = ie("svg", { + name: "MuiCircularProgress", + slot: "Svg" +})({ + display: "block" + // Keeps the progress centered +}), jm = ie("circle", { + name: "MuiCircularProgress", + slot: "Circle", + overridesResolver: (e, t) => { + const { + ownerState: n + } = e; + return [t.circle, t[`circle${ae(n.variant)}`], n.disableShrink && t.circleDisableShrink]; + } +})(ke(({ + theme: e +}) => ({ + stroke: "currentColor", + variants: [{ + props: { + variant: "determinate" + }, + style: { + transition: e.transitions.create("stroke-dashoffset") + } + }, { + props: { + variant: "indeterminate" + }, + style: { + // Some default value that looks fine waiting for the animation to kicks in. + strokeDasharray: "80px, 200px", + strokeDashoffset: 0 + // Add the unit to fix a Edge 16 and below bug. + } + }, { + props: ({ + ownerState: t + }) => t.variant === "indeterminate" && !t.disableShrink, + style: km || { + // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used. + animation: `${Ii} 1.4s ease-in-out infinite` + } + }] +}))), Lm = ie("circle", { + name: "MuiCircularProgress", + slot: "Track" +})(ke(({ + theme: e +}) => ({ + stroke: "currentColor", + opacity: (e.vars || e).palette.action.activatedOpacity +}))), as = /* @__PURE__ */ x.forwardRef(function(t, n) { + const r = Ce({ + props: t, + name: "MuiCircularProgress" + }), { + className: i, + color: s = "primary", + disableShrink: a = !1, + enableTrackSlot: l = !1, + size: c = 40, + style: u, + thickness: d = 3.6, + value: h = 0, + variant: b = "indeterminate", + ...m + } = r, g = { + ...r, + color: s, + disableShrink: a, + size: c, + thickness: d, + value: h, + variant: b, + enableTrackSlot: l + }, f = $m(g), y = {}, S = {}, O = {}; + if (b === "determinate") { + const T = 2 * Math.PI * ((Tt - d) / 2); + y.strokeDasharray = T.toFixed(3), O["aria-valuenow"] = Math.round(h), y.strokeDashoffset = `${((100 - h) / 100 * T).toFixed(3)}px`, S.transform = "rotate(-90deg)"; + } + return /* @__PURE__ */ $.jsx(Mm, { + className: ue(f.root, i), + style: { + width: c, + height: c, + ...S, + ...u + }, + ownerState: g, + ref: n, + role: "progressbar", + ...O, + ...m, + children: /* @__PURE__ */ $.jsxs(Dm, { + className: f.svg, + ownerState: g, + viewBox: `${Tt / 2} ${Tt / 2} ${Tt} ${Tt}`, + children: [l ? /* @__PURE__ */ $.jsx(Lm, { + className: f.track, + ownerState: g, + cx: Tt, + cy: Tt, + r: (Tt - d) / 2, + fill: "none", + strokeWidth: d, + "aria-hidden": "true" + }) : null, /* @__PURE__ */ $.jsx(jm, { + className: f.circle, + style: y, + ownerState: g, + cx: Tt, + cy: Tt, + r: (Tt - d) / 2, + fill: "none", + strokeWidth: d + })] + }) + }); +}); +process.env.NODE_ENV !== "production" && (as.propTypes = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * Override or extend the styles applied to the component. + */ + classes: o.object, + /** + * @ignore + */ + className: o.string, + /** + * The color of the component. + * It supports both default and custom theme colors, which can be added as shown in the + * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). + * @default 'primary' + */ + color: o.oneOfType([o.oneOf(["inherit", "primary", "secondary", "error", "info", "success", "warning"]), o.string]), + /** + * If `true`, the shrink animation is disabled. + * This only works if variant is `indeterminate`. + * @default false + */ + disableShrink: fn(o.bool, (e) => e.disableShrink && e.variant && e.variant !== "indeterminate" ? new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect.") : null), + /** + * If `true`, a track circle slot is mounted to show a subtle background for the progress. + * The `size` and `thickness` apply to the track slot to be consistent with the progress circle. + * @default false + */ + enableTrackSlot: o.bool, + /** + * The size of the component. + * If using a number, the pixel unit is assumed. + * If using a string, you need to provide the CSS unit, for example '3rem'. + * @default 40 + */ + size: o.oneOfType([o.number, o.string]), + /** + * @ignore + */ + style: o.object, + /** + * The system prop that allows defining system overrides as well as additional CSS styles. + */ + sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]), + /** + * The thickness of the circle. + * @default 3.6 + */ + thickness: o.number, + /** + * The value of the progress indicator for the determinate variant. + * Value between 0 and 100. + * @default 0 + */ + value: o.number, + /** + * The variant to use. + * Use indeterminate when there is no progress value. + * @default 'indeterminate' + */ + variant: o.oneOf(["determinate", "indeterminate"]) +}); +function Bm(e) { + return ge("MuiIconButton", e); +} +const Sa = Ee("MuiIconButton", ["root", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorError", "colorInfo", "colorSuccess", "colorWarning", "edgeStart", "edgeEnd", "sizeSmall", "sizeMedium", "sizeLarge", "loading", "loadingIndicator", "loadingWrapper"]), Fm = (e) => { + const { + classes: t, + disabled: n, + color: r, + edge: i, + size: s, + loading: a + } = e, l = { + root: ["root", a && "loading", n && "disabled", r !== "default" && `color${ae(r)}`, i && `edge${ae(i)}`, `size${ae(s)}`], + loadingIndicator: ["loadingIndicator"], + loadingWrapper: ["loadingWrapper"] + }; + return Se(l, Bm, t); +}, Um = ie(No, { + name: "MuiIconButton", + slot: "Root", + overridesResolver: (e, t) => { + const { + ownerState: n + } = e; + return [t.root, n.loading && t.loading, n.color !== "default" && t[`color${ae(n.color)}`], n.edge && t[`edge${ae(n.edge)}`], t[`size${ae(n.size)}`]]; + } +})(ke(({ + theme: e +}) => ({ + textAlign: "center", + flex: "0 0 auto", + fontSize: e.typography.pxToRem(24), + padding: 8, + borderRadius: "50%", + color: (e.vars || e).palette.action.active, + transition: e.transitions.create("background-color", { + duration: e.transitions.duration.shortest + }), + variants: [{ + props: (t) => !t.disableRipple, + style: { + "--IconButton-hoverBg": e.alpha((e.vars || e).palette.action.active, (e.vars || e).palette.action.hoverOpacity), + "&:hover": { + backgroundColor: "var(--IconButton-hoverBg)", + // Reset on touch devices, it doesn't add specificity + "@media (hover: none)": { + backgroundColor: "transparent" + } + } + } + }, { + props: { + edge: "start" + }, + style: { + marginLeft: -12 + } + }, { + props: { + edge: "start", + size: "small" + }, + style: { + marginLeft: -3 + } + }, { + props: { + edge: "end" + }, + style: { + marginRight: -12 + } + }, { + props: { + edge: "end", + size: "small" + }, + style: { + marginRight: -3 + } + }] +})), ke(({ + theme: e +}) => ({ + variants: [{ + props: { + color: "inherit" + }, + style: { + color: "inherit" + } + }, ...Object.entries(e.palette).filter(Wt()).map(([t]) => ({ + props: { + color: t + }, + style: { + color: (e.vars || e).palette[t].main + } + })), ...Object.entries(e.palette).filter(Wt()).map(([t]) => ({ + props: { + color: t + }, + style: { + "--IconButton-hoverBg": e.alpha((e.vars || e).palette[t].main, (e.vars || e).palette.action.hoverOpacity) + } + })), { + props: { + size: "small" + }, + style: { + padding: 5, + fontSize: e.typography.pxToRem(18) + } + }, { + props: { + size: "large" + }, + style: { + padding: 12, + fontSize: e.typography.pxToRem(28) + } + }], + [`&.${Sa.disabled}`]: { + backgroundColor: "transparent", + color: (e.vars || e).palette.action.disabled + }, + [`&.${Sa.loading}`]: { + color: "transparent" + } +}))), Vm = ie("span", { + name: "MuiIconButton", + slot: "LoadingIndicator" +})(({ + theme: e +}) => ({ + display: "none", + position: "absolute", + visibility: "visible", + top: "50%", + left: "50%", + transform: "translate(-50%, -50%)", + color: (e.vars || e).palette.action.disabled, + variants: [{ + props: { + loading: !0 + }, + style: { + display: "flex" + } + }] +})), sc = /* @__PURE__ */ x.forwardRef(function(t, n) { + const r = Ce({ + props: t, + name: "MuiIconButton" + }), { + edge: i = !1, + children: s, + className: a, + color: l = "default", + disabled: c = !1, + disableFocusRipple: u = !1, + size: d = "medium", + id: h, + loading: b = null, + loadingIndicator: m, + ...g + } = r, f = Tr(h), y = m ?? /* @__PURE__ */ $.jsx(as, { + "aria-labelledby": f, + color: "inherit", + size: 16 + }), S = { + ...r, + edge: i, + color: l, + disabled: c, + disableFocusRipple: u, + loading: b, + loadingIndicator: y, + size: d + }, O = Fm(S); + return /* @__PURE__ */ $.jsxs(Um, { + id: b ? f : h, + className: ue(O.root, a), + centerRipple: !0, + focusRipple: !u, + disabled: c || b, + ref: n, + ...g, + ownerState: S, + children: [typeof b == "boolean" && // use plain HTML span to minimize the runtime overhead + /* @__PURE__ */ $.jsx("span", { + className: O.loadingWrapper, + style: { + display: "contents" + }, + children: /* @__PURE__ */ $.jsx(Vm, { + className: O.loadingIndicator, + ownerState: S, + children: b && y + }) + }), s] + }); +}); +process.env.NODE_ENV !== "production" && (sc.propTypes = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * The icon to display. + */ + children: fn(o.node, (e) => x.Children.toArray(e.children).some((n) => /* @__PURE__ */ x.isValidElement(n) && n.props.onClick) ? new Error(["MUI: You are providing an onClick event listener to a child of a button element.", "Prefer applying it to the IconButton directly.", "This guarantees that the whole - - -
- -
- -
- -

Connect with us

-

Join the Vite community

- -
-
- -
-
- - ) -} - -/* export default App */ diff --git a/src/api/axiosClient.js b/src/api/axiosClient.js new file mode 100644 index 0000000..96e8599 --- /dev/null +++ b/src/api/axiosClient.js @@ -0,0 +1,42 @@ +import axios from 'axios'; +import { API_BASES } from '../config/constants'; +import { formatApiResponse } from '../utils/response'; + +const createClient = (baseURL, withBaseFormat = false) => { + const client = axios.create({ + baseURL, + headers: { 'Content-Type': 'application/json', Accept: 'application/json' } + }); + + client.interceptors.request.use((config) => { + const token = typeof window !== 'undefined' ? localStorage.getItem('token') : null; + if (token) { + config.headers = config.headers ?? {}; + config.headers.Authorization = `Bearer ${token}`; + } + + return config; + }); + + if (withBaseFormat) { + client.interceptors.response.use( + (response) => + formatApiResponse({ + status: response.status, + data: response.data, + message: response.data?.message ?? response.statusText + }), + (error) => Promise.resolve(formatApiResponse(error)) + ); + } + + return client; +}; + +export const oslogApi = createClient(API_BASES.OSLOG_API, true); +export const apiGo = createClient(API_BASES.API_GO, true); +export const apiPhp = createClient(API_BASES.API_PHP); +export const apiDashboard = createClient(API_BASES.DASHBOARD_API_OSLOG_PRO); +export const apiHowen = createClient(API_BASES.HOWEN_API); +export const apiNominatim = createClient(API_BASES.API_NOMINATIM); +export const apiVss = createClient(API_BASES.VSS); diff --git a/src/api/request.js b/src/api/request.js new file mode 100644 index 0000000..446e165 --- /dev/null +++ b/src/api/request.js @@ -0,0 +1,163 @@ +import { formatApiResponse } from '../utils/response'; +import { oslogApi, apiGo } from './axiosClient'; + +/** + * Generic Request Helper + */ +const request = async ({ + isApiGo = false, + method = 'get', + endpoint = '', + suffix = '', + data = null, + params = {}, + headers = {}, + customUrl = '', + axiosConfig = {}, +}) => { + const url = customUrl || `${endpoint}${suffix}`; + + try { + const client = isApiGo ? apiGo : oslogApi; + const response = await client({ + method, + url, + data, + params, + headers, + ...axiosConfig, + }); + + return formatApiResponse(response); + } catch (error) { + const responseError = formatApiResponse(error); + + //logError(`at endpoint: ${url} error: `, responseError); + + return responseError; + } +}; + +/** + * CREATE NEW + * POST /endpoint/new + */ +export const newRequest = (endpoint, data = null, config = {}) => + request({ + method: 'post', + endpoint, + suffix: '/new', + data, + ...config, + }); + +/** + * ADD + * POST /endpoint/add + */ +export const addRequest = (endpoint, data = null, config = {}) => + request({ + method: 'post', + endpoint, + suffix: '/add', + data, + ...config, + }); + +/** + * GET BY ID + * GET /endpoint/:id + */ +export const getByIdRequest = (id, endpoint, params = {}, config = {}) => + request({ + method: 'get', + endpoint, + suffix: `/${id}`, + params, + ...config, + }); + +/** + * EDIT + * PUT /endpoint/edit/:id + */ +export const editRequest = (id, endpoint, data = null, config = {}) => + request({ + method: 'put', + endpoint, + suffix: `/edit/${id}`, + data, + ...config, + }); + +/** + * DELETE + * DELETE /endpoint/delete/:id + */ +export const deleteRequest = (id, endpoint, data = null, config = {}) => + request({ + method: 'delete', + endpoint, + suffix: `/delete/${id}`, + data, + ...config, + }); + +/** + * SEARCH + * POST /endpoint/search + */ +export const searchRequest = ( + endpoint, + data = null, + params = {}, + config = {}, +) => { + const timezone = -new Date().getTimezoneOffset() / 60; + + return request({ + method: 'post', + endpoint, + suffix: '/search', + data, + params: { + tz: timezone, + ...params, + }, + ...config, + }); +}; + +/** + * CUSTOM REQUEST + * untuk endpoint bebas / beda sendiri + */ +export const customRequest = ({ + method = 'get', + url = '', + data = null, + params = {}, + headers = {}, + axiosConfig = {}, +}) => + request({ + method, + customUrl: url, + data, + params, + headers, + axiosConfig, + }); + +/** + * Optional Export Object + */ +export const apiRequest = { + new: newRequest, + add: addRequest, + getById: getByIdRequest, + edit: editRequest, + delete: deleteRequest, + search: searchRequest, + custom: customRequest, +}; \ No newline at end of file diff --git a/src/assets/hero.png b/src/assets/hero.png deleted file mode 100644 index 02251f4b956c55af2d76fd0788124d7eee2b45eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13057 zcmV+cGycqpP)V|)f$;Qooc7=_G zlYe)HToTQIc!$)^+J1M1y0*T%w!p~7%ux`!eRhO?c80XDxKQ*R^lUUMnA>6NT^?feoZ8xxvP32D&s-9ow zqjcM}eesrC)NeDmsf)*P7wJ|K!&xP%Zy4iI8lF)Tv2!reW)tCzg_1=PmOwd1SQfxa z8;58t!=z~Ba7CYlNWVG>he8aRPY|+-JmozNhn!#9i#77Aa_Edt$ijyCWL#=~I>~2X zZNrQ8I0=D+NWD4pq=7~(i zhfThMNw|G>g^y9pGzxX7ZSApl@tIxFcs{p#MX{Ax&XZT+cR#U+OWc@S)pkIuI}dzu zH?^Q=<(y&Vq-oxSLfc0Zmq81bjZWf}RnssBaD6}2g-XJHLcN_|*IOu>m|x$nbm(?E zyNy!Zp=RroS;?Vg*kmoJYBi!n5{_^@rA!)=t#a^;N$8GL!*DsQb}`yvEuX!G@||An znOfUZAevPrkV_qjl|<~3QRZzG&h@C9Y5z zqpNH4xqbF_InIPh)kX}Vn^5kyed|mOuq+2>M;v~KO37a#yrEn3XDqtOl=rc6_KZ!; zreo)DFVB4|>1Zd(bvMI%8uM;3!)YMYu&cG?(PE!B~y@3yKBMt|R zAf=I16tFwPsl)!jDqvYkLHaAQ+f@W1m6F5aZvwhm4JL z{_l)@b;)mDSzle2gyFP5-r1x-5X{G}ot%VyWP@vEW80!Q=f%RTfpg>B*TA^pyWYUQ z<=xPtz}WcZ!;rFl4m1D&FFHv?K~#9!?A%+fn=lXt;9!Fc#kQ;zk~gZFsH z8e5iu@c_pzX&qb8&Dum*oXwB+fm6l6gFfC|o*wgEiy6tw~&co z9Vd_4)P%wP-KwQW7|lN-znGK#?N+j24U=$982myIBM+vsiKsc*@4-rwJxuAaHKna6 zT3wi!C~a4ZKH03qU}_1bKyx0&$CaK7_%Z+Kl$)fF5^op zZApQF2TvDav!s|krTjw-8US6ep z%!VmX4luub+fseQz_D9ATJQ?iQQwD}TZz{-yo#l12a%+7bT@E(X-hyaVS-5vuXc#^ zx^w;L21;NphGVoj*{s3f4dme0y2LC=G1-7THd`#z?;tuC{^9k(dM{Rf2GOxg7Jzho z7nSZHl7?M9kdalX`)YgoKEfiae5+;$(OGeN1eqxrv!ZCVKyH>xiyNqfe8xzY8*7)H zQls8KMp)F4D>ED;idMOU^^WhVF@q>ZSmeB0y~qC~|DB648hr%Sh|*T(4q|w2l?m2+ zvBVw3@7+Mz?^Yc#+se6KM;a<=(W-I>k)$-qL2V*t}VaW`;?P4)WqI%maIDq8!oUcSYAD`}wWjkSyAVsnF65#2zQ zZ>(K*TlS(E#4y$4Zq+e^_&}d)q20hCe3!LfLYP%nQpLJ~gM6a1hJlz3)aS<9C9me| zAcmJ#>tOwBy{HoP0Sm1&_(E+S@6 zgBIFUoei8zJmdpiq8q5=OY7t@`)JWxn_&GvKVr=Zdb_pEL_j|=?f;WK^U9Q0efd#K z9q7SfJTl4pmA$jsZ5oK8@O9#!I3Cv-kL)<8SalSsp#dcpvJ}Nz#G6FC0%9|7Fi#8; zGDJXtj!&GljT3*HE@0EE>G8Se&d)*nkqe}-?`3vPl&UqK?xG z!3XJ4M-x`EuQjhBbu?ik-)rmIt=DF_N?TVMP)8Gjn)TZ2V%H|zENbeix}kOxd@0}Q z>)HuH6Ean!uS#~4g2Ne2WsMGel|h%j9*W_quQheG^JqmKhc*RYzp0wKlGjBq2VzY_ zgOv8WC1+%W=W)k)Yp_`8kfE=uiiwOZTXi8Uj9YGr$f@yJcJ;#&-Nq~sJ7anE(@;QN z=~br%7%7`isKStX|7!1?L(apl^QvPKlrHV4S+6tNVQ*R1iGdC~WMNE1$a+=rpQmcB z>wxiLIBvOnm;u*;9Y!kJdy(T4lk|8>JAm(&wEsFIF1$_*{>2ZNd$V6DS=SfrGxAv0 zzKe377JI`&o9Ljr+VnS*EwehA{f&{cKZF(6*MG5!p5MvrFA3ll{fmRG*L@6^cb;o^ z3Wm8c?Sc6$`>~VEWw(c$Y?nRO;2Q$=ulpqPtM^=1IZx;@xK0PgO7rKQ^WHVLwtgUT z%|JF{^f(VH)wLKQ%dYiu2RmchBdxL0-M?wxxul_z*{h6ZZ`>-k(vizs((vW8Lt6Z6 zY;Dt?@JWyN`O`f;&d1Mb?e%9oyRK1ql?EE5XB2(W)|D1~Rx35$H6@6)$F?)7V|zEO zI}fu0-0}8W5=6sg$fPnZ~7=tTudl?Ecb@pxbo)vni%gP-?hL|%*?62C;x6?@E`VRnJv z?fTb;k4x;TS7Cu-z%J}uy}e-pwpLQ17Q@4DC+FCdAmNKklG$`I_pyw7E{fYmw~{Fj zi?6KcVy=Wrel)EB_DWO|0CKmI|13!gBV?X`Ozp7x>?6jr`>Qz=^4ea35!$*f}) zS$i+x_k+@P2q1RFUH^ZTTk7=n?cjfR>hTq3l3SY~#w+I8SSutXGyhw;Ws~=zMQ%Vc z>$On~47Ut?P*_!TOQ&PFmLAyJieB2X4_Fd_!WxI-AY`q1Lc-oK?+qcOTzlQ?@~x@OT}*9jTVNfl@3rGvZpWI=eKg>T zZb@6YWz)J=IhP7CF|c?G62vMEG%#U}?#86$0jR4sG~i(jRd#jmn`7b(O#?N;3a;1t zhXLssmUwGhp79luw#(*V8WL0|8+E z6=YZ_O@er~$LrD_PYGc(kJgB=;yw#+Z3X6LDUZ(NcwN=B-hjdiHm!JFar%m{(5bEW z@@_VEtG$5;`EJZ|OkJ@l&G9n((w@uNFwmU%bG|s#TbcJJos!{e+bjCjrCq_}LcN!UFgKtgg7siV*7# z!}1whTRRi*-avJPu->C}Z8EiuK$#886+H_#_!btv+rsiBbv2jAJvJ+O0{#}y(%L3H zfjU-kq_-L@2XrL*ae{{qYJkD{@dw%*bkh2P&YS-0!Xt!PRz7KHV0+~j(t9W8lAVWR zt@B*DgURgEz4>WuN>o?_iKcw$?k{||Pg7{Q2o4|VmJ)mg?{VQJA<}zEr^YAAS zgGm5RT4T3p)U;yz-tfBO^kw8?IoG!IVmc+Z3m#}AOQ?5MRa>)OcU!$N^_+yK6ayn? zK>~WK0!#ysuj^oNLakm)Zvu+J)OSubX^kv!c*xgdIvs;kln!rgG4*uZ;w0mQQO4XD zO9P{GNdv!=cQ(CAL{S(%KtuV^zC&Q{%g)PoXnp^gn^>c*`E>$hLYg2HjnbVGtWLa{7zHdG1jT@B{|Dm16 z7K2(jsfG+m*Zxof)iXxu+!H5Mo-0$pkyV3VV4B@Qms46M zuBxGRV@HxU7Wwx-6CB zaU*HO<_qn$5GH>&@?nRy1{z zkik!sLfWQ)r#75)vVwCBU*r_)Q6mp?!j85{#Xqse)ApRdE$V0%I0*~e(_{)5H)`Mk z#rExC>yjhZxuL@|+#v4#<Axw$+VpV zuT;!2Vww$je$DpAW`$FX_Ab|Ip%$;&T$-lW8jS~B$>G}rd>eQG+$h9lQx4Mx0w={m zx9?T6VU`>sR}XClkAhHEShOUe8awiq zmizhL+}5UKs3}6~It7vBTig9dfQ2Q8coo+Miiaw7n~>4ybv2Ptt0^^=VqX(t*Yya9 zr`FxxFX8(v*H=+uJ#JJWIB2A(==HDYx~^zZ2nu?2`}|Wsa*f3h3ixc+U|FDtAG$Y! z*lc_7se5Oso-Cgqe0){{!8H4g$3<8!R<6JOurD;((({c$1(pwb>(#TT!sge@4>r2@ zVL7>U`0`nsWAYErezk4(Z!gMI2?UTo{J3Ajo(u4)KYIRd>BRcG4BoS3G0EXyEp@tw z%P7__?A^a>Q&AKL@ayDO9D*Qkc!NHnO9l}kpp_6hXbMppYL(X1L?njdFT|-h2<_$; zAtDZ!1Rf%|yb!qbWKd}%0b`LzBeyNy43|QO(&h2mxQLUL)|0%agVOW)6TV!&Ip^Ls z`PG2cygM8)IecQx=Fc+nqYRo4hS^^-nM_&-y8?EJXUczP=DIw(GkTJdpEdh<_STs{ z|A)4n1GKdE=Wu!!nYoZHcUQ4S&R;oDOKX2lrkdF(mK>hz<$Pp>igjOcvoRIjlN=W8 zu8Gx5(roqn8$>gEE5vy{GiGeW8Tq{vnf3hS-V=$tZkQuftUVuU8o6k&dn=Yg3)6MOIH>nlK^-2+C6BZITr~1@So?NvG#TwL)|~=1YXGMTLpS<)ziK_CSOabe z=cB#5)yz|@0i9dSo?*CX)}UP=s6)B+F@~Em(u@Q(I9J9i_V{LmMu8BfXYMh~*oPP+ z!3~xTv|(>|=n6ZOtT~C@V!z!w%18*8T2t6}U2S##rC)mekBql&VsBX;$~ByGE$oA9 z`0Wzq8p?R{4)$l*on;!cLa}Dh^Xe?owiQZt9nH1fxxh$pN9K%CtOw?u3>85L7rr!d zXs)l{TZ{xXP&U8exz?9cv~dNNibOmt*K4I$?RxqIBZ0(?Mg-9FS{*9Bc49Qc1`=sIF-rye`aNT1G@4NwXcnyc@+bw_mTsR>5< zF<2;X0QesG_pw|TonqVBhRtfqI>ty(SIu&VOXd0CrLlfp+;WH7HYjhqnu^oAY!9cB z=B6#R?Rfz9BP`dJ=@v_?70s3HxQPk+{6Y+lM85f2NF^00*^OcM0~?JOZfR9ZPYF+# zYSs}(_BUYV8{n@2a1hD^SV41bwmi2uztR;PeBgF1F-`9>`zoNss-@3LaF2sjl~>OaaVmp7PNp+UT`6@}gR%uzqHDVeEZ14{Yt?n%JeQm+t(1_u zSc}oj^{b;+rlS|ME%+LjzSI&xu0Bblxo$MJ-J$kJ?Qu_XUXh}*@*-x@ny|}wVM%Lg z3tNB`yvr*}N?ClGL;H2cglcvErIccU3(eP7>@~4nOIcI~-`P8tSQnx=jI&{9)!1}l z;gQ%_h>ZlPSV@o@Azq1R$C6ja5!^ZGh;YRhhxs58qJWo9@Bceac&yy(pET1hnn`~7@}2L0&dfPKYs$ih7m2}R!25!(hxqA(!UIw; zK4+~Jowy3=RNC6nE=ncU{LH5?*9@W24lacJlvCZXB$CYtE@>c+~H zkV=(5I&gb{xn2!~f&fs2NQgAL6`p|kyt6kpWk}iVlqIp(H;ig`{_U9yxs1jzu^ETM z7~)Rg8C-NueqTYP&U8l{DY=Y47cR zOR@U%$KQV{mkRF|4)z9Y^t3K`@p>duY&QLUFeh6VoV`a`$U@)(z!-N*5Cj<11$EZW&hJLX83TO{lJYP74rlDZQPkm@t<=U^I)x@|UnHHkdQlh?!ltZwl92rE;;^ zZuIappj4dhld1}kttYYV-j|KF1Kus zWBnzttD^00%LFK(wrwNragFub6xiV8QE2rm<`&fcR4SLFcdtLxVuN!Aal-g6dE4%k zARZ}|xeo;K{0yf7@9aua%2j5o)CPcIOc6uLHFJOcgtB5owlcNAwyAHc0QB0Dts?c@ zUemG~j_E&W7R%+x-IO4FJl8e&*2Blmp1S#RA|)geVrxvP)NHdYuxi~g&Etn?QdNK8ZDKZ?QFLU?zh30G|t9G>a_X4zk}Ygw<^$7K!GIn(Io$>(d4ODJQ2XSd%jpK zm7>ptl$a3GyB}5-%p4>Q*p#VL^B{yQMuFCM^#l#+N!Ne z5_PrJWB=@Iy+t)H`g1lX`{bm($KE5I?0c(JEYm#t{F}j!xtsbob0{xu@0TB_*>G7w0ICn zr#VoBktqHZ~XxhiKD*lcG|b;H*|Ny3P^8ceV`sfBRfrhwZ!T+MFZ!F1Bt{q$8d9i6o?~ zODj^POr}&ivSa^R^YFIq7o0giLBKCycH_aU`F6)O6JX%nPTwh~Q`eq6*0iE#Srj2^ z*_hN3%*b83zfafy60@Cp3{J({RlSaEn&E?mrxRNC9GQ7#+f=s! z0KBf-9Ny_v2VbE%aB|Di)5kNJ^t&C`4D(>t7zYUWUFtbxt+Oq=!@O7BU)}>d*R72o zFF)3jQD_lLe4is&xzyJYC1-c{8TX$RU>&>P$%)ufpez0XSAukmh!xcekg`s$c<>-q zI#zn^JU0zzF}V60)o$_gY}PQH>b2M9&8fRZa#OauglPb zeQ@pMm&=!vNgos4CluQjLMV!pfkmxK+35bi^k&=k>9h02?l+u+m0agG;(h2|Jslc-llvtEwn~*w3bx7qnvZACG<8}AGeaDVvcHbKd2>3G^ zSFPULUn-?Pmo^-_`mLZr??uNH`2=I&yajlrF{DtUxMy#Nu}z=3y7qbUA;5`)hibMR zhXL@@uKyV0-2&A@t@!xyrBnMJl&^o@Gx$&5_q6?D=ji5grd-~=?dlg;ur(_V0wjh! zA=JV^C1m+DDkOsgr<%O9ZQFg!0}pD(#PSz4Dr_EyS5$`)VIAv);4n-SFP~YtC7sH= z7&*MfpH;gd*FHbkmD#)hVxb6xjc9~`t?_{=JS+@ip_cTicXxG<=7m9& zPX+Z8IC*GSAXuGCrZDHgR$r%jyk-fctis2Kx4HvZ|B~8uC@o)m^>Hy-O!&TKA?$&n zkP2Xc54w~!=z2?^NafyL*L0V9cbYrugHBBUj`xVyZmGFR&kvk#>1J*Z~i zNTz}?IAdJ$gkqd2!Gw(%LzE!O5s4C7q4%T~e_P{+z=DNDKrG**p=U`d5yg^vp`;Zn zsU=8gd0a9s4s0FPJePWR9eH5=+O^Kks&kC-iblNqTh2&Pw*^(4384f+D8N|fewZu_ zg2ejQ)ov;ztz;NQl7yj;A`(!H!XQu_$sqY9h_IrH*}_%1{L&_YLDvO?%R5Z-t+ClW z_qERbL?HKUZ!nt+!E9S`uoh^5A|DaIHe*_gf1`E_Vq+}{&T@t$EGhMnRjJ4z2w_W8 zp+qjs7as22^&S3wY1?+}^j-I=RcCE>#|39)g(lU7v_8;?=qK(9D8-*pPdiy)P3lIblG`+?%ea| zYoD3dopYt!tKgFicfNmNi(EWE=E4hC6(r|PYtanqJlmt57YOVrr2^tfrG(eG9C##X zu&1t@%L$RIvpj!wUA z8i>Pqot#_+Cnp6L2XPcZy1ar|9MnY+7eNvK1E)@Tr#2KsXq1*>)uUCozT7L##ok?o zhA6ofP4E|b*9tAfG?uf$#}>TIR&1A!yslP8}i7w-EzW(x#9VEvx18k%Tn=-$VV zkOtUr0b2!w3t>h?#8AZl^Az*(6KCGlD;4j~yx};`#2gN1_gv=%7KVzecIRakN{f*4 zeaI>yH;-o4OGhvGTU)(quWI)-q?V*(sVesSMv|wMUQ3hLEt=lBB$KZ9TyHr>)f7o%) zPYeU<3P)*P10*7vE)nA5#{c=6-E-_>r_u4e3i!I2+UksELwDqwMeBZ9FSP$;^Ajro z_@M#_Ss$?ejoB@!wN|kbGKs(0zLo%0QpQXW#t;oC$B0MZYZ&Ej?8~fNhcCVvPo3vo zFn0WWZaPliF^8_}yzb`*f@yg0uWv6HgNI)xa=pO%Ck(C<=-60l#uD3(wXP~c7!NoX z0&^6=N`zcc90F#qt@=Rn@r!3(*1v(Tl{B!m?Mc7yIA+nEHpY{YWr$=)F7rhR1P}(v zt{YhY#;jsW6G>#xhP*B`OCk|Pf+NN;ju1rxa*HAgoGq*rvqw&xe~;t1JA31$s?GBb z*g7&@cbKo4n<`>)!UlIAgR6q&))B0KYU8r66GbFj?8Guw4E%&}Qi_lT003LtoIZei zwD~=XZmeo+yZ2Pq3KYCF-R&11^p= z@H%s+=G`}wrbJ{()Mh71#2SP3Zy3m>l1n?0N-N1Q;z6?oSxr-G(H5m4EO>~&;}VKi zfY}3w+9z>vp#d)hVuu`)vG_aaH%3b=WKMnSu&c31;<3O;bz2iD=w+o4#oBb36 z5ZCF*Gu?zjZIR0S>_%pHY2$k8D^n7Sz_K8tCDeXM+dO<#LSg%h6`~dnVG1N@T7v&e z%wEd1!k{^zfz_1BTW{!$!B%g)J^2b87!9Y>>100X1SgT7s0z$o>^lAA=Gp_cC1(h=*5Tmf8z&LGJJ>$|K^~s`z9*OWz5MFUr?>Bi?_PGBB)#psD5?>n+q{o_ zz7~ez&;t#h8l$jwGPCC&xq2YetXYQT+0F3j(`xmNGf8dj#an|p#I*pvI*kwW4iuB> z+q3_7xB8y;pLzHG-S%+UHQA zvqp;$kmGJY>lLsN4C~&TcvAS1SErTcwcw0r@wngk zShAUA1M9b#g}^pL-zH7Q#z^&j#r9F8BTVfkR&qF<=e35goTu7c|GN)0mokj4m0%~0 zXJ8j4Hc_l;HJ&uU*Iw`8d_EscJ``s0tk9mkKo^&#TYXm-EoAzTQObxa@^u~g2t#T) zJz|rE!I_?i4dCJC=B8(_pZ{YR>|V?0iCcnU;E@$239^x?SYCfNaMHN;CtHIS_zHN9 zTkQc1v@O35okiFtq5_u+5FkY55ap@pi)O?}x0D1c*qB0KpYR}>Ul+B0Vmr}Z@+%mJ|As}sis_=ROPbov@*2thpE&?!V#Qgu$snYvCZ zrkhmkMU+fSf-s8(L37fPr&M*jRs{{THb!aXQu|P9l_-vJhHvLzMGH zE?1U0H_+PmNABp9`|KzkGfrrZ%XvdGo6*<{d5m9~L7 z_^`M;X6xDo=m6LY6RfvJEvsTK1!u8d2HPx|$S}p;sRy!I zWL55Yxu~_B`OP@~(q6&W3#)~I&+MGL%GWR$#udC151^wsswhqlii;rP9jJpiI7o&Z zAb})=HY7?4HA|re3ns`%$)FuvKCFWjhb~?IE)F6dF2K5}poj-NK6Gf;hw$t3=1txY zoxQxZWrQU6K!%|~!m?~Bnw-6Rr!F3BZ{u5!LqnZTDON}Coj9^@&le)V!NYrVwS~B% zEL+>Sr@}qGwGvu|HrOo|gSt__ezN^&%~{*)a=rf7y1HujUcr`zZB<4#l@T#eN)si} z)lZA<{=tKx8E%c9>A(##6}_p+~EZpKsl5a4pj`E*;_-6`ysiv zffA!7=MT1vCz}-m4~tjVey1b2KSR4OEtLd-(_DdUqYZ74LaDkhH?KFh?%WAOP2WbX zp@zT+Dx|5_f%JQiAGvVw!oh+g3e50u!aPfMxdC=E)XB{F5IcEZhePIM- zph6Y`$Oy?JBL<8Ex(SqEhLeQ@XcrdA>a?rx+_~HLA;l14)WmmpH}_w?Pg#HBZs0eS zwypwAW?M-x+3AU-(GGWSJ=ngxUEcEZ5OsX(Qlt!MQ zn^(`S{GHkAv(8@D`EAfSYig%Cxv?z!{=w^F#y)5_d7FuKZH7qlR-#5B0bt806%D0I zT7VdVP_?q*%Rq8UR;JkD4i^RXowt+E%#V2U>TfDqzZSDZ+dR!a#T3I>-z_$q9@k|m zy5~A*m~&JWP@E7a=pc}4kVHTc4h&R;Li7d@f`|hKMLkbb^uhOakNr3&FLjlm~i5NBM< zFaYI{;cpiHCNRdE0dg*>qIm(_t?#$h=(SCw?h3rJV2*ER8{O4^3#=dO)KwklZkoqU zS8i5c%YL*y*4;FY#D=XmkQnYj%LH)?02~gSJH`Qp1XY64g>%c_K$xseI&|e)7vRoL zAqRba$G@%fSGA7X7hQk%_3NVOYVS+$leU_!&6*5uN)8#5ZBz_6ASCA;azYS-Rt@ki zg2NWz(=;t}SC(~Ibl63$5C8FPmhXqb^)5#jaJ~I{Ex3xZ!+2h8$}}h_g@Be>HZ;72 z6#y#>AY3^skuVKF#0WxFBQ()5d5_nWb?c6c>EeMM|Mh+*&wEpPyxHCq{R-Gdr-`hN zF=1sxl&mBoK+#qRLl9#CEN|Fg8>nbmsTg3a1;#M9enQ$RgWk}kp#-5wh=EF&1tl%mJln2V^8o%Qv(*=zEuO7y z=m*8?xpUn-*@h5Cl_3BK3joiGkyaScK+>|MWdMRWm@RT!Q1piAlv5hL@B6>3&GI8) zP!xBc6}ZNIpJLL%2a8Y!+(<=f%WX>_uWVxlga9!D*oYt$l0cxRDMvqfU;Kq_mLK5k z)dvqYcgLa_Lz?3HyeF)@$%$&6lI?r4I>6W#M*<)vq{?&Oqrx``d`mhpVPr> z#q078F6gw_X<=?KR>8%^t%@wbITvNMu!hKiTSkCTJkw>1!e*Y{%31#_yMf=LW7{RJ zYoC^w$6%3cBtVG5)x#{Hg6IVTh9XEcM{gQwXk!R^y95^f-hZ`d{aVa+xW1EO4wDV4 zB?JgD7*?qkvc|$nIykTvNl2x0j3Q!MXoLL^)~}d7jcYf(H8D~c+?$pKL(px>Z3`eb z04RzS6_AgFT6Pn#iZAg$Sl_j8#;6ShF%&(Fag#E2asU@@LaN;=b=Wf7sgPKhfzhBM zC@eFL8^MrnA*9&Khe*Ab@CC9*uyJGXyi(;y2>lQLJZt;ShtJi?3Yf_t`F+$hY!+Q2Ndsx=U+bjTiAy7djLji>7k%k`$9&--f<*BNA3Hy&ZrHH|4 zG5H&9cB?O#zI1_OOf0Ce%mDfQxdtp3vU%(iY6yji3iISS61XLv#z|!zI_sZqza@B+ zyu9st5-h+`H7QUKx9}3w@oU@EO}&cEzG?fu!!bLO->%zkcg;i9^j`S~=WKMnDi1f= P00000NkvXXu0mjft=yBf diff --git a/src/assets/react.svg b/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/vite.svg b/src/assets/vite.svg deleted file mode 100644 index 5101b67..0000000 --- a/src/assets/vite.svg +++ /dev/null @@ -1 +0,0 @@ -Vite diff --git a/src/components/BaseButton.jsx b/src/components/BaseButton.jsx deleted file mode 100644 index 25e674d..0000000 --- a/src/components/BaseButton.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -export function BaseButton({ onClick, children, style }) { - const defaultStyle = { - padding: '10px 20px', - backgroundColor: '#0070f3', - color: '#fff', - border: 'none', - borderRadius: '5px', - cursor: 'pointer', - ...style - }; - - return ( - - ); -} \ No newline at end of file diff --git a/src/components/ListVirtual.jsx b/src/components/ListVirtual.jsx new file mode 100644 index 0000000..4301303 --- /dev/null +++ b/src/components/ListVirtual.jsx @@ -0,0 +1,256 @@ +import { useState, useEffect, useMemo, useCallback } from "react"; +import { + TextField, + Dialog, + DialogTitle, + DialogContent, + DialogActions, + Button, + List, + ListItemButton, + ListItemText, + Typography, + InputAdornment, + IconButton +} from "@mui/material"; +import ClearIcon from "@mui/icons-material/Clear"; +import FilterTableBuilder from "../utils/filterTableBuilder"; +import { apiRequest } from "../api/request"; + +export default function ListVirtual({ + id, + label, + name, + url, + lengthData = 100, + getData, + defaultValue, + value, + required, + disabled, + error = false, + size = 'medium', + helperText, + filter, + isApiGo = false, +}) { + const [open, setOpen] = useState(false); + const [search, setSearch] = useState(""); + const [rows, setRows] = useState([]); + const [selected, setSelected] = useState(null); + const [loading, setLoading] = useState(false); + const [offset, setOffset] = useState(0); + const [totalRecord, setTotalRecord] = useState(0); + + const debounce = (fn, delay = 400) => { + let timeout; + + return (...args) => { + clearTimeout(timeout); + + timeout = setTimeout(() => { + fn(...args); + }, delay); + }; + }; + + const fetchData = useCallback(async (keyword = "", currentOffset = 0, isAppend = false) => { + setLoading(true); + + const payload = new FilterTableBuilder() + .setPaging(currentOffset, lengthData) + .setOrder([name], true); + + if (keyword) payload.like(name, keyword); + + if (filter && filter.length > 0) { + filter.forEach(f => payload.where(f.logic_operator || "=", f.name, f.value, f.operator || "AND", f.value1 || null, f.table_name || null)); + } + + try { + const res = await apiRequest.search( + url, + payload.build(), + {}, + { isApiGo } + ); + const incomingData = res.data || []; + + setRows(prev => isAppend ? [...prev, ...incomingData] : incomingData); + setTotalRecord(res.totalRecord || 0); + setOffset(currentOffset); + } catch (err) { + console.error("Fetch Error:", err); + } finally { + setLoading(false); + } + }, [url, name, lengthData, filter]); + + const handleScroll = (e) => { + const { scrollTop, scrollHeight, clientHeight } = e.currentTarget; + + const isAtBottom = scrollHeight - scrollTop <= clientHeight + 20; + + if (isAtBottom && !loading && rows.length < totalRecord) { + const nextOffset = offset + lengthData; + fetchData(search, nextOffset, true); + } + }; + + const debouncedFetch = useMemo( + () => + debounce((keyword) => { + setOffset(0); + fetchData(keyword, 0, false); + }, 400), + [fetchData] + ); + + useEffect(() => { + if (open) { + setOffset(0); + fetchData(search, 0, false); + } + }, [open]); + + const fetchById = async (id) => { + setLoading(true); + + const payload = new FilterTableBuilder() + .setPaging(0, 1) + .equal("id", id); + + try { + const res = await apiRequest.search( + url, + payload.build(), + {}, + { isApiGo } + ); + + const data = res.data?.[0]; + + if (data) { + setSelected(data); + } + } catch (err) { + console.error(err); + } + + setLoading(false); + }; + + useEffect(() => { + if (!defaultValue) return; + + if (typeof defaultValue === "object") { + setSelected(defaultValue); + } else { + fetchById(defaultValue); + } + }, [defaultValue]); + + const handleSelect = (row) => { + setSelected(row); + setOpen(false); + setSearch(""); + getData && getData(row); + }; + + const handleClear = () => { + setSelected(null); + setSearch(""); + setRows([]); + getData && getData(null); + }; + const displayValue = selected ? selected[name] : value || ""; + + return ( + <> + !disabled && setOpen(true)} + sx={{ + '& .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline': { + borderColor: 'error.main', + } + }} + slotProps={{ + input: { + endAdornment: selected && ( + + { + e.stopPropagation(); + handleClear(); + }}> + + + + ) + }, + formHelperText: { + sx: { + marginLeft: 0, + } + } + }} + /> + + setOpen(false)} maxWidth="sm" fullWidth> + Search {label} + + { + const val = e.target.value; + setSearch(val); + debouncedFetch(val); + }} + /> + + + {rows.map((row, i) => ( + handleSelect(row)}> + + + ))} + + {loading && ( + + Loading more... + + )} + + + {!loading && rows.length === 0 && ( + + No Data + + )} + + + + + + + + + ); +} \ No newline at end of file diff --git a/src/config/constants.js b/src/config/constants.js new file mode 100644 index 0000000..5794cfc --- /dev/null +++ b/src/config/constants.js @@ -0,0 +1,61 @@ +// src/constants/env.js + +/** + * Helper to read environment variables from Vite (import.meta.env). + * Try beberapa nama kunci agar kompatibel dengan variasi prefix (VITE_APP_* atau VITE_*). + */ +const getEnv = (...keys) => { + for (const k of keys) { + // import.meta.env is populated by Vite at build time + if (typeof import.meta !== 'undefined' && import.meta.env && import.meta.env[k] !== undefined) { + return import.meta.env[k]; + } + } + return undefined; +}; + +export const BASE_URLS = { + OSLOG_HITA: getEnv('VITE_APP_BASE_URL_OSLOG_HITA', 'VITE_BASE_URL_OSLOG_HITA', 'VITE_BASE_URL_OSLOG_HITA') || '', + EMBED_MONITORING_VEHICLE: getEnv('VITE_APP_BASE_URL_EMBED_MONITORING_VEHICLE', 'VITE_BASE_URL_EMBED_MONITORING_VEHICLE') || '', + EMBED_MONITORING_DISPATCH: getEnv('VITE_APP_BASE_URL_EMBED_MONITORING_DISPATCH', 'VITE_BASE_URL_EMBED_MONITORING_DISPATCH') || '', + MAPS_MONITORING: getEnv('VITE_APP_BASE_URL_MAPS_MONITORING', 'VITE_BASE_URL_MAPS_MONITORING') || '', + API2: getEnv('VITE_APP_BASE_URL_API2', 'VITE_BASE_URL_API2') || '', + OSMAP: getEnv('VITE_APP_BASE_URL_OSMAP', 'VITE_BASE_URL_OSMAP') || '' +}; + +export const API_BASES = { + OSLOG_API: getEnv('VITE_APP_BASE_URL_OSLOG_API', 'VITE_BASE_URL_OSLOG_API') || '', + API_GO: getEnv('VITE_APP_BASE_URL_API_GO', 'VITE_BASE_URL_API_GO') || '', + APIV4: getEnv('VITE_APP_BASE_URL_APIV4', 'VITE_BASE_URL_APIV4') || '', + ADDRESS: getEnv('VITE_APP_BASE_URL_ADDRESS', 'VITE_BASE_URL_ADDRESS') || '', + API_AMARIS: getEnv('VITE_APP_BASE_URL_API_AMARIS', 'VITE_BASE_URL_API_AMARIS') || '', + API_NOMINATIM: getEnv('VITE_APP_BASE_URL_API_NOMINATIM', 'VITE_BASE_URL_API_NOMINATIM') || '', + API_NOMINATIM_CUSTOM_MAP: getEnv('VITE_APP_BASE_URL_API_NOMINATIM_CUSTOM_MAP', 'VITE_BASE_URL_API_NOMINATIM_CUSTOM_MAP') || '', + API_PHP: getEnv('VITE_APP_BASE_URL_API_PHP', 'VITE_BASE_URL_API_PHP') || '', + DASHBOARD_API_OSLOG_PRO: getEnv('VITE_APP_BASE_URL_DASHBOARD_API_OSLOG_PRO', 'VITE_BASE_URL_DASHBOARD_API_OSLOG_PRO') || '', + VSS: getEnv('VITE_APP_BASE_URL_VSS', 'VITE_BASE_URL_VSS') || '', + HOWEN_API: getEnv('VITE_APP_BASE_URL_HOWEN_API', 'VITE_BASE_URL_HOWEN_API') || '' +}; + +export const SPACES = { + OSLOG_SPACES: getEnv('VITE_APP_BASE_URL_OSLOG_SPACES', 'VITE_BASE_URL_OSLOG_SPACES') || '', + OSLOG_TEMPLATES: getEnv('VITE_APP_BASE_URL_OSLOG_TEMPLATES', 'VITE_BASE_URL_OSLOG_TEMPLATES') || '', + OSLOG_ROUTING_SHIPMENT: getEnv('VITE_APP_BASE_URL_OSLOG_ROUTING_SHIPMENT', 'VITE_BASE_URL_OSLOG_ROUTING_SHIPMENT') || '' +}; + +// COMPANY_ID: parse ke number jika memungkinkan, otherwise undefined +const _companyId = getEnv('VITE_APP_COMPANY_ID', 'VITE_COMPANY_ID') ?? undefined; +export const COMPANY_ID = + _companyId !== undefined && _companyId !== '' ? (Number.isNaN(Number(_companyId)) ? undefined : Number(_companyId)) : undefined; + +// API token (client-side). CAUTION: tokens here are public in the browser. +export const API_TOKEN = getEnv('VITE_APP_API_TOKEN', 'VITE_API_TOKEN') || ''; + +// Debug mode (boolean) +const _debugRaw = getEnv('VITE_APP_DEBUG_MODE', 'VITE_DEBUG_MODE', 'VITE_DEBUG_MODE') ?? ''; +export const DEBUG_MODE = String(_debugRaw).toLowerCase() === 'true'; + +// API keys (here map etc.) +export const API_KEYS = { + HERE_MAP: getEnv('VITE_APP_APIKEY_HERE_MAP', 'VITE_APIKEY_HERE_MAP', 'VITE_APP_APIKEY_HERE_MAP') || '' +}; diff --git a/src/index.css b/src/index.css deleted file mode 100644 index 2c84af0..0000000 --- a/src/index.css +++ /dev/null @@ -1,111 +0,0 @@ -:root { - --text: #6b6375; - --text-h: #08060d; - --bg: #fff; - --border: #e5e4e7; - --code-bg: #f4f3ec; - --accent: #aa3bff; - --accent-bg: rgba(170, 59, 255, 0.1); - --accent-border: rgba(170, 59, 255, 0.5); - --social-bg: rgba(244, 243, 236, 0.5); - --shadow: - rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; - - --sans: system-ui, 'Segoe UI', Roboto, sans-serif; - --heading: system-ui, 'Segoe UI', Roboto, sans-serif; - --mono: ui-monospace, Consolas, monospace; - - font: 18px/145% var(--sans); - letter-spacing: 0.18px; - color-scheme: light dark; - color: var(--text); - background: var(--bg); - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - @media (max-width: 1024px) { - font-size: 16px; - } -} - -@media (prefers-color-scheme: dark) { - :root { - --text: #9ca3af; - --text-h: #f3f4f6; - --bg: #16171d; - --border: #2e303a; - --code-bg: #1f2028; - --accent: #c084fc; - --accent-bg: rgba(192, 132, 252, 0.15); - --accent-border: rgba(192, 132, 252, 0.5); - --social-bg: rgba(47, 48, 58, 0.5); - --shadow: - rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; - } - - #social .button-icon { - filter: invert(1) brightness(2); - } -} - -body { - margin: 0; -} - -#root { - width: 1126px; - max-width: 100%; - margin: 0 auto; - text-align: center; - border-inline: 1px solid var(--border); - min-height: 100svh; - display: flex; - flex-direction: column; - box-sizing: border-box; -} - -h1, -h2 { - font-family: var(--heading); - font-weight: 500; - color: var(--text-h); -} - -h1 { - font-size: 56px; - letter-spacing: -1.68px; - margin: 32px 0; - @media (max-width: 1024px) { - font-size: 36px; - margin: 20px 0; - } -} -h2 { - font-size: 24px; - line-height: 118%; - letter-spacing: -0.24px; - margin: 0 0 8px; - @media (max-width: 1024px) { - font-size: 20px; - } -} -p { - margin: 0; -} - -code, -.counter { - font-family: var(--mono); - display: inline-flex; - border-radius: 4px; - color: var(--text-h); -} - -code { - font-size: 15px; - line-height: 135%; - padding: 4px 8px; - background: var(--code-bg); -} diff --git a/src/index.js b/src/index.js index 92440dc..c803684 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1 @@ -import { BaseButton } from './components/BaseButton.jsx'; - -export { BaseButton }; \ No newline at end of file +export { default as ListVirtual } from './components/ListVirtual.jsx'; \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx deleted file mode 100644 index b9a1a6d..0000000 --- a/src/main.jsx +++ /dev/null @@ -1,10 +0,0 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './index.css' -import App from './App.jsx' - -createRoot(document.getElementById('root')).render( - - - , -) diff --git a/src/utils/filterTableBuilder.js b/src/utils/filterTableBuilder.js new file mode 100644 index 0000000..c2a14d4 --- /dev/null +++ b/src/utils/filterTableBuilder.js @@ -0,0 +1,101 @@ +class FilterTableBuilder { + constructor() { + this.filters = []; + this.paging = { start: 0, length: 25 }; + this.orders = {}; + this.joins = []; + } + + where(operatorSymbol, name, value, operator = 'AND', value1 = null, tableName = null) { + const filter = { + logic_operator: operatorSymbol, + name, + operator, + value: value?.toString() ?? null, + ...(tableName != null ? { table_name: tableName } : {}), + ...(value1 != null ? { value1 } : {}) + }; + + this.filters.push(filter); + return this; + } + + equal(name, value, operator = 'AND', tableName = null) { + return this.where('=', name, value, operator, null, tableName); + } + + notEqual(name, value, operator = 'AND', tableName = null) { + return this.where('<>', name, value, operator, null, tableName); + } + + isNull(name, value, operator = 'AND', tableName = null) { + return this.where('IS NULL', name, value, operator, null, tableName); + } + + isNotNull(name, value, operator = 'AND', tableName = null) { + return this.where('IS NOT NULL', name, value, operator, null, tableName); + } + + in(name, value, operator = 'AND', tableName = null) { + return this.where('IN', name, value, operator, null, tableName); + } + + like(name, value, operator = 'AND', tableName = null) { + return this.where('like', name, value, operator, null, tableName); + } + + range(name, value, value1, operator = 'AND', tableName = null) { + return this.where('RANGE', name, value, operator, value1, tableName); + } + + setPaging(start, length) { + this.paging = { start, length }; + return this; + } + + setOrder(columns, ascending = true) { + this.orders = { columns, ascending }; + return this; + } + + addJoin(name, columnResults = []) { + this.joins.push({ name, column_results: columnResults }); + return this; + } + + clone() { + const fb = new FilterTableBuilder(); + fb.filters = JSON.parse(JSON.stringify(this.filters)); + fb.paging = { ...this.paging }; + fb.orders = { ...this.orders }; + fb.joins = JSON.parse(JSON.stringify(this.joins)); + return fb; + } + + build() { + let filters = [...this.filters]; + const idx = filters.findIndex((f) => f.name === 'company_id'); + if (idx > 0) { + const [companyFilter] = filters.splice(idx, 1); + filters.unshift(companyFilter); + } + + const result = { paging: this.paging }; + + if (filters.length > 0) { + result.columns = filters; + } + + if (Object.keys(this.orders).length > 0) { + result.orders = this.orders; + } + + if (this.joins.length > 0) { + result.joins = this.joins; + } + + return result; + } +} + +export default FilterTableBuilder; diff --git a/src/utils/response.js b/src/utils/response.js new file mode 100644 index 0000000..aab6f7d --- /dev/null +++ b/src/utils/response.js @@ -0,0 +1,61 @@ +export const formatApiResponse = (responseOrError) => { + if (responseOrError?.status) { + const { status, data, message } = responseOrError; + + if (status >= 200 && status < 300) { + return { + code: data.code ?? status, + error: false, + status: data.status ?? true, + data: data.data ?? null, + message: message ?? null, + totalRecord: data.totalRecord ?? null + }; + } + + return { + error: true, + status, + data: data ?? null, + message: data?.message ?? message ?? 'Request failed' + }; + } + + if (responseOrError?.response) { + const status = responseOrError.response.status ?? null; + const data = responseOrError.response.data ?? null; + const message = responseOrError.response.data?.message ?? responseOrError.message ?? 'Request failed'; + + return { + error: true, + status, + data, + message + }; + } + + if (responseOrError?.request) { + return { + error: true, + status: null, + data: null, + message: 'No response received from server' + }; + } + + return { + error: true, + status: null, + data: null, + message: responseOrError?.message ?? 'Unknown error' + }; +}; + +export const normalizeApiResponse = (data, error, isLoading) => { + return { + data: data?.data ?? [], + totalRecord: data?.totalRecord ?? 0, + error: error, + isLoading: isLoading + }; +};