19201 lines
752 KiB
JavaScript
19201 lines
752 KiB
JavaScript
function aw(e, t) {
|
|
for (var n = 0; n < t.length; n++) {
|
|
const r = t[n];
|
|
if (typeof r != "string" && !Array.isArray(r)) {
|
|
for (const o in r)
|
|
if (o !== "default" && !(o in e)) {
|
|
const i = Object.getOwnPropertyDescriptor(r, o);
|
|
i && Object.defineProperty(e, o, i.get ? i : {
|
|
enumerable: !0,
|
|
get: () => r[o]
|
|
});
|
|
}
|
|
}
|
|
}
|
|
return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }));
|
|
}
|
|
var Vs = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
function xf(e) {
|
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
}
|
|
var qy = { exports: {} }, Bl = {}, Yy = { exports: {} }, H = {};
|
|
/**
|
|
* @license React
|
|
* react.production.min.js
|
|
*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
var hs = Symbol.for("react.element"), lw = Symbol.for("react.portal"), uw = Symbol.for("react.fragment"), cw = Symbol.for("react.strict_mode"), dw = Symbol.for("react.profiler"), fw = Symbol.for("react.provider"), hw = Symbol.for("react.context"), pw = Symbol.for("react.forward_ref"), mw = Symbol.for("react.suspense"), gw = Symbol.for("react.memo"), yw = Symbol.for("react.lazy"), Bp = Symbol.iterator;
|
|
function vw(e) {
|
|
return e === null || typeof e != "object" ? null : (e = Bp && e[Bp] || e["@@iterator"], typeof e == "function" ? e : null);
|
|
}
|
|
var Zy = { isMounted: function() {
|
|
return !1;
|
|
}, enqueueForceUpdate: function() {
|
|
}, enqueueReplaceState: function() {
|
|
}, enqueueSetState: function() {
|
|
} }, Gy = Object.assign, Qy = {};
|
|
function Io(e, t, n) {
|
|
this.props = e, this.context = t, this.refs = Qy, this.updater = n || Zy;
|
|
}
|
|
Io.prototype.isReactComponent = {};
|
|
Io.prototype.setState = function(e, t) {
|
|
if (typeof e != "object" && typeof e != "function" && e != null) throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
|
|
this.updater.enqueueSetState(this, e, t, "setState");
|
|
};
|
|
Io.prototype.forceUpdate = function(e) {
|
|
this.updater.enqueueForceUpdate(this, e, "forceUpdate");
|
|
};
|
|
function Jy() {
|
|
}
|
|
Jy.prototype = Io.prototype;
|
|
function wf(e, t, n) {
|
|
this.props = e, this.context = t, this.refs = Qy, this.updater = n || Zy;
|
|
}
|
|
var kf = wf.prototype = new Jy();
|
|
kf.constructor = wf;
|
|
Gy(kf, Io.prototype);
|
|
kf.isPureReactComponent = !0;
|
|
var Vp = Array.isArray, _y = Object.prototype.hasOwnProperty, Cf = { current: null }, $y = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function e0(e, t, n) {
|
|
var r, o = {}, i = null, s = null;
|
|
if (t != null) for (r in t.ref !== void 0 && (s = t.ref), t.key !== void 0 && (i = "" + t.key), t) _y.call(t, r) && !$y.hasOwnProperty(r) && (o[r] = t[r]);
|
|
var a = arguments.length - 2;
|
|
if (a === 1) o.children = n;
|
|
else if (1 < a) {
|
|
for (var l = Array(a), u = 0; u < a; u++) l[u] = arguments[u + 2];
|
|
o.children = l;
|
|
}
|
|
if (e && e.defaultProps) for (r in a = e.defaultProps, a) o[r] === void 0 && (o[r] = a[r]);
|
|
return { $$typeof: hs, type: e, key: i, ref: s, props: o, _owner: Cf.current };
|
|
}
|
|
function Sw(e, t) {
|
|
return { $$typeof: hs, type: e.type, key: t, ref: e.ref, props: e.props, _owner: e._owner };
|
|
}
|
|
function Tf(e) {
|
|
return typeof e == "object" && e !== null && e.$$typeof === hs;
|
|
}
|
|
function bw(e) {
|
|
var t = { "=": "=0", ":": "=2" };
|
|
return "$" + e.replace(/[=:]/g, function(n) {
|
|
return t[n];
|
|
});
|
|
}
|
|
var Ip = /\/+/g;
|
|
function Lu(e, t) {
|
|
return typeof e == "object" && e !== null && e.key != null ? bw("" + e.key) : t.toString(36);
|
|
}
|
|
function pa(e, t, n, r, o) {
|
|
var i = typeof e;
|
|
(i === "undefined" || i === "boolean") && (e = null);
|
|
var s = !1;
|
|
if (e === null) s = !0;
|
|
else switch (i) {
|
|
case "string":
|
|
case "number":
|
|
s = !0;
|
|
break;
|
|
case "object":
|
|
switch (e.$$typeof) {
|
|
case hs:
|
|
case lw:
|
|
s = !0;
|
|
}
|
|
}
|
|
if (s) return s = e, o = o(s), e = r === "" ? "." + Lu(s, 0) : r, Vp(o) ? (n = "", e != null && (n = e.replace(Ip, "$&/") + "/"), pa(o, t, n, "", function(u) {
|
|
return u;
|
|
})) : o != null && (Tf(o) && (o = Sw(o, n + (!o.key || s && s.key === o.key ? "" : ("" + o.key).replace(Ip, "$&/") + "/") + e)), t.push(o)), 1;
|
|
if (s = 0, r = r === "" ? "." : r + ":", Vp(e)) for (var a = 0; a < e.length; a++) {
|
|
i = e[a];
|
|
var l = r + Lu(i, a);
|
|
s += pa(i, t, n, l, o);
|
|
}
|
|
else if (l = vw(e), typeof l == "function") for (e = l.call(e), a = 0; !(i = e.next()).done; ) i = i.value, l = r + Lu(i, a++), s += pa(i, t, n, l, o);
|
|
else if (i === "object") throw t = String(e), Error("Objects are not valid as a React child (found: " + (t === "[object Object]" ? "object with keys {" + Object.keys(e).join(", ") + "}" : t) + "). If you meant to render a collection of children, use an array instead.");
|
|
return s;
|
|
}
|
|
function Is(e, t, n) {
|
|
if (e == null) return e;
|
|
var r = [], o = 0;
|
|
return pa(e, r, "", "", function(i) {
|
|
return t.call(n, i, o++);
|
|
}), r;
|
|
}
|
|
function xw(e) {
|
|
if (e._status === -1) {
|
|
var t = e._result;
|
|
t = t(), t.then(function(n) {
|
|
(e._status === 0 || e._status === -1) && (e._status = 1, e._result = n);
|
|
}, function(n) {
|
|
(e._status === 0 || e._status === -1) && (e._status = 2, e._result = n);
|
|
}), e._status === -1 && (e._status = 0, e._result = t);
|
|
}
|
|
if (e._status === 1) return e._result.default;
|
|
throw e._result;
|
|
}
|
|
var tt = { current: null }, ma = { transition: null }, ww = { ReactCurrentDispatcher: tt, ReactCurrentBatchConfig: ma, ReactCurrentOwner: Cf };
|
|
function t0() {
|
|
throw Error("act(...) is not supported in production builds of React.");
|
|
}
|
|
H.Children = { map: Is, forEach: function(e, t, n) {
|
|
Is(e, function() {
|
|
t.apply(this, arguments);
|
|
}, n);
|
|
}, count: function(e) {
|
|
var t = 0;
|
|
return Is(e, function() {
|
|
t++;
|
|
}), t;
|
|
}, toArray: function(e) {
|
|
return Is(e, function(t) {
|
|
return t;
|
|
}) || [];
|
|
}, only: function(e) {
|
|
if (!Tf(e)) throw Error("React.Children.only expected to receive a single React element child.");
|
|
return e;
|
|
} };
|
|
H.Component = Io;
|
|
H.Fragment = uw;
|
|
H.Profiler = dw;
|
|
H.PureComponent = wf;
|
|
H.StrictMode = cw;
|
|
H.Suspense = mw;
|
|
H.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ww;
|
|
H.act = t0;
|
|
H.cloneElement = function(e, t, n) {
|
|
if (e == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + e + ".");
|
|
var r = Gy({}, e.props), o = e.key, i = e.ref, s = e._owner;
|
|
if (t != null) {
|
|
if (t.ref !== void 0 && (i = t.ref, s = Cf.current), t.key !== void 0 && (o = "" + t.key), e.type && e.type.defaultProps) var a = e.type.defaultProps;
|
|
for (l in t) _y.call(t, l) && !$y.hasOwnProperty(l) && (r[l] = t[l] === void 0 && a !== void 0 ? a[l] : t[l]);
|
|
}
|
|
var l = arguments.length - 2;
|
|
if (l === 1) r.children = n;
|
|
else if (1 < l) {
|
|
a = Array(l);
|
|
for (var u = 0; u < l; u++) a[u] = arguments[u + 2];
|
|
r.children = a;
|
|
}
|
|
return { $$typeof: hs, type: e.type, key: o, ref: i, props: r, _owner: s };
|
|
};
|
|
H.createContext = function(e) {
|
|
return e = { $$typeof: hw, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, e.Provider = { $$typeof: fw, _context: e }, e.Consumer = e;
|
|
};
|
|
H.createElement = e0;
|
|
H.createFactory = function(e) {
|
|
var t = e0.bind(null, e);
|
|
return t.type = e, t;
|
|
};
|
|
H.createRef = function() {
|
|
return { current: null };
|
|
};
|
|
H.forwardRef = function(e) {
|
|
return { $$typeof: pw, render: e };
|
|
};
|
|
H.isValidElement = Tf;
|
|
H.lazy = function(e) {
|
|
return { $$typeof: yw, _payload: { _status: -1, _result: e }, _init: xw };
|
|
};
|
|
H.memo = function(e, t) {
|
|
return { $$typeof: gw, type: e, compare: t === void 0 ? null : t };
|
|
};
|
|
H.startTransition = function(e) {
|
|
var t = ma.transition;
|
|
ma.transition = {};
|
|
try {
|
|
e();
|
|
} finally {
|
|
ma.transition = t;
|
|
}
|
|
};
|
|
H.unstable_act = t0;
|
|
H.useCallback = function(e, t) {
|
|
return tt.current.useCallback(e, t);
|
|
};
|
|
H.useContext = function(e) {
|
|
return tt.current.useContext(e);
|
|
};
|
|
H.useDebugValue = function() {
|
|
};
|
|
H.useDeferredValue = function(e) {
|
|
return tt.current.useDeferredValue(e);
|
|
};
|
|
H.useEffect = function(e, t) {
|
|
return tt.current.useEffect(e, t);
|
|
};
|
|
H.useId = function() {
|
|
return tt.current.useId();
|
|
};
|
|
H.useImperativeHandle = function(e, t, n) {
|
|
return tt.current.useImperativeHandle(e, t, n);
|
|
};
|
|
H.useInsertionEffect = function(e, t) {
|
|
return tt.current.useInsertionEffect(e, t);
|
|
};
|
|
H.useLayoutEffect = function(e, t) {
|
|
return tt.current.useLayoutEffect(e, t);
|
|
};
|
|
H.useMemo = function(e, t) {
|
|
return tt.current.useMemo(e, t);
|
|
};
|
|
H.useReducer = function(e, t, n) {
|
|
return tt.current.useReducer(e, t, n);
|
|
};
|
|
H.useRef = function(e) {
|
|
return tt.current.useRef(e);
|
|
};
|
|
H.useState = function(e) {
|
|
return tt.current.useState(e);
|
|
};
|
|
H.useSyncExternalStore = function(e, t, n) {
|
|
return tt.current.useSyncExternalStore(e, t, n);
|
|
};
|
|
H.useTransition = function() {
|
|
return tt.current.useTransition();
|
|
};
|
|
H.version = "18.3.1";
|
|
Yy.exports = H;
|
|
var C = Yy.exports;
|
|
const kw = /* @__PURE__ */ xf(C), Op = /* @__PURE__ */ aw({
|
|
__proto__: null,
|
|
default: kw
|
|
}, [C]);
|
|
/**
|
|
* @license React
|
|
* react-jsx-runtime.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 Cw = C, Tw = Symbol.for("react.element"), Ew = Symbol.for("react.fragment"), Pw = Object.prototype.hasOwnProperty, Aw = Cw.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, zw = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
function n0(e, t, n) {
|
|
var r, o = {}, i = null, s = null;
|
|
n !== void 0 && (i = "" + n), t.key !== void 0 && (i = "" + t.key), t.ref !== void 0 && (s = t.ref);
|
|
for (r in t) Pw.call(t, r) && !zw.hasOwnProperty(r) && (o[r] = t[r]);
|
|
if (e && e.defaultProps) for (r in t = e.defaultProps, t) o[r] === void 0 && (o[r] = t[r]);
|
|
return { $$typeof: Tw, type: e, key: i, ref: s, props: o, _owner: Aw.current };
|
|
}
|
|
Bl.Fragment = Ew;
|
|
Bl.jsx = n0;
|
|
Bl.jsxs = n0;
|
|
qy.exports = Bl;
|
|
var F = qy.exports, r0 = { exports: {} }, bt = {}, o0 = { exports: {} }, i0 = {};
|
|
/**
|
|
* @license React
|
|
* scheduler.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.
|
|
*/
|
|
(function(e) {
|
|
function t(D, O) {
|
|
var W = D.length;
|
|
D.push(O);
|
|
e: for (; 0 < W; ) {
|
|
var $ = W - 1 >>> 1, Se = D[$];
|
|
if (0 < o(Se, O)) D[$] = O, D[W] = Se, W = $;
|
|
else break e;
|
|
}
|
|
}
|
|
function n(D) {
|
|
return D.length === 0 ? null : D[0];
|
|
}
|
|
function r(D) {
|
|
if (D.length === 0) return null;
|
|
var O = D[0], W = D.pop();
|
|
if (W !== O) {
|
|
D[0] = W;
|
|
e: for (var $ = 0, Se = D.length, ee = Se >>> 1; $ < ee; ) {
|
|
var Zt = 2 * ($ + 1) - 1, Xo = D[Zt], ft = Zt + 1, sr = D[ft];
|
|
if (0 > o(Xo, W)) ft < Se && 0 > o(sr, Xo) ? (D[$] = sr, D[ft] = W, $ = ft) : (D[$] = Xo, D[Zt] = W, $ = Zt);
|
|
else if (ft < Se && 0 > o(sr, W)) D[$] = sr, D[ft] = W, $ = ft;
|
|
else break e;
|
|
}
|
|
}
|
|
return O;
|
|
}
|
|
function o(D, O) {
|
|
var W = D.sortIndex - O.sortIndex;
|
|
return W !== 0 ? W : D.id - O.id;
|
|
}
|
|
if (typeof performance == "object" && typeof performance.now == "function") {
|
|
var i = performance;
|
|
e.unstable_now = function() {
|
|
return i.now();
|
|
};
|
|
} else {
|
|
var s = Date, a = s.now();
|
|
e.unstable_now = function() {
|
|
return s.now() - a;
|
|
};
|
|
}
|
|
var l = [], u = [], c = 1, d = null, f = 3, y = !1, v = !1, S = !1, k = typeof setTimeout == "function" ? setTimeout : null, p = typeof clearTimeout == "function" ? clearTimeout : null, h = typeof setImmediate < "u" ? setImmediate : null;
|
|
typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
|
|
function g(D) {
|
|
for (var O = n(u); O !== null; ) {
|
|
if (O.callback === null) r(u);
|
|
else if (O.startTime <= D) r(u), O.sortIndex = O.expirationTime, t(l, O);
|
|
else break;
|
|
O = n(u);
|
|
}
|
|
}
|
|
function w(D) {
|
|
if (S = !1, g(D), !v) if (n(l) !== null) v = !0, We(P);
|
|
else {
|
|
var O = n(u);
|
|
O !== null && Nr(w, O.startTime - D);
|
|
}
|
|
}
|
|
function P(D, O) {
|
|
v = !1, S && (S = !1, p(z), z = -1), y = !0;
|
|
var W = f;
|
|
try {
|
|
for (g(O), d = n(l); d !== null && (!(d.expirationTime > O) || D && !U()); ) {
|
|
var $ = d.callback;
|
|
if (typeof $ == "function") {
|
|
d.callback = null, f = d.priorityLevel;
|
|
var Se = $(d.expirationTime <= O);
|
|
O = e.unstable_now(), typeof Se == "function" ? d.callback = Se : d === n(l) && r(l), g(O);
|
|
} else r(l);
|
|
d = n(l);
|
|
}
|
|
if (d !== null) var ee = !0;
|
|
else {
|
|
var Zt = n(u);
|
|
Zt !== null && Nr(w, Zt.startTime - O), ee = !1;
|
|
}
|
|
return ee;
|
|
} finally {
|
|
d = null, f = W, y = !1;
|
|
}
|
|
}
|
|
var A = !1, E = null, z = -1, I = 5, M = -1;
|
|
function U() {
|
|
return !(e.unstable_now() - M < I);
|
|
}
|
|
function le() {
|
|
if (E !== null) {
|
|
var D = e.unstable_now();
|
|
M = D;
|
|
var O = !0;
|
|
try {
|
|
O = E(!0, D);
|
|
} finally {
|
|
O ? Le() : (A = !1, E = null);
|
|
}
|
|
} else A = !1;
|
|
}
|
|
var Le;
|
|
if (typeof h == "function") Le = function() {
|
|
h(le);
|
|
};
|
|
else if (typeof MessageChannel < "u") {
|
|
var Ye = new MessageChannel(), dt = Ye.port2;
|
|
Ye.port1.onmessage = le, Le = function() {
|
|
dt.postMessage(null);
|
|
};
|
|
} else Le = function() {
|
|
k(le, 0);
|
|
};
|
|
function We(D) {
|
|
E = D, A || (A = !0, Le());
|
|
}
|
|
function Nr(D, O) {
|
|
z = k(function() {
|
|
D(e.unstable_now());
|
|
}, O);
|
|
}
|
|
e.unstable_IdlePriority = 5, e.unstable_ImmediatePriority = 1, e.unstable_LowPriority = 4, e.unstable_NormalPriority = 3, e.unstable_Profiling = null, e.unstable_UserBlockingPriority = 2, e.unstable_cancelCallback = function(D) {
|
|
D.callback = null;
|
|
}, e.unstable_continueExecution = function() {
|
|
v || y || (v = !0, We(P));
|
|
}, e.unstable_forceFrameRate = function(D) {
|
|
0 > D || 125 < D ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : I = 0 < D ? Math.floor(1e3 / D) : 5;
|
|
}, e.unstable_getCurrentPriorityLevel = function() {
|
|
return f;
|
|
}, e.unstable_getFirstCallbackNode = function() {
|
|
return n(l);
|
|
}, e.unstable_next = function(D) {
|
|
switch (f) {
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
var O = 3;
|
|
break;
|
|
default:
|
|
O = f;
|
|
}
|
|
var W = f;
|
|
f = O;
|
|
try {
|
|
return D();
|
|
} finally {
|
|
f = W;
|
|
}
|
|
}, e.unstable_pauseExecution = function() {
|
|
}, e.unstable_requestPaint = function() {
|
|
}, e.unstable_runWithPriority = function(D, O) {
|
|
switch (D) {
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
case 5:
|
|
break;
|
|
default:
|
|
D = 3;
|
|
}
|
|
var W = f;
|
|
f = D;
|
|
try {
|
|
return O();
|
|
} finally {
|
|
f = W;
|
|
}
|
|
}, e.unstable_scheduleCallback = function(D, O, W) {
|
|
var $ = e.unstable_now();
|
|
switch (typeof W == "object" && W !== null ? (W = W.delay, W = typeof W == "number" && 0 < W ? $ + W : $) : W = $, D) {
|
|
case 1:
|
|
var Se = -1;
|
|
break;
|
|
case 2:
|
|
Se = 250;
|
|
break;
|
|
case 5:
|
|
Se = 1073741823;
|
|
break;
|
|
case 4:
|
|
Se = 1e4;
|
|
break;
|
|
default:
|
|
Se = 5e3;
|
|
}
|
|
return Se = W + Se, D = { id: c++, callback: O, priorityLevel: D, startTime: W, expirationTime: Se, sortIndex: -1 }, W > $ ? (D.sortIndex = W, t(u, D), n(l) === null && D === n(u) && (S ? (p(z), z = -1) : S = !0, Nr(w, W - $))) : (D.sortIndex = Se, t(l, D), v || y || (v = !0, We(P))), D;
|
|
}, e.unstable_shouldYield = U, e.unstable_wrapCallback = function(D) {
|
|
var O = f;
|
|
return function() {
|
|
var W = f;
|
|
f = O;
|
|
try {
|
|
return D.apply(this, arguments);
|
|
} finally {
|
|
f = W;
|
|
}
|
|
};
|
|
};
|
|
})(i0);
|
|
o0.exports = i0;
|
|
var Mw = o0.exports;
|
|
/**
|
|
* @license React
|
|
* react-dom.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 Rw = C, St = Mw;
|
|
function R(e) {
|
|
for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++) t += "&args[]=" + encodeURIComponent(arguments[n]);
|
|
return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
|
|
}
|
|
var s0 = /* @__PURE__ */ new Set(), ji = {};
|
|
function Br(e, t) {
|
|
Co(e, t), Co(e + "Capture", t);
|
|
}
|
|
function Co(e, t) {
|
|
for (ji[e] = t, e = 0; e < t.length; e++) s0.add(t[e]);
|
|
}
|
|
var En = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), Wc = Object.prototype.hasOwnProperty, Dw = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, Np = {}, jp = {};
|
|
function Fw(e) {
|
|
return Wc.call(jp, e) ? !0 : Wc.call(Np, e) ? !1 : Dw.test(e) ? jp[e] = !0 : (Np[e] = !0, !1);
|
|
}
|
|
function Lw(e, t, n, r) {
|
|
if (n !== null && n.type === 0) return !1;
|
|
switch (typeof t) {
|
|
case "function":
|
|
case "symbol":
|
|
return !0;
|
|
case "boolean":
|
|
return r ? !1 : n !== null ? !n.acceptsBooleans : (e = e.toLowerCase().slice(0, 5), e !== "data-" && e !== "aria-");
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function Bw(e, t, n, r) {
|
|
if (t === null || typeof t > "u" || Lw(e, t, n, r)) return !0;
|
|
if (r) return !1;
|
|
if (n !== null) switch (n.type) {
|
|
case 3:
|
|
return !t;
|
|
case 4:
|
|
return t === !1;
|
|
case 5:
|
|
return isNaN(t);
|
|
case 6:
|
|
return isNaN(t) || 1 > t;
|
|
}
|
|
return !1;
|
|
}
|
|
function nt(e, t, n, r, o, i, s) {
|
|
this.acceptsBooleans = t === 2 || t === 3 || t === 4, this.attributeName = r, this.attributeNamespace = o, this.mustUseProperty = n, this.propertyName = e, this.type = t, this.sanitizeURL = i, this.removeEmptyString = s;
|
|
}
|
|
var je = {};
|
|
"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e) {
|
|
je[e] = new nt(e, 0, !1, e, null, !1, !1);
|
|
});
|
|
[["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(e) {
|
|
var t = e[0];
|
|
je[t] = new nt(t, 1, !1, e[1], null, !1, !1);
|
|
});
|
|
["contentEditable", "draggable", "spellCheck", "value"].forEach(function(e) {
|
|
je[e] = new nt(e, 2, !1, e.toLowerCase(), null, !1, !1);
|
|
});
|
|
["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(e) {
|
|
je[e] = new nt(e, 2, !1, e, null, !1, !1);
|
|
});
|
|
"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e) {
|
|
je[e] = new nt(e, 3, !1, e.toLowerCase(), null, !1, !1);
|
|
});
|
|
["checked", "multiple", "muted", "selected"].forEach(function(e) {
|
|
je[e] = new nt(e, 3, !0, e, null, !1, !1);
|
|
});
|
|
["capture", "download"].forEach(function(e) {
|
|
je[e] = new nt(e, 4, !1, e, null, !1, !1);
|
|
});
|
|
["cols", "rows", "size", "span"].forEach(function(e) {
|
|
je[e] = new nt(e, 6, !1, e, null, !1, !1);
|
|
});
|
|
["rowSpan", "start"].forEach(function(e) {
|
|
je[e] = new nt(e, 5, !1, e.toLowerCase(), null, !1, !1);
|
|
});
|
|
var Ef = /[\-:]([a-z])/g;
|
|
function Pf(e) {
|
|
return e[1].toUpperCase();
|
|
}
|
|
"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e) {
|
|
var t = e.replace(
|
|
Ef,
|
|
Pf
|
|
);
|
|
je[t] = new nt(t, 1, !1, e, null, !1, !1);
|
|
});
|
|
"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e) {
|
|
var t = e.replace(Ef, Pf);
|
|
je[t] = new nt(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1);
|
|
});
|
|
["xml:base", "xml:lang", "xml:space"].forEach(function(e) {
|
|
var t = e.replace(Ef, Pf);
|
|
je[t] = new nt(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1);
|
|
});
|
|
["tabIndex", "crossOrigin"].forEach(function(e) {
|
|
je[e] = new nt(e, 1, !1, e.toLowerCase(), null, !1, !1);
|
|
});
|
|
je.xlinkHref = new nt("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1);
|
|
["src", "href", "action", "formAction"].forEach(function(e) {
|
|
je[e] = new nt(e, 1, !1, e.toLowerCase(), null, !0, !0);
|
|
});
|
|
function Af(e, t, n, r) {
|
|
var o = je.hasOwnProperty(t) ? je[t] : null;
|
|
(o !== null ? o.type !== 0 : r || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (Bw(t, n, o, r) && (n = null), r || o === null ? Fw(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : o.mustUseProperty ? e[o.propertyName] = n === null ? o.type === 3 ? !1 : "" : n : (t = o.attributeName, r = o.attributeNamespace, n === null ? e.removeAttribute(t) : (o = o.type, n = o === 3 || o === 4 && n === !0 ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));
|
|
}
|
|
var Rn = Rw.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, Os = Symbol.for("react.element"), Xr = Symbol.for("react.portal"), qr = Symbol.for("react.fragment"), zf = Symbol.for("react.strict_mode"), Uc = Symbol.for("react.profiler"), a0 = Symbol.for("react.provider"), l0 = Symbol.for("react.context"), Mf = Symbol.for("react.forward_ref"), Hc = Symbol.for("react.suspense"), Kc = Symbol.for("react.suspense_list"), Rf = Symbol.for("react.memo"), Vn = Symbol.for("react.lazy"), u0 = Symbol.for("react.offscreen"), Wp = Symbol.iterator;
|
|
function Qo(e) {
|
|
return e === null || typeof e != "object" ? null : (e = Wp && e[Wp] || e["@@iterator"], typeof e == "function" ? e : null);
|
|
}
|
|
var ve = Object.assign, Bu;
|
|
function ui(e) {
|
|
if (Bu === void 0) try {
|
|
throw Error();
|
|
} catch (n) {
|
|
var t = n.stack.trim().match(/\n( *(at )?)/);
|
|
Bu = t && t[1] || "";
|
|
}
|
|
return `
|
|
` + Bu + e;
|
|
}
|
|
var Vu = !1;
|
|
function Iu(e, t) {
|
|
if (!e || Vu) return "";
|
|
Vu = !0;
|
|
var n = Error.prepareStackTrace;
|
|
Error.prepareStackTrace = void 0;
|
|
try {
|
|
if (t) if (t = function() {
|
|
throw Error();
|
|
}, Object.defineProperty(t.prototype, "props", { set: function() {
|
|
throw Error();
|
|
} }), typeof Reflect == "object" && Reflect.construct) {
|
|
try {
|
|
Reflect.construct(t, []);
|
|
} catch (u) {
|
|
var r = u;
|
|
}
|
|
Reflect.construct(e, [], t);
|
|
} else {
|
|
try {
|
|
t.call();
|
|
} catch (u) {
|
|
r = u;
|
|
}
|
|
e.call(t.prototype);
|
|
}
|
|
else {
|
|
try {
|
|
throw Error();
|
|
} catch (u) {
|
|
r = u;
|
|
}
|
|
e();
|
|
}
|
|
} catch (u) {
|
|
if (u && r && typeof u.stack == "string") {
|
|
for (var o = u.stack.split(`
|
|
`), i = r.stack.split(`
|
|
`), s = o.length - 1, a = i.length - 1; 1 <= s && 0 <= a && o[s] !== i[a]; ) a--;
|
|
for (; 1 <= s && 0 <= a; s--, a--) if (o[s] !== i[a]) {
|
|
if (s !== 1 || a !== 1)
|
|
do
|
|
if (s--, a--, 0 > a || o[s] !== i[a]) {
|
|
var l = `
|
|
` + o[s].replace(" at new ", " at ");
|
|
return e.displayName && l.includes("<anonymous>") && (l = l.replace("<anonymous>", e.displayName)), l;
|
|
}
|
|
while (1 <= s && 0 <= a);
|
|
break;
|
|
}
|
|
}
|
|
} finally {
|
|
Vu = !1, Error.prepareStackTrace = n;
|
|
}
|
|
return (e = e ? e.displayName || e.name : "") ? ui(e) : "";
|
|
}
|
|
function Vw(e) {
|
|
switch (e.tag) {
|
|
case 5:
|
|
return ui(e.type);
|
|
case 16:
|
|
return ui("Lazy");
|
|
case 13:
|
|
return ui("Suspense");
|
|
case 19:
|
|
return ui("SuspenseList");
|
|
case 0:
|
|
case 2:
|
|
case 15:
|
|
return e = Iu(e.type, !1), e;
|
|
case 11:
|
|
return e = Iu(e.type.render, !1), e;
|
|
case 1:
|
|
return e = Iu(e.type, !0), e;
|
|
default:
|
|
return "";
|
|
}
|
|
}
|
|
function Xc(e) {
|
|
if (e == null) return null;
|
|
if (typeof e == "function") return e.displayName || e.name || null;
|
|
if (typeof e == "string") return e;
|
|
switch (e) {
|
|
case qr:
|
|
return "Fragment";
|
|
case Xr:
|
|
return "Portal";
|
|
case Uc:
|
|
return "Profiler";
|
|
case zf:
|
|
return "StrictMode";
|
|
case Hc:
|
|
return "Suspense";
|
|
case Kc:
|
|
return "SuspenseList";
|
|
}
|
|
if (typeof e == "object") switch (e.$$typeof) {
|
|
case l0:
|
|
return (e.displayName || "Context") + ".Consumer";
|
|
case a0:
|
|
return (e._context.displayName || "Context") + ".Provider";
|
|
case Mf:
|
|
var t = e.render;
|
|
return e = e.displayName, e || (e = t.displayName || t.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
case Rf:
|
|
return t = e.displayName || null, t !== null ? t : Xc(e.type) || "Memo";
|
|
case Vn:
|
|
t = e._payload, e = e._init;
|
|
try {
|
|
return Xc(e(t));
|
|
} catch {
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
function Iw(e) {
|
|
var t = e.type;
|
|
switch (e.tag) {
|
|
case 24:
|
|
return "Cache";
|
|
case 9:
|
|
return (t.displayName || "Context") + ".Consumer";
|
|
case 10:
|
|
return (t._context.displayName || "Context") + ".Provider";
|
|
case 18:
|
|
return "DehydratedFragment";
|
|
case 11:
|
|
return e = t.render, e = e.displayName || e.name || "", t.displayName || (e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef");
|
|
case 7:
|
|
return "Fragment";
|
|
case 5:
|
|
return t;
|
|
case 4:
|
|
return "Portal";
|
|
case 3:
|
|
return "Root";
|
|
case 6:
|
|
return "Text";
|
|
case 16:
|
|
return Xc(t);
|
|
case 8:
|
|
return t === zf ? "StrictMode" : "Mode";
|
|
case 22:
|
|
return "Offscreen";
|
|
case 12:
|
|
return "Profiler";
|
|
case 21:
|
|
return "Scope";
|
|
case 13:
|
|
return "Suspense";
|
|
case 19:
|
|
return "SuspenseList";
|
|
case 25:
|
|
return "TracingMarker";
|
|
case 1:
|
|
case 0:
|
|
case 17:
|
|
case 2:
|
|
case 14:
|
|
case 15:
|
|
if (typeof t == "function") return t.displayName || t.name || null;
|
|
if (typeof t == "string") return t;
|
|
}
|
|
return null;
|
|
}
|
|
function _n(e) {
|
|
switch (typeof e) {
|
|
case "boolean":
|
|
case "number":
|
|
case "string":
|
|
case "undefined":
|
|
return e;
|
|
case "object":
|
|
return e;
|
|
default:
|
|
return "";
|
|
}
|
|
}
|
|
function c0(e) {
|
|
var t = e.type;
|
|
return (e = e.nodeName) && e.toLowerCase() === "input" && (t === "checkbox" || t === "radio");
|
|
}
|
|
function Ow(e) {
|
|
var t = c0(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), r = "" + e[t];
|
|
if (!e.hasOwnProperty(t) && typeof n < "u" && typeof n.get == "function" && typeof n.set == "function") {
|
|
var o = n.get, i = n.set;
|
|
return Object.defineProperty(e, t, { configurable: !0, get: function() {
|
|
return o.call(this);
|
|
}, set: function(s) {
|
|
r = "" + s, i.call(this, s);
|
|
} }), Object.defineProperty(e, t, { enumerable: n.enumerable }), { getValue: function() {
|
|
return r;
|
|
}, setValue: function(s) {
|
|
r = "" + s;
|
|
}, stopTracking: function() {
|
|
e._valueTracker = null, delete e[t];
|
|
} };
|
|
}
|
|
}
|
|
function Ns(e) {
|
|
e._valueTracker || (e._valueTracker = Ow(e));
|
|
}
|
|
function d0(e) {
|
|
if (!e) return !1;
|
|
var t = e._valueTracker;
|
|
if (!t) return !0;
|
|
var n = t.getValue(), r = "";
|
|
return e && (r = c0(e) ? e.checked ? "true" : "false" : e.value), e = r, e !== n ? (t.setValue(e), !0) : !1;
|
|
}
|
|
function Za(e) {
|
|
if (e = e || (typeof document < "u" ? document : void 0), typeof e > "u") return null;
|
|
try {
|
|
return e.activeElement || e.body;
|
|
} catch {
|
|
return e.body;
|
|
}
|
|
}
|
|
function qc(e, t) {
|
|
var n = t.checked;
|
|
return ve({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: n ?? e._wrapperState.initialChecked });
|
|
}
|
|
function Up(e, t) {
|
|
var n = t.defaultValue == null ? "" : t.defaultValue, r = t.checked != null ? t.checked : t.defaultChecked;
|
|
n = _n(t.value != null ? t.value : n), e._wrapperState = { initialChecked: r, initialValue: n, controlled: t.type === "checkbox" || t.type === "radio" ? t.checked != null : t.value != null };
|
|
}
|
|
function f0(e, t) {
|
|
t = t.checked, t != null && Af(e, "checked", t, !1);
|
|
}
|
|
function Yc(e, t) {
|
|
f0(e, t);
|
|
var n = _n(t.value), r = t.type;
|
|
if (n != null) r === "number" ? (n === 0 && e.value === "" || e.value != n) && (e.value = "" + n) : e.value !== "" + n && (e.value = "" + n);
|
|
else if (r === "submit" || r === "reset") {
|
|
e.removeAttribute("value");
|
|
return;
|
|
}
|
|
t.hasOwnProperty("value") ? Zc(e, t.type, n) : t.hasOwnProperty("defaultValue") && Zc(e, t.type, _n(t.defaultValue)), t.checked == null && t.defaultChecked != null && (e.defaultChecked = !!t.defaultChecked);
|
|
}
|
|
function Hp(e, t, n) {
|
|
if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {
|
|
var r = t.type;
|
|
if (!(r !== "submit" && r !== "reset" || t.value !== void 0 && t.value !== null)) return;
|
|
t = "" + e._wrapperState.initialValue, n || t === e.value || (e.value = t), e.defaultValue = t;
|
|
}
|
|
n = e.name, n !== "" && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, n !== "" && (e.name = n);
|
|
}
|
|
function Zc(e, t, n) {
|
|
(t !== "number" || Za(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
|
|
}
|
|
var ci = Array.isArray;
|
|
function ho(e, t, n, r) {
|
|
if (e = e.options, t) {
|
|
t = {};
|
|
for (var o = 0; o < n.length; o++) t["$" + n[o]] = !0;
|
|
for (n = 0; n < e.length; n++) o = t.hasOwnProperty("$" + e[n].value), e[n].selected !== o && (e[n].selected = o), o && r && (e[n].defaultSelected = !0);
|
|
} else {
|
|
for (n = "" + _n(n), t = null, o = 0; o < e.length; o++) {
|
|
if (e[o].value === n) {
|
|
e[o].selected = !0, r && (e[o].defaultSelected = !0);
|
|
return;
|
|
}
|
|
t !== null || e[o].disabled || (t = e[o]);
|
|
}
|
|
t !== null && (t.selected = !0);
|
|
}
|
|
}
|
|
function Gc(e, t) {
|
|
if (t.dangerouslySetInnerHTML != null) throw Error(R(91));
|
|
return ve({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });
|
|
}
|
|
function Kp(e, t) {
|
|
var n = t.value;
|
|
if (n == null) {
|
|
if (n = t.children, t = t.defaultValue, n != null) {
|
|
if (t != null) throw Error(R(92));
|
|
if (ci(n)) {
|
|
if (1 < n.length) throw Error(R(93));
|
|
n = n[0];
|
|
}
|
|
t = n;
|
|
}
|
|
t == null && (t = ""), n = t;
|
|
}
|
|
e._wrapperState = { initialValue: _n(n) };
|
|
}
|
|
function h0(e, t) {
|
|
var n = _n(t.value), r = _n(t.defaultValue);
|
|
n != null && (n = "" + n, n !== e.value && (e.value = n), t.defaultValue == null && e.defaultValue !== n && (e.defaultValue = n)), r != null && (e.defaultValue = "" + r);
|
|
}
|
|
function Xp(e) {
|
|
var t = e.textContent;
|
|
t === e._wrapperState.initialValue && t !== "" && t !== null && (e.value = t);
|
|
}
|
|
function p0(e) {
|
|
switch (e) {
|
|
case "svg":
|
|
return "http://www.w3.org/2000/svg";
|
|
case "math":
|
|
return "http://www.w3.org/1998/Math/MathML";
|
|
default:
|
|
return "http://www.w3.org/1999/xhtml";
|
|
}
|
|
}
|
|
function Qc(e, t) {
|
|
return e == null || e === "http://www.w3.org/1999/xhtml" ? p0(t) : e === "http://www.w3.org/2000/svg" && t === "foreignObject" ? "http://www.w3.org/1999/xhtml" : e;
|
|
}
|
|
var js, m0 = function(e) {
|
|
return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction ? function(t, n, r, o) {
|
|
MSApp.execUnsafeLocalFunction(function() {
|
|
return e(t, n, r, o);
|
|
});
|
|
} : e;
|
|
}(function(e, t) {
|
|
if (e.namespaceURI !== "http://www.w3.org/2000/svg" || "innerHTML" in e) e.innerHTML = t;
|
|
else {
|
|
for (js = js || document.createElement("div"), js.innerHTML = "<svg>" + t.valueOf().toString() + "</svg>", t = js.firstChild; e.firstChild; ) e.removeChild(e.firstChild);
|
|
for (; t.firstChild; ) e.appendChild(t.firstChild);
|
|
}
|
|
});
|
|
function Wi(e, t) {
|
|
if (t) {
|
|
var n = e.firstChild;
|
|
if (n && n === e.lastChild && n.nodeType === 3) {
|
|
n.nodeValue = t;
|
|
return;
|
|
}
|
|
}
|
|
e.textContent = t;
|
|
}
|
|
var bi = {
|
|
animationIterationCount: !0,
|
|
aspectRatio: !0,
|
|
borderImageOutset: !0,
|
|
borderImageSlice: !0,
|
|
borderImageWidth: !0,
|
|
boxFlex: !0,
|
|
boxFlexGroup: !0,
|
|
boxOrdinalGroup: !0,
|
|
columnCount: !0,
|
|
columns: !0,
|
|
flex: !0,
|
|
flexGrow: !0,
|
|
flexPositive: !0,
|
|
flexShrink: !0,
|
|
flexNegative: !0,
|
|
flexOrder: !0,
|
|
gridArea: !0,
|
|
gridRow: !0,
|
|
gridRowEnd: !0,
|
|
gridRowSpan: !0,
|
|
gridRowStart: !0,
|
|
gridColumn: !0,
|
|
gridColumnEnd: !0,
|
|
gridColumnSpan: !0,
|
|
gridColumnStart: !0,
|
|
fontWeight: !0,
|
|
lineClamp: !0,
|
|
lineHeight: !0,
|
|
opacity: !0,
|
|
order: !0,
|
|
orphans: !0,
|
|
tabSize: !0,
|
|
widows: !0,
|
|
zIndex: !0,
|
|
zoom: !0,
|
|
fillOpacity: !0,
|
|
floodOpacity: !0,
|
|
stopOpacity: !0,
|
|
strokeDasharray: !0,
|
|
strokeDashoffset: !0,
|
|
strokeMiterlimit: !0,
|
|
strokeOpacity: !0,
|
|
strokeWidth: !0
|
|
}, Nw = ["Webkit", "ms", "Moz", "O"];
|
|
Object.keys(bi).forEach(function(e) {
|
|
Nw.forEach(function(t) {
|
|
t = t + e.charAt(0).toUpperCase() + e.substring(1), bi[t] = bi[e];
|
|
});
|
|
});
|
|
function g0(e, t, n) {
|
|
return t == null || typeof t == "boolean" || t === "" ? "" : n || typeof t != "number" || t === 0 || bi.hasOwnProperty(e) && bi[e] ? ("" + t).trim() : t + "px";
|
|
}
|
|
function y0(e, t) {
|
|
e = e.style;
|
|
for (var n in t) if (t.hasOwnProperty(n)) {
|
|
var r = n.indexOf("--") === 0, o = g0(n, t[n], r);
|
|
n === "float" && (n = "cssFloat"), r ? e.setProperty(n, o) : e[n] = o;
|
|
}
|
|
}
|
|
var jw = ve({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
|
|
function Jc(e, t) {
|
|
if (t) {
|
|
if (jw[e] && (t.children != null || t.dangerouslySetInnerHTML != null)) throw Error(R(137, e));
|
|
if (t.dangerouslySetInnerHTML != null) {
|
|
if (t.children != null) throw Error(R(60));
|
|
if (typeof t.dangerouslySetInnerHTML != "object" || !("__html" in t.dangerouslySetInnerHTML)) throw Error(R(61));
|
|
}
|
|
if (t.style != null && typeof t.style != "object") throw Error(R(62));
|
|
}
|
|
}
|
|
function _c(e, t) {
|
|
if (e.indexOf("-") === -1) return typeof t.is == "string";
|
|
switch (e) {
|
|
case "annotation-xml":
|
|
case "color-profile":
|
|
case "font-face":
|
|
case "font-face-src":
|
|
case "font-face-uri":
|
|
case "font-face-format":
|
|
case "font-face-name":
|
|
case "missing-glyph":
|
|
return !1;
|
|
default:
|
|
return !0;
|
|
}
|
|
}
|
|
var $c = null;
|
|
function Df(e) {
|
|
return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e;
|
|
}
|
|
var ed = null, po = null, mo = null;
|
|
function qp(e) {
|
|
if (e = gs(e)) {
|
|
if (typeof ed != "function") throw Error(R(280));
|
|
var t = e.stateNode;
|
|
t && (t = jl(t), ed(e.stateNode, e.type, t));
|
|
}
|
|
}
|
|
function v0(e) {
|
|
po ? mo ? mo.push(e) : mo = [e] : po = e;
|
|
}
|
|
function S0() {
|
|
if (po) {
|
|
var e = po, t = mo;
|
|
if (mo = po = null, qp(e), t) for (e = 0; e < t.length; e++) qp(t[e]);
|
|
}
|
|
}
|
|
function b0(e, t) {
|
|
return e(t);
|
|
}
|
|
function x0() {
|
|
}
|
|
var Ou = !1;
|
|
function w0(e, t, n) {
|
|
if (Ou) return e(t, n);
|
|
Ou = !0;
|
|
try {
|
|
return b0(e, t, n);
|
|
} finally {
|
|
Ou = !1, (po !== null || mo !== null) && (x0(), S0());
|
|
}
|
|
}
|
|
function Ui(e, t) {
|
|
var n = e.stateNode;
|
|
if (n === null) return null;
|
|
var r = jl(n);
|
|
if (r === null) return null;
|
|
n = r[t];
|
|
e: switch (t) {
|
|
case "onClick":
|
|
case "onClickCapture":
|
|
case "onDoubleClick":
|
|
case "onDoubleClickCapture":
|
|
case "onMouseDown":
|
|
case "onMouseDownCapture":
|
|
case "onMouseMove":
|
|
case "onMouseMoveCapture":
|
|
case "onMouseUp":
|
|
case "onMouseUpCapture":
|
|
case "onMouseEnter":
|
|
(r = !r.disabled) || (e = e.type, r = !(e === "button" || e === "input" || e === "select" || e === "textarea")), e = !r;
|
|
break e;
|
|
default:
|
|
e = !1;
|
|
}
|
|
if (e) return null;
|
|
if (n && typeof n != "function") throw Error(R(231, t, typeof n));
|
|
return n;
|
|
}
|
|
var td = !1;
|
|
if (En) try {
|
|
var Jo = {};
|
|
Object.defineProperty(Jo, "passive", { get: function() {
|
|
td = !0;
|
|
} }), window.addEventListener("test", Jo, Jo), window.removeEventListener("test", Jo, Jo);
|
|
} catch {
|
|
td = !1;
|
|
}
|
|
function Ww(e, t, n, r, o, i, s, a, l) {
|
|
var u = Array.prototype.slice.call(arguments, 3);
|
|
try {
|
|
t.apply(n, u);
|
|
} catch (c) {
|
|
this.onError(c);
|
|
}
|
|
}
|
|
var xi = !1, Ga = null, Qa = !1, nd = null, Uw = { onError: function(e) {
|
|
xi = !0, Ga = e;
|
|
} };
|
|
function Hw(e, t, n, r, o, i, s, a, l) {
|
|
xi = !1, Ga = null, Ww.apply(Uw, arguments);
|
|
}
|
|
function Kw(e, t, n, r, o, i, s, a, l) {
|
|
if (Hw.apply(this, arguments), xi) {
|
|
if (xi) {
|
|
var u = Ga;
|
|
xi = !1, Ga = null;
|
|
} else throw Error(R(198));
|
|
Qa || (Qa = !0, nd = u);
|
|
}
|
|
}
|
|
function Vr(e) {
|
|
var t = e, n = e;
|
|
if (e.alternate) for (; t.return; ) t = t.return;
|
|
else {
|
|
e = t;
|
|
do
|
|
t = e, t.flags & 4098 && (n = t.return), e = t.return;
|
|
while (e);
|
|
}
|
|
return t.tag === 3 ? n : null;
|
|
}
|
|
function k0(e) {
|
|
if (e.tag === 13) {
|
|
var t = e.memoizedState;
|
|
if (t === null && (e = e.alternate, e !== null && (t = e.memoizedState)), t !== null) return t.dehydrated;
|
|
}
|
|
return null;
|
|
}
|
|
function Yp(e) {
|
|
if (Vr(e) !== e) throw Error(R(188));
|
|
}
|
|
function Xw(e) {
|
|
var t = e.alternate;
|
|
if (!t) {
|
|
if (t = Vr(e), t === null) throw Error(R(188));
|
|
return t !== e ? null : e;
|
|
}
|
|
for (var n = e, r = t; ; ) {
|
|
var o = n.return;
|
|
if (o === null) break;
|
|
var i = o.alternate;
|
|
if (i === null) {
|
|
if (r = o.return, r !== null) {
|
|
n = r;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
if (o.child === i.child) {
|
|
for (i = o.child; i; ) {
|
|
if (i === n) return Yp(o), e;
|
|
if (i === r) return Yp(o), t;
|
|
i = i.sibling;
|
|
}
|
|
throw Error(R(188));
|
|
}
|
|
if (n.return !== r.return) n = o, r = i;
|
|
else {
|
|
for (var s = !1, a = o.child; a; ) {
|
|
if (a === n) {
|
|
s = !0, n = o, r = i;
|
|
break;
|
|
}
|
|
if (a === r) {
|
|
s = !0, r = o, n = i;
|
|
break;
|
|
}
|
|
a = a.sibling;
|
|
}
|
|
if (!s) {
|
|
for (a = i.child; a; ) {
|
|
if (a === n) {
|
|
s = !0, n = i, r = o;
|
|
break;
|
|
}
|
|
if (a === r) {
|
|
s = !0, r = i, n = o;
|
|
break;
|
|
}
|
|
a = a.sibling;
|
|
}
|
|
if (!s) throw Error(R(189));
|
|
}
|
|
}
|
|
if (n.alternate !== r) throw Error(R(190));
|
|
}
|
|
if (n.tag !== 3) throw Error(R(188));
|
|
return n.stateNode.current === n ? e : t;
|
|
}
|
|
function C0(e) {
|
|
return e = Xw(e), e !== null ? T0(e) : null;
|
|
}
|
|
function T0(e) {
|
|
if (e.tag === 5 || e.tag === 6) return e;
|
|
for (e = e.child; e !== null; ) {
|
|
var t = T0(e);
|
|
if (t !== null) return t;
|
|
e = e.sibling;
|
|
}
|
|
return null;
|
|
}
|
|
var E0 = St.unstable_scheduleCallback, Zp = St.unstable_cancelCallback, qw = St.unstable_shouldYield, Yw = St.unstable_requestPaint, xe = St.unstable_now, Zw = St.unstable_getCurrentPriorityLevel, Ff = St.unstable_ImmediatePriority, P0 = St.unstable_UserBlockingPriority, Ja = St.unstable_NormalPriority, Gw = St.unstable_LowPriority, A0 = St.unstable_IdlePriority, Vl = null, an = null;
|
|
function Qw(e) {
|
|
if (an && typeof an.onCommitFiberRoot == "function") try {
|
|
an.onCommitFiberRoot(Vl, e, void 0, (e.current.flags & 128) === 128);
|
|
} catch {
|
|
}
|
|
}
|
|
var Kt = Math.clz32 ? Math.clz32 : $w, Jw = Math.log, _w = Math.LN2;
|
|
function $w(e) {
|
|
return e >>>= 0, e === 0 ? 32 : 31 - (Jw(e) / _w | 0) | 0;
|
|
}
|
|
var Ws = 64, Us = 4194304;
|
|
function di(e) {
|
|
switch (e & -e) {
|
|
case 1:
|
|
return 1;
|
|
case 2:
|
|
return 2;
|
|
case 4:
|
|
return 4;
|
|
case 8:
|
|
return 8;
|
|
case 16:
|
|
return 16;
|
|
case 32:
|
|
return 32;
|
|
case 64:
|
|
case 128:
|
|
case 256:
|
|
case 512:
|
|
case 1024:
|
|
case 2048:
|
|
case 4096:
|
|
case 8192:
|
|
case 16384:
|
|
case 32768:
|
|
case 65536:
|
|
case 131072:
|
|
case 262144:
|
|
case 524288:
|
|
case 1048576:
|
|
case 2097152:
|
|
return e & 4194240;
|
|
case 4194304:
|
|
case 8388608:
|
|
case 16777216:
|
|
case 33554432:
|
|
case 67108864:
|
|
return e & 130023424;
|
|
case 134217728:
|
|
return 134217728;
|
|
case 268435456:
|
|
return 268435456;
|
|
case 536870912:
|
|
return 536870912;
|
|
case 1073741824:
|
|
return 1073741824;
|
|
default:
|
|
return e;
|
|
}
|
|
}
|
|
function _a(e, t) {
|
|
var n = e.pendingLanes;
|
|
if (n === 0) return 0;
|
|
var r = 0, o = e.suspendedLanes, i = e.pingedLanes, s = n & 268435455;
|
|
if (s !== 0) {
|
|
var a = s & ~o;
|
|
a !== 0 ? r = di(a) : (i &= s, i !== 0 && (r = di(i)));
|
|
} else s = n & ~o, s !== 0 ? r = di(s) : i !== 0 && (r = di(i));
|
|
if (r === 0) return 0;
|
|
if (t !== 0 && t !== r && !(t & o) && (o = r & -r, i = t & -t, o >= i || o === 16 && (i & 4194240) !== 0)) return t;
|
|
if (r & 4 && (r |= n & 16), t = e.entangledLanes, t !== 0) for (e = e.entanglements, t &= r; 0 < t; ) n = 31 - Kt(t), o = 1 << n, r |= e[n], t &= ~o;
|
|
return r;
|
|
}
|
|
function ek(e, t) {
|
|
switch (e) {
|
|
case 1:
|
|
case 2:
|
|
case 4:
|
|
return t + 250;
|
|
case 8:
|
|
case 16:
|
|
case 32:
|
|
case 64:
|
|
case 128:
|
|
case 256:
|
|
case 512:
|
|
case 1024:
|
|
case 2048:
|
|
case 4096:
|
|
case 8192:
|
|
case 16384:
|
|
case 32768:
|
|
case 65536:
|
|
case 131072:
|
|
case 262144:
|
|
case 524288:
|
|
case 1048576:
|
|
case 2097152:
|
|
return t + 5e3;
|
|
case 4194304:
|
|
case 8388608:
|
|
case 16777216:
|
|
case 33554432:
|
|
case 67108864:
|
|
return -1;
|
|
case 134217728:
|
|
case 268435456:
|
|
case 536870912:
|
|
case 1073741824:
|
|
return -1;
|
|
default:
|
|
return -1;
|
|
}
|
|
}
|
|
function tk(e, t) {
|
|
for (var n = e.suspendedLanes, r = e.pingedLanes, o = e.expirationTimes, i = e.pendingLanes; 0 < i; ) {
|
|
var s = 31 - Kt(i), a = 1 << s, l = o[s];
|
|
l === -1 ? (!(a & n) || a & r) && (o[s] = ek(a, t)) : l <= t && (e.expiredLanes |= a), i &= ~a;
|
|
}
|
|
}
|
|
function rd(e) {
|
|
return e = e.pendingLanes & -1073741825, e !== 0 ? e : e & 1073741824 ? 1073741824 : 0;
|
|
}
|
|
function z0() {
|
|
var e = Ws;
|
|
return Ws <<= 1, !(Ws & 4194240) && (Ws = 64), e;
|
|
}
|
|
function Nu(e) {
|
|
for (var t = [], n = 0; 31 > n; n++) t.push(e);
|
|
return t;
|
|
}
|
|
function ps(e, t, n) {
|
|
e.pendingLanes |= t, t !== 536870912 && (e.suspendedLanes = 0, e.pingedLanes = 0), e = e.eventTimes, t = 31 - Kt(t), e[t] = n;
|
|
}
|
|
function nk(e, t) {
|
|
var n = e.pendingLanes & ~t;
|
|
e.pendingLanes = t, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= t, e.mutableReadLanes &= t, e.entangledLanes &= t, t = e.entanglements;
|
|
var r = e.eventTimes;
|
|
for (e = e.expirationTimes; 0 < n; ) {
|
|
var o = 31 - Kt(n), i = 1 << o;
|
|
t[o] = 0, r[o] = -1, e[o] = -1, n &= ~i;
|
|
}
|
|
}
|
|
function Lf(e, t) {
|
|
var n = e.entangledLanes |= t;
|
|
for (e = e.entanglements; n; ) {
|
|
var r = 31 - Kt(n), o = 1 << r;
|
|
o & t | e[r] & t && (e[r] |= t), n &= ~o;
|
|
}
|
|
}
|
|
var te = 0;
|
|
function M0(e) {
|
|
return e &= -e, 1 < e ? 4 < e ? e & 268435455 ? 16 : 536870912 : 4 : 1;
|
|
}
|
|
var R0, Bf, D0, F0, L0, od = !1, Hs = [], Kn = null, Xn = null, qn = null, Hi = /* @__PURE__ */ new Map(), Ki = /* @__PURE__ */ new Map(), On = [], rk = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
|
|
function Gp(e, t) {
|
|
switch (e) {
|
|
case "focusin":
|
|
case "focusout":
|
|
Kn = null;
|
|
break;
|
|
case "dragenter":
|
|
case "dragleave":
|
|
Xn = null;
|
|
break;
|
|
case "mouseover":
|
|
case "mouseout":
|
|
qn = null;
|
|
break;
|
|
case "pointerover":
|
|
case "pointerout":
|
|
Hi.delete(t.pointerId);
|
|
break;
|
|
case "gotpointercapture":
|
|
case "lostpointercapture":
|
|
Ki.delete(t.pointerId);
|
|
}
|
|
}
|
|
function _o(e, t, n, r, o, i) {
|
|
return e === null || e.nativeEvent !== i ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: r, nativeEvent: i, targetContainers: [o] }, t !== null && (t = gs(t), t !== null && Bf(t)), e) : (e.eventSystemFlags |= r, t = e.targetContainers, o !== null && t.indexOf(o) === -1 && t.push(o), e);
|
|
}
|
|
function ok(e, t, n, r, o) {
|
|
switch (t) {
|
|
case "focusin":
|
|
return Kn = _o(Kn, e, t, n, r, o), !0;
|
|
case "dragenter":
|
|
return Xn = _o(Xn, e, t, n, r, o), !0;
|
|
case "mouseover":
|
|
return qn = _o(qn, e, t, n, r, o), !0;
|
|
case "pointerover":
|
|
var i = o.pointerId;
|
|
return Hi.set(i, _o(Hi.get(i) || null, e, t, n, r, o)), !0;
|
|
case "gotpointercapture":
|
|
return i = o.pointerId, Ki.set(i, _o(Ki.get(i) || null, e, t, n, r, o)), !0;
|
|
}
|
|
return !1;
|
|
}
|
|
function B0(e) {
|
|
var t = mr(e.target);
|
|
if (t !== null) {
|
|
var n = Vr(t);
|
|
if (n !== null) {
|
|
if (t = n.tag, t === 13) {
|
|
if (t = k0(n), t !== null) {
|
|
e.blockedOn = t, L0(e.priority, function() {
|
|
D0(n);
|
|
});
|
|
return;
|
|
}
|
|
} else if (t === 3 && n.stateNode.current.memoizedState.isDehydrated) {
|
|
e.blockedOn = n.tag === 3 ? n.stateNode.containerInfo : null;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
e.blockedOn = null;
|
|
}
|
|
function ga(e) {
|
|
if (e.blockedOn !== null) return !1;
|
|
for (var t = e.targetContainers; 0 < t.length; ) {
|
|
var n = id(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent);
|
|
if (n === null) {
|
|
n = e.nativeEvent;
|
|
var r = new n.constructor(n.type, n);
|
|
$c = r, n.target.dispatchEvent(r), $c = null;
|
|
} else return t = gs(n), t !== null && Bf(t), e.blockedOn = n, !1;
|
|
t.shift();
|
|
}
|
|
return !0;
|
|
}
|
|
function Qp(e, t, n) {
|
|
ga(e) && n.delete(t);
|
|
}
|
|
function ik() {
|
|
od = !1, Kn !== null && ga(Kn) && (Kn = null), Xn !== null && ga(Xn) && (Xn = null), qn !== null && ga(qn) && (qn = null), Hi.forEach(Qp), Ki.forEach(Qp);
|
|
}
|
|
function $o(e, t) {
|
|
e.blockedOn === t && (e.blockedOn = null, od || (od = !0, St.unstable_scheduleCallback(St.unstable_NormalPriority, ik)));
|
|
}
|
|
function Xi(e) {
|
|
function t(o) {
|
|
return $o(o, e);
|
|
}
|
|
if (0 < Hs.length) {
|
|
$o(Hs[0], e);
|
|
for (var n = 1; n < Hs.length; n++) {
|
|
var r = Hs[n];
|
|
r.blockedOn === e && (r.blockedOn = null);
|
|
}
|
|
}
|
|
for (Kn !== null && $o(Kn, e), Xn !== null && $o(Xn, e), qn !== null && $o(qn, e), Hi.forEach(t), Ki.forEach(t), n = 0; n < On.length; n++) r = On[n], r.blockedOn === e && (r.blockedOn = null);
|
|
for (; 0 < On.length && (n = On[0], n.blockedOn === null); ) B0(n), n.blockedOn === null && On.shift();
|
|
}
|
|
var go = Rn.ReactCurrentBatchConfig, $a = !0;
|
|
function sk(e, t, n, r) {
|
|
var o = te, i = go.transition;
|
|
go.transition = null;
|
|
try {
|
|
te = 1, Vf(e, t, n, r);
|
|
} finally {
|
|
te = o, go.transition = i;
|
|
}
|
|
}
|
|
function ak(e, t, n, r) {
|
|
var o = te, i = go.transition;
|
|
go.transition = null;
|
|
try {
|
|
te = 4, Vf(e, t, n, r);
|
|
} finally {
|
|
te = o, go.transition = i;
|
|
}
|
|
}
|
|
function Vf(e, t, n, r) {
|
|
if ($a) {
|
|
var o = id(e, t, n, r);
|
|
if (o === null) Gu(e, t, r, el, n), Gp(e, r);
|
|
else if (ok(o, e, t, n, r)) r.stopPropagation();
|
|
else if (Gp(e, r), t & 4 && -1 < rk.indexOf(e)) {
|
|
for (; o !== null; ) {
|
|
var i = gs(o);
|
|
if (i !== null && R0(i), i = id(e, t, n, r), i === null && Gu(e, t, r, el, n), i === o) break;
|
|
o = i;
|
|
}
|
|
o !== null && r.stopPropagation();
|
|
} else Gu(e, t, r, null, n);
|
|
}
|
|
}
|
|
var el = null;
|
|
function id(e, t, n, r) {
|
|
if (el = null, e = Df(r), e = mr(e), e !== null) if (t = Vr(e), t === null) e = null;
|
|
else if (n = t.tag, n === 13) {
|
|
if (e = k0(t), e !== null) return e;
|
|
e = null;
|
|
} else if (n === 3) {
|
|
if (t.stateNode.current.memoizedState.isDehydrated) return t.tag === 3 ? t.stateNode.containerInfo : null;
|
|
e = null;
|
|
} else t !== e && (e = null);
|
|
return el = e, null;
|
|
}
|
|
function V0(e) {
|
|
switch (e) {
|
|
case "cancel":
|
|
case "click":
|
|
case "close":
|
|
case "contextmenu":
|
|
case "copy":
|
|
case "cut":
|
|
case "auxclick":
|
|
case "dblclick":
|
|
case "dragend":
|
|
case "dragstart":
|
|
case "drop":
|
|
case "focusin":
|
|
case "focusout":
|
|
case "input":
|
|
case "invalid":
|
|
case "keydown":
|
|
case "keypress":
|
|
case "keyup":
|
|
case "mousedown":
|
|
case "mouseup":
|
|
case "paste":
|
|
case "pause":
|
|
case "play":
|
|
case "pointercancel":
|
|
case "pointerdown":
|
|
case "pointerup":
|
|
case "ratechange":
|
|
case "reset":
|
|
case "resize":
|
|
case "seeked":
|
|
case "submit":
|
|
case "touchcancel":
|
|
case "touchend":
|
|
case "touchstart":
|
|
case "volumechange":
|
|
case "change":
|
|
case "selectionchange":
|
|
case "textInput":
|
|
case "compositionstart":
|
|
case "compositionend":
|
|
case "compositionupdate":
|
|
case "beforeblur":
|
|
case "afterblur":
|
|
case "beforeinput":
|
|
case "blur":
|
|
case "fullscreenchange":
|
|
case "focus":
|
|
case "hashchange":
|
|
case "popstate":
|
|
case "select":
|
|
case "selectstart":
|
|
return 1;
|
|
case "drag":
|
|
case "dragenter":
|
|
case "dragexit":
|
|
case "dragleave":
|
|
case "dragover":
|
|
case "mousemove":
|
|
case "mouseout":
|
|
case "mouseover":
|
|
case "pointermove":
|
|
case "pointerout":
|
|
case "pointerover":
|
|
case "scroll":
|
|
case "toggle":
|
|
case "touchmove":
|
|
case "wheel":
|
|
case "mouseenter":
|
|
case "mouseleave":
|
|
case "pointerenter":
|
|
case "pointerleave":
|
|
return 4;
|
|
case "message":
|
|
switch (Zw()) {
|
|
case Ff:
|
|
return 1;
|
|
case P0:
|
|
return 4;
|
|
case Ja:
|
|
case Gw:
|
|
return 16;
|
|
case A0:
|
|
return 536870912;
|
|
default:
|
|
return 16;
|
|
}
|
|
default:
|
|
return 16;
|
|
}
|
|
}
|
|
var Wn = null, If = null, ya = null;
|
|
function I0() {
|
|
if (ya) return ya;
|
|
var e, t = If, n = t.length, r, o = "value" in Wn ? Wn.value : Wn.textContent, i = o.length;
|
|
for (e = 0; e < n && t[e] === o[e]; e++) ;
|
|
var s = n - e;
|
|
for (r = 1; r <= s && t[n - r] === o[i - r]; r++) ;
|
|
return ya = o.slice(e, 1 < r ? 1 - r : void 0);
|
|
}
|
|
function va(e) {
|
|
var t = e.keyCode;
|
|
return "charCode" in e ? (e = e.charCode, e === 0 && t === 13 && (e = 13)) : e = t, e === 10 && (e = 13), 32 <= e || e === 13 ? e : 0;
|
|
}
|
|
function Ks() {
|
|
return !0;
|
|
}
|
|
function Jp() {
|
|
return !1;
|
|
}
|
|
function xt(e) {
|
|
function t(n, r, o, i, s) {
|
|
this._reactName = n, this._targetInst = o, this.type = r, this.nativeEvent = i, this.target = s, this.currentTarget = null;
|
|
for (var a in e) e.hasOwnProperty(a) && (n = e[a], this[a] = n ? n(i) : i[a]);
|
|
return this.isDefaultPrevented = (i.defaultPrevented != null ? i.defaultPrevented : i.returnValue === !1) ? Ks : Jp, this.isPropagationStopped = Jp, this;
|
|
}
|
|
return ve(t.prototype, { preventDefault: function() {
|
|
this.defaultPrevented = !0;
|
|
var n = this.nativeEvent;
|
|
n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = Ks);
|
|
}, stopPropagation: function() {
|
|
var n = this.nativeEvent;
|
|
n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = Ks);
|
|
}, persist: function() {
|
|
}, isPersistent: Ks }), t;
|
|
}
|
|
var Oo = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
|
|
return e.timeStamp || Date.now();
|
|
}, defaultPrevented: 0, isTrusted: 0 }, Of = xt(Oo), ms = ve({}, Oo, { view: 0, detail: 0 }), lk = xt(ms), ju, Wu, ei, Il = ve({}, ms, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: Nf, button: 0, buttons: 0, relatedTarget: function(e) {
|
|
return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
|
|
}, movementX: function(e) {
|
|
return "movementX" in e ? e.movementX : (e !== ei && (ei && e.type === "mousemove" ? (ju = e.screenX - ei.screenX, Wu = e.screenY - ei.screenY) : Wu = ju = 0, ei = e), ju);
|
|
}, movementY: function(e) {
|
|
return "movementY" in e ? e.movementY : Wu;
|
|
} }), _p = xt(Il), uk = ve({}, Il, { dataTransfer: 0 }), ck = xt(uk), dk = ve({}, ms, { relatedTarget: 0 }), Uu = xt(dk), fk = ve({}, Oo, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), hk = xt(fk), pk = ve({}, Oo, { clipboardData: function(e) {
|
|
return "clipboardData" in e ? e.clipboardData : window.clipboardData;
|
|
} }), mk = xt(pk), gk = ve({}, Oo, { data: 0 }), $p = xt(gk), yk = {
|
|
Esc: "Escape",
|
|
Spacebar: " ",
|
|
Left: "ArrowLeft",
|
|
Up: "ArrowUp",
|
|
Right: "ArrowRight",
|
|
Down: "ArrowDown",
|
|
Del: "Delete",
|
|
Win: "OS",
|
|
Menu: "ContextMenu",
|
|
Apps: "ContextMenu",
|
|
Scroll: "ScrollLock",
|
|
MozPrintableKey: "Unidentified"
|
|
}, vk = {
|
|
8: "Backspace",
|
|
9: "Tab",
|
|
12: "Clear",
|
|
13: "Enter",
|
|
16: "Shift",
|
|
17: "Control",
|
|
18: "Alt",
|
|
19: "Pause",
|
|
20: "CapsLock",
|
|
27: "Escape",
|
|
32: " ",
|
|
33: "PageUp",
|
|
34: "PageDown",
|
|
35: "End",
|
|
36: "Home",
|
|
37: "ArrowLeft",
|
|
38: "ArrowUp",
|
|
39: "ArrowRight",
|
|
40: "ArrowDown",
|
|
45: "Insert",
|
|
46: "Delete",
|
|
112: "F1",
|
|
113: "F2",
|
|
114: "F3",
|
|
115: "F4",
|
|
116: "F5",
|
|
117: "F6",
|
|
118: "F7",
|
|
119: "F8",
|
|
120: "F9",
|
|
121: "F10",
|
|
122: "F11",
|
|
123: "F12",
|
|
144: "NumLock",
|
|
145: "ScrollLock",
|
|
224: "Meta"
|
|
}, Sk = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
|
|
function bk(e) {
|
|
var t = this.nativeEvent;
|
|
return t.getModifierState ? t.getModifierState(e) : (e = Sk[e]) ? !!t[e] : !1;
|
|
}
|
|
function Nf() {
|
|
return bk;
|
|
}
|
|
var xk = ve({}, ms, { key: function(e) {
|
|
if (e.key) {
|
|
var t = yk[e.key] || e.key;
|
|
if (t !== "Unidentified") return t;
|
|
}
|
|
return e.type === "keypress" ? (e = va(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? vk[e.keyCode] || "Unidentified" : "";
|
|
}, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: Nf, charCode: function(e) {
|
|
return e.type === "keypress" ? va(e) : 0;
|
|
}, keyCode: function(e) {
|
|
return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
|
|
}, which: function(e) {
|
|
return e.type === "keypress" ? va(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
|
|
} }), wk = xt(xk), kk = ve({}, Il, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), em = xt(kk), Ck = ve({}, ms, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: Nf }), Tk = xt(Ck), Ek = ve({}, Oo, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Pk = xt(Ek), Ak = ve({}, Il, {
|
|
deltaX: function(e) {
|
|
return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
|
|
},
|
|
deltaY: function(e) {
|
|
return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0;
|
|
},
|
|
deltaZ: 0,
|
|
deltaMode: 0
|
|
}), zk = xt(Ak), Mk = [9, 13, 27, 32], jf = En && "CompositionEvent" in window, wi = null;
|
|
En && "documentMode" in document && (wi = document.documentMode);
|
|
var Rk = En && "TextEvent" in window && !wi, O0 = En && (!jf || wi && 8 < wi && 11 >= wi), tm = " ", nm = !1;
|
|
function N0(e, t) {
|
|
switch (e) {
|
|
case "keyup":
|
|
return Mk.indexOf(t.keyCode) !== -1;
|
|
case "keydown":
|
|
return t.keyCode !== 229;
|
|
case "keypress":
|
|
case "mousedown":
|
|
case "focusout":
|
|
return !0;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function j0(e) {
|
|
return e = e.detail, typeof e == "object" && "data" in e ? e.data : null;
|
|
}
|
|
var Yr = !1;
|
|
function Dk(e, t) {
|
|
switch (e) {
|
|
case "compositionend":
|
|
return j0(t);
|
|
case "keypress":
|
|
return t.which !== 32 ? null : (nm = !0, tm);
|
|
case "textInput":
|
|
return e = t.data, e === tm && nm ? null : e;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
function Fk(e, t) {
|
|
if (Yr) return e === "compositionend" || !jf && N0(e, t) ? (e = I0(), ya = If = Wn = null, Yr = !1, e) : null;
|
|
switch (e) {
|
|
case "paste":
|
|
return null;
|
|
case "keypress":
|
|
if (!(t.ctrlKey || t.altKey || t.metaKey) || t.ctrlKey && t.altKey) {
|
|
if (t.char && 1 < t.char.length) return t.char;
|
|
if (t.which) return String.fromCharCode(t.which);
|
|
}
|
|
return null;
|
|
case "compositionend":
|
|
return O0 && t.locale !== "ko" ? null : t.data;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
var Lk = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
|
|
function rm(e) {
|
|
var t = e && e.nodeName && e.nodeName.toLowerCase();
|
|
return t === "input" ? !!Lk[e.type] : t === "textarea";
|
|
}
|
|
function W0(e, t, n, r) {
|
|
v0(r), t = tl(t, "onChange"), 0 < t.length && (n = new Of("onChange", "change", null, n, r), e.push({ event: n, listeners: t }));
|
|
}
|
|
var ki = null, qi = null;
|
|
function Bk(e) {
|
|
_0(e, 0);
|
|
}
|
|
function Ol(e) {
|
|
var t = Qr(e);
|
|
if (d0(t)) return e;
|
|
}
|
|
function Vk(e, t) {
|
|
if (e === "change") return t;
|
|
}
|
|
var U0 = !1;
|
|
if (En) {
|
|
var Hu;
|
|
if (En) {
|
|
var Ku = "oninput" in document;
|
|
if (!Ku) {
|
|
var om = document.createElement("div");
|
|
om.setAttribute("oninput", "return;"), Ku = typeof om.oninput == "function";
|
|
}
|
|
Hu = Ku;
|
|
} else Hu = !1;
|
|
U0 = Hu && (!document.documentMode || 9 < document.documentMode);
|
|
}
|
|
function im() {
|
|
ki && (ki.detachEvent("onpropertychange", H0), qi = ki = null);
|
|
}
|
|
function H0(e) {
|
|
if (e.propertyName === "value" && Ol(qi)) {
|
|
var t = [];
|
|
W0(t, qi, e, Df(e)), w0(Bk, t);
|
|
}
|
|
}
|
|
function Ik(e, t, n) {
|
|
e === "focusin" ? (im(), ki = t, qi = n, ki.attachEvent("onpropertychange", H0)) : e === "focusout" && im();
|
|
}
|
|
function Ok(e) {
|
|
if (e === "selectionchange" || e === "keyup" || e === "keydown") return Ol(qi);
|
|
}
|
|
function Nk(e, t) {
|
|
if (e === "click") return Ol(t);
|
|
}
|
|
function jk(e, t) {
|
|
if (e === "input" || e === "change") return Ol(t);
|
|
}
|
|
function Wk(e, t) {
|
|
return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t;
|
|
}
|
|
var Yt = typeof Object.is == "function" ? Object.is : Wk;
|
|
function Yi(e, t) {
|
|
if (Yt(e, t)) return !0;
|
|
if (typeof e != "object" || e === null || typeof t != "object" || t === null) return !1;
|
|
var n = Object.keys(e), r = Object.keys(t);
|
|
if (n.length !== r.length) return !1;
|
|
for (r = 0; r < n.length; r++) {
|
|
var o = n[r];
|
|
if (!Wc.call(t, o) || !Yt(e[o], t[o])) return !1;
|
|
}
|
|
return !0;
|
|
}
|
|
function sm(e) {
|
|
for (; e && e.firstChild; ) e = e.firstChild;
|
|
return e;
|
|
}
|
|
function am(e, t) {
|
|
var n = sm(e);
|
|
e = 0;
|
|
for (var r; n; ) {
|
|
if (n.nodeType === 3) {
|
|
if (r = e + n.textContent.length, e <= t && r >= t) return { node: n, offset: t - e };
|
|
e = r;
|
|
}
|
|
e: {
|
|
for (; n; ) {
|
|
if (n.nextSibling) {
|
|
n = n.nextSibling;
|
|
break e;
|
|
}
|
|
n = n.parentNode;
|
|
}
|
|
n = void 0;
|
|
}
|
|
n = sm(n);
|
|
}
|
|
}
|
|
function K0(e, t) {
|
|
return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? K0(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
|
|
}
|
|
function X0() {
|
|
for (var e = window, t = Za(); t instanceof e.HTMLIFrameElement; ) {
|
|
try {
|
|
var n = typeof t.contentWindow.location.href == "string";
|
|
} catch {
|
|
n = !1;
|
|
}
|
|
if (n) e = t.contentWindow;
|
|
else break;
|
|
t = Za(e.document);
|
|
}
|
|
return t;
|
|
}
|
|
function Wf(e) {
|
|
var t = e && e.nodeName && e.nodeName.toLowerCase();
|
|
return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true");
|
|
}
|
|
function Uk(e) {
|
|
var t = X0(), n = e.focusedElem, r = e.selectionRange;
|
|
if (t !== n && n && n.ownerDocument && K0(n.ownerDocument.documentElement, n)) {
|
|
if (r !== null && Wf(n)) {
|
|
if (t = r.start, e = r.end, e === void 0 && (e = t), "selectionStart" in n) n.selectionStart = t, n.selectionEnd = Math.min(e, n.value.length);
|
|
else if (e = (t = n.ownerDocument || document) && t.defaultView || window, e.getSelection) {
|
|
e = e.getSelection();
|
|
var o = n.textContent.length, i = Math.min(r.start, o);
|
|
r = r.end === void 0 ? i : Math.min(r.end, o), !e.extend && i > r && (o = r, r = i, i = o), o = am(n, i);
|
|
var s = am(
|
|
n,
|
|
r
|
|
);
|
|
o && s && (e.rangeCount !== 1 || e.anchorNode !== o.node || e.anchorOffset !== o.offset || e.focusNode !== s.node || e.focusOffset !== s.offset) && (t = t.createRange(), t.setStart(o.node, o.offset), e.removeAllRanges(), i > r ? (e.addRange(t), e.extend(s.node, s.offset)) : (t.setEnd(s.node, s.offset), e.addRange(t)));
|
|
}
|
|
}
|
|
for (t = [], e = n; e = e.parentNode; ) e.nodeType === 1 && t.push({ element: e, left: e.scrollLeft, top: e.scrollTop });
|
|
for (typeof n.focus == "function" && n.focus(), n = 0; n < t.length; n++) e = t[n], e.element.scrollLeft = e.left, e.element.scrollTop = e.top;
|
|
}
|
|
}
|
|
var Hk = En && "documentMode" in document && 11 >= document.documentMode, Zr = null, sd = null, Ci = null, ad = !1;
|
|
function lm(e, t, n) {
|
|
var r = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
|
|
ad || Zr == null || Zr !== Za(r) || (r = Zr, "selectionStart" in r && Wf(r) ? r = { start: r.selectionStart, end: r.selectionEnd } : (r = (r.ownerDocument && r.ownerDocument.defaultView || window).getSelection(), r = { anchorNode: r.anchorNode, anchorOffset: r.anchorOffset, focusNode: r.focusNode, focusOffset: r.focusOffset }), Ci && Yi(Ci, r) || (Ci = r, r = tl(sd, "onSelect"), 0 < r.length && (t = new Of("onSelect", "select", null, t, n), e.push({ event: t, listeners: r }), t.target = Zr)));
|
|
}
|
|
function Xs(e, t) {
|
|
var n = {};
|
|
return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;
|
|
}
|
|
var Gr = { animationend: Xs("Animation", "AnimationEnd"), animationiteration: Xs("Animation", "AnimationIteration"), animationstart: Xs("Animation", "AnimationStart"), transitionend: Xs("Transition", "TransitionEnd") }, Xu = {}, q0 = {};
|
|
En && (q0 = document.createElement("div").style, "AnimationEvent" in window || (delete Gr.animationend.animation, delete Gr.animationiteration.animation, delete Gr.animationstart.animation), "TransitionEvent" in window || delete Gr.transitionend.transition);
|
|
function Nl(e) {
|
|
if (Xu[e]) return Xu[e];
|
|
if (!Gr[e]) return e;
|
|
var t = Gr[e], n;
|
|
for (n in t) if (t.hasOwnProperty(n) && n in q0) return Xu[e] = t[n];
|
|
return e;
|
|
}
|
|
var Y0 = Nl("animationend"), Z0 = Nl("animationiteration"), G0 = Nl("animationstart"), Q0 = Nl("transitionend"), J0 = /* @__PURE__ */ new Map(), um = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
|
|
function nr(e, t) {
|
|
J0.set(e, t), Br(t, [e]);
|
|
}
|
|
for (var qu = 0; qu < um.length; qu++) {
|
|
var Yu = um[qu], Kk = Yu.toLowerCase(), Xk = Yu[0].toUpperCase() + Yu.slice(1);
|
|
nr(Kk, "on" + Xk);
|
|
}
|
|
nr(Y0, "onAnimationEnd");
|
|
nr(Z0, "onAnimationIteration");
|
|
nr(G0, "onAnimationStart");
|
|
nr("dblclick", "onDoubleClick");
|
|
nr("focusin", "onFocus");
|
|
nr("focusout", "onBlur");
|
|
nr(Q0, "onTransitionEnd");
|
|
Co("onMouseEnter", ["mouseout", "mouseover"]);
|
|
Co("onMouseLeave", ["mouseout", "mouseover"]);
|
|
Co("onPointerEnter", ["pointerout", "pointerover"]);
|
|
Co("onPointerLeave", ["pointerout", "pointerover"]);
|
|
Br("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" "));
|
|
Br("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));
|
|
Br("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]);
|
|
Br("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" "));
|
|
Br("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" "));
|
|
Br("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
|
|
var fi = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), qk = new Set("cancel close invalid load scroll toggle".split(" ").concat(fi));
|
|
function cm(e, t, n) {
|
|
var r = e.type || "unknown-event";
|
|
e.currentTarget = n, Kw(r, t, void 0, e), e.currentTarget = null;
|
|
}
|
|
function _0(e, t) {
|
|
t = (t & 4) !== 0;
|
|
for (var n = 0; n < e.length; n++) {
|
|
var r = e[n], o = r.event;
|
|
r = r.listeners;
|
|
e: {
|
|
var i = void 0;
|
|
if (t) for (var s = r.length - 1; 0 <= s; s--) {
|
|
var a = r[s], l = a.instance, u = a.currentTarget;
|
|
if (a = a.listener, l !== i && o.isPropagationStopped()) break e;
|
|
cm(o, a, u), i = l;
|
|
}
|
|
else for (s = 0; s < r.length; s++) {
|
|
if (a = r[s], l = a.instance, u = a.currentTarget, a = a.listener, l !== i && o.isPropagationStopped()) break e;
|
|
cm(o, a, u), i = l;
|
|
}
|
|
}
|
|
}
|
|
if (Qa) throw e = nd, Qa = !1, nd = null, e;
|
|
}
|
|
function ue(e, t) {
|
|
var n = t[fd];
|
|
n === void 0 && (n = t[fd] = /* @__PURE__ */ new Set());
|
|
var r = e + "__bubble";
|
|
n.has(r) || ($0(t, e, 2, !1), n.add(r));
|
|
}
|
|
function Zu(e, t, n) {
|
|
var r = 0;
|
|
t && (r |= 4), $0(n, e, r, t);
|
|
}
|
|
var qs = "_reactListening" + Math.random().toString(36).slice(2);
|
|
function Zi(e) {
|
|
if (!e[qs]) {
|
|
e[qs] = !0, s0.forEach(function(n) {
|
|
n !== "selectionchange" && (qk.has(n) || Zu(n, !1, e), Zu(n, !0, e));
|
|
});
|
|
var t = e.nodeType === 9 ? e : e.ownerDocument;
|
|
t === null || t[qs] || (t[qs] = !0, Zu("selectionchange", !1, t));
|
|
}
|
|
}
|
|
function $0(e, t, n, r) {
|
|
switch (V0(t)) {
|
|
case 1:
|
|
var o = sk;
|
|
break;
|
|
case 4:
|
|
o = ak;
|
|
break;
|
|
default:
|
|
o = Vf;
|
|
}
|
|
n = o.bind(null, t, n, e), o = void 0, !td || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (o = !0), r ? o !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: o }) : e.addEventListener(t, n, !0) : o !== void 0 ? e.addEventListener(t, n, { passive: o }) : e.addEventListener(t, n, !1);
|
|
}
|
|
function Gu(e, t, n, r, o) {
|
|
var i = r;
|
|
if (!(t & 1) && !(t & 2) && r !== null) e: for (; ; ) {
|
|
if (r === null) return;
|
|
var s = r.tag;
|
|
if (s === 3 || s === 4) {
|
|
var a = r.stateNode.containerInfo;
|
|
if (a === o || a.nodeType === 8 && a.parentNode === o) break;
|
|
if (s === 4) for (s = r.return; s !== null; ) {
|
|
var l = s.tag;
|
|
if ((l === 3 || l === 4) && (l = s.stateNode.containerInfo, l === o || l.nodeType === 8 && l.parentNode === o)) return;
|
|
s = s.return;
|
|
}
|
|
for (; a !== null; ) {
|
|
if (s = mr(a), s === null) return;
|
|
if (l = s.tag, l === 5 || l === 6) {
|
|
r = i = s;
|
|
continue e;
|
|
}
|
|
a = a.parentNode;
|
|
}
|
|
}
|
|
r = r.return;
|
|
}
|
|
w0(function() {
|
|
var u = i, c = Df(n), d = [];
|
|
e: {
|
|
var f = J0.get(e);
|
|
if (f !== void 0) {
|
|
var y = Of, v = e;
|
|
switch (e) {
|
|
case "keypress":
|
|
if (va(n) === 0) break e;
|
|
case "keydown":
|
|
case "keyup":
|
|
y = wk;
|
|
break;
|
|
case "focusin":
|
|
v = "focus", y = Uu;
|
|
break;
|
|
case "focusout":
|
|
v = "blur", y = Uu;
|
|
break;
|
|
case "beforeblur":
|
|
case "afterblur":
|
|
y = Uu;
|
|
break;
|
|
case "click":
|
|
if (n.button === 2) break e;
|
|
case "auxclick":
|
|
case "dblclick":
|
|
case "mousedown":
|
|
case "mousemove":
|
|
case "mouseup":
|
|
case "mouseout":
|
|
case "mouseover":
|
|
case "contextmenu":
|
|
y = _p;
|
|
break;
|
|
case "drag":
|
|
case "dragend":
|
|
case "dragenter":
|
|
case "dragexit":
|
|
case "dragleave":
|
|
case "dragover":
|
|
case "dragstart":
|
|
case "drop":
|
|
y = ck;
|
|
break;
|
|
case "touchcancel":
|
|
case "touchend":
|
|
case "touchmove":
|
|
case "touchstart":
|
|
y = Tk;
|
|
break;
|
|
case Y0:
|
|
case Z0:
|
|
case G0:
|
|
y = hk;
|
|
break;
|
|
case Q0:
|
|
y = Pk;
|
|
break;
|
|
case "scroll":
|
|
y = lk;
|
|
break;
|
|
case "wheel":
|
|
y = zk;
|
|
break;
|
|
case "copy":
|
|
case "cut":
|
|
case "paste":
|
|
y = mk;
|
|
break;
|
|
case "gotpointercapture":
|
|
case "lostpointercapture":
|
|
case "pointercancel":
|
|
case "pointerdown":
|
|
case "pointermove":
|
|
case "pointerout":
|
|
case "pointerover":
|
|
case "pointerup":
|
|
y = em;
|
|
}
|
|
var S = (t & 4) !== 0, k = !S && e === "scroll", p = S ? f !== null ? f + "Capture" : null : f;
|
|
S = [];
|
|
for (var h = u, g; h !== null; ) {
|
|
g = h;
|
|
var w = g.stateNode;
|
|
if (g.tag === 5 && w !== null && (g = w, p !== null && (w = Ui(h, p), w != null && S.push(Gi(h, w, g)))), k) break;
|
|
h = h.return;
|
|
}
|
|
0 < S.length && (f = new y(f, v, null, n, c), d.push({ event: f, listeners: S }));
|
|
}
|
|
}
|
|
if (!(t & 7)) {
|
|
e: {
|
|
if (f = e === "mouseover" || e === "pointerover", y = e === "mouseout" || e === "pointerout", f && n !== $c && (v = n.relatedTarget || n.fromElement) && (mr(v) || v[Pn])) break e;
|
|
if ((y || f) && (f = c.window === c ? c : (f = c.ownerDocument) ? f.defaultView || f.parentWindow : window, y ? (v = n.relatedTarget || n.toElement, y = u, v = v ? mr(v) : null, v !== null && (k = Vr(v), v !== k || v.tag !== 5 && v.tag !== 6) && (v = null)) : (y = null, v = u), y !== v)) {
|
|
if (S = _p, w = "onMouseLeave", p = "onMouseEnter", h = "mouse", (e === "pointerout" || e === "pointerover") && (S = em, w = "onPointerLeave", p = "onPointerEnter", h = "pointer"), k = y == null ? f : Qr(y), g = v == null ? f : Qr(v), f = new S(w, h + "leave", y, n, c), f.target = k, f.relatedTarget = g, w = null, mr(c) === u && (S = new S(p, h + "enter", v, n, c), S.target = g, S.relatedTarget = k, w = S), k = w, y && v) t: {
|
|
for (S = y, p = v, h = 0, g = S; g; g = Ur(g)) h++;
|
|
for (g = 0, w = p; w; w = Ur(w)) g++;
|
|
for (; 0 < h - g; ) S = Ur(S), h--;
|
|
for (; 0 < g - h; ) p = Ur(p), g--;
|
|
for (; h--; ) {
|
|
if (S === p || p !== null && S === p.alternate) break t;
|
|
S = Ur(S), p = Ur(p);
|
|
}
|
|
S = null;
|
|
}
|
|
else S = null;
|
|
y !== null && dm(d, f, y, S, !1), v !== null && k !== null && dm(d, k, v, S, !0);
|
|
}
|
|
}
|
|
e: {
|
|
if (f = u ? Qr(u) : window, y = f.nodeName && f.nodeName.toLowerCase(), y === "select" || y === "input" && f.type === "file") var P = Vk;
|
|
else if (rm(f)) if (U0) P = jk;
|
|
else {
|
|
P = Ok;
|
|
var A = Ik;
|
|
}
|
|
else (y = f.nodeName) && y.toLowerCase() === "input" && (f.type === "checkbox" || f.type === "radio") && (P = Nk);
|
|
if (P && (P = P(e, u))) {
|
|
W0(d, P, n, c);
|
|
break e;
|
|
}
|
|
A && A(e, f, u), e === "focusout" && (A = f._wrapperState) && A.controlled && f.type === "number" && Zc(f, "number", f.value);
|
|
}
|
|
switch (A = u ? Qr(u) : window, e) {
|
|
case "focusin":
|
|
(rm(A) || A.contentEditable === "true") && (Zr = A, sd = u, Ci = null);
|
|
break;
|
|
case "focusout":
|
|
Ci = sd = Zr = null;
|
|
break;
|
|
case "mousedown":
|
|
ad = !0;
|
|
break;
|
|
case "contextmenu":
|
|
case "mouseup":
|
|
case "dragend":
|
|
ad = !1, lm(d, n, c);
|
|
break;
|
|
case "selectionchange":
|
|
if (Hk) break;
|
|
case "keydown":
|
|
case "keyup":
|
|
lm(d, n, c);
|
|
}
|
|
var E;
|
|
if (jf) e: {
|
|
switch (e) {
|
|
case "compositionstart":
|
|
var z = "onCompositionStart";
|
|
break e;
|
|
case "compositionend":
|
|
z = "onCompositionEnd";
|
|
break e;
|
|
case "compositionupdate":
|
|
z = "onCompositionUpdate";
|
|
break e;
|
|
}
|
|
z = void 0;
|
|
}
|
|
else Yr ? N0(e, n) && (z = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (z = "onCompositionStart");
|
|
z && (O0 && n.locale !== "ko" && (Yr || z !== "onCompositionStart" ? z === "onCompositionEnd" && Yr && (E = I0()) : (Wn = c, If = "value" in Wn ? Wn.value : Wn.textContent, Yr = !0)), A = tl(u, z), 0 < A.length && (z = new $p(z, e, null, n, c), d.push({ event: z, listeners: A }), E ? z.data = E : (E = j0(n), E !== null && (z.data = E)))), (E = Rk ? Dk(e, n) : Fk(e, n)) && (u = tl(u, "onBeforeInput"), 0 < u.length && (c = new $p("onBeforeInput", "beforeinput", null, n, c), d.push({ event: c, listeners: u }), c.data = E));
|
|
}
|
|
_0(d, t);
|
|
});
|
|
}
|
|
function Gi(e, t, n) {
|
|
return { instance: e, listener: t, currentTarget: n };
|
|
}
|
|
function tl(e, t) {
|
|
for (var n = t + "Capture", r = []; e !== null; ) {
|
|
var o = e, i = o.stateNode;
|
|
o.tag === 5 && i !== null && (o = i, i = Ui(e, n), i != null && r.unshift(Gi(e, i, o)), i = Ui(e, t), i != null && r.push(Gi(e, i, o))), e = e.return;
|
|
}
|
|
return r;
|
|
}
|
|
function Ur(e) {
|
|
if (e === null) return null;
|
|
do
|
|
e = e.return;
|
|
while (e && e.tag !== 5);
|
|
return e || null;
|
|
}
|
|
function dm(e, t, n, r, o) {
|
|
for (var i = t._reactName, s = []; n !== null && n !== r; ) {
|
|
var a = n, l = a.alternate, u = a.stateNode;
|
|
if (l !== null && l === r) break;
|
|
a.tag === 5 && u !== null && (a = u, o ? (l = Ui(n, i), l != null && s.unshift(Gi(n, l, a))) : o || (l = Ui(n, i), l != null && s.push(Gi(n, l, a)))), n = n.return;
|
|
}
|
|
s.length !== 0 && e.push({ event: t, listeners: s });
|
|
}
|
|
var Yk = /\r\n?/g, Zk = /\u0000|\uFFFD/g;
|
|
function fm(e) {
|
|
return (typeof e == "string" ? e : "" + e).replace(Yk, `
|
|
`).replace(Zk, "");
|
|
}
|
|
function Ys(e, t, n) {
|
|
if (t = fm(t), fm(e) !== t && n) throw Error(R(425));
|
|
}
|
|
function nl() {
|
|
}
|
|
var ld = null, ud = null;
|
|
function cd(e, t) {
|
|
return e === "textarea" || e === "noscript" || typeof t.children == "string" || typeof t.children == "number" || typeof t.dangerouslySetInnerHTML == "object" && t.dangerouslySetInnerHTML !== null && t.dangerouslySetInnerHTML.__html != null;
|
|
}
|
|
var dd = typeof setTimeout == "function" ? setTimeout : void 0, Gk = typeof clearTimeout == "function" ? clearTimeout : void 0, hm = typeof Promise == "function" ? Promise : void 0, Qk = typeof queueMicrotask == "function" ? queueMicrotask : typeof hm < "u" ? function(e) {
|
|
return hm.resolve(null).then(e).catch(Jk);
|
|
} : dd;
|
|
function Jk(e) {
|
|
setTimeout(function() {
|
|
throw e;
|
|
});
|
|
}
|
|
function Qu(e, t) {
|
|
var n = t, r = 0;
|
|
do {
|
|
var o = n.nextSibling;
|
|
if (e.removeChild(n), o && o.nodeType === 8) if (n = o.data, n === "/$") {
|
|
if (r === 0) {
|
|
e.removeChild(o), Xi(t);
|
|
return;
|
|
}
|
|
r--;
|
|
} else n !== "$" && n !== "$?" && n !== "$!" || r++;
|
|
n = o;
|
|
} while (n);
|
|
Xi(t);
|
|
}
|
|
function Yn(e) {
|
|
for (; e != null; e = e.nextSibling) {
|
|
var t = e.nodeType;
|
|
if (t === 1 || t === 3) break;
|
|
if (t === 8) {
|
|
if (t = e.data, t === "$" || t === "$!" || t === "$?") break;
|
|
if (t === "/$") return null;
|
|
}
|
|
}
|
|
return e;
|
|
}
|
|
function pm(e) {
|
|
e = e.previousSibling;
|
|
for (var t = 0; e; ) {
|
|
if (e.nodeType === 8) {
|
|
var n = e.data;
|
|
if (n === "$" || n === "$!" || n === "$?") {
|
|
if (t === 0) return e;
|
|
t--;
|
|
} else n === "/$" && t++;
|
|
}
|
|
e = e.previousSibling;
|
|
}
|
|
return null;
|
|
}
|
|
var No = Math.random().toString(36).slice(2), on = "__reactFiber$" + No, Qi = "__reactProps$" + No, Pn = "__reactContainer$" + No, fd = "__reactEvents$" + No, _k = "__reactListeners$" + No, $k = "__reactHandles$" + No;
|
|
function mr(e) {
|
|
var t = e[on];
|
|
if (t) return t;
|
|
for (var n = e.parentNode; n; ) {
|
|
if (t = n[Pn] || n[on]) {
|
|
if (n = t.alternate, t.child !== null || n !== null && n.child !== null) for (e = pm(e); e !== null; ) {
|
|
if (n = e[on]) return n;
|
|
e = pm(e);
|
|
}
|
|
return t;
|
|
}
|
|
e = n, n = e.parentNode;
|
|
}
|
|
return null;
|
|
}
|
|
function gs(e) {
|
|
return e = e[on] || e[Pn], !e || e.tag !== 5 && e.tag !== 6 && e.tag !== 13 && e.tag !== 3 ? null : e;
|
|
}
|
|
function Qr(e) {
|
|
if (e.tag === 5 || e.tag === 6) return e.stateNode;
|
|
throw Error(R(33));
|
|
}
|
|
function jl(e) {
|
|
return e[Qi] || null;
|
|
}
|
|
var hd = [], Jr = -1;
|
|
function rr(e) {
|
|
return { current: e };
|
|
}
|
|
function de(e) {
|
|
0 > Jr || (e.current = hd[Jr], hd[Jr] = null, Jr--);
|
|
}
|
|
function se(e, t) {
|
|
Jr++, hd[Jr] = e.current, e.current = t;
|
|
}
|
|
var $n = {}, qe = rr($n), st = rr(!1), Ar = $n;
|
|
function To(e, t) {
|
|
var n = e.type.contextTypes;
|
|
if (!n) return $n;
|
|
var r = e.stateNode;
|
|
if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) return r.__reactInternalMemoizedMaskedChildContext;
|
|
var o = {}, i;
|
|
for (i in n) o[i] = t[i];
|
|
return r && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = t, e.__reactInternalMemoizedMaskedChildContext = o), o;
|
|
}
|
|
function at(e) {
|
|
return e = e.childContextTypes, e != null;
|
|
}
|
|
function rl() {
|
|
de(st), de(qe);
|
|
}
|
|
function mm(e, t, n) {
|
|
if (qe.current !== $n) throw Error(R(168));
|
|
se(qe, t), se(st, n);
|
|
}
|
|
function ev(e, t, n) {
|
|
var r = e.stateNode;
|
|
if (t = t.childContextTypes, typeof r.getChildContext != "function") return n;
|
|
r = r.getChildContext();
|
|
for (var o in r) if (!(o in t)) throw Error(R(108, Iw(e) || "Unknown", o));
|
|
return ve({}, n, r);
|
|
}
|
|
function ol(e) {
|
|
return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || $n, Ar = qe.current, se(qe, e), se(st, st.current), !0;
|
|
}
|
|
function gm(e, t, n) {
|
|
var r = e.stateNode;
|
|
if (!r) throw Error(R(169));
|
|
n ? (e = ev(e, t, Ar), r.__reactInternalMemoizedMergedChildContext = e, de(st), de(qe), se(qe, e)) : de(st), se(st, n);
|
|
}
|
|
var yn = null, Wl = !1, Ju = !1;
|
|
function tv(e) {
|
|
yn === null ? yn = [e] : yn.push(e);
|
|
}
|
|
function eC(e) {
|
|
Wl = !0, tv(e);
|
|
}
|
|
function or() {
|
|
if (!Ju && yn !== null) {
|
|
Ju = !0;
|
|
var e = 0, t = te;
|
|
try {
|
|
var n = yn;
|
|
for (te = 1; e < n.length; e++) {
|
|
var r = n[e];
|
|
do
|
|
r = r(!0);
|
|
while (r !== null);
|
|
}
|
|
yn = null, Wl = !1;
|
|
} catch (o) {
|
|
throw yn !== null && (yn = yn.slice(e + 1)), E0(Ff, or), o;
|
|
} finally {
|
|
te = t, Ju = !1;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
var _r = [], $r = 0, il = null, sl = 0, Tt = [], Et = 0, zr = null, xn = 1, wn = "";
|
|
function dr(e, t) {
|
|
_r[$r++] = sl, _r[$r++] = il, il = e, sl = t;
|
|
}
|
|
function nv(e, t, n) {
|
|
Tt[Et++] = xn, Tt[Et++] = wn, Tt[Et++] = zr, zr = e;
|
|
var r = xn;
|
|
e = wn;
|
|
var o = 32 - Kt(r) - 1;
|
|
r &= ~(1 << o), n += 1;
|
|
var i = 32 - Kt(t) + o;
|
|
if (30 < i) {
|
|
var s = o - o % 5;
|
|
i = (r & (1 << s) - 1).toString(32), r >>= s, o -= s, xn = 1 << 32 - Kt(t) + o | n << o | r, wn = i + e;
|
|
} else xn = 1 << i | n << o | r, wn = e;
|
|
}
|
|
function Uf(e) {
|
|
e.return !== null && (dr(e, 1), nv(e, 1, 0));
|
|
}
|
|
function Hf(e) {
|
|
for (; e === il; ) il = _r[--$r], _r[$r] = null, sl = _r[--$r], _r[$r] = null;
|
|
for (; e === zr; ) zr = Tt[--Et], Tt[Et] = null, wn = Tt[--Et], Tt[Et] = null, xn = Tt[--Et], Tt[Et] = null;
|
|
}
|
|
var gt = null, mt = null, pe = !1, Ut = null;
|
|
function rv(e, t) {
|
|
var n = Pt(5, null, null, 0);
|
|
n.elementType = "DELETED", n.stateNode = t, n.return = e, t = e.deletions, t === null ? (e.deletions = [n], e.flags |= 16) : t.push(n);
|
|
}
|
|
function ym(e, t) {
|
|
switch (e.tag) {
|
|
case 5:
|
|
var n = e.type;
|
|
return t = t.nodeType !== 1 || n.toLowerCase() !== t.nodeName.toLowerCase() ? null : t, t !== null ? (e.stateNode = t, gt = e, mt = Yn(t.firstChild), !0) : !1;
|
|
case 6:
|
|
return t = e.pendingProps === "" || t.nodeType !== 3 ? null : t, t !== null ? (e.stateNode = t, gt = e, mt = null, !0) : !1;
|
|
case 13:
|
|
return t = t.nodeType !== 8 ? null : t, t !== null ? (n = zr !== null ? { id: xn, overflow: wn } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Pt(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, gt = e, mt = null, !0) : !1;
|
|
default:
|
|
return !1;
|
|
}
|
|
}
|
|
function pd(e) {
|
|
return (e.mode & 1) !== 0 && (e.flags & 128) === 0;
|
|
}
|
|
function md(e) {
|
|
if (pe) {
|
|
var t = mt;
|
|
if (t) {
|
|
var n = t;
|
|
if (!ym(e, t)) {
|
|
if (pd(e)) throw Error(R(418));
|
|
t = Yn(n.nextSibling);
|
|
var r = gt;
|
|
t && ym(e, t) ? rv(r, n) : (e.flags = e.flags & -4097 | 2, pe = !1, gt = e);
|
|
}
|
|
} else {
|
|
if (pd(e)) throw Error(R(418));
|
|
e.flags = e.flags & -4097 | 2, pe = !1, gt = e;
|
|
}
|
|
}
|
|
}
|
|
function vm(e) {
|
|
for (e = e.return; e !== null && e.tag !== 5 && e.tag !== 3 && e.tag !== 13; ) e = e.return;
|
|
gt = e;
|
|
}
|
|
function Zs(e) {
|
|
if (e !== gt) return !1;
|
|
if (!pe) return vm(e), pe = !0, !1;
|
|
var t;
|
|
if ((t = e.tag !== 3) && !(t = e.tag !== 5) && (t = e.type, t = t !== "head" && t !== "body" && !cd(e.type, e.memoizedProps)), t && (t = mt)) {
|
|
if (pd(e)) throw ov(), Error(R(418));
|
|
for (; t; ) rv(e, t), t = Yn(t.nextSibling);
|
|
}
|
|
if (vm(e), e.tag === 13) {
|
|
if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e) throw Error(R(317));
|
|
e: {
|
|
for (e = e.nextSibling, t = 0; e; ) {
|
|
if (e.nodeType === 8) {
|
|
var n = e.data;
|
|
if (n === "/$") {
|
|
if (t === 0) {
|
|
mt = Yn(e.nextSibling);
|
|
break e;
|
|
}
|
|
t--;
|
|
} else n !== "$" && n !== "$!" && n !== "$?" || t++;
|
|
}
|
|
e = e.nextSibling;
|
|
}
|
|
mt = null;
|
|
}
|
|
} else mt = gt ? Yn(e.stateNode.nextSibling) : null;
|
|
return !0;
|
|
}
|
|
function ov() {
|
|
for (var e = mt; e; ) e = Yn(e.nextSibling);
|
|
}
|
|
function Eo() {
|
|
mt = gt = null, pe = !1;
|
|
}
|
|
function Kf(e) {
|
|
Ut === null ? Ut = [e] : Ut.push(e);
|
|
}
|
|
var tC = Rn.ReactCurrentBatchConfig;
|
|
function ti(e, t, n) {
|
|
if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
|
|
if (n._owner) {
|
|
if (n = n._owner, n) {
|
|
if (n.tag !== 1) throw Error(R(309));
|
|
var r = n.stateNode;
|
|
}
|
|
if (!r) throw Error(R(147, e));
|
|
var o = r, i = "" + e;
|
|
return t !== null && t.ref !== null && typeof t.ref == "function" && t.ref._stringRef === i ? t.ref : (t = function(s) {
|
|
var a = o.refs;
|
|
s === null ? delete a[i] : a[i] = s;
|
|
}, t._stringRef = i, t);
|
|
}
|
|
if (typeof e != "string") throw Error(R(284));
|
|
if (!n._owner) throw Error(R(290, e));
|
|
}
|
|
return e;
|
|
}
|
|
function Gs(e, t) {
|
|
throw e = Object.prototype.toString.call(t), Error(R(31, e === "[object Object]" ? "object with keys {" + Object.keys(t).join(", ") + "}" : e));
|
|
}
|
|
function Sm(e) {
|
|
var t = e._init;
|
|
return t(e._payload);
|
|
}
|
|
function iv(e) {
|
|
function t(p, h) {
|
|
if (e) {
|
|
var g = p.deletions;
|
|
g === null ? (p.deletions = [h], p.flags |= 16) : g.push(h);
|
|
}
|
|
}
|
|
function n(p, h) {
|
|
if (!e) return null;
|
|
for (; h !== null; ) t(p, h), h = h.sibling;
|
|
return null;
|
|
}
|
|
function r(p, h) {
|
|
for (p = /* @__PURE__ */ new Map(); h !== null; ) h.key !== null ? p.set(h.key, h) : p.set(h.index, h), h = h.sibling;
|
|
return p;
|
|
}
|
|
function o(p, h) {
|
|
return p = Jn(p, h), p.index = 0, p.sibling = null, p;
|
|
}
|
|
function i(p, h, g) {
|
|
return p.index = g, e ? (g = p.alternate, g !== null ? (g = g.index, g < h ? (p.flags |= 2, h) : g) : (p.flags |= 2, h)) : (p.flags |= 1048576, h);
|
|
}
|
|
function s(p) {
|
|
return e && p.alternate === null && (p.flags |= 2), p;
|
|
}
|
|
function a(p, h, g, w) {
|
|
return h === null || h.tag !== 6 ? (h = oc(g, p.mode, w), h.return = p, h) : (h = o(h, g), h.return = p, h);
|
|
}
|
|
function l(p, h, g, w) {
|
|
var P = g.type;
|
|
return P === qr ? c(p, h, g.props.children, w, g.key) : h !== null && (h.elementType === P || typeof P == "object" && P !== null && P.$$typeof === Vn && Sm(P) === h.type) ? (w = o(h, g.props), w.ref = ti(p, h, g), w.return = p, w) : (w = Ta(g.type, g.key, g.props, null, p.mode, w), w.ref = ti(p, h, g), w.return = p, w);
|
|
}
|
|
function u(p, h, g, w) {
|
|
return h === null || h.tag !== 4 || h.stateNode.containerInfo !== g.containerInfo || h.stateNode.implementation !== g.implementation ? (h = ic(g, p.mode, w), h.return = p, h) : (h = o(h, g.children || []), h.return = p, h);
|
|
}
|
|
function c(p, h, g, w, P) {
|
|
return h === null || h.tag !== 7 ? (h = wr(g, p.mode, w, P), h.return = p, h) : (h = o(h, g), h.return = p, h);
|
|
}
|
|
function d(p, h, g) {
|
|
if (typeof h == "string" && h !== "" || typeof h == "number") return h = oc("" + h, p.mode, g), h.return = p, h;
|
|
if (typeof h == "object" && h !== null) {
|
|
switch (h.$$typeof) {
|
|
case Os:
|
|
return g = Ta(h.type, h.key, h.props, null, p.mode, g), g.ref = ti(p, null, h), g.return = p, g;
|
|
case Xr:
|
|
return h = ic(h, p.mode, g), h.return = p, h;
|
|
case Vn:
|
|
var w = h._init;
|
|
return d(p, w(h._payload), g);
|
|
}
|
|
if (ci(h) || Qo(h)) return h = wr(h, p.mode, g, null), h.return = p, h;
|
|
Gs(p, h);
|
|
}
|
|
return null;
|
|
}
|
|
function f(p, h, g, w) {
|
|
var P = h !== null ? h.key : null;
|
|
if (typeof g == "string" && g !== "" || typeof g == "number") return P !== null ? null : a(p, h, "" + g, w);
|
|
if (typeof g == "object" && g !== null) {
|
|
switch (g.$$typeof) {
|
|
case Os:
|
|
return g.key === P ? l(p, h, g, w) : null;
|
|
case Xr:
|
|
return g.key === P ? u(p, h, g, w) : null;
|
|
case Vn:
|
|
return P = g._init, f(
|
|
p,
|
|
h,
|
|
P(g._payload),
|
|
w
|
|
);
|
|
}
|
|
if (ci(g) || Qo(g)) return P !== null ? null : c(p, h, g, w, null);
|
|
Gs(p, g);
|
|
}
|
|
return null;
|
|
}
|
|
function y(p, h, g, w, P) {
|
|
if (typeof w == "string" && w !== "" || typeof w == "number") return p = p.get(g) || null, a(h, p, "" + w, P);
|
|
if (typeof w == "object" && w !== null) {
|
|
switch (w.$$typeof) {
|
|
case Os:
|
|
return p = p.get(w.key === null ? g : w.key) || null, l(h, p, w, P);
|
|
case Xr:
|
|
return p = p.get(w.key === null ? g : w.key) || null, u(h, p, w, P);
|
|
case Vn:
|
|
var A = w._init;
|
|
return y(p, h, g, A(w._payload), P);
|
|
}
|
|
if (ci(w) || Qo(w)) return p = p.get(g) || null, c(h, p, w, P, null);
|
|
Gs(h, w);
|
|
}
|
|
return null;
|
|
}
|
|
function v(p, h, g, w) {
|
|
for (var P = null, A = null, E = h, z = h = 0, I = null; E !== null && z < g.length; z++) {
|
|
E.index > z ? (I = E, E = null) : I = E.sibling;
|
|
var M = f(p, E, g[z], w);
|
|
if (M === null) {
|
|
E === null && (E = I);
|
|
break;
|
|
}
|
|
e && E && M.alternate === null && t(p, E), h = i(M, h, z), A === null ? P = M : A.sibling = M, A = M, E = I;
|
|
}
|
|
if (z === g.length) return n(p, E), pe && dr(p, z), P;
|
|
if (E === null) {
|
|
for (; z < g.length; z++) E = d(p, g[z], w), E !== null && (h = i(E, h, z), A === null ? P = E : A.sibling = E, A = E);
|
|
return pe && dr(p, z), P;
|
|
}
|
|
for (E = r(p, E); z < g.length; z++) I = y(E, p, z, g[z], w), I !== null && (e && I.alternate !== null && E.delete(I.key === null ? z : I.key), h = i(I, h, z), A === null ? P = I : A.sibling = I, A = I);
|
|
return e && E.forEach(function(U) {
|
|
return t(p, U);
|
|
}), pe && dr(p, z), P;
|
|
}
|
|
function S(p, h, g, w) {
|
|
var P = Qo(g);
|
|
if (typeof P != "function") throw Error(R(150));
|
|
if (g = P.call(g), g == null) throw Error(R(151));
|
|
for (var A = P = null, E = h, z = h = 0, I = null, M = g.next(); E !== null && !M.done; z++, M = g.next()) {
|
|
E.index > z ? (I = E, E = null) : I = E.sibling;
|
|
var U = f(p, E, M.value, w);
|
|
if (U === null) {
|
|
E === null && (E = I);
|
|
break;
|
|
}
|
|
e && E && U.alternate === null && t(p, E), h = i(U, h, z), A === null ? P = U : A.sibling = U, A = U, E = I;
|
|
}
|
|
if (M.done) return n(
|
|
p,
|
|
E
|
|
), pe && dr(p, z), P;
|
|
if (E === null) {
|
|
for (; !M.done; z++, M = g.next()) M = d(p, M.value, w), M !== null && (h = i(M, h, z), A === null ? P = M : A.sibling = M, A = M);
|
|
return pe && dr(p, z), P;
|
|
}
|
|
for (E = r(p, E); !M.done; z++, M = g.next()) M = y(E, p, z, M.value, w), M !== null && (e && M.alternate !== null && E.delete(M.key === null ? z : M.key), h = i(M, h, z), A === null ? P = M : A.sibling = M, A = M);
|
|
return e && E.forEach(function(le) {
|
|
return t(p, le);
|
|
}), pe && dr(p, z), P;
|
|
}
|
|
function k(p, h, g, w) {
|
|
if (typeof g == "object" && g !== null && g.type === qr && g.key === null && (g = g.props.children), typeof g == "object" && g !== null) {
|
|
switch (g.$$typeof) {
|
|
case Os:
|
|
e: {
|
|
for (var P = g.key, A = h; A !== null; ) {
|
|
if (A.key === P) {
|
|
if (P = g.type, P === qr) {
|
|
if (A.tag === 7) {
|
|
n(p, A.sibling), h = o(A, g.props.children), h.return = p, p = h;
|
|
break e;
|
|
}
|
|
} else if (A.elementType === P || typeof P == "object" && P !== null && P.$$typeof === Vn && Sm(P) === A.type) {
|
|
n(p, A.sibling), h = o(A, g.props), h.ref = ti(p, A, g), h.return = p, p = h;
|
|
break e;
|
|
}
|
|
n(p, A);
|
|
break;
|
|
} else t(p, A);
|
|
A = A.sibling;
|
|
}
|
|
g.type === qr ? (h = wr(g.props.children, p.mode, w, g.key), h.return = p, p = h) : (w = Ta(g.type, g.key, g.props, null, p.mode, w), w.ref = ti(p, h, g), w.return = p, p = w);
|
|
}
|
|
return s(p);
|
|
case Xr:
|
|
e: {
|
|
for (A = g.key; h !== null; ) {
|
|
if (h.key === A) if (h.tag === 4 && h.stateNode.containerInfo === g.containerInfo && h.stateNode.implementation === g.implementation) {
|
|
n(p, h.sibling), h = o(h, g.children || []), h.return = p, p = h;
|
|
break e;
|
|
} else {
|
|
n(p, h);
|
|
break;
|
|
}
|
|
else t(p, h);
|
|
h = h.sibling;
|
|
}
|
|
h = ic(g, p.mode, w), h.return = p, p = h;
|
|
}
|
|
return s(p);
|
|
case Vn:
|
|
return A = g._init, k(p, h, A(g._payload), w);
|
|
}
|
|
if (ci(g)) return v(p, h, g, w);
|
|
if (Qo(g)) return S(p, h, g, w);
|
|
Gs(p, g);
|
|
}
|
|
return typeof g == "string" && g !== "" || typeof g == "number" ? (g = "" + g, h !== null && h.tag === 6 ? (n(p, h.sibling), h = o(h, g), h.return = p, p = h) : (n(p, h), h = oc(g, p.mode, w), h.return = p, p = h), s(p)) : n(p, h);
|
|
}
|
|
return k;
|
|
}
|
|
var Po = iv(!0), sv = iv(!1), al = rr(null), ll = null, eo = null, Xf = null;
|
|
function qf() {
|
|
Xf = eo = ll = null;
|
|
}
|
|
function Yf(e) {
|
|
var t = al.current;
|
|
de(al), e._currentValue = t;
|
|
}
|
|
function gd(e, t, n) {
|
|
for (; e !== null; ) {
|
|
var r = e.alternate;
|
|
if ((e.childLanes & t) !== t ? (e.childLanes |= t, r !== null && (r.childLanes |= t)) : r !== null && (r.childLanes & t) !== t && (r.childLanes |= t), e === n) break;
|
|
e = e.return;
|
|
}
|
|
}
|
|
function yo(e, t) {
|
|
ll = e, Xf = eo = null, e = e.dependencies, e !== null && e.firstContext !== null && (e.lanes & t && (it = !0), e.firstContext = null);
|
|
}
|
|
function Dt(e) {
|
|
var t = e._currentValue;
|
|
if (Xf !== e) if (e = { context: e, memoizedValue: t, next: null }, eo === null) {
|
|
if (ll === null) throw Error(R(308));
|
|
eo = e, ll.dependencies = { lanes: 0, firstContext: e };
|
|
} else eo = eo.next = e;
|
|
return t;
|
|
}
|
|
var gr = null;
|
|
function Zf(e) {
|
|
gr === null ? gr = [e] : gr.push(e);
|
|
}
|
|
function av(e, t, n, r) {
|
|
var o = t.interleaved;
|
|
return o === null ? (n.next = n, Zf(t)) : (n.next = o.next, o.next = n), t.interleaved = n, An(e, r);
|
|
}
|
|
function An(e, t) {
|
|
e.lanes |= t;
|
|
var n = e.alternate;
|
|
for (n !== null && (n.lanes |= t), n = e, e = e.return; e !== null; ) e.childLanes |= t, n = e.alternate, n !== null && (n.childLanes |= t), n = e, e = e.return;
|
|
return n.tag === 3 ? n.stateNode : null;
|
|
}
|
|
var In = !1;
|
|
function Gf(e) {
|
|
e.updateQueue = { baseState: e.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null };
|
|
}
|
|
function lv(e, t) {
|
|
e = e.updateQueue, t.updateQueue === e && (t.updateQueue = { baseState: e.baseState, firstBaseUpdate: e.firstBaseUpdate, lastBaseUpdate: e.lastBaseUpdate, shared: e.shared, effects: e.effects });
|
|
}
|
|
function Cn(e, t) {
|
|
return { eventTime: e, lane: t, tag: 0, payload: null, callback: null, next: null };
|
|
}
|
|
function Zn(e, t, n) {
|
|
var r = e.updateQueue;
|
|
if (r === null) return null;
|
|
if (r = r.shared, q & 2) {
|
|
var o = r.pending;
|
|
return o === null ? t.next = t : (t.next = o.next, o.next = t), r.pending = t, An(e, n);
|
|
}
|
|
return o = r.interleaved, o === null ? (t.next = t, Zf(r)) : (t.next = o.next, o.next = t), r.interleaved = t, An(e, n);
|
|
}
|
|
function Sa(e, t, n) {
|
|
if (t = t.updateQueue, t !== null && (t = t.shared, (n & 4194240) !== 0)) {
|
|
var r = t.lanes;
|
|
r &= e.pendingLanes, n |= r, t.lanes = n, Lf(e, n);
|
|
}
|
|
}
|
|
function bm(e, t) {
|
|
var n = e.updateQueue, r = e.alternate;
|
|
if (r !== null && (r = r.updateQueue, n === r)) {
|
|
var o = null, i = null;
|
|
if (n = n.firstBaseUpdate, n !== null) {
|
|
do {
|
|
var s = { eventTime: n.eventTime, lane: n.lane, tag: n.tag, payload: n.payload, callback: n.callback, next: null };
|
|
i === null ? o = i = s : i = i.next = s, n = n.next;
|
|
} while (n !== null);
|
|
i === null ? o = i = t : i = i.next = t;
|
|
} else o = i = t;
|
|
n = { baseState: r.baseState, firstBaseUpdate: o, lastBaseUpdate: i, shared: r.shared, effects: r.effects }, e.updateQueue = n;
|
|
return;
|
|
}
|
|
e = n.lastBaseUpdate, e === null ? n.firstBaseUpdate = t : e.next = t, n.lastBaseUpdate = t;
|
|
}
|
|
function ul(e, t, n, r) {
|
|
var o = e.updateQueue;
|
|
In = !1;
|
|
var i = o.firstBaseUpdate, s = o.lastBaseUpdate, a = o.shared.pending;
|
|
if (a !== null) {
|
|
o.shared.pending = null;
|
|
var l = a, u = l.next;
|
|
l.next = null, s === null ? i = u : s.next = u, s = l;
|
|
var c = e.alternate;
|
|
c !== null && (c = c.updateQueue, a = c.lastBaseUpdate, a !== s && (a === null ? c.firstBaseUpdate = u : a.next = u, c.lastBaseUpdate = l));
|
|
}
|
|
if (i !== null) {
|
|
var d = o.baseState;
|
|
s = 0, c = u = l = null, a = i;
|
|
do {
|
|
var f = a.lane, y = a.eventTime;
|
|
if ((r & f) === f) {
|
|
c !== null && (c = c.next = {
|
|
eventTime: y,
|
|
lane: 0,
|
|
tag: a.tag,
|
|
payload: a.payload,
|
|
callback: a.callback,
|
|
next: null
|
|
});
|
|
e: {
|
|
var v = e, S = a;
|
|
switch (f = t, y = n, S.tag) {
|
|
case 1:
|
|
if (v = S.payload, typeof v == "function") {
|
|
d = v.call(y, d, f);
|
|
break e;
|
|
}
|
|
d = v;
|
|
break e;
|
|
case 3:
|
|
v.flags = v.flags & -65537 | 128;
|
|
case 0:
|
|
if (v = S.payload, f = typeof v == "function" ? v.call(y, d, f) : v, f == null) break e;
|
|
d = ve({}, d, f);
|
|
break e;
|
|
case 2:
|
|
In = !0;
|
|
}
|
|
}
|
|
a.callback !== null && a.lane !== 0 && (e.flags |= 64, f = o.effects, f === null ? o.effects = [a] : f.push(a));
|
|
} else y = { eventTime: y, lane: f, tag: a.tag, payload: a.payload, callback: a.callback, next: null }, c === null ? (u = c = y, l = d) : c = c.next = y, s |= f;
|
|
if (a = a.next, a === null) {
|
|
if (a = o.shared.pending, a === null) break;
|
|
f = a, a = f.next, f.next = null, o.lastBaseUpdate = f, o.shared.pending = null;
|
|
}
|
|
} while (!0);
|
|
if (c === null && (l = d), o.baseState = l, o.firstBaseUpdate = u, o.lastBaseUpdate = c, t = o.shared.interleaved, t !== null) {
|
|
o = t;
|
|
do
|
|
s |= o.lane, o = o.next;
|
|
while (o !== t);
|
|
} else i === null && (o.shared.lanes = 0);
|
|
Rr |= s, e.lanes = s, e.memoizedState = d;
|
|
}
|
|
}
|
|
function xm(e, t, n) {
|
|
if (e = t.effects, t.effects = null, e !== null) for (t = 0; t < e.length; t++) {
|
|
var r = e[t], o = r.callback;
|
|
if (o !== null) {
|
|
if (r.callback = null, r = n, typeof o != "function") throw Error(R(191, o));
|
|
o.call(r);
|
|
}
|
|
}
|
|
}
|
|
var ys = {}, ln = rr(ys), Ji = rr(ys), _i = rr(ys);
|
|
function yr(e) {
|
|
if (e === ys) throw Error(R(174));
|
|
return e;
|
|
}
|
|
function Qf(e, t) {
|
|
switch (se(_i, t), se(Ji, e), se(ln, ys), e = t.nodeType, e) {
|
|
case 9:
|
|
case 11:
|
|
t = (t = t.documentElement) ? t.namespaceURI : Qc(null, "");
|
|
break;
|
|
default:
|
|
e = e === 8 ? t.parentNode : t, t = e.namespaceURI || null, e = e.tagName, t = Qc(t, e);
|
|
}
|
|
de(ln), se(ln, t);
|
|
}
|
|
function Ao() {
|
|
de(ln), de(Ji), de(_i);
|
|
}
|
|
function uv(e) {
|
|
yr(_i.current);
|
|
var t = yr(ln.current), n = Qc(t, e.type);
|
|
t !== n && (se(Ji, e), se(ln, n));
|
|
}
|
|
function Jf(e) {
|
|
Ji.current === e && (de(ln), de(Ji));
|
|
}
|
|
var ge = rr(0);
|
|
function cl(e) {
|
|
for (var t = e; t !== null; ) {
|
|
if (t.tag === 13) {
|
|
var n = t.memoizedState;
|
|
if (n !== null && (n = n.dehydrated, n === null || n.data === "$?" || n.data === "$!")) return t;
|
|
} else if (t.tag === 19 && t.memoizedProps.revealOrder !== void 0) {
|
|
if (t.flags & 128) return t;
|
|
} else if (t.child !== null) {
|
|
t.child.return = t, t = t.child;
|
|
continue;
|
|
}
|
|
if (t === e) break;
|
|
for (; t.sibling === null; ) {
|
|
if (t.return === null || t.return === e) return null;
|
|
t = t.return;
|
|
}
|
|
t.sibling.return = t.return, t = t.sibling;
|
|
}
|
|
return null;
|
|
}
|
|
var _u = [];
|
|
function _f() {
|
|
for (var e = 0; e < _u.length; e++) _u[e]._workInProgressVersionPrimary = null;
|
|
_u.length = 0;
|
|
}
|
|
var ba = Rn.ReactCurrentDispatcher, $u = Rn.ReactCurrentBatchConfig, Mr = 0, ye = null, Ae = null, Re = null, dl = !1, Ti = !1, $i = 0, nC = 0;
|
|
function Ue() {
|
|
throw Error(R(321));
|
|
}
|
|
function $f(e, t) {
|
|
if (t === null) return !1;
|
|
for (var n = 0; n < t.length && n < e.length; n++) if (!Yt(e[n], t[n])) return !1;
|
|
return !0;
|
|
}
|
|
function eh(e, t, n, r, o, i) {
|
|
if (Mr = i, ye = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, ba.current = e === null || e.memoizedState === null ? sC : aC, e = n(r, o), Ti) {
|
|
i = 0;
|
|
do {
|
|
if (Ti = !1, $i = 0, 25 <= i) throw Error(R(301));
|
|
i += 1, Re = Ae = null, t.updateQueue = null, ba.current = lC, e = n(r, o);
|
|
} while (Ti);
|
|
}
|
|
if (ba.current = fl, t = Ae !== null && Ae.next !== null, Mr = 0, Re = Ae = ye = null, dl = !1, t) throw Error(R(300));
|
|
return e;
|
|
}
|
|
function th() {
|
|
var e = $i !== 0;
|
|
return $i = 0, e;
|
|
}
|
|
function _t() {
|
|
var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };
|
|
return Re === null ? ye.memoizedState = Re = e : Re = Re.next = e, Re;
|
|
}
|
|
function Ft() {
|
|
if (Ae === null) {
|
|
var e = ye.alternate;
|
|
e = e !== null ? e.memoizedState : null;
|
|
} else e = Ae.next;
|
|
var t = Re === null ? ye.memoizedState : Re.next;
|
|
if (t !== null) Re = t, Ae = e;
|
|
else {
|
|
if (e === null) throw Error(R(310));
|
|
Ae = e, e = { memoizedState: Ae.memoizedState, baseState: Ae.baseState, baseQueue: Ae.baseQueue, queue: Ae.queue, next: null }, Re === null ? ye.memoizedState = Re = e : Re = Re.next = e;
|
|
}
|
|
return Re;
|
|
}
|
|
function es(e, t) {
|
|
return typeof t == "function" ? t(e) : t;
|
|
}
|
|
function ec(e) {
|
|
var t = Ft(), n = t.queue;
|
|
if (n === null) throw Error(R(311));
|
|
n.lastRenderedReducer = e;
|
|
var r = Ae, o = r.baseQueue, i = n.pending;
|
|
if (i !== null) {
|
|
if (o !== null) {
|
|
var s = o.next;
|
|
o.next = i.next, i.next = s;
|
|
}
|
|
r.baseQueue = o = i, n.pending = null;
|
|
}
|
|
if (o !== null) {
|
|
i = o.next, r = r.baseState;
|
|
var a = s = null, l = null, u = i;
|
|
do {
|
|
var c = u.lane;
|
|
if ((Mr & c) === c) l !== null && (l = l.next = { lane: 0, action: u.action, hasEagerState: u.hasEagerState, eagerState: u.eagerState, next: null }), r = u.hasEagerState ? u.eagerState : e(r, u.action);
|
|
else {
|
|
var d = {
|
|
lane: c,
|
|
action: u.action,
|
|
hasEagerState: u.hasEagerState,
|
|
eagerState: u.eagerState,
|
|
next: null
|
|
};
|
|
l === null ? (a = l = d, s = r) : l = l.next = d, ye.lanes |= c, Rr |= c;
|
|
}
|
|
u = u.next;
|
|
} while (u !== null && u !== i);
|
|
l === null ? s = r : l.next = a, Yt(r, t.memoizedState) || (it = !0), t.memoizedState = r, t.baseState = s, t.baseQueue = l, n.lastRenderedState = r;
|
|
}
|
|
if (e = n.interleaved, e !== null) {
|
|
o = e;
|
|
do
|
|
i = o.lane, ye.lanes |= i, Rr |= i, o = o.next;
|
|
while (o !== e);
|
|
} else o === null && (n.lanes = 0);
|
|
return [t.memoizedState, n.dispatch];
|
|
}
|
|
function tc(e) {
|
|
var t = Ft(), n = t.queue;
|
|
if (n === null) throw Error(R(311));
|
|
n.lastRenderedReducer = e;
|
|
var r = n.dispatch, o = n.pending, i = t.memoizedState;
|
|
if (o !== null) {
|
|
n.pending = null;
|
|
var s = o = o.next;
|
|
do
|
|
i = e(i, s.action), s = s.next;
|
|
while (s !== o);
|
|
Yt(i, t.memoizedState) || (it = !0), t.memoizedState = i, t.baseQueue === null && (t.baseState = i), n.lastRenderedState = i;
|
|
}
|
|
return [i, r];
|
|
}
|
|
function cv() {
|
|
}
|
|
function dv(e, t) {
|
|
var n = ye, r = Ft(), o = t(), i = !Yt(r.memoizedState, o);
|
|
if (i && (r.memoizedState = o, it = !0), r = r.queue, nh(pv.bind(null, n, r, e), [e]), r.getSnapshot !== t || i || Re !== null && Re.memoizedState.tag & 1) {
|
|
if (n.flags |= 2048, ts(9, hv.bind(null, n, r, o, t), void 0, null), De === null) throw Error(R(349));
|
|
Mr & 30 || fv(n, t, o);
|
|
}
|
|
return o;
|
|
}
|
|
function fv(e, t, n) {
|
|
e.flags |= 16384, e = { getSnapshot: t, value: n }, t = ye.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, ye.updateQueue = t, t.stores = [e]) : (n = t.stores, n === null ? t.stores = [e] : n.push(e));
|
|
}
|
|
function hv(e, t, n, r) {
|
|
t.value = n, t.getSnapshot = r, mv(t) && gv(e);
|
|
}
|
|
function pv(e, t, n) {
|
|
return n(function() {
|
|
mv(t) && gv(e);
|
|
});
|
|
}
|
|
function mv(e) {
|
|
var t = e.getSnapshot;
|
|
e = e.value;
|
|
try {
|
|
var n = t();
|
|
return !Yt(e, n);
|
|
} catch {
|
|
return !0;
|
|
}
|
|
}
|
|
function gv(e) {
|
|
var t = An(e, 1);
|
|
t !== null && Xt(t, e, 1, -1);
|
|
}
|
|
function wm(e) {
|
|
var t = _t();
|
|
return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: es, lastRenderedState: e }, t.queue = e, e = e.dispatch = iC.bind(null, ye, e), [t.memoizedState, e];
|
|
}
|
|
function ts(e, t, n, r) {
|
|
return e = { tag: e, create: t, destroy: n, deps: r, next: null }, t = ye.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, ye.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e)), e;
|
|
}
|
|
function yv() {
|
|
return Ft().memoizedState;
|
|
}
|
|
function xa(e, t, n, r) {
|
|
var o = _t();
|
|
ye.flags |= e, o.memoizedState = ts(1 | t, n, void 0, r === void 0 ? null : r);
|
|
}
|
|
function Ul(e, t, n, r) {
|
|
var o = Ft();
|
|
r = r === void 0 ? null : r;
|
|
var i = void 0;
|
|
if (Ae !== null) {
|
|
var s = Ae.memoizedState;
|
|
if (i = s.destroy, r !== null && $f(r, s.deps)) {
|
|
o.memoizedState = ts(t, n, i, r);
|
|
return;
|
|
}
|
|
}
|
|
ye.flags |= e, o.memoizedState = ts(1 | t, n, i, r);
|
|
}
|
|
function km(e, t) {
|
|
return xa(8390656, 8, e, t);
|
|
}
|
|
function nh(e, t) {
|
|
return Ul(2048, 8, e, t);
|
|
}
|
|
function vv(e, t) {
|
|
return Ul(4, 2, e, t);
|
|
}
|
|
function Sv(e, t) {
|
|
return Ul(4, 4, e, t);
|
|
}
|
|
function bv(e, t) {
|
|
if (typeof t == "function") return e = e(), t(e), function() {
|
|
t(null);
|
|
};
|
|
if (t != null) return e = e(), t.current = e, function() {
|
|
t.current = null;
|
|
};
|
|
}
|
|
function xv(e, t, n) {
|
|
return n = n != null ? n.concat([e]) : null, Ul(4, 4, bv.bind(null, t, e), n);
|
|
}
|
|
function rh() {
|
|
}
|
|
function wv(e, t) {
|
|
var n = Ft();
|
|
t = t === void 0 ? null : t;
|
|
var r = n.memoizedState;
|
|
return r !== null && t !== null && $f(t, r[1]) ? r[0] : (n.memoizedState = [e, t], e);
|
|
}
|
|
function kv(e, t) {
|
|
var n = Ft();
|
|
t = t === void 0 ? null : t;
|
|
var r = n.memoizedState;
|
|
return r !== null && t !== null && $f(t, r[1]) ? r[0] : (e = e(), n.memoizedState = [e, t], e);
|
|
}
|
|
function Cv(e, t, n) {
|
|
return Mr & 21 ? (Yt(n, t) || (n = z0(), ye.lanes |= n, Rr |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, it = !0), e.memoizedState = n);
|
|
}
|
|
function rC(e, t) {
|
|
var n = te;
|
|
te = n !== 0 && 4 > n ? n : 4, e(!0);
|
|
var r = $u.transition;
|
|
$u.transition = {};
|
|
try {
|
|
e(!1), t();
|
|
} finally {
|
|
te = n, $u.transition = r;
|
|
}
|
|
}
|
|
function Tv() {
|
|
return Ft().memoizedState;
|
|
}
|
|
function oC(e, t, n) {
|
|
var r = Qn(e);
|
|
if (n = { lane: r, action: n, hasEagerState: !1, eagerState: null, next: null }, Ev(e)) Pv(t, n);
|
|
else if (n = av(e, t, n, r), n !== null) {
|
|
var o = _e();
|
|
Xt(n, e, r, o), Av(n, t, r);
|
|
}
|
|
}
|
|
function iC(e, t, n) {
|
|
var r = Qn(e), o = { lane: r, action: n, hasEagerState: !1, eagerState: null, next: null };
|
|
if (Ev(e)) Pv(t, o);
|
|
else {
|
|
var i = e.alternate;
|
|
if (e.lanes === 0 && (i === null || i.lanes === 0) && (i = t.lastRenderedReducer, i !== null)) try {
|
|
var s = t.lastRenderedState, a = i(s, n);
|
|
if (o.hasEagerState = !0, o.eagerState = a, Yt(a, s)) {
|
|
var l = t.interleaved;
|
|
l === null ? (o.next = o, Zf(t)) : (o.next = l.next, l.next = o), t.interleaved = o;
|
|
return;
|
|
}
|
|
} catch {
|
|
} finally {
|
|
}
|
|
n = av(e, t, o, r), n !== null && (o = _e(), Xt(n, e, r, o), Av(n, t, r));
|
|
}
|
|
}
|
|
function Ev(e) {
|
|
var t = e.alternate;
|
|
return e === ye || t !== null && t === ye;
|
|
}
|
|
function Pv(e, t) {
|
|
Ti = dl = !0;
|
|
var n = e.pending;
|
|
n === null ? t.next = t : (t.next = n.next, n.next = t), e.pending = t;
|
|
}
|
|
function Av(e, t, n) {
|
|
if (n & 4194240) {
|
|
var r = t.lanes;
|
|
r &= e.pendingLanes, n |= r, t.lanes = n, Lf(e, n);
|
|
}
|
|
}
|
|
var fl = { readContext: Dt, useCallback: Ue, useContext: Ue, useEffect: Ue, useImperativeHandle: Ue, useInsertionEffect: Ue, useLayoutEffect: Ue, useMemo: Ue, useReducer: Ue, useRef: Ue, useState: Ue, useDebugValue: Ue, useDeferredValue: Ue, useTransition: Ue, useMutableSource: Ue, useSyncExternalStore: Ue, useId: Ue, unstable_isNewReconciler: !1 }, sC = { readContext: Dt, useCallback: function(e, t) {
|
|
return _t().memoizedState = [e, t === void 0 ? null : t], e;
|
|
}, useContext: Dt, useEffect: km, useImperativeHandle: function(e, t, n) {
|
|
return n = n != null ? n.concat([e]) : null, xa(
|
|
4194308,
|
|
4,
|
|
bv.bind(null, t, e),
|
|
n
|
|
);
|
|
}, useLayoutEffect: function(e, t) {
|
|
return xa(4194308, 4, e, t);
|
|
}, useInsertionEffect: function(e, t) {
|
|
return xa(4, 2, e, t);
|
|
}, useMemo: function(e, t) {
|
|
var n = _t();
|
|
return t = t === void 0 ? null : t, e = e(), n.memoizedState = [e, t], e;
|
|
}, useReducer: function(e, t, n) {
|
|
var r = _t();
|
|
return t = n !== void 0 ? n(t) : t, r.memoizedState = r.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, r.queue = e, e = e.dispatch = oC.bind(null, ye, e), [r.memoizedState, e];
|
|
}, useRef: function(e) {
|
|
var t = _t();
|
|
return e = { current: e }, t.memoizedState = e;
|
|
}, useState: wm, useDebugValue: rh, useDeferredValue: function(e) {
|
|
return _t().memoizedState = e;
|
|
}, useTransition: function() {
|
|
var e = wm(!1), t = e[0];
|
|
return e = rC.bind(null, e[1]), _t().memoizedState = e, [t, e];
|
|
}, useMutableSource: function() {
|
|
}, useSyncExternalStore: function(e, t, n) {
|
|
var r = ye, o = _t();
|
|
if (pe) {
|
|
if (n === void 0) throw Error(R(407));
|
|
n = n();
|
|
} else {
|
|
if (n = t(), De === null) throw Error(R(349));
|
|
Mr & 30 || fv(r, t, n);
|
|
}
|
|
o.memoizedState = n;
|
|
var i = { value: n, getSnapshot: t };
|
|
return o.queue = i, km(pv.bind(
|
|
null,
|
|
r,
|
|
i,
|
|
e
|
|
), [e]), r.flags |= 2048, ts(9, hv.bind(null, r, i, n, t), void 0, null), n;
|
|
}, useId: function() {
|
|
var e = _t(), t = De.identifierPrefix;
|
|
if (pe) {
|
|
var n = wn, r = xn;
|
|
n = (r & ~(1 << 32 - Kt(r) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = $i++, 0 < n && (t += "H" + n.toString(32)), t += ":";
|
|
} else n = nC++, t = ":" + t + "r" + n.toString(32) + ":";
|
|
return e.memoizedState = t;
|
|
}, unstable_isNewReconciler: !1 }, aC = {
|
|
readContext: Dt,
|
|
useCallback: wv,
|
|
useContext: Dt,
|
|
useEffect: nh,
|
|
useImperativeHandle: xv,
|
|
useInsertionEffect: vv,
|
|
useLayoutEffect: Sv,
|
|
useMemo: kv,
|
|
useReducer: ec,
|
|
useRef: yv,
|
|
useState: function() {
|
|
return ec(es);
|
|
},
|
|
useDebugValue: rh,
|
|
useDeferredValue: function(e) {
|
|
var t = Ft();
|
|
return Cv(t, Ae.memoizedState, e);
|
|
},
|
|
useTransition: function() {
|
|
var e = ec(es)[0], t = Ft().memoizedState;
|
|
return [e, t];
|
|
},
|
|
useMutableSource: cv,
|
|
useSyncExternalStore: dv,
|
|
useId: Tv,
|
|
unstable_isNewReconciler: !1
|
|
}, lC = { readContext: Dt, useCallback: wv, useContext: Dt, useEffect: nh, useImperativeHandle: xv, useInsertionEffect: vv, useLayoutEffect: Sv, useMemo: kv, useReducer: tc, useRef: yv, useState: function() {
|
|
return tc(es);
|
|
}, useDebugValue: rh, useDeferredValue: function(e) {
|
|
var t = Ft();
|
|
return Ae === null ? t.memoizedState = e : Cv(t, Ae.memoizedState, e);
|
|
}, useTransition: function() {
|
|
var e = tc(es)[0], t = Ft().memoizedState;
|
|
return [e, t];
|
|
}, useMutableSource: cv, useSyncExternalStore: dv, useId: Tv, unstable_isNewReconciler: !1 };
|
|
function jt(e, t) {
|
|
if (e && e.defaultProps) {
|
|
t = ve({}, t), e = e.defaultProps;
|
|
for (var n in e) t[n] === void 0 && (t[n] = e[n]);
|
|
return t;
|
|
}
|
|
return t;
|
|
}
|
|
function yd(e, t, n, r) {
|
|
t = e.memoizedState, n = n(r, t), n = n == null ? t : ve({}, t, n), e.memoizedState = n, e.lanes === 0 && (e.updateQueue.baseState = n);
|
|
}
|
|
var Hl = { isMounted: function(e) {
|
|
return (e = e._reactInternals) ? Vr(e) === e : !1;
|
|
}, enqueueSetState: function(e, t, n) {
|
|
e = e._reactInternals;
|
|
var r = _e(), o = Qn(e), i = Cn(r, o);
|
|
i.payload = t, n != null && (i.callback = n), t = Zn(e, i, o), t !== null && (Xt(t, e, o, r), Sa(t, e, o));
|
|
}, enqueueReplaceState: function(e, t, n) {
|
|
e = e._reactInternals;
|
|
var r = _e(), o = Qn(e), i = Cn(r, o);
|
|
i.tag = 1, i.payload = t, n != null && (i.callback = n), t = Zn(e, i, o), t !== null && (Xt(t, e, o, r), Sa(t, e, o));
|
|
}, enqueueForceUpdate: function(e, t) {
|
|
e = e._reactInternals;
|
|
var n = _e(), r = Qn(e), o = Cn(n, r);
|
|
o.tag = 2, t != null && (o.callback = t), t = Zn(e, o, r), t !== null && (Xt(t, e, r, n), Sa(t, e, r));
|
|
} };
|
|
function Cm(e, t, n, r, o, i, s) {
|
|
return e = e.stateNode, typeof e.shouldComponentUpdate == "function" ? e.shouldComponentUpdate(r, i, s) : t.prototype && t.prototype.isPureReactComponent ? !Yi(n, r) || !Yi(o, i) : !0;
|
|
}
|
|
function zv(e, t, n) {
|
|
var r = !1, o = $n, i = t.contextType;
|
|
return typeof i == "object" && i !== null ? i = Dt(i) : (o = at(t) ? Ar : qe.current, r = t.contextTypes, i = (r = r != null) ? To(e, o) : $n), t = new t(n, i), e.memoizedState = t.state !== null && t.state !== void 0 ? t.state : null, t.updater = Hl, e.stateNode = t, t._reactInternals = e, r && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = o, e.__reactInternalMemoizedMaskedChildContext = i), t;
|
|
}
|
|
function Tm(e, t, n, r) {
|
|
e = t.state, typeof t.componentWillReceiveProps == "function" && t.componentWillReceiveProps(n, r), typeof t.UNSAFE_componentWillReceiveProps == "function" && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && Hl.enqueueReplaceState(t, t.state, null);
|
|
}
|
|
function vd(e, t, n, r) {
|
|
var o = e.stateNode;
|
|
o.props = n, o.state = e.memoizedState, o.refs = {}, Gf(e);
|
|
var i = t.contextType;
|
|
typeof i == "object" && i !== null ? o.context = Dt(i) : (i = at(t) ? Ar : qe.current, o.context = To(e, i)), o.state = e.memoizedState, i = t.getDerivedStateFromProps, typeof i == "function" && (yd(e, t, i, n), o.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof o.getSnapshotBeforeUpdate == "function" || typeof o.UNSAFE_componentWillMount != "function" && typeof o.componentWillMount != "function" || (t = o.state, typeof o.componentWillMount == "function" && o.componentWillMount(), typeof o.UNSAFE_componentWillMount == "function" && o.UNSAFE_componentWillMount(), t !== o.state && Hl.enqueueReplaceState(o, o.state, null), ul(e, n, o, r), o.state = e.memoizedState), typeof o.componentDidMount == "function" && (e.flags |= 4194308);
|
|
}
|
|
function zo(e, t) {
|
|
try {
|
|
var n = "", r = t;
|
|
do
|
|
n += Vw(r), r = r.return;
|
|
while (r);
|
|
var o = n;
|
|
} catch (i) {
|
|
o = `
|
|
Error generating stack: ` + i.message + `
|
|
` + i.stack;
|
|
}
|
|
return { value: e, source: t, stack: o, digest: null };
|
|
}
|
|
function nc(e, t, n) {
|
|
return { value: e, source: null, stack: n ?? null, digest: t ?? null };
|
|
}
|
|
function Sd(e, t) {
|
|
try {
|
|
console.error(t.value);
|
|
} catch (n) {
|
|
setTimeout(function() {
|
|
throw n;
|
|
});
|
|
}
|
|
}
|
|
var uC = typeof WeakMap == "function" ? WeakMap : Map;
|
|
function Mv(e, t, n) {
|
|
n = Cn(-1, n), n.tag = 3, n.payload = { element: null };
|
|
var r = t.value;
|
|
return n.callback = function() {
|
|
pl || (pl = !0, zd = r), Sd(e, t);
|
|
}, n;
|
|
}
|
|
function Rv(e, t, n) {
|
|
n = Cn(-1, n), n.tag = 3;
|
|
var r = e.type.getDerivedStateFromError;
|
|
if (typeof r == "function") {
|
|
var o = t.value;
|
|
n.payload = function() {
|
|
return r(o);
|
|
}, n.callback = function() {
|
|
Sd(e, t);
|
|
};
|
|
}
|
|
var i = e.stateNode;
|
|
return i !== null && typeof i.componentDidCatch == "function" && (n.callback = function() {
|
|
Sd(e, t), typeof r != "function" && (Gn === null ? Gn = /* @__PURE__ */ new Set([this]) : Gn.add(this));
|
|
var s = t.stack;
|
|
this.componentDidCatch(t.value, { componentStack: s !== null ? s : "" });
|
|
}), n;
|
|
}
|
|
function Em(e, t, n) {
|
|
var r = e.pingCache;
|
|
if (r === null) {
|
|
r = e.pingCache = new uC();
|
|
var o = /* @__PURE__ */ new Set();
|
|
r.set(t, o);
|
|
} else o = r.get(t), o === void 0 && (o = /* @__PURE__ */ new Set(), r.set(t, o));
|
|
o.has(n) || (o.add(n), e = kC.bind(null, e, t, n), t.then(e, e));
|
|
}
|
|
function Pm(e) {
|
|
do {
|
|
var t;
|
|
if ((t = e.tag === 13) && (t = e.memoizedState, t = t !== null ? t.dehydrated !== null : !0), t) return e;
|
|
e = e.return;
|
|
} while (e !== null);
|
|
return null;
|
|
}
|
|
function Am(e, t, n, r, o) {
|
|
return e.mode & 1 ? (e.flags |= 65536, e.lanes = o, e) : (e === t ? e.flags |= 65536 : (e.flags |= 128, n.flags |= 131072, n.flags &= -52805, n.tag === 1 && (n.alternate === null ? n.tag = 17 : (t = Cn(-1, 1), t.tag = 2, Zn(n, t, 1))), n.lanes |= 1), e);
|
|
}
|
|
var cC = Rn.ReactCurrentOwner, it = !1;
|
|
function Ze(e, t, n, r) {
|
|
t.child = e === null ? sv(t, null, n, r) : Po(t, e.child, n, r);
|
|
}
|
|
function zm(e, t, n, r, o) {
|
|
n = n.render;
|
|
var i = t.ref;
|
|
return yo(t, o), r = eh(e, t, n, r, i, o), n = th(), e !== null && !it ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~o, zn(e, t, o)) : (pe && n && Uf(t), t.flags |= 1, Ze(e, t, r, o), t.child);
|
|
}
|
|
function Mm(e, t, n, r, o) {
|
|
if (e === null) {
|
|
var i = n.type;
|
|
return typeof i == "function" && !dh(i) && i.defaultProps === void 0 && n.compare === null && n.defaultProps === void 0 ? (t.tag = 15, t.type = i, Dv(e, t, i, r, o)) : (e = Ta(n.type, null, r, t, t.mode, o), e.ref = t.ref, e.return = t, t.child = e);
|
|
}
|
|
if (i = e.child, !(e.lanes & o)) {
|
|
var s = i.memoizedProps;
|
|
if (n = n.compare, n = n !== null ? n : Yi, n(s, r) && e.ref === t.ref) return zn(e, t, o);
|
|
}
|
|
return t.flags |= 1, e = Jn(i, r), e.ref = t.ref, e.return = t, t.child = e;
|
|
}
|
|
function Dv(e, t, n, r, o) {
|
|
if (e !== null) {
|
|
var i = e.memoizedProps;
|
|
if (Yi(i, r) && e.ref === t.ref) if (it = !1, t.pendingProps = r = i, (e.lanes & o) !== 0) e.flags & 131072 && (it = !0);
|
|
else return t.lanes = e.lanes, zn(e, t, o);
|
|
}
|
|
return bd(e, t, n, r, o);
|
|
}
|
|
function Fv(e, t, n) {
|
|
var r = t.pendingProps, o = r.children, i = e !== null ? e.memoizedState : null;
|
|
if (r.mode === "hidden") if (!(t.mode & 1)) t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, se(no, pt), pt |= n;
|
|
else {
|
|
if (!(n & 1073741824)) return e = i !== null ? i.baseLanes | n : n, t.lanes = t.childLanes = 1073741824, t.memoizedState = { baseLanes: e, cachePool: null, transitions: null }, t.updateQueue = null, se(no, pt), pt |= e, null;
|
|
t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, r = i !== null ? i.baseLanes : n, se(no, pt), pt |= r;
|
|
}
|
|
else i !== null ? (r = i.baseLanes | n, t.memoizedState = null) : r = n, se(no, pt), pt |= r;
|
|
return Ze(e, t, o, n), t.child;
|
|
}
|
|
function Lv(e, t) {
|
|
var n = t.ref;
|
|
(e === null && n !== null || e !== null && e.ref !== n) && (t.flags |= 512, t.flags |= 2097152);
|
|
}
|
|
function bd(e, t, n, r, o) {
|
|
var i = at(n) ? Ar : qe.current;
|
|
return i = To(t, i), yo(t, o), n = eh(e, t, n, r, i, o), r = th(), e !== null && !it ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~o, zn(e, t, o)) : (pe && r && Uf(t), t.flags |= 1, Ze(e, t, n, o), t.child);
|
|
}
|
|
function Rm(e, t, n, r, o) {
|
|
if (at(n)) {
|
|
var i = !0;
|
|
ol(t);
|
|
} else i = !1;
|
|
if (yo(t, o), t.stateNode === null) wa(e, t), zv(t, n, r), vd(t, n, r, o), r = !0;
|
|
else if (e === null) {
|
|
var s = t.stateNode, a = t.memoizedProps;
|
|
s.props = a;
|
|
var l = s.context, u = n.contextType;
|
|
typeof u == "object" && u !== null ? u = Dt(u) : (u = at(n) ? Ar : qe.current, u = To(t, u));
|
|
var c = n.getDerivedStateFromProps, d = typeof c == "function" || typeof s.getSnapshotBeforeUpdate == "function";
|
|
d || typeof s.UNSAFE_componentWillReceiveProps != "function" && typeof s.componentWillReceiveProps != "function" || (a !== r || l !== u) && Tm(t, s, r, u), In = !1;
|
|
var f = t.memoizedState;
|
|
s.state = f, ul(t, r, s, o), l = t.memoizedState, a !== r || f !== l || st.current || In ? (typeof c == "function" && (yd(t, n, c, r), l = t.memoizedState), (a = In || Cm(t, n, a, r, f, l, u)) ? (d || typeof s.UNSAFE_componentWillMount != "function" && typeof s.componentWillMount != "function" || (typeof s.componentWillMount == "function" && s.componentWillMount(), typeof s.UNSAFE_componentWillMount == "function" && s.UNSAFE_componentWillMount()), typeof s.componentDidMount == "function" && (t.flags |= 4194308)) : (typeof s.componentDidMount == "function" && (t.flags |= 4194308), t.memoizedProps = r, t.memoizedState = l), s.props = r, s.state = l, s.context = u, r = a) : (typeof s.componentDidMount == "function" && (t.flags |= 4194308), r = !1);
|
|
} else {
|
|
s = t.stateNode, lv(e, t), a = t.memoizedProps, u = t.type === t.elementType ? a : jt(t.type, a), s.props = u, d = t.pendingProps, f = s.context, l = n.contextType, typeof l == "object" && l !== null ? l = Dt(l) : (l = at(n) ? Ar : qe.current, l = To(t, l));
|
|
var y = n.getDerivedStateFromProps;
|
|
(c = typeof y == "function" || typeof s.getSnapshotBeforeUpdate == "function") || typeof s.UNSAFE_componentWillReceiveProps != "function" && typeof s.componentWillReceiveProps != "function" || (a !== d || f !== l) && Tm(t, s, r, l), In = !1, f = t.memoizedState, s.state = f, ul(t, r, s, o);
|
|
var v = t.memoizedState;
|
|
a !== d || f !== v || st.current || In ? (typeof y == "function" && (yd(t, n, y, r), v = t.memoizedState), (u = In || Cm(t, n, u, r, f, v, l) || !1) ? (c || typeof s.UNSAFE_componentWillUpdate != "function" && typeof s.componentWillUpdate != "function" || (typeof s.componentWillUpdate == "function" && s.componentWillUpdate(r, v, l), typeof s.UNSAFE_componentWillUpdate == "function" && s.UNSAFE_componentWillUpdate(r, v, l)), typeof s.componentDidUpdate == "function" && (t.flags |= 4), typeof s.getSnapshotBeforeUpdate == "function" && (t.flags |= 1024)) : (typeof s.componentDidUpdate != "function" || a === e.memoizedProps && f === e.memoizedState || (t.flags |= 4), typeof s.getSnapshotBeforeUpdate != "function" || a === e.memoizedProps && f === e.memoizedState || (t.flags |= 1024), t.memoizedProps = r, t.memoizedState = v), s.props = r, s.state = v, s.context = l, r = u) : (typeof s.componentDidUpdate != "function" || a === e.memoizedProps && f === e.memoizedState || (t.flags |= 4), typeof s.getSnapshotBeforeUpdate != "function" || a === e.memoizedProps && f === e.memoizedState || (t.flags |= 1024), r = !1);
|
|
}
|
|
return xd(e, t, n, r, i, o);
|
|
}
|
|
function xd(e, t, n, r, o, i) {
|
|
Lv(e, t);
|
|
var s = (t.flags & 128) !== 0;
|
|
if (!r && !s) return o && gm(t, n, !1), zn(e, t, i);
|
|
r = t.stateNode, cC.current = t;
|
|
var a = s && typeof n.getDerivedStateFromError != "function" ? null : r.render();
|
|
return t.flags |= 1, e !== null && s ? (t.child = Po(t, e.child, null, i), t.child = Po(t, null, a, i)) : Ze(e, t, a, i), t.memoizedState = r.state, o && gm(t, n, !0), t.child;
|
|
}
|
|
function Bv(e) {
|
|
var t = e.stateNode;
|
|
t.pendingContext ? mm(e, t.pendingContext, t.pendingContext !== t.context) : t.context && mm(e, t.context, !1), Qf(e, t.containerInfo);
|
|
}
|
|
function Dm(e, t, n, r, o) {
|
|
return Eo(), Kf(o), t.flags |= 256, Ze(e, t, n, r), t.child;
|
|
}
|
|
var wd = { dehydrated: null, treeContext: null, retryLane: 0 };
|
|
function kd(e) {
|
|
return { baseLanes: e, cachePool: null, transitions: null };
|
|
}
|
|
function Vv(e, t, n) {
|
|
var r = t.pendingProps, o = ge.current, i = !1, s = (t.flags & 128) !== 0, a;
|
|
if ((a = s) || (a = e !== null && e.memoizedState === null ? !1 : (o & 2) !== 0), a ? (i = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (o |= 1), se(ge, o & 1), e === null)
|
|
return md(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (s = r.children, e = r.fallback, i ? (r = t.mode, i = t.child, s = { mode: "hidden", children: s }, !(r & 1) && i !== null ? (i.childLanes = 0, i.pendingProps = s) : i = ql(s, r, 0, null), e = wr(e, r, n, null), i.return = t, e.return = t, i.sibling = e, t.child = i, t.child.memoizedState = kd(n), t.memoizedState = wd, e) : oh(t, s));
|
|
if (o = e.memoizedState, o !== null && (a = o.dehydrated, a !== null)) return dC(e, t, s, r, a, o, n);
|
|
if (i) {
|
|
i = r.fallback, s = t.mode, o = e.child, a = o.sibling;
|
|
var l = { mode: "hidden", children: r.children };
|
|
return !(s & 1) && t.child !== o ? (r = t.child, r.childLanes = 0, r.pendingProps = l, t.deletions = null) : (r = Jn(o, l), r.subtreeFlags = o.subtreeFlags & 14680064), a !== null ? i = Jn(a, i) : (i = wr(i, s, n, null), i.flags |= 2), i.return = t, r.return = t, r.sibling = i, t.child = r, r = i, i = t.child, s = e.child.memoizedState, s = s === null ? kd(n) : { baseLanes: s.baseLanes | n, cachePool: null, transitions: s.transitions }, i.memoizedState = s, i.childLanes = e.childLanes & ~n, t.memoizedState = wd, r;
|
|
}
|
|
return i = e.child, e = i.sibling, r = Jn(i, { mode: "visible", children: r.children }), !(t.mode & 1) && (r.lanes = n), r.return = t, r.sibling = null, e !== null && (n = t.deletions, n === null ? (t.deletions = [e], t.flags |= 16) : n.push(e)), t.child = r, t.memoizedState = null, r;
|
|
}
|
|
function oh(e, t) {
|
|
return t = ql({ mode: "visible", children: t }, e.mode, 0, null), t.return = e, e.child = t;
|
|
}
|
|
function Qs(e, t, n, r) {
|
|
return r !== null && Kf(r), Po(t, e.child, null, n), e = oh(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
|
|
}
|
|
function dC(e, t, n, r, o, i, s) {
|
|
if (n)
|
|
return t.flags & 256 ? (t.flags &= -257, r = nc(Error(R(422))), Qs(e, t, s, r)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (i = r.fallback, o = t.mode, r = ql({ mode: "visible", children: r.children }, o, 0, null), i = wr(i, o, s, null), i.flags |= 2, r.return = t, i.return = t, r.sibling = i, t.child = r, t.mode & 1 && Po(t, e.child, null, s), t.child.memoizedState = kd(s), t.memoizedState = wd, i);
|
|
if (!(t.mode & 1)) return Qs(e, t, s, null);
|
|
if (o.data === "$!") {
|
|
if (r = o.nextSibling && o.nextSibling.dataset, r) var a = r.dgst;
|
|
return r = a, i = Error(R(419)), r = nc(i, r, void 0), Qs(e, t, s, r);
|
|
}
|
|
if (a = (s & e.childLanes) !== 0, it || a) {
|
|
if (r = De, r !== null) {
|
|
switch (s & -s) {
|
|
case 4:
|
|
o = 2;
|
|
break;
|
|
case 16:
|
|
o = 8;
|
|
break;
|
|
case 64:
|
|
case 128:
|
|
case 256:
|
|
case 512:
|
|
case 1024:
|
|
case 2048:
|
|
case 4096:
|
|
case 8192:
|
|
case 16384:
|
|
case 32768:
|
|
case 65536:
|
|
case 131072:
|
|
case 262144:
|
|
case 524288:
|
|
case 1048576:
|
|
case 2097152:
|
|
case 4194304:
|
|
case 8388608:
|
|
case 16777216:
|
|
case 33554432:
|
|
case 67108864:
|
|
o = 32;
|
|
break;
|
|
case 536870912:
|
|
o = 268435456;
|
|
break;
|
|
default:
|
|
o = 0;
|
|
}
|
|
o = o & (r.suspendedLanes | s) ? 0 : o, o !== 0 && o !== i.retryLane && (i.retryLane = o, An(e, o), Xt(r, e, o, -1));
|
|
}
|
|
return ch(), r = nc(Error(R(421))), Qs(e, t, s, r);
|
|
}
|
|
return o.data === "$?" ? (t.flags |= 128, t.child = e.child, t = CC.bind(null, e), o._reactRetry = t, null) : (e = i.treeContext, mt = Yn(o.nextSibling), gt = t, pe = !0, Ut = null, e !== null && (Tt[Et++] = xn, Tt[Et++] = wn, Tt[Et++] = zr, xn = e.id, wn = e.overflow, zr = t), t = oh(t, r.children), t.flags |= 4096, t);
|
|
}
|
|
function Fm(e, t, n) {
|
|
e.lanes |= t;
|
|
var r = e.alternate;
|
|
r !== null && (r.lanes |= t), gd(e.return, t, n);
|
|
}
|
|
function rc(e, t, n, r, o) {
|
|
var i = e.memoizedState;
|
|
i === null ? e.memoizedState = { isBackwards: t, rendering: null, renderingStartTime: 0, last: r, tail: n, tailMode: o } : (i.isBackwards = t, i.rendering = null, i.renderingStartTime = 0, i.last = r, i.tail = n, i.tailMode = o);
|
|
}
|
|
function Iv(e, t, n) {
|
|
var r = t.pendingProps, o = r.revealOrder, i = r.tail;
|
|
if (Ze(e, t, r.children, n), r = ge.current, r & 2) r = r & 1 | 2, t.flags |= 128;
|
|
else {
|
|
if (e !== null && e.flags & 128) e: for (e = t.child; e !== null; ) {
|
|
if (e.tag === 13) e.memoizedState !== null && Fm(e, n, t);
|
|
else if (e.tag === 19) Fm(e, n, t);
|
|
else if (e.child !== null) {
|
|
e.child.return = e, e = e.child;
|
|
continue;
|
|
}
|
|
if (e === t) break e;
|
|
for (; e.sibling === null; ) {
|
|
if (e.return === null || e.return === t) break e;
|
|
e = e.return;
|
|
}
|
|
e.sibling.return = e.return, e = e.sibling;
|
|
}
|
|
r &= 1;
|
|
}
|
|
if (se(ge, r), !(t.mode & 1)) t.memoizedState = null;
|
|
else switch (o) {
|
|
case "forwards":
|
|
for (n = t.child, o = null; n !== null; ) e = n.alternate, e !== null && cl(e) === null && (o = n), n = n.sibling;
|
|
n = o, n === null ? (o = t.child, t.child = null) : (o = n.sibling, n.sibling = null), rc(t, !1, o, n, i);
|
|
break;
|
|
case "backwards":
|
|
for (n = null, o = t.child, t.child = null; o !== null; ) {
|
|
if (e = o.alternate, e !== null && cl(e) === null) {
|
|
t.child = o;
|
|
break;
|
|
}
|
|
e = o.sibling, o.sibling = n, n = o, o = e;
|
|
}
|
|
rc(t, !0, n, null, i);
|
|
break;
|
|
case "together":
|
|
rc(t, !1, null, null, void 0);
|
|
break;
|
|
default:
|
|
t.memoizedState = null;
|
|
}
|
|
return t.child;
|
|
}
|
|
function wa(e, t) {
|
|
!(t.mode & 1) && e !== null && (e.alternate = null, t.alternate = null, t.flags |= 2);
|
|
}
|
|
function zn(e, t, n) {
|
|
if (e !== null && (t.dependencies = e.dependencies), Rr |= t.lanes, !(n & t.childLanes)) return null;
|
|
if (e !== null && t.child !== e.child) throw Error(R(153));
|
|
if (t.child !== null) {
|
|
for (e = t.child, n = Jn(e, e.pendingProps), t.child = n, n.return = t; e.sibling !== null; ) e = e.sibling, n = n.sibling = Jn(e, e.pendingProps), n.return = t;
|
|
n.sibling = null;
|
|
}
|
|
return t.child;
|
|
}
|
|
function fC(e, t, n) {
|
|
switch (t.tag) {
|
|
case 3:
|
|
Bv(t), Eo();
|
|
break;
|
|
case 5:
|
|
uv(t);
|
|
break;
|
|
case 1:
|
|
at(t.type) && ol(t);
|
|
break;
|
|
case 4:
|
|
Qf(t, t.stateNode.containerInfo);
|
|
break;
|
|
case 10:
|
|
var r = t.type._context, o = t.memoizedProps.value;
|
|
se(al, r._currentValue), r._currentValue = o;
|
|
break;
|
|
case 13:
|
|
if (r = t.memoizedState, r !== null)
|
|
return r.dehydrated !== null ? (se(ge, ge.current & 1), t.flags |= 128, null) : n & t.child.childLanes ? Vv(e, t, n) : (se(ge, ge.current & 1), e = zn(e, t, n), e !== null ? e.sibling : null);
|
|
se(ge, ge.current & 1);
|
|
break;
|
|
case 19:
|
|
if (r = (n & t.childLanes) !== 0, e.flags & 128) {
|
|
if (r) return Iv(e, t, n);
|
|
t.flags |= 128;
|
|
}
|
|
if (o = t.memoizedState, o !== null && (o.rendering = null, o.tail = null, o.lastEffect = null), se(ge, ge.current), r) break;
|
|
return null;
|
|
case 22:
|
|
case 23:
|
|
return t.lanes = 0, Fv(e, t, n);
|
|
}
|
|
return zn(e, t, n);
|
|
}
|
|
var Ov, Cd, Nv, jv;
|
|
Ov = function(e, t) {
|
|
for (var n = t.child; n !== null; ) {
|
|
if (n.tag === 5 || n.tag === 6) e.appendChild(n.stateNode);
|
|
else if (n.tag !== 4 && n.child !== null) {
|
|
n.child.return = n, n = n.child;
|
|
continue;
|
|
}
|
|
if (n === t) break;
|
|
for (; n.sibling === null; ) {
|
|
if (n.return === null || n.return === t) return;
|
|
n = n.return;
|
|
}
|
|
n.sibling.return = n.return, n = n.sibling;
|
|
}
|
|
};
|
|
Cd = function() {
|
|
};
|
|
Nv = function(e, t, n, r) {
|
|
var o = e.memoizedProps;
|
|
if (o !== r) {
|
|
e = t.stateNode, yr(ln.current);
|
|
var i = null;
|
|
switch (n) {
|
|
case "input":
|
|
o = qc(e, o), r = qc(e, r), i = [];
|
|
break;
|
|
case "select":
|
|
o = ve({}, o, { value: void 0 }), r = ve({}, r, { value: void 0 }), i = [];
|
|
break;
|
|
case "textarea":
|
|
o = Gc(e, o), r = Gc(e, r), i = [];
|
|
break;
|
|
default:
|
|
typeof o.onClick != "function" && typeof r.onClick == "function" && (e.onclick = nl);
|
|
}
|
|
Jc(n, r);
|
|
var s;
|
|
n = null;
|
|
for (u in o) if (!r.hasOwnProperty(u) && o.hasOwnProperty(u) && o[u] != null) if (u === "style") {
|
|
var a = o[u];
|
|
for (s in a) a.hasOwnProperty(s) && (n || (n = {}), n[s] = "");
|
|
} else u !== "dangerouslySetInnerHTML" && u !== "children" && u !== "suppressContentEditableWarning" && u !== "suppressHydrationWarning" && u !== "autoFocus" && (ji.hasOwnProperty(u) ? i || (i = []) : (i = i || []).push(u, null));
|
|
for (u in r) {
|
|
var l = r[u];
|
|
if (a = o?.[u], r.hasOwnProperty(u) && l !== a && (l != null || a != null)) if (u === "style") if (a) {
|
|
for (s in a) !a.hasOwnProperty(s) || l && l.hasOwnProperty(s) || (n || (n = {}), n[s] = "");
|
|
for (s in l) l.hasOwnProperty(s) && a[s] !== l[s] && (n || (n = {}), n[s] = l[s]);
|
|
} else n || (i || (i = []), i.push(
|
|
u,
|
|
n
|
|
)), n = l;
|
|
else u === "dangerouslySetInnerHTML" ? (l = l ? l.__html : void 0, a = a ? a.__html : void 0, l != null && a !== l && (i = i || []).push(u, l)) : u === "children" ? typeof l != "string" && typeof l != "number" || (i = i || []).push(u, "" + l) : u !== "suppressContentEditableWarning" && u !== "suppressHydrationWarning" && (ji.hasOwnProperty(u) ? (l != null && u === "onScroll" && ue("scroll", e), i || a === l || (i = [])) : (i = i || []).push(u, l));
|
|
}
|
|
n && (i = i || []).push("style", n);
|
|
var u = i;
|
|
(t.updateQueue = u) && (t.flags |= 4);
|
|
}
|
|
};
|
|
jv = function(e, t, n, r) {
|
|
n !== r && (t.flags |= 4);
|
|
};
|
|
function ni(e, t) {
|
|
if (!pe) switch (e.tailMode) {
|
|
case "hidden":
|
|
t = e.tail;
|
|
for (var n = null; t !== null; ) t.alternate !== null && (n = t), t = t.sibling;
|
|
n === null ? e.tail = null : n.sibling = null;
|
|
break;
|
|
case "collapsed":
|
|
n = e.tail;
|
|
for (var r = null; n !== null; ) n.alternate !== null && (r = n), n = n.sibling;
|
|
r === null ? t || e.tail === null ? e.tail = null : e.tail.sibling = null : r.sibling = null;
|
|
}
|
|
}
|
|
function He(e) {
|
|
var t = e.alternate !== null && e.alternate.child === e.child, n = 0, r = 0;
|
|
if (t) for (var o = e.child; o !== null; ) n |= o.lanes | o.childLanes, r |= o.subtreeFlags & 14680064, r |= o.flags & 14680064, o.return = e, o = o.sibling;
|
|
else for (o = e.child; o !== null; ) n |= o.lanes | o.childLanes, r |= o.subtreeFlags, r |= o.flags, o.return = e, o = o.sibling;
|
|
return e.subtreeFlags |= r, e.childLanes = n, t;
|
|
}
|
|
function hC(e, t, n) {
|
|
var r = t.pendingProps;
|
|
switch (Hf(t), t.tag) {
|
|
case 2:
|
|
case 16:
|
|
case 15:
|
|
case 0:
|
|
case 11:
|
|
case 7:
|
|
case 8:
|
|
case 12:
|
|
case 9:
|
|
case 14:
|
|
return He(t), null;
|
|
case 1:
|
|
return at(t.type) && rl(), He(t), null;
|
|
case 3:
|
|
return r = t.stateNode, Ao(), de(st), de(qe), _f(), r.pendingContext && (r.context = r.pendingContext, r.pendingContext = null), (e === null || e.child === null) && (Zs(t) ? t.flags |= 4 : e === null || e.memoizedState.isDehydrated && !(t.flags & 256) || (t.flags |= 1024, Ut !== null && (Dd(Ut), Ut = null))), Cd(e, t), He(t), null;
|
|
case 5:
|
|
Jf(t);
|
|
var o = yr(_i.current);
|
|
if (n = t.type, e !== null && t.stateNode != null) Nv(e, t, n, r, o), e.ref !== t.ref && (t.flags |= 512, t.flags |= 2097152);
|
|
else {
|
|
if (!r) {
|
|
if (t.stateNode === null) throw Error(R(166));
|
|
return He(t), null;
|
|
}
|
|
if (e = yr(ln.current), Zs(t)) {
|
|
r = t.stateNode, n = t.type;
|
|
var i = t.memoizedProps;
|
|
switch (r[on] = t, r[Qi] = i, e = (t.mode & 1) !== 0, n) {
|
|
case "dialog":
|
|
ue("cancel", r), ue("close", r);
|
|
break;
|
|
case "iframe":
|
|
case "object":
|
|
case "embed":
|
|
ue("load", r);
|
|
break;
|
|
case "video":
|
|
case "audio":
|
|
for (o = 0; o < fi.length; o++) ue(fi[o], r);
|
|
break;
|
|
case "source":
|
|
ue("error", r);
|
|
break;
|
|
case "img":
|
|
case "image":
|
|
case "link":
|
|
ue(
|
|
"error",
|
|
r
|
|
), ue("load", r);
|
|
break;
|
|
case "details":
|
|
ue("toggle", r);
|
|
break;
|
|
case "input":
|
|
Up(r, i), ue("invalid", r);
|
|
break;
|
|
case "select":
|
|
r._wrapperState = { wasMultiple: !!i.multiple }, ue("invalid", r);
|
|
break;
|
|
case "textarea":
|
|
Kp(r, i), ue("invalid", r);
|
|
}
|
|
Jc(n, i), o = null;
|
|
for (var s in i) if (i.hasOwnProperty(s)) {
|
|
var a = i[s];
|
|
s === "children" ? typeof a == "string" ? r.textContent !== a && (i.suppressHydrationWarning !== !0 && Ys(r.textContent, a, e), o = ["children", a]) : typeof a == "number" && r.textContent !== "" + a && (i.suppressHydrationWarning !== !0 && Ys(
|
|
r.textContent,
|
|
a,
|
|
e
|
|
), o = ["children", "" + a]) : ji.hasOwnProperty(s) && a != null && s === "onScroll" && ue("scroll", r);
|
|
}
|
|
switch (n) {
|
|
case "input":
|
|
Ns(r), Hp(r, i, !0);
|
|
break;
|
|
case "textarea":
|
|
Ns(r), Xp(r);
|
|
break;
|
|
case "select":
|
|
case "option":
|
|
break;
|
|
default:
|
|
typeof i.onClick == "function" && (r.onclick = nl);
|
|
}
|
|
r = o, t.updateQueue = r, r !== null && (t.flags |= 4);
|
|
} else {
|
|
s = o.nodeType === 9 ? o : o.ownerDocument, e === "http://www.w3.org/1999/xhtml" && (e = p0(n)), e === "http://www.w3.org/1999/xhtml" ? n === "script" ? (e = s.createElement("div"), e.innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : typeof r.is == "string" ? e = s.createElement(n, { is: r.is }) : (e = s.createElement(n), n === "select" && (s = e, r.multiple ? s.multiple = !0 : r.size && (s.size = r.size))) : e = s.createElementNS(e, n), e[on] = t, e[Qi] = r, Ov(e, t, !1, !1), t.stateNode = e;
|
|
e: {
|
|
switch (s = _c(n, r), n) {
|
|
case "dialog":
|
|
ue("cancel", e), ue("close", e), o = r;
|
|
break;
|
|
case "iframe":
|
|
case "object":
|
|
case "embed":
|
|
ue("load", e), o = r;
|
|
break;
|
|
case "video":
|
|
case "audio":
|
|
for (o = 0; o < fi.length; o++) ue(fi[o], e);
|
|
o = r;
|
|
break;
|
|
case "source":
|
|
ue("error", e), o = r;
|
|
break;
|
|
case "img":
|
|
case "image":
|
|
case "link":
|
|
ue(
|
|
"error",
|
|
e
|
|
), ue("load", e), o = r;
|
|
break;
|
|
case "details":
|
|
ue("toggle", e), o = r;
|
|
break;
|
|
case "input":
|
|
Up(e, r), o = qc(e, r), ue("invalid", e);
|
|
break;
|
|
case "option":
|
|
o = r;
|
|
break;
|
|
case "select":
|
|
e._wrapperState = { wasMultiple: !!r.multiple }, o = ve({}, r, { value: void 0 }), ue("invalid", e);
|
|
break;
|
|
case "textarea":
|
|
Kp(e, r), o = Gc(e, r), ue("invalid", e);
|
|
break;
|
|
default:
|
|
o = r;
|
|
}
|
|
Jc(n, o), a = o;
|
|
for (i in a) if (a.hasOwnProperty(i)) {
|
|
var l = a[i];
|
|
i === "style" ? y0(e, l) : i === "dangerouslySetInnerHTML" ? (l = l ? l.__html : void 0, l != null && m0(e, l)) : i === "children" ? typeof l == "string" ? (n !== "textarea" || l !== "") && Wi(e, l) : typeof l == "number" && Wi(e, "" + l) : i !== "suppressContentEditableWarning" && i !== "suppressHydrationWarning" && i !== "autoFocus" && (ji.hasOwnProperty(i) ? l != null && i === "onScroll" && ue("scroll", e) : l != null && Af(e, i, l, s));
|
|
}
|
|
switch (n) {
|
|
case "input":
|
|
Ns(e), Hp(e, r, !1);
|
|
break;
|
|
case "textarea":
|
|
Ns(e), Xp(e);
|
|
break;
|
|
case "option":
|
|
r.value != null && e.setAttribute("value", "" + _n(r.value));
|
|
break;
|
|
case "select":
|
|
e.multiple = !!r.multiple, i = r.value, i != null ? ho(e, !!r.multiple, i, !1) : r.defaultValue != null && ho(
|
|
e,
|
|
!!r.multiple,
|
|
r.defaultValue,
|
|
!0
|
|
);
|
|
break;
|
|
default:
|
|
typeof o.onClick == "function" && (e.onclick = nl);
|
|
}
|
|
switch (n) {
|
|
case "button":
|
|
case "input":
|
|
case "select":
|
|
case "textarea":
|
|
r = !!r.autoFocus;
|
|
break e;
|
|
case "img":
|
|
r = !0;
|
|
break e;
|
|
default:
|
|
r = !1;
|
|
}
|
|
}
|
|
r && (t.flags |= 4);
|
|
}
|
|
t.ref !== null && (t.flags |= 512, t.flags |= 2097152);
|
|
}
|
|
return He(t), null;
|
|
case 6:
|
|
if (e && t.stateNode != null) jv(e, t, e.memoizedProps, r);
|
|
else {
|
|
if (typeof r != "string" && t.stateNode === null) throw Error(R(166));
|
|
if (n = yr(_i.current), yr(ln.current), Zs(t)) {
|
|
if (r = t.stateNode, n = t.memoizedProps, r[on] = t, (i = r.nodeValue !== n) && (e = gt, e !== null)) switch (e.tag) {
|
|
case 3:
|
|
Ys(r.nodeValue, n, (e.mode & 1) !== 0);
|
|
break;
|
|
case 5:
|
|
e.memoizedProps.suppressHydrationWarning !== !0 && Ys(r.nodeValue, n, (e.mode & 1) !== 0);
|
|
}
|
|
i && (t.flags |= 4);
|
|
} else r = (n.nodeType === 9 ? n : n.ownerDocument).createTextNode(r), r[on] = t, t.stateNode = r;
|
|
}
|
|
return He(t), null;
|
|
case 13:
|
|
if (de(ge), r = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) {
|
|
if (pe && mt !== null && t.mode & 1 && !(t.flags & 128)) ov(), Eo(), t.flags |= 98560, i = !1;
|
|
else if (i = Zs(t), r !== null && r.dehydrated !== null) {
|
|
if (e === null) {
|
|
if (!i) throw Error(R(318));
|
|
if (i = t.memoizedState, i = i !== null ? i.dehydrated : null, !i) throw Error(R(317));
|
|
i[on] = t;
|
|
} else Eo(), !(t.flags & 128) && (t.memoizedState = null), t.flags |= 4;
|
|
He(t), i = !1;
|
|
} else Ut !== null && (Dd(Ut), Ut = null), i = !0;
|
|
if (!i) return t.flags & 65536 ? t : null;
|
|
}
|
|
return t.flags & 128 ? (t.lanes = n, t) : (r = r !== null, r !== (e !== null && e.memoizedState !== null) && r && (t.child.flags |= 8192, t.mode & 1 && (e === null || ge.current & 1 ? ze === 0 && (ze = 3) : ch())), t.updateQueue !== null && (t.flags |= 4), He(t), null);
|
|
case 4:
|
|
return Ao(), Cd(e, t), e === null && Zi(t.stateNode.containerInfo), He(t), null;
|
|
case 10:
|
|
return Yf(t.type._context), He(t), null;
|
|
case 17:
|
|
return at(t.type) && rl(), He(t), null;
|
|
case 19:
|
|
if (de(ge), i = t.memoizedState, i === null) return He(t), null;
|
|
if (r = (t.flags & 128) !== 0, s = i.rendering, s === null) if (r) ni(i, !1);
|
|
else {
|
|
if (ze !== 0 || e !== null && e.flags & 128) for (e = t.child; e !== null; ) {
|
|
if (s = cl(e), s !== null) {
|
|
for (t.flags |= 128, ni(i, !1), r = s.updateQueue, r !== null && (t.updateQueue = r, t.flags |= 4), t.subtreeFlags = 0, r = n, n = t.child; n !== null; ) i = n, e = r, i.flags &= 14680066, s = i.alternate, s === null ? (i.childLanes = 0, i.lanes = e, i.child = null, i.subtreeFlags = 0, i.memoizedProps = null, i.memoizedState = null, i.updateQueue = null, i.dependencies = null, i.stateNode = null) : (i.childLanes = s.childLanes, i.lanes = s.lanes, i.child = s.child, i.subtreeFlags = 0, i.deletions = null, i.memoizedProps = s.memoizedProps, i.memoizedState = s.memoizedState, i.updateQueue = s.updateQueue, i.type = s.type, e = s.dependencies, i.dependencies = e === null ? null : { lanes: e.lanes, firstContext: e.firstContext }), n = n.sibling;
|
|
return se(ge, ge.current & 1 | 2), t.child;
|
|
}
|
|
e = e.sibling;
|
|
}
|
|
i.tail !== null && xe() > Mo && (t.flags |= 128, r = !0, ni(i, !1), t.lanes = 4194304);
|
|
}
|
|
else {
|
|
if (!r) if (e = cl(s), e !== null) {
|
|
if (t.flags |= 128, r = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), ni(i, !0), i.tail === null && i.tailMode === "hidden" && !s.alternate && !pe) return He(t), null;
|
|
} else 2 * xe() - i.renderingStartTime > Mo && n !== 1073741824 && (t.flags |= 128, r = !0, ni(i, !1), t.lanes = 4194304);
|
|
i.isBackwards ? (s.sibling = t.child, t.child = s) : (n = i.last, n !== null ? n.sibling = s : t.child = s, i.last = s);
|
|
}
|
|
return i.tail !== null ? (t = i.tail, i.rendering = t, i.tail = t.sibling, i.renderingStartTime = xe(), t.sibling = null, n = ge.current, se(ge, r ? n & 1 | 2 : n & 1), t) : (He(t), null);
|
|
case 22:
|
|
case 23:
|
|
return uh(), r = t.memoizedState !== null, e !== null && e.memoizedState !== null !== r && (t.flags |= 8192), r && t.mode & 1 ? pt & 1073741824 && (He(t), t.subtreeFlags & 6 && (t.flags |= 8192)) : He(t), null;
|
|
case 24:
|
|
return null;
|
|
case 25:
|
|
return null;
|
|
}
|
|
throw Error(R(156, t.tag));
|
|
}
|
|
function pC(e, t) {
|
|
switch (Hf(t), t.tag) {
|
|
case 1:
|
|
return at(t.type) && rl(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
|
|
case 3:
|
|
return Ao(), de(st), de(qe), _f(), e = t.flags, e & 65536 && !(e & 128) ? (t.flags = e & -65537 | 128, t) : null;
|
|
case 5:
|
|
return Jf(t), null;
|
|
case 13:
|
|
if (de(ge), e = t.memoizedState, e !== null && e.dehydrated !== null) {
|
|
if (t.alternate === null) throw Error(R(340));
|
|
Eo();
|
|
}
|
|
return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
|
|
case 19:
|
|
return de(ge), null;
|
|
case 4:
|
|
return Ao(), null;
|
|
case 10:
|
|
return Yf(t.type._context), null;
|
|
case 22:
|
|
case 23:
|
|
return uh(), null;
|
|
case 24:
|
|
return null;
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
var Js = !1, Xe = !1, mC = typeof WeakSet == "function" ? WeakSet : Set, L = null;
|
|
function to(e, t) {
|
|
var n = e.ref;
|
|
if (n !== null) if (typeof n == "function") try {
|
|
n(null);
|
|
} catch (r) {
|
|
be(e, t, r);
|
|
}
|
|
else n.current = null;
|
|
}
|
|
function Td(e, t, n) {
|
|
try {
|
|
n();
|
|
} catch (r) {
|
|
be(e, t, r);
|
|
}
|
|
}
|
|
var Lm = !1;
|
|
function gC(e, t) {
|
|
if (ld = $a, e = X0(), Wf(e)) {
|
|
if ("selectionStart" in e) var n = { start: e.selectionStart, end: e.selectionEnd };
|
|
else e: {
|
|
n = (n = e.ownerDocument) && n.defaultView || window;
|
|
var r = n.getSelection && n.getSelection();
|
|
if (r && r.rangeCount !== 0) {
|
|
n = r.anchorNode;
|
|
var o = r.anchorOffset, i = r.focusNode;
|
|
r = r.focusOffset;
|
|
try {
|
|
n.nodeType, i.nodeType;
|
|
} catch {
|
|
n = null;
|
|
break e;
|
|
}
|
|
var s = 0, a = -1, l = -1, u = 0, c = 0, d = e, f = null;
|
|
t: for (; ; ) {
|
|
for (var y; d !== n || o !== 0 && d.nodeType !== 3 || (a = s + o), d !== i || r !== 0 && d.nodeType !== 3 || (l = s + r), d.nodeType === 3 && (s += d.nodeValue.length), (y = d.firstChild) !== null; )
|
|
f = d, d = y;
|
|
for (; ; ) {
|
|
if (d === e) break t;
|
|
if (f === n && ++u === o && (a = s), f === i && ++c === r && (l = s), (y = d.nextSibling) !== null) break;
|
|
d = f, f = d.parentNode;
|
|
}
|
|
d = y;
|
|
}
|
|
n = a === -1 || l === -1 ? null : { start: a, end: l };
|
|
} else n = null;
|
|
}
|
|
n = n || { start: 0, end: 0 };
|
|
} else n = null;
|
|
for (ud = { focusedElem: e, selectionRange: n }, $a = !1, L = t; L !== null; ) if (t = L, e = t.child, (t.subtreeFlags & 1028) !== 0 && e !== null) e.return = t, L = e;
|
|
else for (; L !== null; ) {
|
|
t = L;
|
|
try {
|
|
var v = t.alternate;
|
|
if (t.flags & 1024) switch (t.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 15:
|
|
break;
|
|
case 1:
|
|
if (v !== null) {
|
|
var S = v.memoizedProps, k = v.memoizedState, p = t.stateNode, h = p.getSnapshotBeforeUpdate(t.elementType === t.type ? S : jt(t.type, S), k);
|
|
p.__reactInternalSnapshotBeforeUpdate = h;
|
|
}
|
|
break;
|
|
case 3:
|
|
var g = t.stateNode.containerInfo;
|
|
g.nodeType === 1 ? g.textContent = "" : g.nodeType === 9 && g.documentElement && g.removeChild(g.documentElement);
|
|
break;
|
|
case 5:
|
|
case 6:
|
|
case 4:
|
|
case 17:
|
|
break;
|
|
default:
|
|
throw Error(R(163));
|
|
}
|
|
} catch (w) {
|
|
be(t, t.return, w);
|
|
}
|
|
if (e = t.sibling, e !== null) {
|
|
e.return = t.return, L = e;
|
|
break;
|
|
}
|
|
L = t.return;
|
|
}
|
|
return v = Lm, Lm = !1, v;
|
|
}
|
|
function Ei(e, t, n) {
|
|
var r = t.updateQueue;
|
|
if (r = r !== null ? r.lastEffect : null, r !== null) {
|
|
var o = r = r.next;
|
|
do {
|
|
if ((o.tag & e) === e) {
|
|
var i = o.destroy;
|
|
o.destroy = void 0, i !== void 0 && Td(t, n, i);
|
|
}
|
|
o = o.next;
|
|
} while (o !== r);
|
|
}
|
|
}
|
|
function Kl(e, t) {
|
|
if (t = t.updateQueue, t = t !== null ? t.lastEffect : null, t !== null) {
|
|
var n = t = t.next;
|
|
do {
|
|
if ((n.tag & e) === e) {
|
|
var r = n.create;
|
|
n.destroy = r();
|
|
}
|
|
n = n.next;
|
|
} while (n !== t);
|
|
}
|
|
}
|
|
function Ed(e) {
|
|
var t = e.ref;
|
|
if (t !== null) {
|
|
var n = e.stateNode;
|
|
switch (e.tag) {
|
|
case 5:
|
|
e = n;
|
|
break;
|
|
default:
|
|
e = n;
|
|
}
|
|
typeof t == "function" ? t(e) : t.current = e;
|
|
}
|
|
}
|
|
function Wv(e) {
|
|
var t = e.alternate;
|
|
t !== null && (e.alternate = null, Wv(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[on], delete t[Qi], delete t[fd], delete t[_k], delete t[$k])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
|
|
}
|
|
function Uv(e) {
|
|
return e.tag === 5 || e.tag === 3 || e.tag === 4;
|
|
}
|
|
function Bm(e) {
|
|
e: for (; ; ) {
|
|
for (; e.sibling === null; ) {
|
|
if (e.return === null || Uv(e.return)) return null;
|
|
e = e.return;
|
|
}
|
|
for (e.sibling.return = e.return, e = e.sibling; e.tag !== 5 && e.tag !== 6 && e.tag !== 18; ) {
|
|
if (e.flags & 2 || e.child === null || e.tag === 4) continue e;
|
|
e.child.return = e, e = e.child;
|
|
}
|
|
if (!(e.flags & 2)) return e.stateNode;
|
|
}
|
|
}
|
|
function Pd(e, t, n) {
|
|
var r = e.tag;
|
|
if (r === 5 || r === 6) e = e.stateNode, t ? n.nodeType === 8 ? n.parentNode.insertBefore(e, t) : n.insertBefore(e, t) : (n.nodeType === 8 ? (t = n.parentNode, t.insertBefore(e, n)) : (t = n, t.appendChild(e)), n = n._reactRootContainer, n != null || t.onclick !== null || (t.onclick = nl));
|
|
else if (r !== 4 && (e = e.child, e !== null)) for (Pd(e, t, n), e = e.sibling; e !== null; ) Pd(e, t, n), e = e.sibling;
|
|
}
|
|
function Ad(e, t, n) {
|
|
var r = e.tag;
|
|
if (r === 5 || r === 6) e = e.stateNode, t ? n.insertBefore(e, t) : n.appendChild(e);
|
|
else if (r !== 4 && (e = e.child, e !== null)) for (Ad(e, t, n), e = e.sibling; e !== null; ) Ad(e, t, n), e = e.sibling;
|
|
}
|
|
var Be = null, Wt = !1;
|
|
function Fn(e, t, n) {
|
|
for (n = n.child; n !== null; ) Hv(e, t, n), n = n.sibling;
|
|
}
|
|
function Hv(e, t, n) {
|
|
if (an && typeof an.onCommitFiberUnmount == "function") try {
|
|
an.onCommitFiberUnmount(Vl, n);
|
|
} catch {
|
|
}
|
|
switch (n.tag) {
|
|
case 5:
|
|
Xe || to(n, t);
|
|
case 6:
|
|
var r = Be, o = Wt;
|
|
Be = null, Fn(e, t, n), Be = r, Wt = o, Be !== null && (Wt ? (e = Be, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : Be.removeChild(n.stateNode));
|
|
break;
|
|
case 18:
|
|
Be !== null && (Wt ? (e = Be, n = n.stateNode, e.nodeType === 8 ? Qu(e.parentNode, n) : e.nodeType === 1 && Qu(e, n), Xi(e)) : Qu(Be, n.stateNode));
|
|
break;
|
|
case 4:
|
|
r = Be, o = Wt, Be = n.stateNode.containerInfo, Wt = !0, Fn(e, t, n), Be = r, Wt = o;
|
|
break;
|
|
case 0:
|
|
case 11:
|
|
case 14:
|
|
case 15:
|
|
if (!Xe && (r = n.updateQueue, r !== null && (r = r.lastEffect, r !== null))) {
|
|
o = r = r.next;
|
|
do {
|
|
var i = o, s = i.destroy;
|
|
i = i.tag, s !== void 0 && (i & 2 || i & 4) && Td(n, t, s), o = o.next;
|
|
} while (o !== r);
|
|
}
|
|
Fn(e, t, n);
|
|
break;
|
|
case 1:
|
|
if (!Xe && (to(n, t), r = n.stateNode, typeof r.componentWillUnmount == "function")) try {
|
|
r.props = n.memoizedProps, r.state = n.memoizedState, r.componentWillUnmount();
|
|
} catch (a) {
|
|
be(n, t, a);
|
|
}
|
|
Fn(e, t, n);
|
|
break;
|
|
case 21:
|
|
Fn(e, t, n);
|
|
break;
|
|
case 22:
|
|
n.mode & 1 ? (Xe = (r = Xe) || n.memoizedState !== null, Fn(e, t, n), Xe = r) : Fn(e, t, n);
|
|
break;
|
|
default:
|
|
Fn(e, t, n);
|
|
}
|
|
}
|
|
function Vm(e) {
|
|
var t = e.updateQueue;
|
|
if (t !== null) {
|
|
e.updateQueue = null;
|
|
var n = e.stateNode;
|
|
n === null && (n = e.stateNode = new mC()), t.forEach(function(r) {
|
|
var o = TC.bind(null, e, r);
|
|
n.has(r) || (n.add(r), r.then(o, o));
|
|
});
|
|
}
|
|
}
|
|
function Vt(e, t) {
|
|
var n = t.deletions;
|
|
if (n !== null) for (var r = 0; r < n.length; r++) {
|
|
var o = n[r];
|
|
try {
|
|
var i = e, s = t, a = s;
|
|
e: for (; a !== null; ) {
|
|
switch (a.tag) {
|
|
case 5:
|
|
Be = a.stateNode, Wt = !1;
|
|
break e;
|
|
case 3:
|
|
Be = a.stateNode.containerInfo, Wt = !0;
|
|
break e;
|
|
case 4:
|
|
Be = a.stateNode.containerInfo, Wt = !0;
|
|
break e;
|
|
}
|
|
a = a.return;
|
|
}
|
|
if (Be === null) throw Error(R(160));
|
|
Hv(i, s, o), Be = null, Wt = !1;
|
|
var l = o.alternate;
|
|
l !== null && (l.return = null), o.return = null;
|
|
} catch (u) {
|
|
be(o, t, u);
|
|
}
|
|
}
|
|
if (t.subtreeFlags & 12854) for (t = t.child; t !== null; ) Kv(t, e), t = t.sibling;
|
|
}
|
|
function Kv(e, t) {
|
|
var n = e.alternate, r = e.flags;
|
|
switch (e.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 14:
|
|
case 15:
|
|
if (Vt(t, e), Gt(e), r & 4) {
|
|
try {
|
|
Ei(3, e, e.return), Kl(3, e);
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
try {
|
|
Ei(5, e, e.return);
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
}
|
|
break;
|
|
case 1:
|
|
Vt(t, e), Gt(e), r & 512 && n !== null && to(n, n.return);
|
|
break;
|
|
case 5:
|
|
if (Vt(t, e), Gt(e), r & 512 && n !== null && to(n, n.return), e.flags & 32) {
|
|
var o = e.stateNode;
|
|
try {
|
|
Wi(o, "");
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
}
|
|
if (r & 4 && (o = e.stateNode, o != null)) {
|
|
var i = e.memoizedProps, s = n !== null ? n.memoizedProps : i, a = e.type, l = e.updateQueue;
|
|
if (e.updateQueue = null, l !== null) try {
|
|
a === "input" && i.type === "radio" && i.name != null && f0(o, i), _c(a, s);
|
|
var u = _c(a, i);
|
|
for (s = 0; s < l.length; s += 2) {
|
|
var c = l[s], d = l[s + 1];
|
|
c === "style" ? y0(o, d) : c === "dangerouslySetInnerHTML" ? m0(o, d) : c === "children" ? Wi(o, d) : Af(o, c, d, u);
|
|
}
|
|
switch (a) {
|
|
case "input":
|
|
Yc(o, i);
|
|
break;
|
|
case "textarea":
|
|
h0(o, i);
|
|
break;
|
|
case "select":
|
|
var f = o._wrapperState.wasMultiple;
|
|
o._wrapperState.wasMultiple = !!i.multiple;
|
|
var y = i.value;
|
|
y != null ? ho(o, !!i.multiple, y, !1) : f !== !!i.multiple && (i.defaultValue != null ? ho(
|
|
o,
|
|
!!i.multiple,
|
|
i.defaultValue,
|
|
!0
|
|
) : ho(o, !!i.multiple, i.multiple ? [] : "", !1));
|
|
}
|
|
o[Qi] = i;
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
}
|
|
break;
|
|
case 6:
|
|
if (Vt(t, e), Gt(e), r & 4) {
|
|
if (e.stateNode === null) throw Error(R(162));
|
|
o = e.stateNode, i = e.memoizedProps;
|
|
try {
|
|
o.nodeValue = i;
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
}
|
|
break;
|
|
case 3:
|
|
if (Vt(t, e), Gt(e), r & 4 && n !== null && n.memoizedState.isDehydrated) try {
|
|
Xi(t.containerInfo);
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
break;
|
|
case 4:
|
|
Vt(t, e), Gt(e);
|
|
break;
|
|
case 13:
|
|
Vt(t, e), Gt(e), o = e.child, o.flags & 8192 && (i = o.memoizedState !== null, o.stateNode.isHidden = i, !i || o.alternate !== null && o.alternate.memoizedState !== null || (ah = xe())), r & 4 && Vm(e);
|
|
break;
|
|
case 22:
|
|
if (c = n !== null && n.memoizedState !== null, e.mode & 1 ? (Xe = (u = Xe) || c, Vt(t, e), Xe = u) : Vt(t, e), Gt(e), r & 8192) {
|
|
if (u = e.memoizedState !== null, (e.stateNode.isHidden = u) && !c && e.mode & 1) for (L = e, c = e.child; c !== null; ) {
|
|
for (d = L = c; L !== null; ) {
|
|
switch (f = L, y = f.child, f.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 14:
|
|
case 15:
|
|
Ei(4, f, f.return);
|
|
break;
|
|
case 1:
|
|
to(f, f.return);
|
|
var v = f.stateNode;
|
|
if (typeof v.componentWillUnmount == "function") {
|
|
r = f, n = f.return;
|
|
try {
|
|
t = r, v.props = t.memoizedProps, v.state = t.memoizedState, v.componentWillUnmount();
|
|
} catch (S) {
|
|
be(r, n, S);
|
|
}
|
|
}
|
|
break;
|
|
case 5:
|
|
to(f, f.return);
|
|
break;
|
|
case 22:
|
|
if (f.memoizedState !== null) {
|
|
Om(d);
|
|
continue;
|
|
}
|
|
}
|
|
y !== null ? (y.return = f, L = y) : Om(d);
|
|
}
|
|
c = c.sibling;
|
|
}
|
|
e: for (c = null, d = e; ; ) {
|
|
if (d.tag === 5) {
|
|
if (c === null) {
|
|
c = d;
|
|
try {
|
|
o = d.stateNode, u ? (i = o.style, typeof i.setProperty == "function" ? i.setProperty("display", "none", "important") : i.display = "none") : (a = d.stateNode, l = d.memoizedProps.style, s = l != null && l.hasOwnProperty("display") ? l.display : null, a.style.display = g0("display", s));
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
}
|
|
} else if (d.tag === 6) {
|
|
if (c === null) try {
|
|
d.stateNode.nodeValue = u ? "" : d.memoizedProps;
|
|
} catch (S) {
|
|
be(e, e.return, S);
|
|
}
|
|
} else if ((d.tag !== 22 && d.tag !== 23 || d.memoizedState === null || d === e) && d.child !== null) {
|
|
d.child.return = d, d = d.child;
|
|
continue;
|
|
}
|
|
if (d === e) break e;
|
|
for (; d.sibling === null; ) {
|
|
if (d.return === null || d.return === e) break e;
|
|
c === d && (c = null), d = d.return;
|
|
}
|
|
c === d && (c = null), d.sibling.return = d.return, d = d.sibling;
|
|
}
|
|
}
|
|
break;
|
|
case 19:
|
|
Vt(t, e), Gt(e), r & 4 && Vm(e);
|
|
break;
|
|
case 21:
|
|
break;
|
|
default:
|
|
Vt(
|
|
t,
|
|
e
|
|
), Gt(e);
|
|
}
|
|
}
|
|
function Gt(e) {
|
|
var t = e.flags;
|
|
if (t & 2) {
|
|
try {
|
|
e: {
|
|
for (var n = e.return; n !== null; ) {
|
|
if (Uv(n)) {
|
|
var r = n;
|
|
break e;
|
|
}
|
|
n = n.return;
|
|
}
|
|
throw Error(R(160));
|
|
}
|
|
switch (r.tag) {
|
|
case 5:
|
|
var o = r.stateNode;
|
|
r.flags & 32 && (Wi(o, ""), r.flags &= -33);
|
|
var i = Bm(e);
|
|
Ad(e, i, o);
|
|
break;
|
|
case 3:
|
|
case 4:
|
|
var s = r.stateNode.containerInfo, a = Bm(e);
|
|
Pd(e, a, s);
|
|
break;
|
|
default:
|
|
throw Error(R(161));
|
|
}
|
|
} catch (l) {
|
|
be(e, e.return, l);
|
|
}
|
|
e.flags &= -3;
|
|
}
|
|
t & 4096 && (e.flags &= -4097);
|
|
}
|
|
function yC(e, t, n) {
|
|
L = e, Xv(e);
|
|
}
|
|
function Xv(e, t, n) {
|
|
for (var r = (e.mode & 1) !== 0; L !== null; ) {
|
|
var o = L, i = o.child;
|
|
if (o.tag === 22 && r) {
|
|
var s = o.memoizedState !== null || Js;
|
|
if (!s) {
|
|
var a = o.alternate, l = a !== null && a.memoizedState !== null || Xe;
|
|
a = Js;
|
|
var u = Xe;
|
|
if (Js = s, (Xe = l) && !u) for (L = o; L !== null; ) s = L, l = s.child, s.tag === 22 && s.memoizedState !== null ? Nm(o) : l !== null ? (l.return = s, L = l) : Nm(o);
|
|
for (; i !== null; ) L = i, Xv(i), i = i.sibling;
|
|
L = o, Js = a, Xe = u;
|
|
}
|
|
Im(e);
|
|
} else o.subtreeFlags & 8772 && i !== null ? (i.return = o, L = i) : Im(e);
|
|
}
|
|
}
|
|
function Im(e) {
|
|
for (; L !== null; ) {
|
|
var t = L;
|
|
if (t.flags & 8772) {
|
|
var n = t.alternate;
|
|
try {
|
|
if (t.flags & 8772) switch (t.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 15:
|
|
Xe || Kl(5, t);
|
|
break;
|
|
case 1:
|
|
var r = t.stateNode;
|
|
if (t.flags & 4 && !Xe) if (n === null) r.componentDidMount();
|
|
else {
|
|
var o = t.elementType === t.type ? n.memoizedProps : jt(t.type, n.memoizedProps);
|
|
r.componentDidUpdate(o, n.memoizedState, r.__reactInternalSnapshotBeforeUpdate);
|
|
}
|
|
var i = t.updateQueue;
|
|
i !== null && xm(t, i, r);
|
|
break;
|
|
case 3:
|
|
var s = t.updateQueue;
|
|
if (s !== null) {
|
|
if (n = null, t.child !== null) switch (t.child.tag) {
|
|
case 5:
|
|
n = t.child.stateNode;
|
|
break;
|
|
case 1:
|
|
n = t.child.stateNode;
|
|
}
|
|
xm(t, s, n);
|
|
}
|
|
break;
|
|
case 5:
|
|
var a = t.stateNode;
|
|
if (n === null && t.flags & 4) {
|
|
n = a;
|
|
var l = t.memoizedProps;
|
|
switch (t.type) {
|
|
case "button":
|
|
case "input":
|
|
case "select":
|
|
case "textarea":
|
|
l.autoFocus && n.focus();
|
|
break;
|
|
case "img":
|
|
l.src && (n.src = l.src);
|
|
}
|
|
}
|
|
break;
|
|
case 6:
|
|
break;
|
|
case 4:
|
|
break;
|
|
case 12:
|
|
break;
|
|
case 13:
|
|
if (t.memoizedState === null) {
|
|
var u = t.alternate;
|
|
if (u !== null) {
|
|
var c = u.memoizedState;
|
|
if (c !== null) {
|
|
var d = c.dehydrated;
|
|
d !== null && Xi(d);
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case 19:
|
|
case 17:
|
|
case 21:
|
|
case 22:
|
|
case 23:
|
|
case 25:
|
|
break;
|
|
default:
|
|
throw Error(R(163));
|
|
}
|
|
Xe || t.flags & 512 && Ed(t);
|
|
} catch (f) {
|
|
be(t, t.return, f);
|
|
}
|
|
}
|
|
if (t === e) {
|
|
L = null;
|
|
break;
|
|
}
|
|
if (n = t.sibling, n !== null) {
|
|
n.return = t.return, L = n;
|
|
break;
|
|
}
|
|
L = t.return;
|
|
}
|
|
}
|
|
function Om(e) {
|
|
for (; L !== null; ) {
|
|
var t = L;
|
|
if (t === e) {
|
|
L = null;
|
|
break;
|
|
}
|
|
var n = t.sibling;
|
|
if (n !== null) {
|
|
n.return = t.return, L = n;
|
|
break;
|
|
}
|
|
L = t.return;
|
|
}
|
|
}
|
|
function Nm(e) {
|
|
for (; L !== null; ) {
|
|
var t = L;
|
|
try {
|
|
switch (t.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 15:
|
|
var n = t.return;
|
|
try {
|
|
Kl(4, t);
|
|
} catch (l) {
|
|
be(t, n, l);
|
|
}
|
|
break;
|
|
case 1:
|
|
var r = t.stateNode;
|
|
if (typeof r.componentDidMount == "function") {
|
|
var o = t.return;
|
|
try {
|
|
r.componentDidMount();
|
|
} catch (l) {
|
|
be(t, o, l);
|
|
}
|
|
}
|
|
var i = t.return;
|
|
try {
|
|
Ed(t);
|
|
} catch (l) {
|
|
be(t, i, l);
|
|
}
|
|
break;
|
|
case 5:
|
|
var s = t.return;
|
|
try {
|
|
Ed(t);
|
|
} catch (l) {
|
|
be(t, s, l);
|
|
}
|
|
}
|
|
} catch (l) {
|
|
be(t, t.return, l);
|
|
}
|
|
if (t === e) {
|
|
L = null;
|
|
break;
|
|
}
|
|
var a = t.sibling;
|
|
if (a !== null) {
|
|
a.return = t.return, L = a;
|
|
break;
|
|
}
|
|
L = t.return;
|
|
}
|
|
}
|
|
var vC = Math.ceil, hl = Rn.ReactCurrentDispatcher, ih = Rn.ReactCurrentOwner, Mt = Rn.ReactCurrentBatchConfig, q = 0, De = null, Te = null, Ne = 0, pt = 0, no = rr(0), ze = 0, ns = null, Rr = 0, Xl = 0, sh = 0, Pi = null, rt = null, ah = 0, Mo = 1 / 0, gn = null, pl = !1, zd = null, Gn = null, _s = !1, Un = null, ml = 0, Ai = 0, Md = null, ka = -1, Ca = 0;
|
|
function _e() {
|
|
return q & 6 ? xe() : ka !== -1 ? ka : ka = xe();
|
|
}
|
|
function Qn(e) {
|
|
return e.mode & 1 ? q & 2 && Ne !== 0 ? Ne & -Ne : tC.transition !== null ? (Ca === 0 && (Ca = z0()), Ca) : (e = te, e !== 0 || (e = window.event, e = e === void 0 ? 16 : V0(e.type)), e) : 1;
|
|
}
|
|
function Xt(e, t, n, r) {
|
|
if (50 < Ai) throw Ai = 0, Md = null, Error(R(185));
|
|
ps(e, n, r), (!(q & 2) || e !== De) && (e === De && (!(q & 2) && (Xl |= n), ze === 4 && Nn(e, Ne)), lt(e, r), n === 1 && q === 0 && !(t.mode & 1) && (Mo = xe() + 500, Wl && or()));
|
|
}
|
|
function lt(e, t) {
|
|
var n = e.callbackNode;
|
|
tk(e, t);
|
|
var r = _a(e, e === De ? Ne : 0);
|
|
if (r === 0) n !== null && Zp(n), e.callbackNode = null, e.callbackPriority = 0;
|
|
else if (t = r & -r, e.callbackPriority !== t) {
|
|
if (n != null && Zp(n), t === 1) e.tag === 0 ? eC(jm.bind(null, e)) : tv(jm.bind(null, e)), Qk(function() {
|
|
!(q & 6) && or();
|
|
}), n = null;
|
|
else {
|
|
switch (M0(r)) {
|
|
case 1:
|
|
n = Ff;
|
|
break;
|
|
case 4:
|
|
n = P0;
|
|
break;
|
|
case 16:
|
|
n = Ja;
|
|
break;
|
|
case 536870912:
|
|
n = A0;
|
|
break;
|
|
default:
|
|
n = Ja;
|
|
}
|
|
n = $v(n, qv.bind(null, e));
|
|
}
|
|
e.callbackPriority = t, e.callbackNode = n;
|
|
}
|
|
}
|
|
function qv(e, t) {
|
|
if (ka = -1, Ca = 0, q & 6) throw Error(R(327));
|
|
var n = e.callbackNode;
|
|
if (vo() && e.callbackNode !== n) return null;
|
|
var r = _a(e, e === De ? Ne : 0);
|
|
if (r === 0) return null;
|
|
if (r & 30 || r & e.expiredLanes || t) t = gl(e, r);
|
|
else {
|
|
t = r;
|
|
var o = q;
|
|
q |= 2;
|
|
var i = Zv();
|
|
(De !== e || Ne !== t) && (gn = null, Mo = xe() + 500, xr(e, t));
|
|
do
|
|
try {
|
|
xC();
|
|
break;
|
|
} catch (a) {
|
|
Yv(e, a);
|
|
}
|
|
while (!0);
|
|
qf(), hl.current = i, q = o, Te !== null ? t = 0 : (De = null, Ne = 0, t = ze);
|
|
}
|
|
if (t !== 0) {
|
|
if (t === 2 && (o = rd(e), o !== 0 && (r = o, t = Rd(e, o))), t === 1) throw n = ns, xr(e, 0), Nn(e, r), lt(e, xe()), n;
|
|
if (t === 6) Nn(e, r);
|
|
else {
|
|
if (o = e.current.alternate, !(r & 30) && !SC(o) && (t = gl(e, r), t === 2 && (i = rd(e), i !== 0 && (r = i, t = Rd(e, i))), t === 1)) throw n = ns, xr(e, 0), Nn(e, r), lt(e, xe()), n;
|
|
switch (e.finishedWork = o, e.finishedLanes = r, t) {
|
|
case 0:
|
|
case 1:
|
|
throw Error(R(345));
|
|
case 2:
|
|
fr(e, rt, gn);
|
|
break;
|
|
case 3:
|
|
if (Nn(e, r), (r & 130023424) === r && (t = ah + 500 - xe(), 10 < t)) {
|
|
if (_a(e, 0) !== 0) break;
|
|
if (o = e.suspendedLanes, (o & r) !== r) {
|
|
_e(), e.pingedLanes |= e.suspendedLanes & o;
|
|
break;
|
|
}
|
|
e.timeoutHandle = dd(fr.bind(null, e, rt, gn), t);
|
|
break;
|
|
}
|
|
fr(e, rt, gn);
|
|
break;
|
|
case 4:
|
|
if (Nn(e, r), (r & 4194240) === r) break;
|
|
for (t = e.eventTimes, o = -1; 0 < r; ) {
|
|
var s = 31 - Kt(r);
|
|
i = 1 << s, s = t[s], s > o && (o = s), r &= ~i;
|
|
}
|
|
if (r = o, r = xe() - r, r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * vC(r / 1960)) - r, 10 < r) {
|
|
e.timeoutHandle = dd(fr.bind(null, e, rt, gn), r);
|
|
break;
|
|
}
|
|
fr(e, rt, gn);
|
|
break;
|
|
case 5:
|
|
fr(e, rt, gn);
|
|
break;
|
|
default:
|
|
throw Error(R(329));
|
|
}
|
|
}
|
|
}
|
|
return lt(e, xe()), e.callbackNode === n ? qv.bind(null, e) : null;
|
|
}
|
|
function Rd(e, t) {
|
|
var n = Pi;
|
|
return e.current.memoizedState.isDehydrated && (xr(e, t).flags |= 256), e = gl(e, t), e !== 2 && (t = rt, rt = n, t !== null && Dd(t)), e;
|
|
}
|
|
function Dd(e) {
|
|
rt === null ? rt = e : rt.push.apply(rt, e);
|
|
}
|
|
function SC(e) {
|
|
for (var t = e; ; ) {
|
|
if (t.flags & 16384) {
|
|
var n = t.updateQueue;
|
|
if (n !== null && (n = n.stores, n !== null)) for (var r = 0; r < n.length; r++) {
|
|
var o = n[r], i = o.getSnapshot;
|
|
o = o.value;
|
|
try {
|
|
if (!Yt(i(), o)) return !1;
|
|
} catch {
|
|
return !1;
|
|
}
|
|
}
|
|
}
|
|
if (n = t.child, t.subtreeFlags & 16384 && n !== null) n.return = t, t = n;
|
|
else {
|
|
if (t === e) break;
|
|
for (; t.sibling === null; ) {
|
|
if (t.return === null || t.return === e) return !0;
|
|
t = t.return;
|
|
}
|
|
t.sibling.return = t.return, t = t.sibling;
|
|
}
|
|
}
|
|
return !0;
|
|
}
|
|
function Nn(e, t) {
|
|
for (t &= ~sh, t &= ~Xl, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t; ) {
|
|
var n = 31 - Kt(t), r = 1 << n;
|
|
e[n] = -1, t &= ~r;
|
|
}
|
|
}
|
|
function jm(e) {
|
|
if (q & 6) throw Error(R(327));
|
|
vo();
|
|
var t = _a(e, 0);
|
|
if (!(t & 1)) return lt(e, xe()), null;
|
|
var n = gl(e, t);
|
|
if (e.tag !== 0 && n === 2) {
|
|
var r = rd(e);
|
|
r !== 0 && (t = r, n = Rd(e, r));
|
|
}
|
|
if (n === 1) throw n = ns, xr(e, 0), Nn(e, t), lt(e, xe()), n;
|
|
if (n === 6) throw Error(R(345));
|
|
return e.finishedWork = e.current.alternate, e.finishedLanes = t, fr(e, rt, gn), lt(e, xe()), null;
|
|
}
|
|
function lh(e, t) {
|
|
var n = q;
|
|
q |= 1;
|
|
try {
|
|
return e(t);
|
|
} finally {
|
|
q = n, q === 0 && (Mo = xe() + 500, Wl && or());
|
|
}
|
|
}
|
|
function Dr(e) {
|
|
Un !== null && Un.tag === 0 && !(q & 6) && vo();
|
|
var t = q;
|
|
q |= 1;
|
|
var n = Mt.transition, r = te;
|
|
try {
|
|
if (Mt.transition = null, te = 1, e) return e();
|
|
} finally {
|
|
te = r, Mt.transition = n, q = t, !(q & 6) && or();
|
|
}
|
|
}
|
|
function uh() {
|
|
pt = no.current, de(no);
|
|
}
|
|
function xr(e, t) {
|
|
e.finishedWork = null, e.finishedLanes = 0;
|
|
var n = e.timeoutHandle;
|
|
if (n !== -1 && (e.timeoutHandle = -1, Gk(n)), Te !== null) for (n = Te.return; n !== null; ) {
|
|
var r = n;
|
|
switch (Hf(r), r.tag) {
|
|
case 1:
|
|
r = r.type.childContextTypes, r != null && rl();
|
|
break;
|
|
case 3:
|
|
Ao(), de(st), de(qe), _f();
|
|
break;
|
|
case 5:
|
|
Jf(r);
|
|
break;
|
|
case 4:
|
|
Ao();
|
|
break;
|
|
case 13:
|
|
de(ge);
|
|
break;
|
|
case 19:
|
|
de(ge);
|
|
break;
|
|
case 10:
|
|
Yf(r.type._context);
|
|
break;
|
|
case 22:
|
|
case 23:
|
|
uh();
|
|
}
|
|
n = n.return;
|
|
}
|
|
if (De = e, Te = e = Jn(e.current, null), Ne = pt = t, ze = 0, ns = null, sh = Xl = Rr = 0, rt = Pi = null, gr !== null) {
|
|
for (t = 0; t < gr.length; t++) if (n = gr[t], r = n.interleaved, r !== null) {
|
|
n.interleaved = null;
|
|
var o = r.next, i = n.pending;
|
|
if (i !== null) {
|
|
var s = i.next;
|
|
i.next = o, r.next = s;
|
|
}
|
|
n.pending = r;
|
|
}
|
|
gr = null;
|
|
}
|
|
return e;
|
|
}
|
|
function Yv(e, t) {
|
|
do {
|
|
var n = Te;
|
|
try {
|
|
if (qf(), ba.current = fl, dl) {
|
|
for (var r = ye.memoizedState; r !== null; ) {
|
|
var o = r.queue;
|
|
o !== null && (o.pending = null), r = r.next;
|
|
}
|
|
dl = !1;
|
|
}
|
|
if (Mr = 0, Re = Ae = ye = null, Ti = !1, $i = 0, ih.current = null, n === null || n.return === null) {
|
|
ze = 1, ns = t, Te = null;
|
|
break;
|
|
}
|
|
e: {
|
|
var i = e, s = n.return, a = n, l = t;
|
|
if (t = Ne, a.flags |= 32768, l !== null && typeof l == "object" && typeof l.then == "function") {
|
|
var u = l, c = a, d = c.tag;
|
|
if (!(c.mode & 1) && (d === 0 || d === 11 || d === 15)) {
|
|
var f = c.alternate;
|
|
f ? (c.updateQueue = f.updateQueue, c.memoizedState = f.memoizedState, c.lanes = f.lanes) : (c.updateQueue = null, c.memoizedState = null);
|
|
}
|
|
var y = Pm(s);
|
|
if (y !== null) {
|
|
y.flags &= -257, Am(y, s, a, i, t), y.mode & 1 && Em(i, u, t), t = y, l = u;
|
|
var v = t.updateQueue;
|
|
if (v === null) {
|
|
var S = /* @__PURE__ */ new Set();
|
|
S.add(l), t.updateQueue = S;
|
|
} else v.add(l);
|
|
break e;
|
|
} else {
|
|
if (!(t & 1)) {
|
|
Em(i, u, t), ch();
|
|
break e;
|
|
}
|
|
l = Error(R(426));
|
|
}
|
|
} else if (pe && a.mode & 1) {
|
|
var k = Pm(s);
|
|
if (k !== null) {
|
|
!(k.flags & 65536) && (k.flags |= 256), Am(k, s, a, i, t), Kf(zo(l, a));
|
|
break e;
|
|
}
|
|
}
|
|
i = l = zo(l, a), ze !== 4 && (ze = 2), Pi === null ? Pi = [i] : Pi.push(i), i = s;
|
|
do {
|
|
switch (i.tag) {
|
|
case 3:
|
|
i.flags |= 65536, t &= -t, i.lanes |= t;
|
|
var p = Mv(i, l, t);
|
|
bm(i, p);
|
|
break e;
|
|
case 1:
|
|
a = l;
|
|
var h = i.type, g = i.stateNode;
|
|
if (!(i.flags & 128) && (typeof h.getDerivedStateFromError == "function" || g !== null && typeof g.componentDidCatch == "function" && (Gn === null || !Gn.has(g)))) {
|
|
i.flags |= 65536, t &= -t, i.lanes |= t;
|
|
var w = Rv(i, a, t);
|
|
bm(i, w);
|
|
break e;
|
|
}
|
|
}
|
|
i = i.return;
|
|
} while (i !== null);
|
|
}
|
|
Qv(n);
|
|
} catch (P) {
|
|
t = P, Te === n && n !== null && (Te = n = n.return);
|
|
continue;
|
|
}
|
|
break;
|
|
} while (!0);
|
|
}
|
|
function Zv() {
|
|
var e = hl.current;
|
|
return hl.current = fl, e === null ? fl : e;
|
|
}
|
|
function ch() {
|
|
(ze === 0 || ze === 3 || ze === 2) && (ze = 4), De === null || !(Rr & 268435455) && !(Xl & 268435455) || Nn(De, Ne);
|
|
}
|
|
function gl(e, t) {
|
|
var n = q;
|
|
q |= 2;
|
|
var r = Zv();
|
|
(De !== e || Ne !== t) && (gn = null, xr(e, t));
|
|
do
|
|
try {
|
|
bC();
|
|
break;
|
|
} catch (o) {
|
|
Yv(e, o);
|
|
}
|
|
while (!0);
|
|
if (qf(), q = n, hl.current = r, Te !== null) throw Error(R(261));
|
|
return De = null, Ne = 0, ze;
|
|
}
|
|
function bC() {
|
|
for (; Te !== null; ) Gv(Te);
|
|
}
|
|
function xC() {
|
|
for (; Te !== null && !qw(); ) Gv(Te);
|
|
}
|
|
function Gv(e) {
|
|
var t = _v(e.alternate, e, pt);
|
|
e.memoizedProps = e.pendingProps, t === null ? Qv(e) : Te = t, ih.current = null;
|
|
}
|
|
function Qv(e) {
|
|
var t = e;
|
|
do {
|
|
var n = t.alternate;
|
|
if (e = t.return, t.flags & 32768) {
|
|
if (n = pC(n, t), n !== null) {
|
|
n.flags &= 32767, Te = n;
|
|
return;
|
|
}
|
|
if (e !== null) e.flags |= 32768, e.subtreeFlags = 0, e.deletions = null;
|
|
else {
|
|
ze = 6, Te = null;
|
|
return;
|
|
}
|
|
} else if (n = hC(n, t, pt), n !== null) {
|
|
Te = n;
|
|
return;
|
|
}
|
|
if (t = t.sibling, t !== null) {
|
|
Te = t;
|
|
return;
|
|
}
|
|
Te = t = e;
|
|
} while (t !== null);
|
|
ze === 0 && (ze = 5);
|
|
}
|
|
function fr(e, t, n) {
|
|
var r = te, o = Mt.transition;
|
|
try {
|
|
Mt.transition = null, te = 1, wC(e, t, n, r);
|
|
} finally {
|
|
Mt.transition = o, te = r;
|
|
}
|
|
return null;
|
|
}
|
|
function wC(e, t, n, r) {
|
|
do
|
|
vo();
|
|
while (Un !== null);
|
|
if (q & 6) throw Error(R(327));
|
|
n = e.finishedWork;
|
|
var o = e.finishedLanes;
|
|
if (n === null) return null;
|
|
if (e.finishedWork = null, e.finishedLanes = 0, n === e.current) throw Error(R(177));
|
|
e.callbackNode = null, e.callbackPriority = 0;
|
|
var i = n.lanes | n.childLanes;
|
|
if (nk(e, i), e === De && (Te = De = null, Ne = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || _s || (_s = !0, $v(Ja, function() {
|
|
return vo(), null;
|
|
})), i = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || i) {
|
|
i = Mt.transition, Mt.transition = null;
|
|
var s = te;
|
|
te = 1;
|
|
var a = q;
|
|
q |= 4, ih.current = null, gC(e, n), Kv(n, e), Uk(ud), $a = !!ld, ud = ld = null, e.current = n, yC(n), Yw(), q = a, te = s, Mt.transition = i;
|
|
} else e.current = n;
|
|
if (_s && (_s = !1, Un = e, ml = o), i = e.pendingLanes, i === 0 && (Gn = null), Qw(n.stateNode), lt(e, xe()), t !== null) for (r = e.onRecoverableError, n = 0; n < t.length; n++) o = t[n], r(o.value, { componentStack: o.stack, digest: o.digest });
|
|
if (pl) throw pl = !1, e = zd, zd = null, e;
|
|
return ml & 1 && e.tag !== 0 && vo(), i = e.pendingLanes, i & 1 ? e === Md ? Ai++ : (Ai = 0, Md = e) : Ai = 0, or(), null;
|
|
}
|
|
function vo() {
|
|
if (Un !== null) {
|
|
var e = M0(ml), t = Mt.transition, n = te;
|
|
try {
|
|
if (Mt.transition = null, te = 16 > e ? 16 : e, Un === null) var r = !1;
|
|
else {
|
|
if (e = Un, Un = null, ml = 0, q & 6) throw Error(R(331));
|
|
var o = q;
|
|
for (q |= 4, L = e.current; L !== null; ) {
|
|
var i = L, s = i.child;
|
|
if (L.flags & 16) {
|
|
var a = i.deletions;
|
|
if (a !== null) {
|
|
for (var l = 0; l < a.length; l++) {
|
|
var u = a[l];
|
|
for (L = u; L !== null; ) {
|
|
var c = L;
|
|
switch (c.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 15:
|
|
Ei(8, c, i);
|
|
}
|
|
var d = c.child;
|
|
if (d !== null) d.return = c, L = d;
|
|
else for (; L !== null; ) {
|
|
c = L;
|
|
var f = c.sibling, y = c.return;
|
|
if (Wv(c), c === u) {
|
|
L = null;
|
|
break;
|
|
}
|
|
if (f !== null) {
|
|
f.return = y, L = f;
|
|
break;
|
|
}
|
|
L = y;
|
|
}
|
|
}
|
|
}
|
|
var v = i.alternate;
|
|
if (v !== null) {
|
|
var S = v.child;
|
|
if (S !== null) {
|
|
v.child = null;
|
|
do {
|
|
var k = S.sibling;
|
|
S.sibling = null, S = k;
|
|
} while (S !== null);
|
|
}
|
|
}
|
|
L = i;
|
|
}
|
|
}
|
|
if (i.subtreeFlags & 2064 && s !== null) s.return = i, L = s;
|
|
else e: for (; L !== null; ) {
|
|
if (i = L, i.flags & 2048) switch (i.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 15:
|
|
Ei(9, i, i.return);
|
|
}
|
|
var p = i.sibling;
|
|
if (p !== null) {
|
|
p.return = i.return, L = p;
|
|
break e;
|
|
}
|
|
L = i.return;
|
|
}
|
|
}
|
|
var h = e.current;
|
|
for (L = h; L !== null; ) {
|
|
s = L;
|
|
var g = s.child;
|
|
if (s.subtreeFlags & 2064 && g !== null) g.return = s, L = g;
|
|
else e: for (s = h; L !== null; ) {
|
|
if (a = L, a.flags & 2048) try {
|
|
switch (a.tag) {
|
|
case 0:
|
|
case 11:
|
|
case 15:
|
|
Kl(9, a);
|
|
}
|
|
} catch (P) {
|
|
be(a, a.return, P);
|
|
}
|
|
if (a === s) {
|
|
L = null;
|
|
break e;
|
|
}
|
|
var w = a.sibling;
|
|
if (w !== null) {
|
|
w.return = a.return, L = w;
|
|
break e;
|
|
}
|
|
L = a.return;
|
|
}
|
|
}
|
|
if (q = o, or(), an && typeof an.onPostCommitFiberRoot == "function") try {
|
|
an.onPostCommitFiberRoot(Vl, e);
|
|
} catch {
|
|
}
|
|
r = !0;
|
|
}
|
|
return r;
|
|
} finally {
|
|
te = n, Mt.transition = t;
|
|
}
|
|
}
|
|
return !1;
|
|
}
|
|
function Wm(e, t, n) {
|
|
t = zo(n, t), t = Mv(e, t, 1), e = Zn(e, t, 1), t = _e(), e !== null && (ps(e, 1, t), lt(e, t));
|
|
}
|
|
function be(e, t, n) {
|
|
if (e.tag === 3) Wm(e, e, n);
|
|
else for (; t !== null; ) {
|
|
if (t.tag === 3) {
|
|
Wm(t, e, n);
|
|
break;
|
|
} else if (t.tag === 1) {
|
|
var r = t.stateNode;
|
|
if (typeof t.type.getDerivedStateFromError == "function" || typeof r.componentDidCatch == "function" && (Gn === null || !Gn.has(r))) {
|
|
e = zo(n, e), e = Rv(t, e, 1), t = Zn(t, e, 1), e = _e(), t !== null && (ps(t, 1, e), lt(t, e));
|
|
break;
|
|
}
|
|
}
|
|
t = t.return;
|
|
}
|
|
}
|
|
function kC(e, t, n) {
|
|
var r = e.pingCache;
|
|
r !== null && r.delete(t), t = _e(), e.pingedLanes |= e.suspendedLanes & n, De === e && (Ne & n) === n && (ze === 4 || ze === 3 && (Ne & 130023424) === Ne && 500 > xe() - ah ? xr(e, 0) : sh |= n), lt(e, t);
|
|
}
|
|
function Jv(e, t) {
|
|
t === 0 && (e.mode & 1 ? (t = Us, Us <<= 1, !(Us & 130023424) && (Us = 4194304)) : t = 1);
|
|
var n = _e();
|
|
e = An(e, t), e !== null && (ps(e, t, n), lt(e, n));
|
|
}
|
|
function CC(e) {
|
|
var t = e.memoizedState, n = 0;
|
|
t !== null && (n = t.retryLane), Jv(e, n);
|
|
}
|
|
function TC(e, t) {
|
|
var n = 0;
|
|
switch (e.tag) {
|
|
case 13:
|
|
var r = e.stateNode, o = e.memoizedState;
|
|
o !== null && (n = o.retryLane);
|
|
break;
|
|
case 19:
|
|
r = e.stateNode;
|
|
break;
|
|
default:
|
|
throw Error(R(314));
|
|
}
|
|
r !== null && r.delete(t), Jv(e, n);
|
|
}
|
|
var _v;
|
|
_v = function(e, t, n) {
|
|
if (e !== null) if (e.memoizedProps !== t.pendingProps || st.current) it = !0;
|
|
else {
|
|
if (!(e.lanes & n) && !(t.flags & 128)) return it = !1, fC(e, t, n);
|
|
it = !!(e.flags & 131072);
|
|
}
|
|
else it = !1, pe && t.flags & 1048576 && nv(t, sl, t.index);
|
|
switch (t.lanes = 0, t.tag) {
|
|
case 2:
|
|
var r = t.type;
|
|
wa(e, t), e = t.pendingProps;
|
|
var o = To(t, qe.current);
|
|
yo(t, n), o = eh(null, t, r, e, o, n);
|
|
var i = th();
|
|
return t.flags |= 1, typeof o == "object" && o !== null && typeof o.render == "function" && o.$$typeof === void 0 ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, at(r) ? (i = !0, ol(t)) : i = !1, t.memoizedState = o.state !== null && o.state !== void 0 ? o.state : null, Gf(t), o.updater = Hl, t.stateNode = o, o._reactInternals = t, vd(t, r, e, n), t = xd(null, t, r, !0, i, n)) : (t.tag = 0, pe && i && Uf(t), Ze(null, t, o, n), t = t.child), t;
|
|
case 16:
|
|
r = t.elementType;
|
|
e: {
|
|
switch (wa(e, t), e = t.pendingProps, o = r._init, r = o(r._payload), t.type = r, o = t.tag = PC(r), e = jt(r, e), o) {
|
|
case 0:
|
|
t = bd(null, t, r, e, n);
|
|
break e;
|
|
case 1:
|
|
t = Rm(null, t, r, e, n);
|
|
break e;
|
|
case 11:
|
|
t = zm(null, t, r, e, n);
|
|
break e;
|
|
case 14:
|
|
t = Mm(null, t, r, jt(r.type, e), n);
|
|
break e;
|
|
}
|
|
throw Error(R(
|
|
306,
|
|
r,
|
|
""
|
|
));
|
|
}
|
|
return t;
|
|
case 0:
|
|
return r = t.type, o = t.pendingProps, o = t.elementType === r ? o : jt(r, o), bd(e, t, r, o, n);
|
|
case 1:
|
|
return r = t.type, o = t.pendingProps, o = t.elementType === r ? o : jt(r, o), Rm(e, t, r, o, n);
|
|
case 3:
|
|
e: {
|
|
if (Bv(t), e === null) throw Error(R(387));
|
|
r = t.pendingProps, i = t.memoizedState, o = i.element, lv(e, t), ul(t, r, null, n);
|
|
var s = t.memoizedState;
|
|
if (r = s.element, i.isDehydrated) if (i = { element: r, isDehydrated: !1, cache: s.cache, pendingSuspenseBoundaries: s.pendingSuspenseBoundaries, transitions: s.transitions }, t.updateQueue.baseState = i, t.memoizedState = i, t.flags & 256) {
|
|
o = zo(Error(R(423)), t), t = Dm(e, t, r, n, o);
|
|
break e;
|
|
} else if (r !== o) {
|
|
o = zo(Error(R(424)), t), t = Dm(e, t, r, n, o);
|
|
break e;
|
|
} else for (mt = Yn(t.stateNode.containerInfo.firstChild), gt = t, pe = !0, Ut = null, n = sv(t, null, r, n), t.child = n; n; ) n.flags = n.flags & -3 | 4096, n = n.sibling;
|
|
else {
|
|
if (Eo(), r === o) {
|
|
t = zn(e, t, n);
|
|
break e;
|
|
}
|
|
Ze(e, t, r, n);
|
|
}
|
|
t = t.child;
|
|
}
|
|
return t;
|
|
case 5:
|
|
return uv(t), e === null && md(t), r = t.type, o = t.pendingProps, i = e !== null ? e.memoizedProps : null, s = o.children, cd(r, o) ? s = null : i !== null && cd(r, i) && (t.flags |= 32), Lv(e, t), Ze(e, t, s, n), t.child;
|
|
case 6:
|
|
return e === null && md(t), null;
|
|
case 13:
|
|
return Vv(e, t, n);
|
|
case 4:
|
|
return Qf(t, t.stateNode.containerInfo), r = t.pendingProps, e === null ? t.child = Po(t, null, r, n) : Ze(e, t, r, n), t.child;
|
|
case 11:
|
|
return r = t.type, o = t.pendingProps, o = t.elementType === r ? o : jt(r, o), zm(e, t, r, o, n);
|
|
case 7:
|
|
return Ze(e, t, t.pendingProps, n), t.child;
|
|
case 8:
|
|
return Ze(e, t, t.pendingProps.children, n), t.child;
|
|
case 12:
|
|
return Ze(e, t, t.pendingProps.children, n), t.child;
|
|
case 10:
|
|
e: {
|
|
if (r = t.type._context, o = t.pendingProps, i = t.memoizedProps, s = o.value, se(al, r._currentValue), r._currentValue = s, i !== null) if (Yt(i.value, s)) {
|
|
if (i.children === o.children && !st.current) {
|
|
t = zn(e, t, n);
|
|
break e;
|
|
}
|
|
} else for (i = t.child, i !== null && (i.return = t); i !== null; ) {
|
|
var a = i.dependencies;
|
|
if (a !== null) {
|
|
s = i.child;
|
|
for (var l = a.firstContext; l !== null; ) {
|
|
if (l.context === r) {
|
|
if (i.tag === 1) {
|
|
l = Cn(-1, n & -n), l.tag = 2;
|
|
var u = i.updateQueue;
|
|
if (u !== null) {
|
|
u = u.shared;
|
|
var c = u.pending;
|
|
c === null ? l.next = l : (l.next = c.next, c.next = l), u.pending = l;
|
|
}
|
|
}
|
|
i.lanes |= n, l = i.alternate, l !== null && (l.lanes |= n), gd(
|
|
i.return,
|
|
n,
|
|
t
|
|
), a.lanes |= n;
|
|
break;
|
|
}
|
|
l = l.next;
|
|
}
|
|
} else if (i.tag === 10) s = i.type === t.type ? null : i.child;
|
|
else if (i.tag === 18) {
|
|
if (s = i.return, s === null) throw Error(R(341));
|
|
s.lanes |= n, a = s.alternate, a !== null && (a.lanes |= n), gd(s, n, t), s = i.sibling;
|
|
} else s = i.child;
|
|
if (s !== null) s.return = i;
|
|
else for (s = i; s !== null; ) {
|
|
if (s === t) {
|
|
s = null;
|
|
break;
|
|
}
|
|
if (i = s.sibling, i !== null) {
|
|
i.return = s.return, s = i;
|
|
break;
|
|
}
|
|
s = s.return;
|
|
}
|
|
i = s;
|
|
}
|
|
Ze(e, t, o.children, n), t = t.child;
|
|
}
|
|
return t;
|
|
case 9:
|
|
return o = t.type, r = t.pendingProps.children, yo(t, n), o = Dt(o), r = r(o), t.flags |= 1, Ze(e, t, r, n), t.child;
|
|
case 14:
|
|
return r = t.type, o = jt(r, t.pendingProps), o = jt(r.type, o), Mm(e, t, r, o, n);
|
|
case 15:
|
|
return Dv(e, t, t.type, t.pendingProps, n);
|
|
case 17:
|
|
return r = t.type, o = t.pendingProps, o = t.elementType === r ? o : jt(r, o), wa(e, t), t.tag = 1, at(r) ? (e = !0, ol(t)) : e = !1, yo(t, n), zv(t, r, o), vd(t, r, o, n), xd(null, t, r, !0, e, n);
|
|
case 19:
|
|
return Iv(e, t, n);
|
|
case 22:
|
|
return Fv(e, t, n);
|
|
}
|
|
throw Error(R(156, t.tag));
|
|
};
|
|
function $v(e, t) {
|
|
return E0(e, t);
|
|
}
|
|
function EC(e, t, n, r) {
|
|
this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
|
|
}
|
|
function Pt(e, t, n, r) {
|
|
return new EC(e, t, n, r);
|
|
}
|
|
function dh(e) {
|
|
return e = e.prototype, !(!e || !e.isReactComponent);
|
|
}
|
|
function PC(e) {
|
|
if (typeof e == "function") return dh(e) ? 1 : 0;
|
|
if (e != null) {
|
|
if (e = e.$$typeof, e === Mf) return 11;
|
|
if (e === Rf) return 14;
|
|
}
|
|
return 2;
|
|
}
|
|
function Jn(e, t) {
|
|
var n = e.alternate;
|
|
return n === null ? (n = Pt(e.tag, t, e.key, e.mode), n.elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.type = e.type, n.flags = 0, n.subtreeFlags = 0, n.deletions = null), n.flags = e.flags & 14680064, n.childLanes = e.childLanes, n.lanes = e.lanes, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = t === null ? null : { lanes: t.lanes, firstContext: t.firstContext }, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n;
|
|
}
|
|
function Ta(e, t, n, r, o, i) {
|
|
var s = 2;
|
|
if (r = e, typeof e == "function") dh(e) && (s = 1);
|
|
else if (typeof e == "string") s = 5;
|
|
else e: switch (e) {
|
|
case qr:
|
|
return wr(n.children, o, i, t);
|
|
case zf:
|
|
s = 8, o |= 8;
|
|
break;
|
|
case Uc:
|
|
return e = Pt(12, n, t, o | 2), e.elementType = Uc, e.lanes = i, e;
|
|
case Hc:
|
|
return e = Pt(13, n, t, o), e.elementType = Hc, e.lanes = i, e;
|
|
case Kc:
|
|
return e = Pt(19, n, t, o), e.elementType = Kc, e.lanes = i, e;
|
|
case u0:
|
|
return ql(n, o, i, t);
|
|
default:
|
|
if (typeof e == "object" && e !== null) switch (e.$$typeof) {
|
|
case a0:
|
|
s = 10;
|
|
break e;
|
|
case l0:
|
|
s = 9;
|
|
break e;
|
|
case Mf:
|
|
s = 11;
|
|
break e;
|
|
case Rf:
|
|
s = 14;
|
|
break e;
|
|
case Vn:
|
|
s = 16, r = null;
|
|
break e;
|
|
}
|
|
throw Error(R(130, e == null ? e : typeof e, ""));
|
|
}
|
|
return t = Pt(s, n, t, o), t.elementType = e, t.type = r, t.lanes = i, t;
|
|
}
|
|
function wr(e, t, n, r) {
|
|
return e = Pt(7, e, r, t), e.lanes = n, e;
|
|
}
|
|
function ql(e, t, n, r) {
|
|
return e = Pt(22, e, r, t), e.elementType = u0, e.lanes = n, e.stateNode = { isHidden: !1 }, e;
|
|
}
|
|
function oc(e, t, n) {
|
|
return e = Pt(6, e, null, t), e.lanes = n, e;
|
|
}
|
|
function ic(e, t, n) {
|
|
return t = Pt(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;
|
|
}
|
|
function AC(e, t, n, r, o) {
|
|
this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = Nu(0), this.expirationTimes = Nu(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = Nu(0), this.identifierPrefix = r, this.onRecoverableError = o, this.mutableSourceEagerHydrationData = null;
|
|
}
|
|
function fh(e, t, n, r, o, i, s, a, l) {
|
|
return e = new AC(e, t, n, a, l), t === 1 ? (t = 1, i === !0 && (t |= 8)) : t = 0, i = Pt(3, null, null, t), e.current = i, i.stateNode = e, i.memoizedState = { element: r, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, Gf(i), e;
|
|
}
|
|
function zC(e, t, n) {
|
|
var r = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
|
|
return { $$typeof: Xr, key: r == null ? null : "" + r, children: e, containerInfo: t, implementation: n };
|
|
}
|
|
function eS(e) {
|
|
if (!e) return $n;
|
|
e = e._reactInternals;
|
|
e: {
|
|
if (Vr(e) !== e || e.tag !== 1) throw Error(R(170));
|
|
var t = e;
|
|
do {
|
|
switch (t.tag) {
|
|
case 3:
|
|
t = t.stateNode.context;
|
|
break e;
|
|
case 1:
|
|
if (at(t.type)) {
|
|
t = t.stateNode.__reactInternalMemoizedMergedChildContext;
|
|
break e;
|
|
}
|
|
}
|
|
t = t.return;
|
|
} while (t !== null);
|
|
throw Error(R(171));
|
|
}
|
|
if (e.tag === 1) {
|
|
var n = e.type;
|
|
if (at(n)) return ev(e, n, t);
|
|
}
|
|
return t;
|
|
}
|
|
function tS(e, t, n, r, o, i, s, a, l) {
|
|
return e = fh(n, r, !0, e, o, i, s, a, l), e.context = eS(null), n = e.current, r = _e(), o = Qn(n), i = Cn(r, o), i.callback = t ?? null, Zn(n, i, o), e.current.lanes = o, ps(e, o, r), lt(e, r), e;
|
|
}
|
|
function Yl(e, t, n, r) {
|
|
var o = t.current, i = _e(), s = Qn(o);
|
|
return n = eS(n), t.context === null ? t.context = n : t.pendingContext = n, t = Cn(i, s), t.payload = { element: e }, r = r === void 0 ? null : r, r !== null && (t.callback = r), e = Zn(o, t, s), e !== null && (Xt(e, o, s, i), Sa(e, o, s)), s;
|
|
}
|
|
function yl(e) {
|
|
if (e = e.current, !e.child) return null;
|
|
switch (e.child.tag) {
|
|
case 5:
|
|
return e.child.stateNode;
|
|
default:
|
|
return e.child.stateNode;
|
|
}
|
|
}
|
|
function Um(e, t) {
|
|
if (e = e.memoizedState, e !== null && e.dehydrated !== null) {
|
|
var n = e.retryLane;
|
|
e.retryLane = n !== 0 && n < t ? n : t;
|
|
}
|
|
}
|
|
function hh(e, t) {
|
|
Um(e, t), (e = e.alternate) && Um(e, t);
|
|
}
|
|
function MC() {
|
|
return null;
|
|
}
|
|
var nS = typeof reportError == "function" ? reportError : function(e) {
|
|
console.error(e);
|
|
};
|
|
function ph(e) {
|
|
this._internalRoot = e;
|
|
}
|
|
Zl.prototype.render = ph.prototype.render = function(e) {
|
|
var t = this._internalRoot;
|
|
if (t === null) throw Error(R(409));
|
|
Yl(e, t, null, null);
|
|
};
|
|
Zl.prototype.unmount = ph.prototype.unmount = function() {
|
|
var e = this._internalRoot;
|
|
if (e !== null) {
|
|
this._internalRoot = null;
|
|
var t = e.containerInfo;
|
|
Dr(function() {
|
|
Yl(null, e, null, null);
|
|
}), t[Pn] = null;
|
|
}
|
|
};
|
|
function Zl(e) {
|
|
this._internalRoot = e;
|
|
}
|
|
Zl.prototype.unstable_scheduleHydration = function(e) {
|
|
if (e) {
|
|
var t = F0();
|
|
e = { blockedOn: null, target: e, priority: t };
|
|
for (var n = 0; n < On.length && t !== 0 && t < On[n].priority; n++) ;
|
|
On.splice(n, 0, e), n === 0 && B0(e);
|
|
}
|
|
};
|
|
function mh(e) {
|
|
return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11);
|
|
}
|
|
function Gl(e) {
|
|
return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11 && (e.nodeType !== 8 || e.nodeValue !== " react-mount-point-unstable "));
|
|
}
|
|
function Hm() {
|
|
}
|
|
function RC(e, t, n, r, o) {
|
|
if (o) {
|
|
if (typeof r == "function") {
|
|
var i = r;
|
|
r = function() {
|
|
var u = yl(s);
|
|
i.call(u);
|
|
};
|
|
}
|
|
var s = tS(t, r, e, 0, null, !1, !1, "", Hm);
|
|
return e._reactRootContainer = s, e[Pn] = s.current, Zi(e.nodeType === 8 ? e.parentNode : e), Dr(), s;
|
|
}
|
|
for (; o = e.lastChild; ) e.removeChild(o);
|
|
if (typeof r == "function") {
|
|
var a = r;
|
|
r = function() {
|
|
var u = yl(l);
|
|
a.call(u);
|
|
};
|
|
}
|
|
var l = fh(e, 0, !1, null, null, !1, !1, "", Hm);
|
|
return e._reactRootContainer = l, e[Pn] = l.current, Zi(e.nodeType === 8 ? e.parentNode : e), Dr(function() {
|
|
Yl(t, l, n, r);
|
|
}), l;
|
|
}
|
|
function Ql(e, t, n, r, o) {
|
|
var i = n._reactRootContainer;
|
|
if (i) {
|
|
var s = i;
|
|
if (typeof o == "function") {
|
|
var a = o;
|
|
o = function() {
|
|
var l = yl(s);
|
|
a.call(l);
|
|
};
|
|
}
|
|
Yl(t, s, e, o);
|
|
} else s = RC(n, t, e, o, r);
|
|
return yl(s);
|
|
}
|
|
R0 = function(e) {
|
|
switch (e.tag) {
|
|
case 3:
|
|
var t = e.stateNode;
|
|
if (t.current.memoizedState.isDehydrated) {
|
|
var n = di(t.pendingLanes);
|
|
n !== 0 && (Lf(t, n | 1), lt(t, xe()), !(q & 6) && (Mo = xe() + 500, or()));
|
|
}
|
|
break;
|
|
case 13:
|
|
Dr(function() {
|
|
var r = An(e, 1);
|
|
if (r !== null) {
|
|
var o = _e();
|
|
Xt(r, e, 1, o);
|
|
}
|
|
}), hh(e, 1);
|
|
}
|
|
};
|
|
Bf = function(e) {
|
|
if (e.tag === 13) {
|
|
var t = An(e, 134217728);
|
|
if (t !== null) {
|
|
var n = _e();
|
|
Xt(t, e, 134217728, n);
|
|
}
|
|
hh(e, 134217728);
|
|
}
|
|
};
|
|
D0 = function(e) {
|
|
if (e.tag === 13) {
|
|
var t = Qn(e), n = An(e, t);
|
|
if (n !== null) {
|
|
var r = _e();
|
|
Xt(n, e, t, r);
|
|
}
|
|
hh(e, t);
|
|
}
|
|
};
|
|
F0 = function() {
|
|
return te;
|
|
};
|
|
L0 = function(e, t) {
|
|
var n = te;
|
|
try {
|
|
return te = e, t();
|
|
} finally {
|
|
te = n;
|
|
}
|
|
};
|
|
ed = function(e, t, n) {
|
|
switch (t) {
|
|
case "input":
|
|
if (Yc(e, n), t = n.name, n.type === "radio" && t != null) {
|
|
for (n = e; n.parentNode; ) n = n.parentNode;
|
|
for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) {
|
|
var r = n[t];
|
|
if (r !== e && r.form === e.form) {
|
|
var o = jl(r);
|
|
if (!o) throw Error(R(90));
|
|
d0(r), Yc(r, o);
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
case "textarea":
|
|
h0(e, n);
|
|
break;
|
|
case "select":
|
|
t = n.value, t != null && ho(e, !!n.multiple, t, !1);
|
|
}
|
|
};
|
|
b0 = lh;
|
|
x0 = Dr;
|
|
var DC = { usingClientEntryPoint: !1, Events: [gs, Qr, jl, v0, S0, lh] }, ri = { findFiberByHostInstance: mr, bundleType: 0, version: "18.3.1", rendererPackageName: "react-dom" }, FC = { bundleType: ri.bundleType, version: ri.version, rendererPackageName: ri.rendererPackageName, rendererConfig: ri.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: Rn.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
|
|
return e = C0(e), e === null ? null : e.stateNode;
|
|
}, findFiberByHostInstance: ri.findFiberByHostInstance || MC, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.3.1-next-f1338f8080-20240426" };
|
|
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
|
|
var $s = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
if (!$s.isDisabled && $s.supportsFiber) try {
|
|
Vl = $s.inject(FC), an = $s;
|
|
} catch {
|
|
}
|
|
}
|
|
bt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = DC;
|
|
bt.createPortal = function(e, t) {
|
|
var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
|
|
if (!mh(t)) throw Error(R(200));
|
|
return zC(e, t, null, n);
|
|
};
|
|
bt.createRoot = function(e, t) {
|
|
if (!mh(e)) throw Error(R(299));
|
|
var n = !1, r = "", o = nS;
|
|
return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (r = t.identifierPrefix), t.onRecoverableError !== void 0 && (o = t.onRecoverableError)), t = fh(e, 1, !1, null, null, n, !1, r, o), e[Pn] = t.current, Zi(e.nodeType === 8 ? e.parentNode : e), new ph(t);
|
|
};
|
|
bt.findDOMNode = function(e) {
|
|
if (e == null) return null;
|
|
if (e.nodeType === 1) return e;
|
|
var t = e._reactInternals;
|
|
if (t === void 0)
|
|
throw typeof e.render == "function" ? Error(R(188)) : (e = Object.keys(e).join(","), Error(R(268, e)));
|
|
return e = C0(t), e = e === null ? null : e.stateNode, e;
|
|
};
|
|
bt.flushSync = function(e) {
|
|
return Dr(e);
|
|
};
|
|
bt.hydrate = function(e, t, n) {
|
|
if (!Gl(t)) throw Error(R(200));
|
|
return Ql(null, e, t, !0, n);
|
|
};
|
|
bt.hydrateRoot = function(e, t, n) {
|
|
if (!mh(e)) throw Error(R(405));
|
|
var r = n != null && n.hydratedSources || null, o = !1, i = "", s = nS;
|
|
if (n != null && (n.unstable_strictMode === !0 && (o = !0), n.identifierPrefix !== void 0 && (i = n.identifierPrefix), n.onRecoverableError !== void 0 && (s = n.onRecoverableError)), t = tS(t, null, e, 1, n ?? null, o, !1, i, s), e[Pn] = t.current, Zi(e), r) for (e = 0; e < r.length; e++) n = r[e], o = n._getVersion, o = o(n._source), t.mutableSourceEagerHydrationData == null ? t.mutableSourceEagerHydrationData = [n, o] : t.mutableSourceEagerHydrationData.push(
|
|
n,
|
|
o
|
|
);
|
|
return new Zl(t);
|
|
};
|
|
bt.render = function(e, t, n) {
|
|
if (!Gl(t)) throw Error(R(200));
|
|
return Ql(null, e, t, !1, n);
|
|
};
|
|
bt.unmountComponentAtNode = function(e) {
|
|
if (!Gl(e)) throw Error(R(40));
|
|
return e._reactRootContainer ? (Dr(function() {
|
|
Ql(null, null, e, !1, function() {
|
|
e._reactRootContainer = null, e[Pn] = null;
|
|
});
|
|
}), !0) : !1;
|
|
};
|
|
bt.unstable_batchedUpdates = lh;
|
|
bt.unstable_renderSubtreeIntoContainer = function(e, t, n, r) {
|
|
if (!Gl(n)) throw Error(R(200));
|
|
if (e == null || e._reactInternals === void 0) throw Error(R(38));
|
|
return Ql(e, t, n, !1, r);
|
|
};
|
|
bt.version = "18.3.1-next-f1338f8080-20240426";
|
|
function rS() {
|
|
if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function"))
|
|
try {
|
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(rS);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
}
|
|
rS(), r0.exports = bt;
|
|
var gh = r0.exports, oS, Km = gh;
|
|
oS = Km.createRoot, Km.hydrateRoot;
|
|
function LC() {
|
|
return !!globalThis?.document;
|
|
}
|
|
function BC(e, ...t) {
|
|
if (e == null)
|
|
throw new TypeError("Cannot convert undefined or null to object");
|
|
const n = { ...e };
|
|
for (const r of t)
|
|
if (r != null)
|
|
for (const o in r)
|
|
Object.prototype.hasOwnProperty.call(r, o) && (o in n && delete n[o], n[o] = r[o]);
|
|
return n;
|
|
}
|
|
function Fd(e) {
|
|
return Array.isArray(e);
|
|
}
|
|
function $e(e) {
|
|
const t = typeof e;
|
|
return e != null && (t === "object" || t === "function") && !Fd(e);
|
|
}
|
|
function VC(e) {
|
|
const t = e == null ? 0 : e.length;
|
|
return t ? e[t - 1] : void 0;
|
|
}
|
|
function IC(e) {
|
|
const t = parseFloat(e.toString()), n = e.toString().replace(String(t), "");
|
|
return { unitless: !n, value: t, unit: n };
|
|
}
|
|
function Ld(e) {
|
|
if (e == null)
|
|
return e;
|
|
const { unitless: t } = IC(e);
|
|
return t || typeof e == "number" ? `${e}px` : e;
|
|
}
|
|
const iS = (e, t) => parseInt(e[1], 10) > parseInt(t[1], 10) ? 1 : -1, yh = (e) => Object.fromEntries(Object.entries(e).sort(iS));
|
|
function Xm(e) {
|
|
const t = yh(e);
|
|
return Object.assign(Object.values(t), t);
|
|
}
|
|
function OC(e) {
|
|
const t = Object.keys(yh(e));
|
|
return new Set(t);
|
|
}
|
|
function qm(e) {
|
|
if (!e)
|
|
return e;
|
|
e = Ld(e) ?? e;
|
|
const t = -0.02;
|
|
return typeof e == "number" ? `${e + t}` : e.replace(/(\d+\.?\d*)/u, (n) => `${parseFloat(n) + t}`);
|
|
}
|
|
function hi(e, t) {
|
|
const n = ["@media screen"];
|
|
return e && n.push("and", `(min-width: ${Ld(e)})`), t && n.push("and", `(max-width: ${Ld(t)})`), n.join(" ");
|
|
}
|
|
function NC(e) {
|
|
if (!e)
|
|
return null;
|
|
e.base = e.base ?? "0px";
|
|
const t = Xm(e), n = Object.entries(e).sort(iS).map(([i, s], a, l) => {
|
|
let [, u] = l[a + 1] ?? [];
|
|
return u = parseFloat(u) > 0 ? qm(u) : void 0, {
|
|
_minW: qm(s),
|
|
breakpoint: i,
|
|
minW: s,
|
|
maxW: u,
|
|
maxWQuery: hi(null, u),
|
|
minWQuery: hi(s),
|
|
minMaxQuery: hi(s, u)
|
|
};
|
|
}), r = OC(e), o = Array.from(r.values());
|
|
return {
|
|
keys: r,
|
|
normalized: t,
|
|
isResponsive(i) {
|
|
const s = Object.keys(i);
|
|
return s.length > 0 && s.every((a) => r.has(a));
|
|
},
|
|
asObject: yh(e),
|
|
asArray: Xm(e),
|
|
details: n,
|
|
get(i) {
|
|
return n.find((s) => s.breakpoint === i);
|
|
},
|
|
media: [
|
|
null,
|
|
...t.map((i) => hi(i)).slice(1)
|
|
],
|
|
/**
|
|
* Converts the object responsive syntax to array syntax
|
|
*
|
|
* @example
|
|
* toArrayValue({ base: 1, sm: 2, md: 3 }) // => [1, 2, 3]
|
|
*/
|
|
toArrayValue(i) {
|
|
if (!$e(i))
|
|
throw new Error("toArrayValue: value must be an object");
|
|
const s = o.map((a) => i[a] ?? null);
|
|
for (; VC(s) === null; )
|
|
s.pop();
|
|
return s;
|
|
},
|
|
/**
|
|
* Converts the array responsive syntax to object syntax
|
|
*
|
|
* @example
|
|
* toObjectValue([1, 2, 3]) // => { base: 1, sm: 2, md: 3 }
|
|
*/
|
|
toObjectValue(i) {
|
|
if (!Array.isArray(i))
|
|
throw new Error("toObjectValue: value must be an array");
|
|
return i.reduce(
|
|
(s, a, l) => {
|
|
const u = o[l];
|
|
return u != null && a != null && (s[u] = a), s;
|
|
},
|
|
{}
|
|
);
|
|
}
|
|
};
|
|
}
|
|
function jC(e) {
|
|
const t = Object.assign({}, e);
|
|
for (let n in t)
|
|
t[n] === void 0 && delete t[n];
|
|
return t;
|
|
}
|
|
function WC(e, t) {
|
|
return `${e} returned \`undefined\`. Seems you forgot to wrap component within ${t}`;
|
|
}
|
|
function jo(e = {}) {
|
|
const {
|
|
name: t,
|
|
strict: n = !0,
|
|
hookName: r = "useContext",
|
|
providerName: o = "Provider",
|
|
errorMessage: i,
|
|
defaultValue: s
|
|
} = e, a = C.createContext(s);
|
|
a.displayName = t;
|
|
function l() {
|
|
const u = C.useContext(a);
|
|
if (!u && n) {
|
|
const c = new Error(
|
|
i ?? WC(r, o)
|
|
);
|
|
throw c.name = "ContextError", Error.captureStackTrace?.(c, l), c;
|
|
}
|
|
return u;
|
|
}
|
|
return [a.Provider, l, a];
|
|
}
|
|
const Ir = (...e) => e.filter(Boolean).join(" ");
|
|
function UC(e, t, n, r) {
|
|
const o = typeof t == "string" ? t.split(".") : [t];
|
|
for (r = 0; r < o.length && e; r += 1)
|
|
e = e[o[r]];
|
|
return e === void 0 ? n : e;
|
|
}
|
|
const HC = (e) => {
|
|
const t = /* @__PURE__ */ new WeakMap();
|
|
return (r, o, i, s) => {
|
|
if (typeof r > "u")
|
|
return e(r, o, i);
|
|
t.has(r) || t.set(r, /* @__PURE__ */ new Map());
|
|
const a = t.get(r);
|
|
if (a.has(o))
|
|
return a.get(o);
|
|
const l = e(r, o, i, s);
|
|
return a.set(o, l), l;
|
|
};
|
|
}, sS = HC(UC), KC = (e) => e.default || e;
|
|
function XC(e, t = []) {
|
|
const n = Object.assign({}, e);
|
|
for (const r of t)
|
|
r in n && delete n[r];
|
|
return n;
|
|
}
|
|
function qC(e, t) {
|
|
const n = {};
|
|
for (const r of t)
|
|
r in e && (n[r] = e[r]);
|
|
return n;
|
|
}
|
|
const YC = (e) => typeof e == "function";
|
|
function sn(e, ...t) {
|
|
return YC(e) ? e(...t) : e;
|
|
}
|
|
function ZC(e, ...t) {
|
|
const n = Object.getOwnPropertyDescriptors(e), r = Object.keys(n), o = (s) => {
|
|
const a = {};
|
|
for (let l = 0; l < s.length; l++) {
|
|
const u = s[l];
|
|
n[u] && (Object.defineProperty(a, u, n[u]), delete n[u]);
|
|
}
|
|
return a;
|
|
}, i = (s) => o(Array.isArray(s) ? s : r.filter(s));
|
|
return t.map(i).concat(o(r));
|
|
}
|
|
function Ym(e, t, n = {}) {
|
|
const { stop: r, getKey: o } = n;
|
|
function i(s, a = []) {
|
|
if ($e(s) || Array.isArray(s)) {
|
|
const l = {};
|
|
for (const [u, c] of Object.entries(s)) {
|
|
const d = o?.(u) ?? u, f = [...a, d];
|
|
if (r?.(s, f))
|
|
return t(s, a);
|
|
l[d] = i(c, f);
|
|
}
|
|
return l;
|
|
}
|
|
return t(s, a);
|
|
}
|
|
return i(e);
|
|
}
|
|
var vl = { exports: {} };
|
|
vl.exports;
|
|
(function(e, t) {
|
|
var n = 200, r = "__lodash_hash_undefined__", o = 800, i = 16, s = 9007199254740991, a = "[object Arguments]", l = "[object Array]", u = "[object AsyncFunction]", c = "[object Boolean]", d = "[object Date]", f = "[object Error]", y = "[object Function]", v = "[object GeneratorFunction]", S = "[object Map]", k = "[object Number]", p = "[object Null]", h = "[object Object]", g = "[object Proxy]", w = "[object RegExp]", P = "[object Set]", A = "[object String]", E = "[object Undefined]", z = "[object WeakMap]", I = "[object ArrayBuffer]", M = "[object DataView]", U = "[object Float32Array]", le = "[object Float64Array]", Le = "[object Int8Array]", Ye = "[object Int16Array]", dt = "[object Int32Array]", We = "[object Uint8Array]", Nr = "[object Uint8ClampedArray]", D = "[object Uint16Array]", O = "[object Uint32Array]", W = /[\\^$.*+?()[\]{}|]/g, $ = /^\[object .+?Constructor\]$/, Se = /^(?:0|[1-9]\d*)$/, ee = {};
|
|
ee[U] = ee[le] = ee[Le] = ee[Ye] = ee[dt] = ee[We] = ee[Nr] = ee[D] = ee[O] = !0, ee[a] = ee[l] = ee[I] = ee[c] = ee[M] = ee[d] = ee[f] = ee[y] = ee[S] = ee[k] = ee[h] = ee[w] = ee[P] = ee[A] = ee[z] = !1;
|
|
var Zt = typeof Vs == "object" && Vs && Vs.Object === Object && Vs, Xo = typeof self == "object" && self && self.Object === Object && self, ft = Zt || Xo || Function("return this")(), sr = t && !t.nodeType && t, qo = sr && !0 && e && !e.nodeType && e, pp = qo && qo.exports === sr, wu = pp && Zt.process, mp = function() {
|
|
try {
|
|
var m = qo && qo.require && qo.require("util").types;
|
|
return m || wu && wu.binding && wu.binding("util");
|
|
} catch {
|
|
}
|
|
}(), gp = mp && mp.isTypedArray;
|
|
function Zb(m, x, T) {
|
|
switch (T.length) {
|
|
case 0:
|
|
return m.call(x);
|
|
case 1:
|
|
return m.call(x, T[0]);
|
|
case 2:
|
|
return m.call(x, T[0], T[1]);
|
|
case 3:
|
|
return m.call(x, T[0], T[1], T[2]);
|
|
}
|
|
return m.apply(x, T);
|
|
}
|
|
function Gb(m, x) {
|
|
for (var T = -1, V = Array(m); ++T < m; )
|
|
V[T] = x(T);
|
|
return V;
|
|
}
|
|
function Qb(m) {
|
|
return function(x) {
|
|
return m(x);
|
|
};
|
|
}
|
|
function Jb(m, x) {
|
|
return m?.[x];
|
|
}
|
|
function _b(m, x) {
|
|
return function(T) {
|
|
return m(x(T));
|
|
};
|
|
}
|
|
var $b = Array.prototype, ex = Function.prototype, As = Object.prototype, ku = ft["__core-js_shared__"], zs = ex.toString, Dn = As.hasOwnProperty, yp = function() {
|
|
var m = /[^.]+$/.exec(ku && ku.keys && ku.keys.IE_PROTO || "");
|
|
return m ? "Symbol(src)_1." + m : "";
|
|
}(), vp = As.toString, tx = zs.call(Object), nx = RegExp(
|
|
"^" + zs.call(Dn).replace(W, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
|
|
), Ms = pp ? ft.Buffer : void 0, Sp = ft.Symbol, bp = ft.Uint8Array;
|
|
Ms && Ms.allocUnsafe;
|
|
var xp = _b(Object.getPrototypeOf, Object), wp = Object.create, rx = As.propertyIsEnumerable, ox = $b.splice, ar = Sp ? Sp.toStringTag : void 0, Rs = function() {
|
|
try {
|
|
var m = Eu(Object, "defineProperty");
|
|
return m({}, "", {}), m;
|
|
} catch {
|
|
}
|
|
}(), ix = Ms ? Ms.isBuffer : void 0, kp = Math.max, sx = Date.now, Cp = Eu(ft, "Map"), Yo = Eu(Object, "create"), ax = /* @__PURE__ */ function() {
|
|
function m() {
|
|
}
|
|
return function(x) {
|
|
if (!ur(x))
|
|
return {};
|
|
if (wp)
|
|
return wp(x);
|
|
m.prototype = x;
|
|
var T = new m();
|
|
return m.prototype = void 0, T;
|
|
};
|
|
}();
|
|
function lr(m) {
|
|
var x = -1, T = m == null ? 0 : m.length;
|
|
for (this.clear(); ++x < T; ) {
|
|
var V = m[x];
|
|
this.set(V[0], V[1]);
|
|
}
|
|
}
|
|
function lx() {
|
|
this.__data__ = Yo ? Yo(null) : {}, this.size = 0;
|
|
}
|
|
function ux(m) {
|
|
var x = this.has(m) && delete this.__data__[m];
|
|
return this.size -= x ? 1 : 0, x;
|
|
}
|
|
function cx(m) {
|
|
var x = this.__data__;
|
|
if (Yo) {
|
|
var T = x[m];
|
|
return T === r ? void 0 : T;
|
|
}
|
|
return Dn.call(x, m) ? x[m] : void 0;
|
|
}
|
|
function dx(m) {
|
|
var x = this.__data__;
|
|
return Yo ? x[m] !== void 0 : Dn.call(x, m);
|
|
}
|
|
function fx(m, x) {
|
|
var T = this.__data__;
|
|
return this.size += this.has(m) ? 0 : 1, T[m] = Yo && x === void 0 ? r : x, this;
|
|
}
|
|
lr.prototype.clear = lx, lr.prototype.delete = ux, lr.prototype.get = cx, lr.prototype.has = dx, lr.prototype.set = fx;
|
|
function hn(m) {
|
|
var x = -1, T = m == null ? 0 : m.length;
|
|
for (this.clear(); ++x < T; ) {
|
|
var V = m[x];
|
|
this.set(V[0], V[1]);
|
|
}
|
|
}
|
|
function hx() {
|
|
this.__data__ = [], this.size = 0;
|
|
}
|
|
function px(m) {
|
|
var x = this.__data__, T = Ds(x, m);
|
|
if (T < 0)
|
|
return !1;
|
|
var V = x.length - 1;
|
|
return T == V ? x.pop() : ox.call(x, T, 1), --this.size, !0;
|
|
}
|
|
function mx(m) {
|
|
var x = this.__data__, T = Ds(x, m);
|
|
return T < 0 ? void 0 : x[T][1];
|
|
}
|
|
function gx(m) {
|
|
return Ds(this.__data__, m) > -1;
|
|
}
|
|
function yx(m, x) {
|
|
var T = this.__data__, V = Ds(T, m);
|
|
return V < 0 ? (++this.size, T.push([m, x])) : T[V][1] = x, this;
|
|
}
|
|
hn.prototype.clear = hx, hn.prototype.delete = px, hn.prototype.get = mx, hn.prototype.has = gx, hn.prototype.set = yx;
|
|
function jr(m) {
|
|
var x = -1, T = m == null ? 0 : m.length;
|
|
for (this.clear(); ++x < T; ) {
|
|
var V = m[x];
|
|
this.set(V[0], V[1]);
|
|
}
|
|
}
|
|
function vx() {
|
|
this.size = 0, this.__data__ = {
|
|
hash: new lr(),
|
|
map: new (Cp || hn)(),
|
|
string: new lr()
|
|
};
|
|
}
|
|
function Sx(m) {
|
|
var x = Ls(this, m).delete(m);
|
|
return this.size -= x ? 1 : 0, x;
|
|
}
|
|
function bx(m) {
|
|
return Ls(this, m).get(m);
|
|
}
|
|
function xx(m) {
|
|
return Ls(this, m).has(m);
|
|
}
|
|
function wx(m, x) {
|
|
var T = Ls(this, m), V = T.size;
|
|
return T.set(m, x), this.size += T.size == V ? 0 : 1, this;
|
|
}
|
|
jr.prototype.clear = vx, jr.prototype.delete = Sx, jr.prototype.get = bx, jr.prototype.has = xx, jr.prototype.set = wx;
|
|
function Wr(m) {
|
|
var x = this.__data__ = new hn(m);
|
|
this.size = x.size;
|
|
}
|
|
function kx() {
|
|
this.__data__ = new hn(), this.size = 0;
|
|
}
|
|
function Cx(m) {
|
|
var x = this.__data__, T = x.delete(m);
|
|
return this.size = x.size, T;
|
|
}
|
|
function Tx(m) {
|
|
return this.__data__.get(m);
|
|
}
|
|
function Ex(m) {
|
|
return this.__data__.has(m);
|
|
}
|
|
function Px(m, x) {
|
|
var T = this.__data__;
|
|
if (T instanceof hn) {
|
|
var V = T.__data__;
|
|
if (!Cp || V.length < n - 1)
|
|
return V.push([m, x]), this.size = ++T.size, this;
|
|
T = this.__data__ = new jr(V);
|
|
}
|
|
return T.set(m, x), this.size = T.size, this;
|
|
}
|
|
Wr.prototype.clear = kx, Wr.prototype.delete = Cx, Wr.prototype.get = Tx, Wr.prototype.has = Ex, Wr.prototype.set = Px;
|
|
function Ax(m, x) {
|
|
var T = zu(m), V = !T && Au(m), X = !T && !V && zp(m), re = !T && !V && !X && Rp(m), fe = T || V || X || re, Y = fe ? Gb(m.length, String) : [], he = Y.length;
|
|
for (var Bt in m)
|
|
fe && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
(Bt == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
X && (Bt == "offset" || Bt == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
re && (Bt == "buffer" || Bt == "byteLength" || Bt == "byteOffset") || // Skip index properties.
|
|
Pp(Bt, he)) || Y.push(Bt);
|
|
return Y;
|
|
}
|
|
function Cu(m, x, T) {
|
|
(T !== void 0 && !Bs(m[x], T) || T === void 0 && !(x in m)) && Tu(m, x, T);
|
|
}
|
|
function zx(m, x, T) {
|
|
var V = m[x];
|
|
(!(Dn.call(m, x) && Bs(V, T)) || T === void 0 && !(x in m)) && Tu(m, x, T);
|
|
}
|
|
function Ds(m, x) {
|
|
for (var T = m.length; T--; )
|
|
if (Bs(m[T][0], x))
|
|
return T;
|
|
return -1;
|
|
}
|
|
function Tu(m, x, T) {
|
|
x == "__proto__" && Rs ? Rs(m, x, {
|
|
configurable: !0,
|
|
enumerable: !0,
|
|
value: T,
|
|
writable: !0
|
|
}) : m[x] = T;
|
|
}
|
|
var Mx = Hx();
|
|
function Fs(m) {
|
|
return m == null ? m === void 0 ? E : p : ar && ar in Object(m) ? Kx(m) : Qx(m);
|
|
}
|
|
function Tp(m) {
|
|
return Zo(m) && Fs(m) == a;
|
|
}
|
|
function Rx(m) {
|
|
if (!ur(m) || Zx(m))
|
|
return !1;
|
|
var x = Ru(m) ? nx : $;
|
|
return x.test(ew(m));
|
|
}
|
|
function Dx(m) {
|
|
return Zo(m) && Mp(m.length) && !!ee[Fs(m)];
|
|
}
|
|
function Fx(m) {
|
|
if (!ur(m))
|
|
return Gx(m);
|
|
var x = Ap(m), T = [];
|
|
for (var V in m)
|
|
V == "constructor" && (x || !Dn.call(m, V)) || T.push(V);
|
|
return T;
|
|
}
|
|
function Ep(m, x, T, V, X) {
|
|
m !== x && Mx(x, function(re, fe) {
|
|
if (X || (X = new Wr()), ur(re))
|
|
Lx(m, x, fe, T, Ep, V, X);
|
|
else {
|
|
var Y = V ? V(Pu(m, fe), re, fe + "", m, x, X) : void 0;
|
|
Y === void 0 && (Y = re), Cu(m, fe, Y);
|
|
}
|
|
}, Dp);
|
|
}
|
|
function Lx(m, x, T, V, X, re, fe) {
|
|
var Y = Pu(m, T), he = Pu(x, T), Bt = fe.get(he);
|
|
if (Bt) {
|
|
Cu(m, T, Bt);
|
|
return;
|
|
}
|
|
var ht = re ? re(Y, he, T + "", m, x, fe) : void 0, Go = ht === void 0;
|
|
if (Go) {
|
|
var Du = zu(he), Fu = !Du && zp(he), Lp = !Du && !Fu && Rp(he);
|
|
ht = he, Du || Fu || Lp ? zu(Y) ? ht = Y : tw(Y) ? ht = jx(Y) : Fu ? (Go = !1, ht = Ix(he)) : Lp ? (Go = !1, ht = Nx(he)) : ht = [] : nw(he) || Au(he) ? (ht = Y, Au(Y) ? ht = rw(Y) : (!ur(Y) || Ru(Y)) && (ht = Xx(he))) : Go = !1;
|
|
}
|
|
Go && (fe.set(he, ht), X(ht, he, V, re, fe), fe.delete(he)), Cu(m, T, ht);
|
|
}
|
|
function Bx(m, x) {
|
|
return _x(Jx(m, x, Fp), m + "");
|
|
}
|
|
var Vx = Rs ? function(m, x) {
|
|
return Rs(m, "toString", {
|
|
configurable: !0,
|
|
enumerable: !1,
|
|
value: iw(x),
|
|
writable: !0
|
|
});
|
|
} : Fp;
|
|
function Ix(m, x) {
|
|
return m.slice();
|
|
}
|
|
function Ox(m) {
|
|
var x = new m.constructor(m.byteLength);
|
|
return new bp(x).set(new bp(m)), x;
|
|
}
|
|
function Nx(m, x) {
|
|
var T = Ox(m.buffer);
|
|
return new m.constructor(T, m.byteOffset, m.length);
|
|
}
|
|
function jx(m, x) {
|
|
var T = -1, V = m.length;
|
|
for (x || (x = Array(V)); ++T < V; )
|
|
x[T] = m[T];
|
|
return x;
|
|
}
|
|
function Wx(m, x, T, V) {
|
|
var X = !T;
|
|
T || (T = {});
|
|
for (var re = -1, fe = x.length; ++re < fe; ) {
|
|
var Y = x[re], he = void 0;
|
|
he === void 0 && (he = m[Y]), X ? Tu(T, Y, he) : zx(T, Y, he);
|
|
}
|
|
return T;
|
|
}
|
|
function Ux(m) {
|
|
return Bx(function(x, T) {
|
|
var V = -1, X = T.length, re = X > 1 ? T[X - 1] : void 0, fe = X > 2 ? T[2] : void 0;
|
|
for (re = m.length > 3 && typeof re == "function" ? (X--, re) : void 0, fe && qx(T[0], T[1], fe) && (re = X < 3 ? void 0 : re, X = 1), x = Object(x); ++V < X; ) {
|
|
var Y = T[V];
|
|
Y && m(x, Y, V, re);
|
|
}
|
|
return x;
|
|
});
|
|
}
|
|
function Hx(m) {
|
|
return function(x, T, V) {
|
|
for (var X = -1, re = Object(x), fe = V(x), Y = fe.length; Y--; ) {
|
|
var he = fe[++X];
|
|
if (T(re[he], he, re) === !1)
|
|
break;
|
|
}
|
|
return x;
|
|
};
|
|
}
|
|
function Ls(m, x) {
|
|
var T = m.__data__;
|
|
return Yx(x) ? T[typeof x == "string" ? "string" : "hash"] : T.map;
|
|
}
|
|
function Eu(m, x) {
|
|
var T = Jb(m, x);
|
|
return Rx(T) ? T : void 0;
|
|
}
|
|
function Kx(m) {
|
|
var x = Dn.call(m, ar), T = m[ar];
|
|
try {
|
|
m[ar] = void 0;
|
|
var V = !0;
|
|
} catch {
|
|
}
|
|
var X = vp.call(m);
|
|
return V && (x ? m[ar] = T : delete m[ar]), X;
|
|
}
|
|
function Xx(m) {
|
|
return typeof m.constructor == "function" && !Ap(m) ? ax(xp(m)) : {};
|
|
}
|
|
function Pp(m, x) {
|
|
var T = typeof m;
|
|
return x = x ?? s, !!x && (T == "number" || T != "symbol" && Se.test(m)) && m > -1 && m % 1 == 0 && m < x;
|
|
}
|
|
function qx(m, x, T) {
|
|
if (!ur(T))
|
|
return !1;
|
|
var V = typeof x;
|
|
return (V == "number" ? Mu(T) && Pp(x, T.length) : V == "string" && x in T) ? Bs(T[x], m) : !1;
|
|
}
|
|
function Yx(m) {
|
|
var x = typeof m;
|
|
return x == "string" || x == "number" || x == "symbol" || x == "boolean" ? m !== "__proto__" : m === null;
|
|
}
|
|
function Zx(m) {
|
|
return !!yp && yp in m;
|
|
}
|
|
function Ap(m) {
|
|
var x = m && m.constructor, T = typeof x == "function" && x.prototype || As;
|
|
return m === T;
|
|
}
|
|
function Gx(m) {
|
|
var x = [];
|
|
if (m != null)
|
|
for (var T in Object(m))
|
|
x.push(T);
|
|
return x;
|
|
}
|
|
function Qx(m) {
|
|
return vp.call(m);
|
|
}
|
|
function Jx(m, x, T) {
|
|
return x = kp(x === void 0 ? m.length - 1 : x, 0), function() {
|
|
for (var V = arguments, X = -1, re = kp(V.length - x, 0), fe = Array(re); ++X < re; )
|
|
fe[X] = V[x + X];
|
|
X = -1;
|
|
for (var Y = Array(x + 1); ++X < x; )
|
|
Y[X] = V[X];
|
|
return Y[x] = T(fe), Zb(m, this, Y);
|
|
};
|
|
}
|
|
function Pu(m, x) {
|
|
if (!(x === "constructor" && typeof m[x] == "function") && x != "__proto__")
|
|
return m[x];
|
|
}
|
|
var _x = $x(Vx);
|
|
function $x(m) {
|
|
var x = 0, T = 0;
|
|
return function() {
|
|
var V = sx(), X = i - (V - T);
|
|
if (T = V, X > 0) {
|
|
if (++x >= o)
|
|
return arguments[0];
|
|
} else
|
|
x = 0;
|
|
return m.apply(void 0, arguments);
|
|
};
|
|
}
|
|
function ew(m) {
|
|
if (m != null) {
|
|
try {
|
|
return zs.call(m);
|
|
} catch {
|
|
}
|
|
try {
|
|
return m + "";
|
|
} catch {
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
function Bs(m, x) {
|
|
return m === x || m !== m && x !== x;
|
|
}
|
|
var Au = Tp(/* @__PURE__ */ function() {
|
|
return arguments;
|
|
}()) ? Tp : function(m) {
|
|
return Zo(m) && Dn.call(m, "callee") && !rx.call(m, "callee");
|
|
}, zu = Array.isArray;
|
|
function Mu(m) {
|
|
return m != null && Mp(m.length) && !Ru(m);
|
|
}
|
|
function tw(m) {
|
|
return Zo(m) && Mu(m);
|
|
}
|
|
var zp = ix || sw;
|
|
function Ru(m) {
|
|
if (!ur(m))
|
|
return !1;
|
|
var x = Fs(m);
|
|
return x == y || x == v || x == u || x == g;
|
|
}
|
|
function Mp(m) {
|
|
return typeof m == "number" && m > -1 && m % 1 == 0 && m <= s;
|
|
}
|
|
function ur(m) {
|
|
var x = typeof m;
|
|
return m != null && (x == "object" || x == "function");
|
|
}
|
|
function Zo(m) {
|
|
return m != null && typeof m == "object";
|
|
}
|
|
function nw(m) {
|
|
if (!Zo(m) || Fs(m) != h)
|
|
return !1;
|
|
var x = xp(m);
|
|
if (x === null)
|
|
return !0;
|
|
var T = Dn.call(x, "constructor") && x.constructor;
|
|
return typeof T == "function" && T instanceof T && zs.call(T) == tx;
|
|
}
|
|
var Rp = gp ? Qb(gp) : Dx;
|
|
function rw(m) {
|
|
return Wx(m, Dp(m));
|
|
}
|
|
function Dp(m) {
|
|
return Mu(m) ? Ax(m) : Fx(m);
|
|
}
|
|
var ow = Ux(function(m, x, T, V) {
|
|
Ep(m, x, T, V);
|
|
});
|
|
function iw(m) {
|
|
return function() {
|
|
return m;
|
|
};
|
|
}
|
|
function Fp(m) {
|
|
return m;
|
|
}
|
|
function sw() {
|
|
return !1;
|
|
}
|
|
e.exports = ow;
|
|
})(vl, vl.exports);
|
|
var GC = vl.exports;
|
|
const At = /* @__PURE__ */ xf(GC);
|
|
function QC(e, t = []) {
|
|
const n = C.useRef(e);
|
|
return C.useEffect(() => {
|
|
n.current = e;
|
|
}), C.useCallback((...r) => n.current?.(...r), t);
|
|
}
|
|
const Bd = globalThis?.document ? C.useLayoutEffect : C.useEffect, Zm = (e, t) => {
|
|
const n = C.useRef(!1), r = C.useRef(!1);
|
|
C.useEffect(() => {
|
|
if (n.current && r.current)
|
|
return e();
|
|
r.current = !0;
|
|
}, t), C.useEffect(() => (n.current = !0, () => {
|
|
n.current = !1;
|
|
}), []);
|
|
};
|
|
function JC(e, t) {
|
|
const n = QC(e);
|
|
C.useEffect(() => {
|
|
if (t == null)
|
|
return;
|
|
let r = null;
|
|
return r = window.setTimeout(() => {
|
|
n();
|
|
}, t), () => {
|
|
r && window.clearTimeout(r);
|
|
};
|
|
}, [t, n]);
|
|
}
|
|
const Ee = {
|
|
open: (e, t) => `${e}[data-open], ${e}[open], ${e}[data-state=open] ${t}`,
|
|
closed: (e, t) => `${e}[data-closed], ${e}[data-state=closed] ${t}`,
|
|
hover: (e, t) => `${e}:hover ${t}, ${e}[data-hover] ${t}`,
|
|
focus: (e, t) => `${e}:focus ${t}, ${e}[data-focus] ${t}`,
|
|
focusVisible: (e, t) => `${e}:focus-visible ${t}`,
|
|
focusWithin: (e, t) => `${e}:focus-within ${t}`,
|
|
active: (e, t) => `${e}:active ${t}, ${e}[data-active] ${t}`,
|
|
disabled: (e, t) => `${e}:disabled ${t}, ${e}[data-disabled] ${t}`,
|
|
invalid: (e, t) => `${e}:invalid ${t}, ${e}[data-invalid] ${t}`,
|
|
checked: (e, t) => `${e}:checked ${t}, ${e}[data-checked] ${t}`,
|
|
placeholderShown: (e, t) => `${e}:placeholder-shown ${t}`
|
|
}, Qt = (e) => aS((t) => e(t, "&"), "[role=group]", "[data-group]", ".group"), pn = (e) => aS((t) => e(t, "~ &"), "[data-peer]", ".peer"), aS = (e, ...t) => t.map(e).join(", "), Jl = {
|
|
/**
|
|
* Styles for CSS selector `&:hover`
|
|
*/
|
|
_hover: "&:hover, &[data-hover]",
|
|
/**
|
|
* Styles for CSS Selector `&:active`
|
|
*/
|
|
_active: "&:active, &[data-active]",
|
|
/**
|
|
* Styles for CSS selector `&:focus`
|
|
*
|
|
*/
|
|
_focus: "&:focus, &[data-focus]",
|
|
/**
|
|
* Styles for the highlighted state.
|
|
*/
|
|
_highlighted: "&[data-highlighted]",
|
|
/**
|
|
* Styles to apply when a child of this element has received focus
|
|
* - CSS Selector `&:focus-within`
|
|
*/
|
|
_focusWithin: "&:focus-within, &[data-focus-within]",
|
|
/**
|
|
* Styles to apply when this element has received focus via tabbing
|
|
* - CSS Selector `&:focus-visible`
|
|
*/
|
|
_focusVisible: "&:focus-visible, &[data-focus-visible]",
|
|
/**
|
|
* Styles to apply when this element is disabled. The passed styles are applied to these CSS selectors:
|
|
* - `&[aria-disabled=true]`
|
|
* - `&:disabled`
|
|
* - `&[data-disabled]`
|
|
* - `&[disabled]`
|
|
*/
|
|
_disabled: "&:disabled, &[disabled], &[aria-disabled=true], &[data-disabled]",
|
|
/**
|
|
* Styles for CSS Selector `&:readonly`
|
|
*/
|
|
_readOnly: "&[aria-readonly=true], &[readonly], &[data-readonly]",
|
|
/**
|
|
* Styles for CSS selector `&::before`
|
|
*
|
|
* NOTE:When using this, ensure the `content` is wrapped in a backtick.
|
|
* @example
|
|
* ```jsx
|
|
* <Box _before={{content:`""` }}/>
|
|
* ```
|
|
*/
|
|
_before: "&::before",
|
|
/**
|
|
* Styles for CSS selector `&::after`
|
|
*
|
|
* NOTE:When using this, ensure the `content` is wrapped in a backtick.
|
|
* @example
|
|
* ```jsx
|
|
* <Box _after={{content:`""` }}/>
|
|
* ```
|
|
*/
|
|
_after: "&::after",
|
|
/**
|
|
* Styles for CSS selector `&:empty`
|
|
*/
|
|
_empty: "&:empty, &[data-empty]",
|
|
/**
|
|
* Styles to apply when the ARIA attribute `aria-expanded` is `true`
|
|
* - CSS selector `&[aria-expanded=true]`
|
|
*/
|
|
_expanded: "&[aria-expanded=true], &[data-expanded], &[data-state=expanded]",
|
|
/**
|
|
* Styles to apply when the ARIA attribute `aria-checked` is `true`
|
|
* - CSS selector `&[aria-checked=true]`
|
|
*/
|
|
_checked: "&[aria-checked=true], &[data-checked], &[data-state=checked]",
|
|
/**
|
|
* Styles to apply when the ARIA attribute `aria-grabbed` is `true`
|
|
* - CSS selector `&[aria-grabbed=true]`
|
|
*/
|
|
_grabbed: "&[aria-grabbed=true], &[data-grabbed]",
|
|
/**
|
|
* Styles for CSS Selector `&[aria-pressed=true]`
|
|
* Typically used to style the current "pressed" state of toggle buttons
|
|
*/
|
|
_pressed: "&[aria-pressed=true], &[data-pressed]",
|
|
/**
|
|
* Styles to apply when the ARIA attribute `aria-invalid` is `true`
|
|
* - CSS selector `&[aria-invalid=true]`
|
|
*/
|
|
_invalid: "&[aria-invalid=true], &[data-invalid]",
|
|
/**
|
|
* Styles for the valid state
|
|
* - CSS selector `&[data-valid], &[data-state=valid]`
|
|
*/
|
|
_valid: "&[data-valid], &[data-state=valid]",
|
|
/**
|
|
* Styles for CSS Selector `&[aria-busy=true]` or `&[data-loading=true]`.
|
|
* Useful for styling loading states
|
|
*/
|
|
_loading: "&[data-loading], &[aria-busy=true]",
|
|
/**
|
|
* Styles to apply when the ARIA attribute `aria-selected` is `true`
|
|
*
|
|
* - CSS selector `&[aria-selected=true]`
|
|
*/
|
|
_selected: "&[aria-selected=true], &[data-selected]",
|
|
/**
|
|
* Styles for CSS Selector `[hidden=true]`
|
|
*/
|
|
_hidden: "&[hidden], &[data-hidden]",
|
|
/**
|
|
* Styles for CSS Selector `&:-webkit-autofill`
|
|
*/
|
|
_autofill: "&:-webkit-autofill",
|
|
/**
|
|
* Styles for CSS Selector `&:nth-child(even)`
|
|
*/
|
|
_even: "&:nth-of-type(even)",
|
|
/**
|
|
* Styles for CSS Selector `&:nth-child(odd)`
|
|
*/
|
|
_odd: "&:nth-of-type(odd)",
|
|
/**
|
|
* Styles for CSS Selector `&:first-of-type`
|
|
*/
|
|
_first: "&:first-of-type",
|
|
/**
|
|
* Styles for CSS selector `&::first-letter`
|
|
*
|
|
* NOTE: This selector is only applied for block-level elements and not preceded by an image or table.
|
|
* @example
|
|
* ```jsx
|
|
* <Text _firstLetter={{ textDecoration: 'underline' }}>Once upon a time</Text>
|
|
* ```
|
|
*/
|
|
_firstLetter: "&::first-letter",
|
|
/**
|
|
* Styles for CSS Selector `&:last-of-type`
|
|
*/
|
|
_last: "&:last-of-type",
|
|
/**
|
|
* Styles for CSS Selector `&:not(:first-of-type)`
|
|
*/
|
|
_notFirst: "&:not(:first-of-type)",
|
|
/**
|
|
* Styles for CSS Selector `&:not(:last-of-type)`
|
|
*/
|
|
_notLast: "&:not(:last-of-type)",
|
|
/**
|
|
* Styles for CSS Selector `&:visited`
|
|
*/
|
|
_visited: "&:visited",
|
|
/**
|
|
* Used to style the active link in a navigation
|
|
* Styles for CSS Selector `&[aria-current=page]`
|
|
*/
|
|
_activeLink: "&[aria-current=page]",
|
|
/**
|
|
* Used to style the current step within a process
|
|
* Styles for CSS Selector `&[aria-current=step]`
|
|
*/
|
|
_activeStep: "&[aria-current=step]",
|
|
/**
|
|
* Styles to apply when the ARIA attribute `aria-checked` is `mixed`
|
|
* - CSS selector `&[aria-checked=mixed]`
|
|
*/
|
|
_indeterminate: "&:indeterminate, &[aria-checked=mixed], &[data-indeterminate], &[data-state=indeterminate]",
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is open
|
|
*/
|
|
_groupOpen: Qt(Ee.open),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is closed
|
|
*/
|
|
_groupClosed: Qt(Ee.closed),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is hovered
|
|
*/
|
|
_groupHover: Qt(Ee.hover),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` is hovered
|
|
*/
|
|
_peerHover: pn(Ee.hover),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is focused
|
|
*/
|
|
_groupFocus: Qt(Ee.focus),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` is focused
|
|
*/
|
|
_peerFocus: pn(Ee.focus),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` has visible focus
|
|
*/
|
|
_groupFocusVisible: Qt(Ee.focusVisible),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer`or `data-peer` has visible focus
|
|
*/
|
|
_peerFocusVisible: pn(Ee.focusVisible),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is active
|
|
*/
|
|
_groupActive: Qt(Ee.active),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` is active
|
|
*/
|
|
_peerActive: pn(Ee.active),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is disabled
|
|
*/
|
|
_groupDisabled: Qt(Ee.disabled),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` is disabled
|
|
*/
|
|
_peerDisabled: pn(Ee.disabled),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is invalid
|
|
*/
|
|
_groupInvalid: Qt(Ee.invalid),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` is invalid
|
|
*/
|
|
_peerInvalid: pn(Ee.invalid),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` is checked
|
|
*/
|
|
_groupChecked: Qt(Ee.checked),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` is checked
|
|
*/
|
|
_peerChecked: pn(Ee.checked),
|
|
/**
|
|
* Styles to apply when a parent element with `.group`, `data-group` or `role=group` has focus within
|
|
*/
|
|
_groupFocusWithin: Qt(Ee.focusWithin),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` has focus within
|
|
*/
|
|
_peerFocusWithin: pn(Ee.focusWithin),
|
|
/**
|
|
* Styles to apply when a sibling element with `.peer` or `data-peer` has placeholder shown
|
|
*/
|
|
_peerPlaceholderShown: pn(Ee.placeholderShown),
|
|
/**
|
|
* Styles for CSS Selector `&::placeholder`.
|
|
*/
|
|
_placeholder: "&::placeholder, &[data-placeholder]",
|
|
/**
|
|
* Styles for CSS Selector `&:placeholder-shown`.
|
|
*/
|
|
_placeholderShown: "&:placeholder-shown, &[data-placeholder-shown]",
|
|
/**
|
|
* Styles for CSS Selector `&:fullscreen`.
|
|
*/
|
|
_fullScreen: "&:fullscreen, &[data-fullscreen]",
|
|
/**
|
|
* Styles for CSS Selector `&::selection`
|
|
*/
|
|
_selection: "&::selection",
|
|
/**
|
|
* Styles for CSS Selector `[dir=rtl] &`
|
|
* It is applied when a parent element or this element has `dir="rtl"`
|
|
*/
|
|
_rtl: "[dir=rtl] &, &[dir=rtl]",
|
|
/**
|
|
* Styles for CSS Selector `[dir=ltr] &`
|
|
* It is applied when a parent element or this element has `dir="ltr"`
|
|
*/
|
|
_ltr: "[dir=ltr] &, &[dir=ltr]",
|
|
/**
|
|
* Styles for CSS Selector `@media (prefers-color-scheme: dark)`
|
|
* It is used when the user has requested the system use a light or dark color theme.
|
|
*/
|
|
_mediaDark: "@media (prefers-color-scheme: dark)",
|
|
/**
|
|
* Styles for CSS Selector `@media (prefers-reduced-motion: reduce)`
|
|
* It is used when the user has requested the system to reduce the amount of animations.
|
|
*/
|
|
_mediaReduceMotion: "@media (prefers-reduced-motion: reduce)",
|
|
/**
|
|
* Styles for when `data-theme` is applied to any parent of
|
|
* this component or element.
|
|
*/
|
|
_dark: ".chakra-ui-dark &:not([data-theme]),[data-theme=dark] &:not([data-theme]),&[data-theme=dark]",
|
|
/**
|
|
* Styles for when `data-theme` is applied to any parent of
|
|
* this component or element.
|
|
*/
|
|
_light: ".chakra-ui-light &:not([data-theme]),[data-theme=light] &:not([data-theme]),&[data-theme=light]",
|
|
/**
|
|
* Styles for the CSS Selector `&[data-orientation=horizontal]`
|
|
*/
|
|
_horizontal: "&[data-orientation=horizontal]",
|
|
/**
|
|
* Styles for the CSS Selector `&[data-orientation=vertical]`
|
|
*/
|
|
_vertical: "&[data-orientation=vertical]",
|
|
/**
|
|
* Styles for the CSS Selector `&[data-open], &[open], &[data-state=open]`
|
|
*/
|
|
_open: "&[data-open], &[open], &[data-state=open]",
|
|
/**
|
|
* Styles for the CSS Selector `&[data-closed], &[data-state=closed]`
|
|
*/
|
|
_closed: "&[data-closed], &[data-state=closed]",
|
|
/**
|
|
* Styles for the CSS Selector `&[data-complete]`
|
|
*/
|
|
_complete: "&[data-complete]",
|
|
/**
|
|
* Styles for the CSS Selector `&[data-incomplete]`
|
|
*/
|
|
_incomplete: "&[data-incomplete]",
|
|
/**
|
|
* Styles for the CSS Selector `&[data-current]`
|
|
*/
|
|
_current: "&[data-current]"
|
|
}, lS = Object.keys(
|
|
Jl
|
|
), _C = (e) => /!(important)?$/.test(e), Gm = (e) => typeof e == "string" ? e.replace(/!(important)?$/, "").trim() : e, $C = (e, t) => (n) => {
|
|
const r = String(t), o = _C(r), i = Gm(r), s = e ? `${e}.${i}` : i;
|
|
let a = $e(n.__cssMap) && s in n.__cssMap ? n.__cssMap[s].varRef : t;
|
|
return a = Gm(a), o ? `${a} !important` : a;
|
|
};
|
|
function vh(e) {
|
|
const { scale: t, transform: n, compose: r } = e;
|
|
return (i, s) => {
|
|
const a = $C(t, i)(s);
|
|
let l = n?.(a, s) ?? a;
|
|
return r && (l = r(l, s)), l;
|
|
};
|
|
}
|
|
const ea = (...e) => (t) => e.reduce((n, r) => r(n), t);
|
|
function kt(e, t) {
|
|
return (n) => {
|
|
const r = { property: n, scale: e };
|
|
return r.transform = vh({
|
|
scale: e,
|
|
transform: t
|
|
}), r;
|
|
};
|
|
}
|
|
const eT = ({ rtl: e, ltr: t }) => (n) => n.direction === "rtl" ? e : t;
|
|
function tT(e) {
|
|
const { property: t, scale: n, transform: r } = e;
|
|
return {
|
|
scale: n,
|
|
property: eT(t),
|
|
transform: n ? vh({
|
|
scale: n,
|
|
compose: r
|
|
}) : r
|
|
};
|
|
}
|
|
const uS = [
|
|
"rotate(var(--chakra-rotate, 0))",
|
|
"scaleX(var(--chakra-scale-x, 1))",
|
|
"scaleY(var(--chakra-scale-y, 1))",
|
|
"skewX(var(--chakra-skew-x, 0))",
|
|
"skewY(var(--chakra-skew-y, 0))"
|
|
];
|
|
function nT() {
|
|
return [
|
|
"translateX(var(--chakra-translate-x, 0))",
|
|
"translateY(var(--chakra-translate-y, 0))",
|
|
...uS
|
|
].join(" ");
|
|
}
|
|
function rT() {
|
|
return [
|
|
"translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)",
|
|
...uS
|
|
].join(" ");
|
|
}
|
|
const oT = {
|
|
"--chakra-blur": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-brightness": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-contrast": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-grayscale": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-hue-rotate": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-invert": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-saturate": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-sepia": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-drop-shadow": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
filter: [
|
|
"var(--chakra-blur)",
|
|
"var(--chakra-brightness)",
|
|
"var(--chakra-contrast)",
|
|
"var(--chakra-grayscale)",
|
|
"var(--chakra-hue-rotate)",
|
|
"var(--chakra-invert)",
|
|
"var(--chakra-saturate)",
|
|
"var(--chakra-sepia)",
|
|
"var(--chakra-drop-shadow)"
|
|
].join(" ")
|
|
}, iT = {
|
|
backdropFilter: [
|
|
"var(--chakra-backdrop-blur)",
|
|
"var(--chakra-backdrop-brightness)",
|
|
"var(--chakra-backdrop-contrast)",
|
|
"var(--chakra-backdrop-grayscale)",
|
|
"var(--chakra-backdrop-hue-rotate)",
|
|
"var(--chakra-backdrop-invert)",
|
|
"var(--chakra-backdrop-opacity)",
|
|
"var(--chakra-backdrop-saturate)",
|
|
"var(--chakra-backdrop-sepia)"
|
|
].join(" "),
|
|
"--chakra-backdrop-blur": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-brightness": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-contrast": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-grayscale": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-hue-rotate": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-invert": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-opacity": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-saturate": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-backdrop-sepia": "var(--chakra-empty,/*!*/ /*!*/)"
|
|
};
|
|
function sT(e) {
|
|
return {
|
|
"--chakra-ring-offset-shadow": "var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)",
|
|
"--chakra-ring-shadow": "var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)",
|
|
"--chakra-ring-width": e,
|
|
boxShadow: [
|
|
"var(--chakra-ring-offset-shadow)",
|
|
"var(--chakra-ring-shadow)",
|
|
"var(--chakra-shadow, 0 0 #0000)"
|
|
].join(", ")
|
|
};
|
|
}
|
|
const aT = {
|
|
"row-reverse": {
|
|
space: "--chakra-space-x-reverse",
|
|
divide: "--chakra-divide-x-reverse"
|
|
},
|
|
"column-reverse": {
|
|
space: "--chakra-space-y-reverse",
|
|
divide: "--chakra-divide-y-reverse"
|
|
}
|
|
}, Vd = {
|
|
"to-t": "to top",
|
|
"to-tr": "to top right",
|
|
"to-r": "to right",
|
|
"to-br": "to bottom right",
|
|
"to-b": "to bottom",
|
|
"to-bl": "to bottom left",
|
|
"to-l": "to left",
|
|
"to-tl": "to top left"
|
|
}, lT = new Set(Object.values(Vd)), Id = /* @__PURE__ */ new Set([
|
|
"none",
|
|
"-moz-initial",
|
|
"inherit",
|
|
"initial",
|
|
"revert",
|
|
"unset"
|
|
]), uT = (e) => e.trim();
|
|
function cT(e, t) {
|
|
if (e == null || Id.has(e))
|
|
return e;
|
|
if (!(Od(e) || Id.has(e)))
|
|
return `url('${e}')`;
|
|
const o = /(^[a-z-A-Z]+)\((.*)\)/g.exec(e), i = o?.[1], s = o?.[2];
|
|
if (!i || !s)
|
|
return e;
|
|
const a = i.includes("-gradient") ? i : `${i}-gradient`, [l, ...u] = s.split(",").map(uT).filter(Boolean);
|
|
if (u?.length === 0)
|
|
return e;
|
|
const c = l in Vd ? Vd[l] : l;
|
|
u.unshift(c);
|
|
const d = u.map((f) => {
|
|
if (lT.has(f))
|
|
return f;
|
|
const y = f.indexOf(" "), [v, S] = y !== -1 ? [f.substr(0, y), f.substr(y + 1)] : [f], k = Od(S) ? S : S && S.split(" "), p = `colors.${v}`, h = p in t.__cssMap ? t.__cssMap[p].varRef : v;
|
|
return k ? [
|
|
h,
|
|
...Array.isArray(k) ? k : [k]
|
|
].join(" ") : h;
|
|
});
|
|
return `${a}(${d.join(", ")})`;
|
|
}
|
|
const Od = (e) => typeof e == "string" && e.includes("(") && e.includes(")"), dT = (e, t) => cT(e, t ?? {});
|
|
function fT(e) {
|
|
return /^var\(--.+\)$/.test(e);
|
|
}
|
|
const hT = (e) => {
|
|
const t = parseFloat(e.toString()), n = e.toString().replace(String(t), "");
|
|
return { unitless: !n, value: t, unit: n };
|
|
}, Jt = (e) => (t) => `${e}(${t})`, K = {
|
|
filter(e) {
|
|
return e !== "auto" ? e : oT;
|
|
},
|
|
backdropFilter(e) {
|
|
return e !== "auto" ? e : iT;
|
|
},
|
|
ring(e) {
|
|
return sT(K.px(e));
|
|
},
|
|
bgClip(e) {
|
|
return e === "text" ? { color: "transparent", backgroundClip: "text" } : { backgroundClip: e };
|
|
},
|
|
transform(e) {
|
|
return e === "auto" ? nT() : e === "auto-gpu" ? rT() : e;
|
|
},
|
|
vh(e) {
|
|
return e === "$100vh" ? "var(--chakra-vh)" : e;
|
|
},
|
|
px(e) {
|
|
if (e == null)
|
|
return e;
|
|
const { unitless: t } = hT(e);
|
|
return t || typeof e == "number" ? `${e}px` : e;
|
|
},
|
|
fraction(e) {
|
|
return typeof e != "number" || e > 1 ? e : `${e * 100}%`;
|
|
},
|
|
float(e, t) {
|
|
const n = { left: "right", right: "left" };
|
|
return t.direction === "rtl" ? n[e] : e;
|
|
},
|
|
degree(e) {
|
|
if (fT(e) || e == null)
|
|
return e;
|
|
const t = typeof e == "string" && !e.endsWith("deg");
|
|
return typeof e == "number" || t ? `${e}deg` : e;
|
|
},
|
|
gradient: dT,
|
|
blur: Jt("blur"),
|
|
opacity: Jt("opacity"),
|
|
brightness: Jt("brightness"),
|
|
contrast: Jt("contrast"),
|
|
dropShadow: Jt("drop-shadow"),
|
|
grayscale: Jt("grayscale"),
|
|
hueRotate: (e) => Jt("hue-rotate")(K.degree(e)),
|
|
invert: Jt("invert"),
|
|
saturate: Jt("saturate"),
|
|
sepia: Jt("sepia"),
|
|
bgImage(e) {
|
|
return e == null || Od(e) || Id.has(e) ? e : `url(${e})`;
|
|
},
|
|
outline(e) {
|
|
const t = String(e) === "0" || String(e) === "none";
|
|
return e !== null && t ? { outline: "2px solid transparent", outlineOffset: "2px" } : { outline: e };
|
|
},
|
|
flexDirection(e) {
|
|
const { space: t, divide: n } = aT[e] ?? {}, r = { flexDirection: e };
|
|
return t && (r[t] = 1), n && (r[n] = 1), r;
|
|
}
|
|
}, b = {
|
|
borderWidths: kt("borderWidths"),
|
|
borderStyles: kt("borderStyles"),
|
|
colors: kt("colors"),
|
|
borders: kt("borders"),
|
|
gradients: kt("gradients", K.gradient),
|
|
radii: kt("radii", K.px),
|
|
space: kt("space", ea(K.vh, K.px)),
|
|
spaceT: kt("space", ea(K.vh, K.px)),
|
|
degreeT(e) {
|
|
return { property: e, transform: K.degree };
|
|
},
|
|
prop(e, t, n) {
|
|
return {
|
|
property: e,
|
|
scale: t,
|
|
...t && {
|
|
transform: vh({ scale: t, transform: n })
|
|
}
|
|
};
|
|
},
|
|
propT(e, t) {
|
|
return { property: e, transform: t };
|
|
},
|
|
sizes: kt("sizes", ea(K.vh, K.px)),
|
|
sizesT: kt("sizes", ea(K.vh, K.fraction)),
|
|
shadows: kt("shadows"),
|
|
logical: tT,
|
|
blur: kt("blur", K.blur)
|
|
}, Ea = {
|
|
background: b.colors("background"),
|
|
backgroundColor: b.colors("backgroundColor"),
|
|
backgroundImage: b.gradients("backgroundImage"),
|
|
backgroundSize: !0,
|
|
backgroundPosition: !0,
|
|
backgroundRepeat: !0,
|
|
backgroundAttachment: !0,
|
|
backgroundClip: { transform: K.bgClip },
|
|
bgSize: b.prop("backgroundSize"),
|
|
bgPosition: b.prop("backgroundPosition"),
|
|
bg: b.colors("background"),
|
|
bgColor: b.colors("backgroundColor"),
|
|
bgPos: b.prop("backgroundPosition"),
|
|
bgRepeat: b.prop("backgroundRepeat"),
|
|
bgAttachment: b.prop("backgroundAttachment"),
|
|
bgGradient: b.gradients("backgroundImage"),
|
|
bgClip: { transform: K.bgClip }
|
|
};
|
|
Object.assign(Ea, {
|
|
bgImage: Ea.backgroundImage,
|
|
bgImg: Ea.backgroundImage
|
|
});
|
|
const Z = {
|
|
border: b.borders("border"),
|
|
borderWidth: b.borderWidths("borderWidth"),
|
|
borderStyle: b.borderStyles("borderStyle"),
|
|
borderColor: b.colors("borderColor"),
|
|
borderRadius: b.radii("borderRadius"),
|
|
borderTop: b.borders("borderTop"),
|
|
borderBlockStart: b.borders("borderBlockStart"),
|
|
borderTopLeftRadius: b.radii("borderTopLeftRadius"),
|
|
borderStartStartRadius: b.logical({
|
|
scale: "radii",
|
|
property: {
|
|
ltr: "borderTopLeftRadius",
|
|
rtl: "borderTopRightRadius"
|
|
}
|
|
}),
|
|
borderEndStartRadius: b.logical({
|
|
scale: "radii",
|
|
property: {
|
|
ltr: "borderBottomLeftRadius",
|
|
rtl: "borderBottomRightRadius"
|
|
}
|
|
}),
|
|
borderTopRightRadius: b.radii("borderTopRightRadius"),
|
|
borderStartEndRadius: b.logical({
|
|
scale: "radii",
|
|
property: {
|
|
ltr: "borderTopRightRadius",
|
|
rtl: "borderTopLeftRadius"
|
|
}
|
|
}),
|
|
borderEndEndRadius: b.logical({
|
|
scale: "radii",
|
|
property: {
|
|
ltr: "borderBottomRightRadius",
|
|
rtl: "borderBottomLeftRadius"
|
|
}
|
|
}),
|
|
borderRight: b.borders("borderRight"),
|
|
borderInlineEnd: b.borders("borderInlineEnd"),
|
|
borderBottom: b.borders("borderBottom"),
|
|
borderBlockEnd: b.borders("borderBlockEnd"),
|
|
borderBottomLeftRadius: b.radii("borderBottomLeftRadius"),
|
|
borderBottomRightRadius: b.radii("borderBottomRightRadius"),
|
|
borderLeft: b.borders("borderLeft"),
|
|
borderInlineStart: {
|
|
property: "borderInlineStart",
|
|
scale: "borders"
|
|
},
|
|
borderInlineStartRadius: b.logical({
|
|
scale: "radii",
|
|
property: {
|
|
ltr: ["borderTopLeftRadius", "borderBottomLeftRadius"],
|
|
rtl: ["borderTopRightRadius", "borderBottomRightRadius"]
|
|
}
|
|
}),
|
|
borderInlineEndRadius: b.logical({
|
|
scale: "radii",
|
|
property: {
|
|
ltr: ["borderTopRightRadius", "borderBottomRightRadius"],
|
|
rtl: ["borderTopLeftRadius", "borderBottomLeftRadius"]
|
|
}
|
|
}),
|
|
borderX: b.borders(["borderLeft", "borderRight"]),
|
|
borderInline: b.borders("borderInline"),
|
|
borderY: b.borders(["borderTop", "borderBottom"]),
|
|
borderBlock: b.borders("borderBlock"),
|
|
borderTopWidth: b.borderWidths("borderTopWidth"),
|
|
borderBlockStartWidth: b.borderWidths("borderBlockStartWidth"),
|
|
borderTopColor: b.colors("borderTopColor"),
|
|
borderBlockStartColor: b.colors("borderBlockStartColor"),
|
|
borderTopStyle: b.borderStyles("borderTopStyle"),
|
|
borderBlockStartStyle: b.borderStyles("borderBlockStartStyle"),
|
|
borderBottomWidth: b.borderWidths("borderBottomWidth"),
|
|
borderBlockEndWidth: b.borderWidths("borderBlockEndWidth"),
|
|
borderBottomColor: b.colors("borderBottomColor"),
|
|
borderBlockEndColor: b.colors("borderBlockEndColor"),
|
|
borderBottomStyle: b.borderStyles("borderBottomStyle"),
|
|
borderBlockEndStyle: b.borderStyles("borderBlockEndStyle"),
|
|
borderLeftWidth: b.borderWidths("borderLeftWidth"),
|
|
borderInlineStartWidth: b.borderWidths("borderInlineStartWidth"),
|
|
borderLeftColor: b.colors("borderLeftColor"),
|
|
borderInlineStartColor: b.colors("borderInlineStartColor"),
|
|
borderLeftStyle: b.borderStyles("borderLeftStyle"),
|
|
borderInlineStartStyle: b.borderStyles("borderInlineStartStyle"),
|
|
borderRightWidth: b.borderWidths("borderRightWidth"),
|
|
borderInlineEndWidth: b.borderWidths("borderInlineEndWidth"),
|
|
borderRightColor: b.colors("borderRightColor"),
|
|
borderInlineEndColor: b.colors("borderInlineEndColor"),
|
|
borderRightStyle: b.borderStyles("borderRightStyle"),
|
|
borderInlineEndStyle: b.borderStyles("borderInlineEndStyle"),
|
|
borderTopRadius: b.radii(["borderTopLeftRadius", "borderTopRightRadius"]),
|
|
borderBottomRadius: b.radii([
|
|
"borderBottomLeftRadius",
|
|
"borderBottomRightRadius"
|
|
]),
|
|
borderLeftRadius: b.radii(["borderTopLeftRadius", "borderBottomLeftRadius"]),
|
|
borderRightRadius: b.radii([
|
|
"borderTopRightRadius",
|
|
"borderBottomRightRadius"
|
|
])
|
|
};
|
|
Object.assign(Z, {
|
|
rounded: Z.borderRadius,
|
|
roundedTop: Z.borderTopRadius,
|
|
roundedTopLeft: Z.borderTopLeftRadius,
|
|
roundedTopRight: Z.borderTopRightRadius,
|
|
roundedTopStart: Z.borderStartStartRadius,
|
|
roundedTopEnd: Z.borderStartEndRadius,
|
|
roundedBottom: Z.borderBottomRadius,
|
|
roundedBottomLeft: Z.borderBottomLeftRadius,
|
|
roundedBottomRight: Z.borderBottomRightRadius,
|
|
roundedBottomStart: Z.borderEndStartRadius,
|
|
roundedBottomEnd: Z.borderEndEndRadius,
|
|
roundedLeft: Z.borderLeftRadius,
|
|
roundedRight: Z.borderRightRadius,
|
|
roundedStart: Z.borderInlineStartRadius,
|
|
roundedEnd: Z.borderInlineEndRadius,
|
|
borderStart: Z.borderInlineStart,
|
|
borderEnd: Z.borderInlineEnd,
|
|
borderTopStartRadius: Z.borderStartStartRadius,
|
|
borderTopEndRadius: Z.borderStartEndRadius,
|
|
borderBottomStartRadius: Z.borderEndStartRadius,
|
|
borderBottomEndRadius: Z.borderEndEndRadius,
|
|
borderStartRadius: Z.borderInlineStartRadius,
|
|
borderEndRadius: Z.borderInlineEndRadius,
|
|
borderStartWidth: Z.borderInlineStartWidth,
|
|
borderEndWidth: Z.borderInlineEndWidth,
|
|
borderStartColor: Z.borderInlineStartColor,
|
|
borderEndColor: Z.borderInlineEndColor,
|
|
borderStartStyle: Z.borderInlineStartStyle,
|
|
borderEndStyle: Z.borderInlineEndStyle
|
|
});
|
|
const pT = {
|
|
color: b.colors("color"),
|
|
textColor: b.colors("color"),
|
|
fill: b.colors("fill"),
|
|
stroke: b.colors("stroke"),
|
|
accentColor: b.colors("accentColor"),
|
|
textFillColor: b.colors("textFillColor")
|
|
}, Sl = {
|
|
alignItems: !0,
|
|
alignContent: !0,
|
|
justifyItems: !0,
|
|
justifyContent: !0,
|
|
flexWrap: !0,
|
|
flexDirection: { transform: K.flexDirection },
|
|
flex: !0,
|
|
flexFlow: !0,
|
|
flexGrow: !0,
|
|
flexShrink: !0,
|
|
flexBasis: b.sizes("flexBasis"),
|
|
justifySelf: !0,
|
|
alignSelf: !0,
|
|
order: !0,
|
|
placeItems: !0,
|
|
placeContent: !0,
|
|
placeSelf: !0,
|
|
gap: b.space("gap"),
|
|
rowGap: b.space("rowGap"),
|
|
columnGap: b.space("columnGap")
|
|
};
|
|
Object.assign(Sl, {
|
|
flexDir: Sl.flexDirection
|
|
});
|
|
const Ct = {
|
|
width: b.sizesT("width"),
|
|
inlineSize: b.sizesT("inlineSize"),
|
|
height: b.sizes("height"),
|
|
blockSize: b.sizes("blockSize"),
|
|
boxSize: b.sizes(["width", "height"]),
|
|
minWidth: b.sizes("minWidth"),
|
|
minInlineSize: b.sizes("minInlineSize"),
|
|
minHeight: b.sizes("minHeight"),
|
|
minBlockSize: b.sizes("minBlockSize"),
|
|
maxWidth: b.sizes("maxWidth"),
|
|
maxInlineSize: b.sizes("maxInlineSize"),
|
|
maxHeight: b.sizes("maxHeight"),
|
|
maxBlockSize: b.sizes("maxBlockSize"),
|
|
overflow: !0,
|
|
overflowX: !0,
|
|
overflowY: !0,
|
|
overscrollBehavior: !0,
|
|
overscrollBehaviorX: !0,
|
|
overscrollBehaviorY: !0,
|
|
display: !0,
|
|
aspectRatio: !0,
|
|
hideFrom: {
|
|
scale: "breakpoints",
|
|
transform: (e, t) => ({ [`@media screen and (min-width: ${t.__breakpoints?.get(e)?.minW ?? e})`]: { display: "none" } })
|
|
},
|
|
hideBelow: {
|
|
scale: "breakpoints",
|
|
transform: (e, t) => ({ [`@media screen and (max-width: ${t.__breakpoints?.get(e)?._minW ?? e})`]: { display: "none" } })
|
|
},
|
|
verticalAlign: !0,
|
|
boxSizing: !0,
|
|
boxDecorationBreak: !0,
|
|
float: b.propT("float", K.float),
|
|
objectFit: !0,
|
|
objectPosition: !0,
|
|
visibility: !0,
|
|
isolation: !0
|
|
};
|
|
Object.assign(Ct, {
|
|
w: Ct.width,
|
|
h: Ct.height,
|
|
minW: Ct.minWidth,
|
|
maxW: Ct.maxWidth,
|
|
minH: Ct.minHeight,
|
|
maxH: Ct.maxHeight,
|
|
overscroll: Ct.overscrollBehavior,
|
|
overscrollX: Ct.overscrollBehaviorX,
|
|
overscrollY: Ct.overscrollBehaviorY
|
|
});
|
|
const mT = {
|
|
filter: { transform: K.filter },
|
|
blur: b.blur("--chakra-blur"),
|
|
brightness: b.propT("--chakra-brightness", K.brightness),
|
|
contrast: b.propT("--chakra-contrast", K.contrast),
|
|
hueRotate: b.propT("--chakra-hue-rotate", K.hueRotate),
|
|
invert: b.propT("--chakra-invert", K.invert),
|
|
saturate: b.propT("--chakra-saturate", K.saturate),
|
|
dropShadow: b.propT("--chakra-drop-shadow", K.dropShadow),
|
|
backdropFilter: { transform: K.backdropFilter },
|
|
backdropBlur: b.blur("--chakra-backdrop-blur"),
|
|
backdropBrightness: b.propT(
|
|
"--chakra-backdrop-brightness",
|
|
K.brightness
|
|
),
|
|
backdropContrast: b.propT("--chakra-backdrop-contrast", K.contrast),
|
|
backdropHueRotate: b.propT(
|
|
"--chakra-backdrop-hue-rotate",
|
|
K.hueRotate
|
|
),
|
|
backdropInvert: b.propT("--chakra-backdrop-invert", K.invert),
|
|
backdropSaturate: b.propT("--chakra-backdrop-saturate", K.saturate)
|
|
}, gT = {
|
|
ring: { transform: K.ring },
|
|
ringColor: b.colors("--chakra-ring-color"),
|
|
ringOffset: b.prop("--chakra-ring-offset-width"),
|
|
ringOffsetColor: b.colors("--chakra-ring-offset-color"),
|
|
ringInset: b.prop("--chakra-ring-inset")
|
|
}, yT = {
|
|
appearance: !0,
|
|
cursor: !0,
|
|
resize: !0,
|
|
userSelect: !0,
|
|
pointerEvents: !0,
|
|
outline: { transform: K.outline },
|
|
outlineOffset: !0,
|
|
outlineColor: b.colors("outlineColor")
|
|
}, cS = {
|
|
gridGap: b.space("gridGap"),
|
|
gridColumnGap: b.space("gridColumnGap"),
|
|
gridRowGap: b.space("gridRowGap"),
|
|
gridColumn: !0,
|
|
gridRow: !0,
|
|
gridAutoFlow: !0,
|
|
gridAutoColumns: !0,
|
|
gridColumnStart: !0,
|
|
gridColumnEnd: !0,
|
|
gridRowStart: !0,
|
|
gridRowEnd: !0,
|
|
gridAutoRows: !0,
|
|
gridTemplate: !0,
|
|
gridTemplateColumns: !0,
|
|
gridTemplateRows: !0,
|
|
gridTemplateAreas: !0,
|
|
gridArea: !0
|
|
};
|
|
function vT(e, t, n, r) {
|
|
const o = typeof t == "string" ? t.split(".") : [t];
|
|
for (r = 0; r < o.length && e; r += 1)
|
|
e = e[o[r]];
|
|
return e === void 0 ? n : e;
|
|
}
|
|
const ST = (e) => {
|
|
const t = /* @__PURE__ */ new WeakMap();
|
|
return (r, o, i, s) => {
|
|
if (typeof r > "u")
|
|
return e(r, o, i);
|
|
t.has(r) || t.set(r, /* @__PURE__ */ new Map());
|
|
const a = t.get(r);
|
|
if (a.has(o))
|
|
return a.get(o);
|
|
const l = e(r, o, i, s);
|
|
return a.set(o, l), l;
|
|
};
|
|
}, bT = ST(vT), xT = {
|
|
border: "0px",
|
|
clip: "rect(0, 0, 0, 0)",
|
|
width: "1px",
|
|
height: "1px",
|
|
margin: "-1px",
|
|
padding: "0px",
|
|
overflow: "hidden",
|
|
whiteSpace: "nowrap",
|
|
position: "absolute"
|
|
}, wT = {
|
|
position: "static",
|
|
width: "auto",
|
|
height: "auto",
|
|
clip: "auto",
|
|
padding: "0",
|
|
margin: "0",
|
|
overflow: "visible",
|
|
whiteSpace: "normal"
|
|
}, sc = (e, t, n) => {
|
|
const r = {}, o = bT(e, t, {});
|
|
for (const i in o)
|
|
i in n && n[i] != null || (r[i] = o[i]);
|
|
return r;
|
|
}, kT = {
|
|
srOnly: {
|
|
transform(e) {
|
|
return e === !0 ? xT : e === "focusable" ? wT : {};
|
|
}
|
|
},
|
|
layerStyle: {
|
|
processResult: !0,
|
|
transform: (e, t, n) => sc(t, `layerStyles.${e}`, n)
|
|
},
|
|
textStyle: {
|
|
processResult: !0,
|
|
transform: (e, t, n) => sc(t, `textStyles.${e}`, n)
|
|
},
|
|
apply: {
|
|
processResult: !0,
|
|
transform: (e, t, n) => sc(t, e, n)
|
|
}
|
|
}, zi = {
|
|
position: !0,
|
|
pos: b.prop("position"),
|
|
zIndex: b.prop("zIndex", "zIndices"),
|
|
inset: b.spaceT("inset"),
|
|
insetX: b.spaceT(["left", "right"]),
|
|
insetInline: b.spaceT("insetInline"),
|
|
insetY: b.spaceT(["top", "bottom"]),
|
|
insetBlock: b.spaceT("insetBlock"),
|
|
top: b.spaceT("top"),
|
|
insetBlockStart: b.spaceT("insetBlockStart"),
|
|
bottom: b.spaceT("bottom"),
|
|
insetBlockEnd: b.spaceT("insetBlockEnd"),
|
|
left: b.spaceT("left"),
|
|
insetInlineStart: b.logical({
|
|
scale: "space",
|
|
property: { ltr: "left", rtl: "right" }
|
|
}),
|
|
right: b.spaceT("right"),
|
|
insetInlineEnd: b.logical({
|
|
scale: "space",
|
|
property: { ltr: "right", rtl: "left" }
|
|
})
|
|
};
|
|
Object.assign(zi, {
|
|
insetStart: zi.insetInlineStart,
|
|
insetEnd: zi.insetInlineEnd
|
|
});
|
|
const Nd = {
|
|
boxShadow: b.shadows("boxShadow"),
|
|
mixBlendMode: !0,
|
|
blendMode: b.prop("mixBlendMode"),
|
|
backgroundBlendMode: !0,
|
|
bgBlendMode: b.prop("backgroundBlendMode"),
|
|
opacity: !0
|
|
};
|
|
Object.assign(Nd, {
|
|
shadow: Nd.boxShadow
|
|
});
|
|
const ce = {
|
|
margin: b.spaceT("margin"),
|
|
marginTop: b.spaceT("marginTop"),
|
|
marginBlockStart: b.spaceT("marginBlockStart"),
|
|
marginRight: b.spaceT("marginRight"),
|
|
marginInlineEnd: b.spaceT("marginInlineEnd"),
|
|
marginBottom: b.spaceT("marginBottom"),
|
|
marginBlockEnd: b.spaceT("marginBlockEnd"),
|
|
marginLeft: b.spaceT("marginLeft"),
|
|
marginInlineStart: b.spaceT("marginInlineStart"),
|
|
marginX: b.spaceT(["marginInlineStart", "marginInlineEnd"]),
|
|
marginInline: b.spaceT("marginInline"),
|
|
marginY: b.spaceT(["marginTop", "marginBottom"]),
|
|
marginBlock: b.spaceT("marginBlock"),
|
|
padding: b.space("padding"),
|
|
paddingTop: b.space("paddingTop"),
|
|
paddingBlockStart: b.space("paddingBlockStart"),
|
|
paddingRight: b.space("paddingRight"),
|
|
paddingBottom: b.space("paddingBottom"),
|
|
paddingBlockEnd: b.space("paddingBlockEnd"),
|
|
paddingLeft: b.space("paddingLeft"),
|
|
paddingInlineStart: b.space("paddingInlineStart"),
|
|
paddingInlineEnd: b.space("paddingInlineEnd"),
|
|
paddingX: b.space(["paddingInlineStart", "paddingInlineEnd"]),
|
|
paddingInline: b.space("paddingInline"),
|
|
paddingY: b.space(["paddingTop", "paddingBottom"]),
|
|
paddingBlock: b.space("paddingBlock")
|
|
};
|
|
Object.assign(ce, {
|
|
m: ce.margin,
|
|
mt: ce.marginTop,
|
|
mr: ce.marginRight,
|
|
me: ce.marginInlineEnd,
|
|
marginEnd: ce.marginInlineEnd,
|
|
mb: ce.marginBottom,
|
|
ml: ce.marginLeft,
|
|
ms: ce.marginInlineStart,
|
|
marginStart: ce.marginInlineStart,
|
|
mx: ce.marginX,
|
|
my: ce.marginY,
|
|
p: ce.padding,
|
|
pt: ce.paddingTop,
|
|
py: ce.paddingY,
|
|
px: ce.paddingX,
|
|
pb: ce.paddingBottom,
|
|
pl: ce.paddingLeft,
|
|
ps: ce.paddingInlineStart,
|
|
paddingStart: ce.paddingInlineStart,
|
|
pr: ce.paddingRight,
|
|
pe: ce.paddingInlineEnd,
|
|
paddingEnd: ce.paddingInlineEnd
|
|
});
|
|
const CT = {
|
|
scrollBehavior: !0,
|
|
scrollSnapAlign: !0,
|
|
scrollSnapStop: !0,
|
|
scrollSnapType: !0,
|
|
// scroll margin
|
|
scrollMargin: b.spaceT("scrollMargin"),
|
|
scrollMarginTop: b.spaceT("scrollMarginTop"),
|
|
scrollMarginBottom: b.spaceT("scrollMarginBottom"),
|
|
scrollMarginLeft: b.spaceT("scrollMarginLeft"),
|
|
scrollMarginRight: b.spaceT("scrollMarginRight"),
|
|
scrollMarginX: b.spaceT(["scrollMarginLeft", "scrollMarginRight"]),
|
|
scrollMarginY: b.spaceT(["scrollMarginTop", "scrollMarginBottom"]),
|
|
// scroll padding
|
|
scrollPadding: b.spaceT("scrollPadding"),
|
|
scrollPaddingTop: b.spaceT("scrollPaddingTop"),
|
|
scrollPaddingBottom: b.spaceT("scrollPaddingBottom"),
|
|
scrollPaddingLeft: b.spaceT("scrollPaddingLeft"),
|
|
scrollPaddingRight: b.spaceT("scrollPaddingRight"),
|
|
scrollPaddingX: b.spaceT(["scrollPaddingLeft", "scrollPaddingRight"]),
|
|
scrollPaddingY: b.spaceT(["scrollPaddingTop", "scrollPaddingBottom"])
|
|
}, TT = {
|
|
fontFamily: b.prop("fontFamily", "fonts"),
|
|
fontSize: b.prop("fontSize", "fontSizes", K.px),
|
|
fontWeight: b.prop("fontWeight", "fontWeights"),
|
|
lineHeight: b.prop("lineHeight", "lineHeights"),
|
|
letterSpacing: b.prop("letterSpacing", "letterSpacings"),
|
|
textAlign: !0,
|
|
fontStyle: !0,
|
|
textIndent: !0,
|
|
wordBreak: !0,
|
|
overflowWrap: !0,
|
|
textOverflow: !0,
|
|
textTransform: !0,
|
|
whiteSpace: !0,
|
|
isTruncated: {
|
|
transform(e) {
|
|
if (e === !0)
|
|
return {
|
|
overflow: "hidden",
|
|
textOverflow: "ellipsis",
|
|
whiteSpace: "nowrap"
|
|
};
|
|
}
|
|
},
|
|
noOfLines: {
|
|
static: {
|
|
overflow: "hidden",
|
|
textOverflow: "ellipsis",
|
|
display: "-webkit-box",
|
|
WebkitBoxOrient: "vertical",
|
|
//@ts-ignore
|
|
WebkitLineClamp: "var(--chakra-line-clamp)"
|
|
},
|
|
property: "--chakra-line-clamp"
|
|
}
|
|
}, ET = {
|
|
textDecorationColor: b.colors("textDecorationColor"),
|
|
textDecoration: !0,
|
|
textDecor: { property: "textDecoration" },
|
|
textDecorationLine: !0,
|
|
textDecorationStyle: !0,
|
|
textDecorationThickness: !0,
|
|
textUnderlineOffset: !0,
|
|
textShadow: b.shadows("textShadow")
|
|
}, PT = {
|
|
clipPath: !0,
|
|
transform: b.propT("transform", K.transform),
|
|
transformOrigin: !0,
|
|
translateX: b.spaceT("--chakra-translate-x"),
|
|
translateY: b.spaceT("--chakra-translate-y"),
|
|
skewX: b.degreeT("--chakra-skew-x"),
|
|
skewY: b.degreeT("--chakra-skew-y"),
|
|
scaleX: b.prop("--chakra-scale-x"),
|
|
scaleY: b.prop("--chakra-scale-y"),
|
|
scale: b.prop(["--chakra-scale-x", "--chakra-scale-y"]),
|
|
rotate: b.degreeT("--chakra-rotate")
|
|
}, AT = {
|
|
listStyleType: !0,
|
|
listStylePosition: !0,
|
|
listStylePos: b.prop("listStylePosition"),
|
|
listStyleImage: !0,
|
|
listStyleImg: b.prop("listStyleImage")
|
|
}, zT = {
|
|
transition: !0,
|
|
transitionDelay: !0,
|
|
animation: !0,
|
|
willChange: !0,
|
|
transitionDuration: b.prop("transitionDuration", "transition.duration"),
|
|
transitionProperty: b.prop("transitionProperty", "transition.property"),
|
|
transitionTimingFunction: b.prop(
|
|
"transitionTimingFunction",
|
|
"transition.easing"
|
|
)
|
|
}, Sh = At(
|
|
{},
|
|
Ea,
|
|
Z,
|
|
pT,
|
|
Sl,
|
|
Ct,
|
|
mT,
|
|
gT,
|
|
yT,
|
|
cS,
|
|
kT,
|
|
zi,
|
|
Nd,
|
|
ce,
|
|
CT,
|
|
TT,
|
|
ET,
|
|
PT,
|
|
AT,
|
|
zT
|
|
);
|
|
Object.assign({}, ce, Ct, Sl, cS, zi);
|
|
const MT = [...Object.keys(Sh), ...lS], RT = { ...Sh, ...Jl }, DT = (e) => e in RT, FT = (e) => (t) => {
|
|
if (!t.__breakpoints)
|
|
return e;
|
|
const { isResponsive: n, toArrayValue: r, media: o } = t.__breakpoints, i = {};
|
|
for (const s in e) {
|
|
let a = sn(e[s], t);
|
|
if (a == null)
|
|
continue;
|
|
if (a = $e(a) && n(a) ? r(a) : a, !Array.isArray(a)) {
|
|
i[s] = a;
|
|
continue;
|
|
}
|
|
const l = a.slice(0, o.length).length;
|
|
for (let u = 0; u < l; u += 1) {
|
|
const c = o?.[u];
|
|
if (!c) {
|
|
i[s] = a[u];
|
|
continue;
|
|
}
|
|
i[c] = i[c] || {}, a[u] != null && (i[c][s] = a[u]);
|
|
}
|
|
}
|
|
return i;
|
|
};
|
|
function LT(e) {
|
|
const t = [];
|
|
let n = "", r = !1;
|
|
for (let o = 0; o < e.length; o++) {
|
|
const i = e[o];
|
|
i === "(" ? (r = !0, n += i) : i === ")" ? (r = !1, n += i) : i === "," && !r ? (t.push(n), n = "") : n += i;
|
|
}
|
|
return n = n.trim(), n && t.push(n), t;
|
|
}
|
|
function BT(e) {
|
|
return /^var\(--.+\)$/.test(e);
|
|
}
|
|
const VT = (e, t) => e.startsWith("--") && typeof t == "string" && !BT(t), IT = (e, t) => {
|
|
if (t == null)
|
|
return t;
|
|
const n = (s) => e.__cssMap?.[s]?.varRef, r = (s) => n(s) ?? s, [o, i] = LT(t);
|
|
return t = n(o) ?? r(i) ?? r(t), t;
|
|
};
|
|
function OT(e) {
|
|
const { configs: t = {}, pseudos: n = {}, theme: r } = e, o = (i, s = !1) => {
|
|
const a = sn(i, r), l = FT(a)(r);
|
|
let u = {};
|
|
for (let c in l) {
|
|
const d = l[c];
|
|
let f = sn(d, r);
|
|
c in n && (c = n[c]), VT(c, f) && (f = IT(r, f));
|
|
let y = t[c];
|
|
if (y === !0 && (y = { property: c }), $e(f)) {
|
|
u[c] = u[c] ?? {}, u[c] = At(
|
|
{},
|
|
u[c],
|
|
o(f, !0)
|
|
);
|
|
continue;
|
|
}
|
|
let v = y?.transform?.(f, r, a) ?? f;
|
|
v = y?.processResult ? o(v, !0) : v;
|
|
const S = sn(y?.property, r);
|
|
if (!s && y?.static) {
|
|
const k = sn(y.static, r);
|
|
u = At({}, u, k);
|
|
}
|
|
if (S && Array.isArray(S)) {
|
|
for (const k of S)
|
|
u[k] = v;
|
|
continue;
|
|
}
|
|
if (S) {
|
|
S === "&" && $e(v) ? u = At({}, u, v) : u[S] = v;
|
|
continue;
|
|
}
|
|
if ($e(v)) {
|
|
u = At({}, u, v);
|
|
continue;
|
|
}
|
|
u[c] = v;
|
|
}
|
|
return u;
|
|
};
|
|
return o;
|
|
}
|
|
const dS = (e) => (t) => OT({
|
|
theme: t,
|
|
pseudos: Jl,
|
|
configs: Sh
|
|
})(e);
|
|
function ae(e) {
|
|
return {
|
|
definePartsStyle(t) {
|
|
return t;
|
|
},
|
|
defineMultiStyleConfig(t) {
|
|
return { parts: e, ...t };
|
|
}
|
|
};
|
|
}
|
|
function NT(e, t) {
|
|
if (Array.isArray(e))
|
|
return e;
|
|
if ($e(e))
|
|
return t(e);
|
|
if (e != null)
|
|
return [e];
|
|
}
|
|
function jT(e, t) {
|
|
for (let n = t + 1; n < e.length; n++)
|
|
if (e[n] != null)
|
|
return n;
|
|
return -1;
|
|
}
|
|
function WT(e) {
|
|
const t = e.__breakpoints;
|
|
return function(r, o, i, s) {
|
|
if (!t)
|
|
return;
|
|
const a = {}, l = NT(i, t.toArrayValue);
|
|
if (!l)
|
|
return a;
|
|
const u = l.length, c = u === 1, d = !!r.parts;
|
|
for (let f = 0; f < u; f++) {
|
|
const y = t.details[f], v = t.details[jT(l, f)], S = hi(y.minW, v?._minW), k = sn(r[o]?.[l[f]], s);
|
|
if (k) {
|
|
if (d) {
|
|
r.parts?.forEach((p) => {
|
|
At(a, {
|
|
[p]: c ? k[p] : { [S]: k[p] }
|
|
});
|
|
});
|
|
continue;
|
|
}
|
|
if (!d) {
|
|
c ? At(a, k) : a[S] = k;
|
|
continue;
|
|
}
|
|
a[S] = k;
|
|
}
|
|
}
|
|
return a;
|
|
};
|
|
}
|
|
function UT(e) {
|
|
return (t) => {
|
|
const { variant: n, size: r, theme: o } = t, i = WT(o);
|
|
return At(
|
|
{},
|
|
sn(e.baseStyle ?? {}, t),
|
|
i(e, "sizes", r, t),
|
|
i(e, "variants", n, t)
|
|
);
|
|
};
|
|
}
|
|
function _l(e) {
|
|
return XC(e, ["styleConfig", "size", "variant", "colorScheme"]);
|
|
}
|
|
function fS(e) {
|
|
return $e(e) && e.reference ? e.reference : String(e);
|
|
}
|
|
const $l = (e, ...t) => t.map(fS).join(` ${e} `).replace(/calc/g, ""), Qm = (...e) => `calc(${$l("+", ...e)})`, Jm = (...e) => `calc(${$l("-", ...e)})`, jd = (...e) => `calc(${$l("*", ...e)})`, _m = (...e) => `calc(${$l("/", ...e)})`, $m = (e) => {
|
|
const t = fS(e);
|
|
return t != null && !Number.isNaN(parseFloat(t)) ? String(t).startsWith("-") ? String(t).slice(1) : `-${t}` : jd(t, -1);
|
|
}, vn = Object.assign(
|
|
(e) => ({
|
|
add: (...t) => vn(Qm(e, ...t)),
|
|
subtract: (...t) => vn(Jm(e, ...t)),
|
|
multiply: (...t) => vn(jd(e, ...t)),
|
|
divide: (...t) => vn(_m(e, ...t)),
|
|
negate: () => vn($m(e)),
|
|
toString: () => e.toString()
|
|
}),
|
|
{
|
|
add: Qm,
|
|
subtract: Jm,
|
|
multiply: jd,
|
|
divide: _m,
|
|
negate: $m
|
|
}
|
|
);
|
|
function HT(e, t = "-") {
|
|
return e.replace(/\s+/g, t);
|
|
}
|
|
function KT(e) {
|
|
const t = HT(e.toString());
|
|
return qT(XT(t));
|
|
}
|
|
function XT(e) {
|
|
return e.includes("\\.") ? e : !Number.isInteger(parseFloat(e.toString())) ? e.replace(".", "\\.") : e;
|
|
}
|
|
function qT(e) {
|
|
return e.replace(/[!-,/:-@[-^`{-~]/g, "\\$&");
|
|
}
|
|
function YT(e, t = "") {
|
|
return [t, e].filter(Boolean).join("-");
|
|
}
|
|
function ZT(e, t) {
|
|
return `var(${e}${t ? `, ${t}` : ""})`;
|
|
}
|
|
function GT(e, t = "") {
|
|
return KT(`--${YT(e, t)}`);
|
|
}
|
|
function j(e, t, n) {
|
|
const r = GT(e, n);
|
|
return {
|
|
variable: r,
|
|
reference: ZT(r, t)
|
|
};
|
|
}
|
|
function QT(e, t) {
|
|
const n = {};
|
|
for (const r of t) {
|
|
if (Array.isArray(r)) {
|
|
const [o, i] = r;
|
|
n[o] = j(`${e}-${o}`, i);
|
|
continue;
|
|
}
|
|
n[r] = j(`${e}-${r}`);
|
|
}
|
|
return n;
|
|
}
|
|
const JT = [
|
|
"colors",
|
|
"borders",
|
|
"borderWidths",
|
|
"borderStyles",
|
|
"fonts",
|
|
"fontSizes",
|
|
"fontWeights",
|
|
"gradients",
|
|
"letterSpacings",
|
|
"lineHeights",
|
|
"radii",
|
|
"space",
|
|
"shadows",
|
|
"sizes",
|
|
"zIndices",
|
|
"transition",
|
|
"blur",
|
|
"breakpoints"
|
|
];
|
|
function _T(e) {
|
|
return qC(e, JT);
|
|
}
|
|
function $T(e) {
|
|
return e.semanticTokens;
|
|
}
|
|
function eE(e) {
|
|
const { __cssMap: t, __cssVars: n, __breakpoints: r, ...o } = e;
|
|
return o;
|
|
}
|
|
function tE(e) {
|
|
const t = _T(e), n = $T(e), r = (i) => (
|
|
// @ts-ignore
|
|
lS.includes(i) || i === "default"
|
|
), o = {};
|
|
return Ym(t, (i, s) => {
|
|
i != null && (o[s.join(".")] = { isSemantic: !1, value: i });
|
|
}), Ym(
|
|
n,
|
|
(i, s) => {
|
|
i != null && (o[s.join(".")] = { isSemantic: !0, value: i });
|
|
},
|
|
{
|
|
stop: (i) => Object.keys(i).every(r)
|
|
}
|
|
), o;
|
|
}
|
|
function eg(e, t) {
|
|
return j(String(e).replace(/\./g, "-"), void 0, t);
|
|
}
|
|
function nE(e) {
|
|
const t = tE(e), n = e.config?.cssVarPrefix;
|
|
let r = {};
|
|
const o = {};
|
|
function i(s, a) {
|
|
const u = [String(s).split(".")[0], a].join(".");
|
|
if (!t[u])
|
|
return a;
|
|
const { reference: d } = eg(u, n);
|
|
return d;
|
|
}
|
|
for (const [s, a] of Object.entries(t)) {
|
|
const { isSemantic: l, value: u } = a, { variable: c, reference: d } = eg(s, n);
|
|
if (!l) {
|
|
if (s.startsWith("space")) {
|
|
const y = s.split("."), [v, ...S] = y, k = `${v}.-${S.join(".")}`, p = vn.negate(u), h = vn.negate(d);
|
|
o[k] = {
|
|
value: p,
|
|
var: c,
|
|
varRef: h
|
|
};
|
|
}
|
|
r[c] = u, o[s] = {
|
|
value: u,
|
|
var: c,
|
|
varRef: d
|
|
};
|
|
continue;
|
|
}
|
|
const f = $e(u) ? u : { default: u };
|
|
r = At(
|
|
r,
|
|
Object.entries(f).reduce(
|
|
(y, [v, S]) => {
|
|
if (!S)
|
|
return y;
|
|
const k = i(s, `${S}`);
|
|
if (v === "default")
|
|
return y[c] = k, y;
|
|
const p = Jl?.[v] ?? v;
|
|
return y[p] = { [c]: k }, y;
|
|
},
|
|
{}
|
|
)
|
|
), o[s] = {
|
|
value: d,
|
|
var: c,
|
|
varRef: d
|
|
};
|
|
}
|
|
return {
|
|
cssVars: r,
|
|
cssMap: o
|
|
};
|
|
}
|
|
function rE(e) {
|
|
const t = eE(e), {
|
|
/**
|
|
* This is more like a dictionary of tokens users will type `green.500`,
|
|
* and their equivalent css variable.
|
|
*/
|
|
cssMap: n,
|
|
/**
|
|
* The extracted css variables will be stored here, and used in
|
|
* the emotion's <Global/> component to attach variables to `:root`
|
|
*/
|
|
cssVars: r
|
|
} = nE(t);
|
|
return Object.assign(t, {
|
|
__cssVars: { ...{
|
|
"--chakra-ring-inset": "var(--chakra-empty,/*!*/ /*!*/)",
|
|
"--chakra-ring-offset-width": "0px",
|
|
"--chakra-ring-offset-color": "#fff",
|
|
"--chakra-ring-color": "rgba(66, 153, 225, 0.6)",
|
|
"--chakra-ring-offset-shadow": "0 0 #0000",
|
|
"--chakra-ring-shadow": "0 0 #0000",
|
|
"--chakra-space-x-reverse": "0",
|
|
"--chakra-space-y-reverse": "0"
|
|
}, ...r },
|
|
__cssMap: n,
|
|
__breakpoints: NC(t.breakpoints)
|
|
}), t;
|
|
}
|
|
function _(e, t = {}) {
|
|
let n = !1;
|
|
function r() {
|
|
if (!n) {
|
|
n = !0;
|
|
return;
|
|
}
|
|
throw new Error(
|
|
"[anatomy] .part(...) should only be called once. Did you mean to use .extend(...) ?"
|
|
);
|
|
}
|
|
function o(...c) {
|
|
r();
|
|
for (const d of c)
|
|
t[d] = l(d);
|
|
return _(e, t);
|
|
}
|
|
function i(...c) {
|
|
for (const d of c)
|
|
d in t || (t[d] = l(d));
|
|
return _(e, t);
|
|
}
|
|
function s() {
|
|
return Object.fromEntries(
|
|
Object.entries(t).map(([d, f]) => [d, f.selector])
|
|
);
|
|
}
|
|
function a() {
|
|
return Object.fromEntries(
|
|
Object.entries(t).map(([d, f]) => [d, f.className])
|
|
);
|
|
}
|
|
function l(c) {
|
|
const y = `chakra-${(["container", "root"].includes(c ?? "") ? [e] : [e, c]).filter(Boolean).join("__")}`;
|
|
return {
|
|
className: y,
|
|
selector: `.${y}`,
|
|
toString: () => c
|
|
};
|
|
}
|
|
return {
|
|
parts: o,
|
|
toPart: l,
|
|
extend: i,
|
|
selectors: s,
|
|
classnames: a,
|
|
get keys() {
|
|
return Object.keys(t);
|
|
},
|
|
__type: {}
|
|
};
|
|
}
|
|
const oE = _("accordion").parts(
|
|
"root",
|
|
"container",
|
|
"button",
|
|
"panel",
|
|
"icon"
|
|
), iE = _("alert").parts(
|
|
"title",
|
|
"description",
|
|
"container",
|
|
"icon",
|
|
"spinner"
|
|
), sE = _("avatar").parts(
|
|
"label",
|
|
"badge",
|
|
"container",
|
|
"excessLabel",
|
|
"group"
|
|
), aE = _("breadcrumb").parts(
|
|
"link",
|
|
"item",
|
|
"container",
|
|
"separator"
|
|
);
|
|
_("button").parts();
|
|
const lE = _("checkbox").parts(
|
|
"control",
|
|
"icon",
|
|
"container",
|
|
"label"
|
|
);
|
|
_("progress").parts(
|
|
"track",
|
|
"filledTrack",
|
|
"label"
|
|
);
|
|
const uE = _("drawer").parts(
|
|
"overlay",
|
|
"dialogContainer",
|
|
"dialog",
|
|
"header",
|
|
"closeButton",
|
|
"body",
|
|
"footer"
|
|
), cE = _("editable").parts(
|
|
"preview",
|
|
"input",
|
|
"textarea"
|
|
), dE = _("form").parts(
|
|
"container",
|
|
"requiredIndicator",
|
|
"helperText"
|
|
), fE = _("formError").parts("text", "icon"), hE = _("input").parts(
|
|
"addon",
|
|
"field",
|
|
"element",
|
|
"group"
|
|
), pE = _("list").parts("container", "item", "icon"), mE = _("menu").parts(
|
|
"button",
|
|
"list",
|
|
"item",
|
|
"groupTitle",
|
|
"icon",
|
|
"command",
|
|
"divider"
|
|
), gE = _("modal").parts(
|
|
"overlay",
|
|
"dialogContainer",
|
|
"dialog",
|
|
"header",
|
|
"closeButton",
|
|
"body",
|
|
"footer"
|
|
), yE = _("numberinput").parts(
|
|
"root",
|
|
"field",
|
|
"stepperGroup",
|
|
"stepper"
|
|
);
|
|
_("pininput").parts("field");
|
|
const vE = _("popover").parts(
|
|
"content",
|
|
"header",
|
|
"body",
|
|
"footer",
|
|
"popper",
|
|
"arrow",
|
|
"closeButton"
|
|
), SE = _("progress").parts(
|
|
"label",
|
|
"filledTrack",
|
|
"track"
|
|
), bE = _("radio").parts(
|
|
"container",
|
|
"control",
|
|
"label"
|
|
), xE = _("select").parts("field", "icon"), wE = _("slider").parts(
|
|
"container",
|
|
"track",
|
|
"thumb",
|
|
"filledTrack",
|
|
"mark"
|
|
), kE = _("stat").parts(
|
|
"container",
|
|
"label",
|
|
"helpText",
|
|
"number",
|
|
"icon"
|
|
), CE = _("switch").parts(
|
|
"container",
|
|
"track",
|
|
"thumb",
|
|
"label"
|
|
), TE = _("table").parts(
|
|
"table",
|
|
"thead",
|
|
"tbody",
|
|
"tr",
|
|
"th",
|
|
"td",
|
|
"tfoot",
|
|
"caption"
|
|
), EE = _("tabs").parts(
|
|
"root",
|
|
"tab",
|
|
"tablist",
|
|
"tabpanel",
|
|
"tabpanels",
|
|
"indicator"
|
|
), PE = _("tag").parts(
|
|
"container",
|
|
"label",
|
|
"closeButton"
|
|
), AE = _("card").parts(
|
|
"container",
|
|
"header",
|
|
"body",
|
|
"footer"
|
|
);
|
|
_("stepper").parts(
|
|
"stepper",
|
|
"step",
|
|
"title",
|
|
"description",
|
|
"indicator",
|
|
"separator",
|
|
"icon",
|
|
"number"
|
|
);
|
|
const { definePartsStyle: zE, defineMultiStyleConfig: ME } = ae(oE.keys), RE = {
|
|
borderTopWidth: "1px",
|
|
borderColor: "inherit",
|
|
_last: {
|
|
borderBottomWidth: "1px"
|
|
}
|
|
}, DE = {
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
fontSize: "md",
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
},
|
|
_hover: {
|
|
bg: "blackAlpha.50"
|
|
},
|
|
_disabled: {
|
|
opacity: 0.4,
|
|
cursor: "not-allowed"
|
|
},
|
|
px: "4",
|
|
py: "2"
|
|
}, FE = {
|
|
pt: "2",
|
|
px: "4",
|
|
pb: "5"
|
|
}, LE = {
|
|
fontSize: "1.25em"
|
|
}, BE = zE({
|
|
container: RE,
|
|
button: DE,
|
|
panel: FE,
|
|
icon: LE
|
|
}), VE = ME({ baseStyle: BE });
|
|
function vr(e, t, n) {
|
|
return Math.min(Math.max(e, n), t);
|
|
}
|
|
class IE extends Error {
|
|
constructor(t) {
|
|
super(`Failed to parse color: "${t}"`);
|
|
}
|
|
}
|
|
var pi = IE;
|
|
function bh(e) {
|
|
if (typeof e != "string") throw new pi(e);
|
|
if (e.trim().toLowerCase() === "transparent") return [0, 0, 0, 0];
|
|
let t = e.trim();
|
|
t = XE.test(e) ? jE(e) : e;
|
|
const n = WE.exec(t);
|
|
if (n) {
|
|
const s = Array.from(n).slice(1);
|
|
return [...s.slice(0, 3).map((a) => parseInt(rs(a, 2), 16)), parseInt(rs(s[3] || "f", 2), 16) / 255];
|
|
}
|
|
const r = UE.exec(t);
|
|
if (r) {
|
|
const s = Array.from(r).slice(1);
|
|
return [...s.slice(0, 3).map((a) => parseInt(a, 16)), parseInt(s[3] || "ff", 16) / 255];
|
|
}
|
|
const o = HE.exec(t);
|
|
if (o) {
|
|
const s = Array.from(o).slice(1);
|
|
return [...s.slice(0, 3).map((a) => parseInt(a, 10)), parseFloat(s[3] || "1")];
|
|
}
|
|
const i = KE.exec(t);
|
|
if (i) {
|
|
const [s, a, l, u] = Array.from(i).slice(1).map(parseFloat);
|
|
if (vr(0, 100, a) !== a) throw new pi(e);
|
|
if (vr(0, 100, l) !== l) throw new pi(e);
|
|
return [...qE(s, a, l), Number.isNaN(u) ? 1 : u];
|
|
}
|
|
throw new pi(e);
|
|
}
|
|
function OE(e) {
|
|
let t = 5381, n = e.length;
|
|
for (; n; )
|
|
t = t * 33 ^ e.charCodeAt(--n);
|
|
return (t >>> 0) % 2341;
|
|
}
|
|
const tg = (e) => parseInt(e.replace(/_/g, ""), 36), NE = "1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((e, t) => {
|
|
const n = tg(t.substring(0, 3)), r = tg(t.substring(3)).toString(16);
|
|
let o = "";
|
|
for (let i = 0; i < 6 - r.length; i++)
|
|
o += "0";
|
|
return e[n] = `${o}${r}`, e;
|
|
}, {});
|
|
function jE(e) {
|
|
const t = e.toLowerCase().trim(), n = NE[OE(t)];
|
|
if (!n) throw new pi(e);
|
|
return `#${n}`;
|
|
}
|
|
const rs = (e, t) => Array.from(Array(t)).map(() => e).join(""), WE = new RegExp(`^#${rs("([a-f0-9])", 3)}([a-f0-9])?$`, "i"), UE = new RegExp(`^#${rs("([a-f0-9]{2})", 3)}([a-f0-9]{2})?$`, "i"), HE = new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${rs(",\\s*(\\d+)\\s*", 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, "i"), KE = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i, XE = /^[a-z]+$/i, ng = (e) => Math.round(e * 255), qE = (e, t, n) => {
|
|
let r = n / 100;
|
|
if (t === 0)
|
|
return [r, r, r].map(ng);
|
|
const o = (e % 360 + 360) % 360 / 60, i = (1 - Math.abs(2 * r - 1)) * (t / 100), s = i * (1 - Math.abs(o % 2 - 1));
|
|
let a = 0, l = 0, u = 0;
|
|
o >= 0 && o < 1 ? (a = i, l = s) : o >= 1 && o < 2 ? (a = s, l = i) : o >= 2 && o < 3 ? (l = i, u = s) : o >= 3 && o < 4 ? (l = s, u = i) : o >= 4 && o < 5 ? (a = s, u = i) : o >= 5 && o < 6 && (a = i, u = s);
|
|
const c = r - i / 2, d = a + c, f = l + c, y = u + c;
|
|
return [d, f, y].map(ng);
|
|
};
|
|
function YE(e, t, n, r) {
|
|
return `rgba(${vr(0, 255, e).toFixed()}, ${vr(0, 255, t).toFixed()}, ${vr(0, 255, n).toFixed()}, ${parseFloat(vr(0, 1, r).toFixed(3))})`;
|
|
}
|
|
function ZE(e, t) {
|
|
const [n, r, o, i] = bh(e);
|
|
return YE(n, r, o, i - t);
|
|
}
|
|
function GE(e) {
|
|
const [t, n, r, o] = bh(e);
|
|
let i = (s) => {
|
|
const a = vr(0, 255, s).toString(16);
|
|
return a.length === 1 ? `0${a}` : a;
|
|
};
|
|
return `#${i(t)}${i(n)}${i(r)}${o < 1 ? i(Math.round(o * 255)) : ""}`;
|
|
}
|
|
const QE = (e) => Object.keys(e).length === 0;
|
|
function JE(e, t, n, r, o) {
|
|
for (t = t.split ? t.split(".") : t, r = 0; r < t.length; r++)
|
|
e = e ? e[t[r]] : o;
|
|
return e === o ? n : e;
|
|
}
|
|
const Ge = (e, t, n) => {
|
|
const r = JE(e, `colors.${t}`, t);
|
|
try {
|
|
return GE(r), r;
|
|
} catch {
|
|
return "#000000";
|
|
}
|
|
}, _E = (e) => {
|
|
const [t, n, r] = bh(e);
|
|
return (t * 299 + n * 587 + r * 114) / 1e3;
|
|
}, $E = (e) => (t) => {
|
|
const n = Ge(t, e);
|
|
return _E(n) < 128 ? "dark" : "light";
|
|
}, e2 = (e) => (t) => $E(e)(t) === "dark", Ro = (e, t) => (n) => {
|
|
const r = Ge(n, e);
|
|
return ZE(r, 1 - t);
|
|
};
|
|
function rg(e = "1rem", t = "rgba(255, 255, 255, 0.15)") {
|
|
return {
|
|
backgroundImage: `linear-gradient(
|
|
45deg,
|
|
${t} 25%,
|
|
transparent 25%,
|
|
transparent 50%,
|
|
${t} 50%,
|
|
${t} 75%,
|
|
transparent 75%,
|
|
transparent
|
|
)`,
|
|
backgroundSize: `${e} ${e}`
|
|
};
|
|
}
|
|
const t2 = () => `#${Math.floor(Math.random() * 16777215).toString(16).padEnd(6, "0")}`;
|
|
function n2(e) {
|
|
const t = t2();
|
|
return !e || QE(e) ? t : e.string && e.colors ? o2(e.string, e.colors) : e.string && !e.colors ? r2(e.string) : e.colors && !e.string ? i2(e.colors) : t;
|
|
}
|
|
function r2(e) {
|
|
let t = 0;
|
|
if (e.length === 0)
|
|
return t.toString();
|
|
for (let r = 0; r < e.length; r += 1)
|
|
t = e.charCodeAt(r) + ((t << 5) - t), t = t & t;
|
|
let n = "#";
|
|
for (let r = 0; r < 3; r += 1) {
|
|
const o = t >> r * 8 & 255;
|
|
n += `00${o.toString(16)}`.substr(-2);
|
|
}
|
|
return n;
|
|
}
|
|
function o2(e, t) {
|
|
let n = 0;
|
|
if (e.length === 0)
|
|
return t[0];
|
|
for (let r = 0; r < e.length; r += 1)
|
|
n = e.charCodeAt(r) + ((n << 5) - n), n = n & n;
|
|
return n = (n % t.length + t.length) % t.length, t[n];
|
|
}
|
|
function i2(e) {
|
|
return e[Math.floor(Math.random() * e.length)];
|
|
}
|
|
function N(e, t) {
|
|
return (n) => n.colorMode === "dark" ? t : e;
|
|
}
|
|
function xh(e) {
|
|
const { orientation: t, vertical: n, horizontal: r } = e;
|
|
return t ? t === "vertical" ? n : r : {};
|
|
}
|
|
function hS(e) {
|
|
return $e(e) && e.reference ? e.reference : String(e);
|
|
}
|
|
const eu = (e, ...t) => t.map(hS).join(` ${e} `).replace(/calc/g, ""), og = (...e) => `calc(${eu("+", ...e)})`, ig = (...e) => `calc(${eu("-", ...e)})`, Wd = (...e) => `calc(${eu("*", ...e)})`, sg = (...e) => `calc(${eu("/", ...e)})`, ag = (e) => {
|
|
const t = hS(e);
|
|
return t != null && !Number.isNaN(parseFloat(t)) ? String(t).startsWith("-") ? String(t).slice(1) : `-${t}` : Wd(t, -1);
|
|
}, Sn = Object.assign(
|
|
(e) => ({
|
|
add: (...t) => Sn(og(e, ...t)),
|
|
subtract: (...t) => Sn(ig(e, ...t)),
|
|
multiply: (...t) => Sn(Wd(e, ...t)),
|
|
divide: (...t) => Sn(sg(e, ...t)),
|
|
negate: () => Sn(ag(e)),
|
|
toString: () => e.toString()
|
|
}),
|
|
{
|
|
add: og,
|
|
subtract: ig,
|
|
multiply: Wd,
|
|
divide: sg,
|
|
negate: ag
|
|
}
|
|
);
|
|
function s2(e) {
|
|
return !Number.isInteger(parseFloat(e.toString()));
|
|
}
|
|
function a2(e, t = "-") {
|
|
return e.replace(/\s+/g, t);
|
|
}
|
|
function pS(e) {
|
|
const t = a2(e.toString());
|
|
return t.includes("\\.") ? e : s2(e) ? t.replace(".", "\\.") : e;
|
|
}
|
|
function l2(e, t = "") {
|
|
return [t, pS(e)].filter(Boolean).join("-");
|
|
}
|
|
function u2(e, t) {
|
|
return `var(${pS(e)}${t ? `, ${t}` : ""})`;
|
|
}
|
|
function c2(e, t = "") {
|
|
return `--${l2(e, t)}`;
|
|
}
|
|
function Me(e, t) {
|
|
const n = c2(e, t?.prefix);
|
|
return {
|
|
variable: n,
|
|
reference: u2(n, d2(t?.fallback))
|
|
};
|
|
}
|
|
function d2(e) {
|
|
return e?.reference;
|
|
}
|
|
const { definePartsStyle: vs, defineMultiStyleConfig: f2 } = ae(iE.keys), yt = j("alert-fg"), Mn = j("alert-bg"), h2 = vs({
|
|
container: {
|
|
bg: Mn.reference,
|
|
px: "4",
|
|
py: "3"
|
|
},
|
|
title: {
|
|
fontWeight: "bold",
|
|
lineHeight: "6",
|
|
marginEnd: "2"
|
|
},
|
|
description: {
|
|
lineHeight: "6"
|
|
},
|
|
icon: {
|
|
color: yt.reference,
|
|
flexShrink: 0,
|
|
marginEnd: "3",
|
|
w: "5",
|
|
h: "6"
|
|
},
|
|
spinner: {
|
|
color: yt.reference,
|
|
flexShrink: 0,
|
|
marginEnd: "3",
|
|
w: "5",
|
|
h: "5"
|
|
}
|
|
});
|
|
function wh(e) {
|
|
const { theme: t, colorScheme: n } = e, r = Ro(`${n}.200`, 0.16)(t);
|
|
return {
|
|
light: `colors.${n}.100`,
|
|
dark: r
|
|
};
|
|
}
|
|
const p2 = vs((e) => {
|
|
const { colorScheme: t } = e, n = wh(e);
|
|
return {
|
|
container: {
|
|
[yt.variable]: `colors.${t}.600`,
|
|
[Mn.variable]: n.light,
|
|
_dark: {
|
|
[yt.variable]: `colors.${t}.200`,
|
|
[Mn.variable]: n.dark
|
|
}
|
|
}
|
|
};
|
|
}), m2 = vs((e) => {
|
|
const { colorScheme: t } = e, n = wh(e);
|
|
return {
|
|
container: {
|
|
[yt.variable]: `colors.${t}.600`,
|
|
[Mn.variable]: n.light,
|
|
_dark: {
|
|
[yt.variable]: `colors.${t}.200`,
|
|
[Mn.variable]: n.dark
|
|
},
|
|
paddingStart: "3",
|
|
borderStartWidth: "4px",
|
|
borderStartColor: yt.reference
|
|
}
|
|
};
|
|
}), g2 = vs((e) => {
|
|
const { colorScheme: t } = e, n = wh(e);
|
|
return {
|
|
container: {
|
|
[yt.variable]: `colors.${t}.600`,
|
|
[Mn.variable]: n.light,
|
|
_dark: {
|
|
[yt.variable]: `colors.${t}.200`,
|
|
[Mn.variable]: n.dark
|
|
},
|
|
pt: "2",
|
|
borderTopWidth: "4px",
|
|
borderTopColor: yt.reference
|
|
}
|
|
};
|
|
}), y2 = vs((e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
container: {
|
|
[yt.variable]: "colors.white",
|
|
[Mn.variable]: `colors.${t}.600`,
|
|
_dark: {
|
|
[yt.variable]: "colors.gray.900",
|
|
[Mn.variable]: `colors.${t}.200`
|
|
},
|
|
color: yt.reference
|
|
}
|
|
};
|
|
}), v2 = {
|
|
subtle: p2,
|
|
"left-accent": m2,
|
|
"top-accent": g2,
|
|
solid: y2
|
|
}, S2 = f2({
|
|
baseStyle: h2,
|
|
variants: v2,
|
|
defaultProps: {
|
|
variant: "subtle",
|
|
colorScheme: "blue"
|
|
}
|
|
}), mS = {
|
|
px: "1px",
|
|
0.5: "0.125rem",
|
|
1: "0.25rem",
|
|
1.5: "0.375rem",
|
|
2: "0.5rem",
|
|
2.5: "0.625rem",
|
|
3: "0.75rem",
|
|
3.5: "0.875rem",
|
|
4: "1rem",
|
|
5: "1.25rem",
|
|
6: "1.5rem",
|
|
7: "1.75rem",
|
|
8: "2rem",
|
|
9: "2.25rem",
|
|
10: "2.5rem",
|
|
12: "3rem",
|
|
14: "3.5rem",
|
|
16: "4rem",
|
|
20: "5rem",
|
|
24: "6rem",
|
|
28: "7rem",
|
|
32: "8rem",
|
|
36: "9rem",
|
|
40: "10rem",
|
|
44: "11rem",
|
|
48: "12rem",
|
|
52: "13rem",
|
|
56: "14rem",
|
|
60: "15rem",
|
|
64: "16rem",
|
|
72: "18rem",
|
|
80: "20rem",
|
|
96: "24rem"
|
|
}, b2 = {
|
|
max: "max-content",
|
|
min: "min-content",
|
|
full: "100%",
|
|
"3xs": "14rem",
|
|
"2xs": "16rem",
|
|
xs: "20rem",
|
|
sm: "24rem",
|
|
md: "28rem",
|
|
lg: "32rem",
|
|
xl: "36rem",
|
|
"2xl": "42rem",
|
|
"3xl": "48rem",
|
|
"4xl": "56rem",
|
|
"5xl": "64rem",
|
|
"6xl": "72rem",
|
|
"7xl": "80rem",
|
|
"8xl": "90rem",
|
|
prose: "60ch"
|
|
}, x2 = {
|
|
sm: "640px",
|
|
md: "768px",
|
|
lg: "1024px",
|
|
xl: "1280px"
|
|
}, gS = {
|
|
...mS,
|
|
...b2,
|
|
container: x2
|
|
}, w2 = (e) => typeof e == "function";
|
|
function et(e, ...t) {
|
|
return w2(e) ? e(...t) : e;
|
|
}
|
|
const { definePartsStyle: yS, defineMultiStyleConfig: k2 } = ae(sE.keys), So = j("avatar-border-color"), Mi = j("avatar-bg"), os = j("avatar-font-size"), Do = j("avatar-size"), C2 = {
|
|
borderRadius: "full",
|
|
border: "0.2em solid",
|
|
borderColor: So.reference,
|
|
[So.variable]: "white",
|
|
_dark: {
|
|
[So.variable]: "colors.gray.800"
|
|
}
|
|
}, T2 = {
|
|
bg: Mi.reference,
|
|
fontSize: os.reference,
|
|
width: Do.reference,
|
|
height: Do.reference,
|
|
lineHeight: "1",
|
|
[Mi.variable]: "colors.gray.200",
|
|
_dark: {
|
|
[Mi.variable]: "colors.whiteAlpha.400"
|
|
}
|
|
}, E2 = (e) => {
|
|
const { name: t, theme: n } = e, r = t ? n2({ string: t }) : "colors.gray.400", o = e2(r)(n);
|
|
let i = "white";
|
|
return o || (i = "gray.800"), {
|
|
bg: Mi.reference,
|
|
fontSize: os.reference,
|
|
color: i,
|
|
borderColor: So.reference,
|
|
verticalAlign: "top",
|
|
width: Do.reference,
|
|
height: Do.reference,
|
|
"&:not([data-loaded])": {
|
|
[Mi.variable]: r
|
|
},
|
|
[So.variable]: "colors.white",
|
|
_dark: {
|
|
[So.variable]: "colors.gray.800"
|
|
}
|
|
};
|
|
}, P2 = {
|
|
fontSize: os.reference,
|
|
lineHeight: "1"
|
|
}, A2 = yS((e) => ({
|
|
badge: et(C2, e),
|
|
excessLabel: et(T2, e),
|
|
container: et(E2, e),
|
|
label: P2
|
|
}));
|
|
function Ln(e) {
|
|
const t = e !== "100%" ? gS[e] : void 0;
|
|
return yS({
|
|
container: {
|
|
[Do.variable]: t ?? e,
|
|
[os.variable]: `calc(${t ?? e} / 2.5)`
|
|
},
|
|
excessLabel: {
|
|
[Do.variable]: t ?? e,
|
|
[os.variable]: `calc(${t ?? e} / 2.5)`
|
|
}
|
|
});
|
|
}
|
|
const z2 = {
|
|
"2xs": Ln(4),
|
|
xs: Ln(6),
|
|
sm: Ln(8),
|
|
md: Ln(12),
|
|
lg: Ln(16),
|
|
xl: Ln(24),
|
|
"2xl": Ln(32),
|
|
full: Ln("100%")
|
|
}, M2 = k2({
|
|
baseStyle: A2,
|
|
sizes: z2,
|
|
defaultProps: {
|
|
size: "md"
|
|
}
|
|
}), we = QT("badge", ["bg", "color", "shadow"]), R2 = {
|
|
px: 1,
|
|
textTransform: "uppercase",
|
|
fontSize: "xs",
|
|
borderRadius: "sm",
|
|
fontWeight: "bold",
|
|
bg: we.bg.reference,
|
|
color: we.color.reference,
|
|
boxShadow: we.shadow.reference
|
|
}, D2 = (e) => {
|
|
const { colorScheme: t, theme: n } = e, r = Ro(`${t}.500`, 0.6)(n);
|
|
return {
|
|
[we.bg.variable]: `colors.${t}.500`,
|
|
[we.color.variable]: "colors.white",
|
|
_dark: {
|
|
[we.bg.variable]: r,
|
|
[we.color.variable]: "colors.whiteAlpha.800"
|
|
}
|
|
};
|
|
}, F2 = (e) => {
|
|
const { colorScheme: t, theme: n } = e, r = Ro(`${t}.200`, 0.16)(n);
|
|
return {
|
|
[we.bg.variable]: `colors.${t}.100`,
|
|
[we.color.variable]: `colors.${t}.800`,
|
|
_dark: {
|
|
[we.bg.variable]: r,
|
|
[we.color.variable]: `colors.${t}.200`
|
|
}
|
|
};
|
|
}, L2 = (e) => {
|
|
const { colorScheme: t, theme: n } = e, r = Ro(`${t}.200`, 0.8)(n);
|
|
return {
|
|
[we.color.variable]: `colors.${t}.500`,
|
|
_dark: {
|
|
[we.color.variable]: r
|
|
},
|
|
[we.shadow.variable]: `inset 0 0 0px 1px ${we.color.reference}`
|
|
};
|
|
}, B2 = {
|
|
solid: D2,
|
|
subtle: F2,
|
|
outline: L2
|
|
}, Ri = {
|
|
baseStyle: R2,
|
|
variants: B2,
|
|
defaultProps: {
|
|
variant: "subtle",
|
|
colorScheme: "gray"
|
|
}
|
|
}, { defineMultiStyleConfig: V2, definePartsStyle: I2 } = ae(aE.keys), ac = j("breadcrumb-link-decor"), O2 = {
|
|
transitionProperty: "common",
|
|
transitionDuration: "fast",
|
|
transitionTimingFunction: "ease-out",
|
|
outline: "none",
|
|
color: "inherit",
|
|
textDecoration: ac.reference,
|
|
[ac.variable]: "none",
|
|
"&:not([aria-current=page])": {
|
|
cursor: "pointer",
|
|
_hover: {
|
|
[ac.variable]: "underline"
|
|
},
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
}
|
|
}
|
|
}, N2 = I2({
|
|
link: O2
|
|
}), j2 = V2({
|
|
baseStyle: N2
|
|
}), W2 = {
|
|
lineHeight: "1.2",
|
|
borderRadius: "md",
|
|
fontWeight: "semibold",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
},
|
|
_disabled: {
|
|
opacity: 0.4,
|
|
cursor: "not-allowed",
|
|
boxShadow: "none"
|
|
},
|
|
_hover: {
|
|
_disabled: {
|
|
bg: "initial"
|
|
}
|
|
}
|
|
}, vS = (e) => {
|
|
const { colorScheme: t, theme: n } = e;
|
|
if (t === "gray")
|
|
return {
|
|
color: N("gray.800", "whiteAlpha.900")(e),
|
|
_hover: {
|
|
bg: N("gray.100", "whiteAlpha.200")(e)
|
|
},
|
|
_active: { bg: N("gray.200", "whiteAlpha.300")(e) }
|
|
};
|
|
const r = Ro(`${t}.200`, 0.12)(n), o = Ro(`${t}.200`, 0.24)(n);
|
|
return {
|
|
color: N(`${t}.600`, `${t}.200`)(e),
|
|
bg: "transparent",
|
|
_hover: {
|
|
bg: N(`${t}.50`, r)(e)
|
|
},
|
|
_active: {
|
|
bg: N(`${t}.100`, o)(e)
|
|
}
|
|
};
|
|
}, U2 = (e) => {
|
|
const { colorScheme: t } = e, n = N("gray.200", "whiteAlpha.300")(e);
|
|
return {
|
|
border: "1px solid",
|
|
borderColor: t === "gray" ? n : "currentColor",
|
|
".chakra-button__group[data-attached][data-orientation=horizontal] > &:not(:last-of-type)": { marginEnd: "-1px" },
|
|
".chakra-button__group[data-attached][data-orientation=vertical] > &:not(:last-of-type)": { marginBottom: "-1px" },
|
|
...et(vS, e)
|
|
};
|
|
}, H2 = {
|
|
yellow: {
|
|
bg: "yellow.400",
|
|
color: "black",
|
|
hoverBg: "yellow.500",
|
|
activeBg: "yellow.600"
|
|
},
|
|
cyan: {
|
|
bg: "cyan.400",
|
|
color: "black",
|
|
hoverBg: "cyan.500",
|
|
activeBg: "cyan.600"
|
|
}
|
|
}, K2 = (e) => {
|
|
const { colorScheme: t } = e;
|
|
if (t === "gray") {
|
|
const a = N("gray.100", "whiteAlpha.200")(e);
|
|
return {
|
|
bg: a,
|
|
color: N("gray.800", "whiteAlpha.900")(e),
|
|
_hover: {
|
|
bg: N("gray.200", "whiteAlpha.300")(e),
|
|
_disabled: {
|
|
bg: a
|
|
}
|
|
},
|
|
_active: { bg: N("gray.300", "whiteAlpha.400")(e) }
|
|
};
|
|
}
|
|
const {
|
|
bg: n = `${t}.500`,
|
|
color: r = "white",
|
|
hoverBg: o = `${t}.600`,
|
|
activeBg: i = `${t}.700`
|
|
} = H2[t] ?? {}, s = N(n, `${t}.200`)(e);
|
|
return {
|
|
bg: s,
|
|
color: N(r, "gray.800")(e),
|
|
_hover: {
|
|
bg: N(o, `${t}.300`)(e),
|
|
_disabled: {
|
|
bg: s
|
|
}
|
|
},
|
|
_active: { bg: N(i, `${t}.400`)(e) }
|
|
};
|
|
}, X2 = (e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
padding: 0,
|
|
height: "auto",
|
|
lineHeight: "normal",
|
|
verticalAlign: "baseline",
|
|
color: N(`${t}.500`, `${t}.200`)(e),
|
|
_hover: {
|
|
textDecoration: "underline",
|
|
_disabled: {
|
|
textDecoration: "none"
|
|
}
|
|
},
|
|
_active: {
|
|
color: N(`${t}.700`, `${t}.500`)(e)
|
|
}
|
|
};
|
|
}, q2 = {
|
|
bg: "none",
|
|
color: "inherit",
|
|
display: "inline",
|
|
lineHeight: "inherit",
|
|
m: "0",
|
|
p: "0"
|
|
}, Y2 = {
|
|
ghost: vS,
|
|
outline: U2,
|
|
solid: K2,
|
|
link: X2,
|
|
unstyled: q2
|
|
}, Z2 = {
|
|
lg: {
|
|
h: "12",
|
|
minW: "12",
|
|
fontSize: "lg",
|
|
px: "6"
|
|
},
|
|
md: {
|
|
h: "10",
|
|
minW: "10",
|
|
fontSize: "md",
|
|
px: "4"
|
|
},
|
|
sm: {
|
|
h: "8",
|
|
minW: "8",
|
|
fontSize: "sm",
|
|
px: "3"
|
|
},
|
|
xs: {
|
|
h: "6",
|
|
minW: "6",
|
|
fontSize: "xs",
|
|
px: "2"
|
|
}
|
|
}, G2 = {
|
|
baseStyle: W2,
|
|
variants: Y2,
|
|
sizes: Z2,
|
|
defaultProps: {
|
|
variant: "solid",
|
|
size: "md",
|
|
colorScheme: "gray"
|
|
}
|
|
}, { definePartsStyle: kr, defineMultiStyleConfig: Q2 } = ae(AE.keys), bl = j("card-bg"), Tn = j("card-padding"), SS = j("card-shadow"), Pa = j("card-radius"), bS = j("card-border-width", "0"), xS = j("card-border-color"), J2 = kr({
|
|
container: {
|
|
[bl.variable]: "colors.chakra-body-bg",
|
|
backgroundColor: bl.reference,
|
|
boxShadow: SS.reference,
|
|
borderRadius: Pa.reference,
|
|
color: "chakra-body-text",
|
|
borderWidth: bS.reference,
|
|
borderColor: xS.reference
|
|
},
|
|
body: {
|
|
padding: Tn.reference,
|
|
flex: "1 1 0%"
|
|
},
|
|
header: {
|
|
padding: Tn.reference
|
|
},
|
|
footer: {
|
|
padding: Tn.reference
|
|
}
|
|
}), _2 = {
|
|
sm: kr({
|
|
container: {
|
|
[Pa.variable]: "radii.base",
|
|
[Tn.variable]: "space.3"
|
|
}
|
|
}),
|
|
md: kr({
|
|
container: {
|
|
[Pa.variable]: "radii.md",
|
|
[Tn.variable]: "space.5"
|
|
}
|
|
}),
|
|
lg: kr({
|
|
container: {
|
|
[Pa.variable]: "radii.xl",
|
|
[Tn.variable]: "space.7"
|
|
}
|
|
})
|
|
}, $2 = {
|
|
elevated: kr({
|
|
container: {
|
|
[SS.variable]: "shadows.base",
|
|
_dark: {
|
|
[bl.variable]: "colors.gray.700"
|
|
}
|
|
}
|
|
}),
|
|
outline: kr({
|
|
container: {
|
|
[bS.variable]: "1px",
|
|
[xS.variable]: "colors.chakra-border-color"
|
|
}
|
|
}),
|
|
filled: kr({
|
|
container: {
|
|
[bl.variable]: "colors.chakra-subtle-bg"
|
|
}
|
|
}),
|
|
unstyled: {
|
|
body: {
|
|
[Tn.variable]: 0
|
|
},
|
|
header: {
|
|
[Tn.variable]: 0
|
|
},
|
|
footer: {
|
|
[Tn.variable]: 0
|
|
}
|
|
}
|
|
}, eP = Q2({
|
|
baseStyle: J2,
|
|
variants: $2,
|
|
sizes: _2,
|
|
defaultProps: {
|
|
variant: "elevated",
|
|
size: "md"
|
|
}
|
|
}), { definePartsStyle: Aa, defineMultiStyleConfig: tP } = ae(lE.keys), Di = j("checkbox-size"), nP = (e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
w: Di.reference,
|
|
h: Di.reference,
|
|
transitionProperty: "box-shadow",
|
|
transitionDuration: "normal",
|
|
border: "2px solid",
|
|
borderRadius: "sm",
|
|
borderColor: "inherit",
|
|
color: "white",
|
|
_checked: {
|
|
bg: N(`${t}.500`, `${t}.200`)(e),
|
|
borderColor: N(`${t}.500`, `${t}.200`)(e),
|
|
color: N("white", "gray.900")(e),
|
|
_hover: {
|
|
bg: N(`${t}.600`, `${t}.300`)(e),
|
|
borderColor: N(`${t}.600`, `${t}.300`)(e)
|
|
},
|
|
_disabled: {
|
|
borderColor: N("gray.200", "transparent")(e),
|
|
bg: N("gray.200", "whiteAlpha.300")(e),
|
|
color: N("gray.500", "whiteAlpha.500")(e)
|
|
}
|
|
},
|
|
_indeterminate: {
|
|
bg: N(`${t}.500`, `${t}.200`)(e),
|
|
borderColor: N(`${t}.500`, `${t}.200`)(e),
|
|
color: N("white", "gray.900")(e)
|
|
},
|
|
_disabled: {
|
|
bg: N("gray.100", "whiteAlpha.100")(e),
|
|
borderColor: N("gray.100", "transparent")(e)
|
|
},
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
},
|
|
_invalid: {
|
|
borderColor: N("red.500", "red.300")(e)
|
|
}
|
|
};
|
|
}, rP = {
|
|
_disabled: { cursor: "not-allowed" }
|
|
}, oP = {
|
|
userSelect: "none",
|
|
_disabled: { opacity: 0.4 }
|
|
}, iP = {
|
|
transitionProperty: "transform",
|
|
transitionDuration: "normal"
|
|
}, sP = Aa((e) => ({
|
|
icon: iP,
|
|
container: rP,
|
|
control: et(nP, e),
|
|
label: oP
|
|
})), aP = {
|
|
sm: Aa({
|
|
control: { [Di.variable]: "sizes.3" },
|
|
label: { fontSize: "sm" },
|
|
icon: { fontSize: "3xs" }
|
|
}),
|
|
md: Aa({
|
|
control: { [Di.variable]: "sizes.4" },
|
|
label: { fontSize: "md" },
|
|
icon: { fontSize: "2xs" }
|
|
}),
|
|
lg: Aa({
|
|
control: { [Di.variable]: "sizes.5" },
|
|
label: { fontSize: "lg" },
|
|
icon: { fontSize: "2xs" }
|
|
})
|
|
}, xl = tP({
|
|
baseStyle: sP,
|
|
sizes: aP,
|
|
defaultProps: {
|
|
size: "md",
|
|
colorScheme: "blue"
|
|
}
|
|
}), Fi = Me("close-button-size"), oi = Me("close-button-bg"), lP = {
|
|
w: [Fi.reference],
|
|
h: [Fi.reference],
|
|
borderRadius: "md",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
_disabled: {
|
|
opacity: 0.4,
|
|
cursor: "not-allowed",
|
|
boxShadow: "none"
|
|
},
|
|
_hover: {
|
|
[oi.variable]: "colors.blackAlpha.100",
|
|
_dark: {
|
|
[oi.variable]: "colors.whiteAlpha.100"
|
|
}
|
|
},
|
|
_active: {
|
|
[oi.variable]: "colors.blackAlpha.200",
|
|
_dark: {
|
|
[oi.variable]: "colors.whiteAlpha.200"
|
|
}
|
|
},
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
},
|
|
bg: oi.reference
|
|
}, uP = {
|
|
lg: {
|
|
[Fi.variable]: "sizes.10",
|
|
fontSize: "md"
|
|
},
|
|
md: {
|
|
[Fi.variable]: "sizes.8",
|
|
fontSize: "xs"
|
|
},
|
|
sm: {
|
|
[Fi.variable]: "sizes.6",
|
|
fontSize: "2xs"
|
|
}
|
|
}, cP = {
|
|
baseStyle: lP,
|
|
sizes: uP,
|
|
defaultProps: {
|
|
size: "md"
|
|
}
|
|
}, { variants: dP, defaultProps: fP } = Ri, hP = {
|
|
fontFamily: "mono",
|
|
fontSize: "sm",
|
|
px: "0.2em",
|
|
borderRadius: "sm",
|
|
bg: we.bg.reference,
|
|
color: we.color.reference,
|
|
boxShadow: we.shadow.reference
|
|
}, pP = {
|
|
baseStyle: hP,
|
|
variants: dP,
|
|
defaultProps: fP
|
|
}, mP = {
|
|
w: "100%",
|
|
mx: "auto",
|
|
maxW: "prose",
|
|
px: "4"
|
|
}, gP = {
|
|
baseStyle: mP
|
|
}, yP = {
|
|
opacity: 0.6,
|
|
borderColor: "inherit"
|
|
}, vP = {
|
|
borderStyle: "solid"
|
|
}, SP = {
|
|
borderStyle: "dashed"
|
|
}, bP = {
|
|
solid: vP,
|
|
dashed: SP
|
|
}, xP = {
|
|
baseStyle: yP,
|
|
variants: bP,
|
|
defaultProps: {
|
|
variant: "solid"
|
|
}
|
|
}, { definePartsStyle: Ud, defineMultiStyleConfig: wP } = ae(uE.keys), lc = j("drawer-bg"), uc = j("drawer-box-shadow");
|
|
function Hr(e) {
|
|
return Ud(e === "full" ? {
|
|
dialog: { maxW: "100vw", h: "100vh" }
|
|
} : {
|
|
dialog: { maxW: e }
|
|
});
|
|
}
|
|
const kP = {
|
|
bg: "blackAlpha.600",
|
|
zIndex: "modal"
|
|
}, CP = {
|
|
display: "flex",
|
|
zIndex: "modal",
|
|
justifyContent: "center"
|
|
}, TP = (e) => {
|
|
const { isFullHeight: t } = e;
|
|
return {
|
|
...t && { height: "100vh" },
|
|
zIndex: "modal",
|
|
maxH: "100vh",
|
|
color: "inherit",
|
|
[lc.variable]: "colors.white",
|
|
[uc.variable]: "shadows.lg",
|
|
_dark: {
|
|
[lc.variable]: "colors.gray.700",
|
|
[uc.variable]: "shadows.dark-lg"
|
|
},
|
|
bg: lc.reference,
|
|
boxShadow: uc.reference
|
|
};
|
|
}, EP = {
|
|
px: "6",
|
|
py: "4",
|
|
fontSize: "xl",
|
|
fontWeight: "semibold"
|
|
}, PP = {
|
|
position: "absolute",
|
|
top: "2",
|
|
insetEnd: "3"
|
|
}, AP = {
|
|
px: "6",
|
|
py: "2",
|
|
flex: "1",
|
|
overflow: "auto"
|
|
}, zP = {
|
|
px: "6",
|
|
py: "4"
|
|
}, MP = Ud((e) => ({
|
|
overlay: kP,
|
|
dialogContainer: CP,
|
|
dialog: et(TP, e),
|
|
header: EP,
|
|
closeButton: PP,
|
|
body: AP,
|
|
footer: zP
|
|
})), RP = {
|
|
xs: Hr("xs"),
|
|
sm: Hr("md"),
|
|
md: Hr("lg"),
|
|
lg: Hr("2xl"),
|
|
xl: Hr("4xl"),
|
|
full: Hr("full")
|
|
}, DP = wP({
|
|
baseStyle: MP,
|
|
sizes: RP,
|
|
defaultProps: {
|
|
size: "xs"
|
|
}
|
|
}), { definePartsStyle: FP, defineMultiStyleConfig: LP } = ae(cE.keys), BP = {
|
|
borderRadius: "md",
|
|
py: "1",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal"
|
|
}, VP = {
|
|
borderRadius: "md",
|
|
py: "1",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
width: "full",
|
|
_focusVisible: { boxShadow: "outline" },
|
|
_placeholder: { opacity: 0.6 }
|
|
}, IP = {
|
|
borderRadius: "md",
|
|
py: "1",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
width: "full",
|
|
_focusVisible: { boxShadow: "outline" },
|
|
_placeholder: { opacity: 0.6 }
|
|
}, OP = FP({
|
|
preview: BP,
|
|
input: VP,
|
|
textarea: IP
|
|
}), NP = LP({
|
|
baseStyle: OP
|
|
}), { definePartsStyle: jP, defineMultiStyleConfig: WP } = ae(dE.keys), bo = j("form-control-color"), UP = {
|
|
marginStart: "1",
|
|
[bo.variable]: "colors.red.500",
|
|
_dark: {
|
|
[bo.variable]: "colors.red.300"
|
|
},
|
|
color: bo.reference
|
|
}, HP = {
|
|
mt: "2",
|
|
[bo.variable]: "colors.gray.600",
|
|
_dark: {
|
|
[bo.variable]: "colors.whiteAlpha.600"
|
|
},
|
|
color: bo.reference,
|
|
lineHeight: "normal",
|
|
fontSize: "sm"
|
|
}, KP = jP({
|
|
container: {
|
|
width: "100%",
|
|
position: "relative"
|
|
},
|
|
requiredIndicator: UP,
|
|
helperText: HP
|
|
}), XP = WP({
|
|
baseStyle: KP
|
|
}), { definePartsStyle: qP, defineMultiStyleConfig: YP } = ae(fE.keys), xo = j("form-error-color"), ZP = {
|
|
[xo.variable]: "colors.red.500",
|
|
_dark: {
|
|
[xo.variable]: "colors.red.300"
|
|
},
|
|
color: xo.reference,
|
|
mt: "2",
|
|
fontSize: "sm",
|
|
lineHeight: "normal"
|
|
}, GP = {
|
|
marginEnd: "0.5em",
|
|
[xo.variable]: "colors.red.500",
|
|
_dark: {
|
|
[xo.variable]: "colors.red.300"
|
|
},
|
|
color: xo.reference
|
|
}, QP = qP({
|
|
text: ZP,
|
|
icon: GP
|
|
}), JP = YP({
|
|
baseStyle: QP
|
|
}), _P = {
|
|
fontSize: "md",
|
|
marginEnd: "3",
|
|
mb: "2",
|
|
fontWeight: "medium",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
opacity: 1,
|
|
_disabled: {
|
|
opacity: 0.4
|
|
}
|
|
}, $P = {
|
|
baseStyle: _P
|
|
}, eA = {
|
|
fontFamily: "heading",
|
|
fontWeight: "bold"
|
|
}, tA = {
|
|
"4xl": {
|
|
fontSize: ["6xl", null, "7xl"],
|
|
lineHeight: 1
|
|
},
|
|
"3xl": {
|
|
fontSize: ["5xl", null, "6xl"],
|
|
lineHeight: 1
|
|
},
|
|
"2xl": {
|
|
fontSize: ["4xl", null, "5xl"],
|
|
lineHeight: [1.2, null, 1]
|
|
},
|
|
xl: {
|
|
fontSize: ["3xl", null, "4xl"],
|
|
lineHeight: [1.33, null, 1.2]
|
|
},
|
|
lg: {
|
|
fontSize: ["2xl", null, "3xl"],
|
|
lineHeight: [1.33, null, 1.2]
|
|
},
|
|
md: {
|
|
fontSize: "xl",
|
|
lineHeight: 1.2
|
|
},
|
|
sm: {
|
|
fontSize: "md",
|
|
lineHeight: 1.2
|
|
},
|
|
xs: {
|
|
fontSize: "sm",
|
|
lineHeight: 1.2
|
|
}
|
|
}, nA = {
|
|
baseStyle: eA,
|
|
sizes: tA,
|
|
defaultProps: {
|
|
size: "xl"
|
|
}
|
|
}, { definePartsStyle: kn, defineMultiStyleConfig: rA } = ae(hE.keys), ro = j("input-height"), oo = j("input-font-size"), io = j("input-padding"), so = j("input-border-radius"), oA = kn({
|
|
addon: {
|
|
height: ro.reference,
|
|
fontSize: oo.reference,
|
|
px: io.reference,
|
|
borderRadius: so.reference
|
|
},
|
|
field: {
|
|
width: "100%",
|
|
height: ro.reference,
|
|
fontSize: oo.reference,
|
|
px: io.reference,
|
|
borderRadius: so.reference,
|
|
minWidth: 0,
|
|
outline: 0,
|
|
position: "relative",
|
|
appearance: "none",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
_disabled: {
|
|
opacity: 0.4,
|
|
cursor: "not-allowed"
|
|
}
|
|
}
|
|
}), Bn = {
|
|
lg: {
|
|
[oo.variable]: "fontSizes.lg",
|
|
[io.variable]: "space.4",
|
|
[so.variable]: "radii.md",
|
|
[ro.variable]: "sizes.12"
|
|
},
|
|
md: {
|
|
[oo.variable]: "fontSizes.md",
|
|
[io.variable]: "space.4",
|
|
[so.variable]: "radii.md",
|
|
[ro.variable]: "sizes.10"
|
|
},
|
|
sm: {
|
|
[oo.variable]: "fontSizes.sm",
|
|
[io.variable]: "space.3",
|
|
[so.variable]: "radii.sm",
|
|
[ro.variable]: "sizes.8"
|
|
},
|
|
xs: {
|
|
[oo.variable]: "fontSizes.xs",
|
|
[io.variable]: "space.2",
|
|
[so.variable]: "radii.sm",
|
|
[ro.variable]: "sizes.6"
|
|
}
|
|
}, iA = {
|
|
lg: kn({
|
|
field: Bn.lg,
|
|
group: Bn.lg
|
|
}),
|
|
md: kn({
|
|
field: Bn.md,
|
|
group: Bn.md
|
|
}),
|
|
sm: kn({
|
|
field: Bn.sm,
|
|
group: Bn.sm
|
|
}),
|
|
xs: kn({
|
|
field: Bn.xs,
|
|
group: Bn.xs
|
|
})
|
|
};
|
|
function kh(e) {
|
|
const { focusBorderColor: t, errorBorderColor: n } = e;
|
|
return {
|
|
focusBorderColor: t || N("blue.500", "blue.300")(e),
|
|
errorBorderColor: n || N("red.500", "red.300")(e)
|
|
};
|
|
}
|
|
const sA = kn((e) => {
|
|
const { theme: t } = e, { focusBorderColor: n, errorBorderColor: r } = kh(e);
|
|
return {
|
|
field: {
|
|
border: "1px solid",
|
|
borderColor: "inherit",
|
|
bg: "inherit",
|
|
_hover: {
|
|
borderColor: N("gray.300", "whiteAlpha.400")(e)
|
|
},
|
|
_readOnly: {
|
|
boxShadow: "none !important",
|
|
userSelect: "all"
|
|
},
|
|
_invalid: {
|
|
borderColor: Ge(t, r),
|
|
boxShadow: `0 0 0 1px ${Ge(t, r)}`
|
|
},
|
|
_focusVisible: {
|
|
zIndex: 1,
|
|
borderColor: Ge(t, n),
|
|
boxShadow: `0 0 0 1px ${Ge(t, n)}`
|
|
}
|
|
},
|
|
addon: {
|
|
border: "1px solid",
|
|
borderColor: N("inherit", "whiteAlpha.50")(e),
|
|
bg: N("gray.100", "whiteAlpha.300")(e)
|
|
}
|
|
};
|
|
}), aA = kn((e) => {
|
|
const { theme: t } = e, { focusBorderColor: n, errorBorderColor: r } = kh(e);
|
|
return {
|
|
field: {
|
|
border: "2px solid",
|
|
borderColor: "transparent",
|
|
bg: N("gray.100", "whiteAlpha.50")(e),
|
|
_hover: {
|
|
bg: N("gray.200", "whiteAlpha.100")(e)
|
|
},
|
|
_readOnly: {
|
|
boxShadow: "none !important",
|
|
userSelect: "all"
|
|
},
|
|
_invalid: {
|
|
borderColor: Ge(t, r)
|
|
},
|
|
_focusVisible: {
|
|
bg: "transparent",
|
|
borderColor: Ge(t, n)
|
|
}
|
|
},
|
|
addon: {
|
|
border: "2px solid",
|
|
borderColor: "transparent",
|
|
bg: N("gray.100", "whiteAlpha.50")(e)
|
|
}
|
|
};
|
|
}), lA = kn((e) => {
|
|
const { theme: t } = e, { focusBorderColor: n, errorBorderColor: r } = kh(e);
|
|
return {
|
|
field: {
|
|
borderBottom: "1px solid",
|
|
borderColor: "inherit",
|
|
borderRadius: "0",
|
|
px: "0",
|
|
bg: "transparent",
|
|
_readOnly: {
|
|
boxShadow: "none !important",
|
|
userSelect: "all"
|
|
},
|
|
_invalid: {
|
|
borderColor: Ge(t, r),
|
|
boxShadow: `0px 1px 0px 0px ${Ge(t, r)}`
|
|
},
|
|
_focusVisible: {
|
|
borderColor: Ge(t, n),
|
|
boxShadow: `0px 1px 0px 0px ${Ge(t, n)}`
|
|
}
|
|
},
|
|
addon: {
|
|
borderBottom: "2px solid",
|
|
borderColor: "inherit",
|
|
borderRadius: "0",
|
|
px: "0",
|
|
bg: "transparent"
|
|
}
|
|
};
|
|
}), uA = kn({
|
|
field: {
|
|
bg: "transparent",
|
|
px: "0",
|
|
height: "auto"
|
|
},
|
|
addon: {
|
|
bg: "transparent",
|
|
px: "0",
|
|
height: "auto"
|
|
}
|
|
}), cA = {
|
|
outline: sA,
|
|
filled: aA,
|
|
flushed: lA,
|
|
unstyled: uA
|
|
}, J = rA({
|
|
baseStyle: oA,
|
|
sizes: iA,
|
|
variants: cA,
|
|
defaultProps: {
|
|
size: "md",
|
|
variant: "outline"
|
|
}
|
|
}), cc = j("kbd-bg"), dA = {
|
|
[cc.variable]: "colors.gray.100",
|
|
_dark: {
|
|
[cc.variable]: "colors.whiteAlpha.100"
|
|
},
|
|
bg: cc.reference,
|
|
borderRadius: "md",
|
|
borderWidth: "1px",
|
|
borderBottomWidth: "3px",
|
|
fontSize: "0.8em",
|
|
fontWeight: "bold",
|
|
lineHeight: "normal",
|
|
px: "0.4em",
|
|
whiteSpace: "nowrap"
|
|
}, fA = {
|
|
baseStyle: dA
|
|
}, hA = {
|
|
transitionProperty: "common",
|
|
transitionDuration: "fast",
|
|
transitionTimingFunction: "ease-out",
|
|
cursor: "pointer",
|
|
textDecoration: "none",
|
|
outline: "none",
|
|
color: "inherit",
|
|
_hover: {
|
|
textDecoration: "underline"
|
|
},
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
}
|
|
}, pA = {
|
|
baseStyle: hA
|
|
}, { defineMultiStyleConfig: mA, definePartsStyle: gA } = ae(pE.keys), yA = {
|
|
marginEnd: "2",
|
|
display: "inline",
|
|
verticalAlign: "text-bottom"
|
|
}, vA = gA({
|
|
icon: yA
|
|
}), SA = mA({
|
|
baseStyle: vA
|
|
}), { defineMultiStyleConfig: bA, definePartsStyle: xA } = ae(mE.keys), en = j("menu-bg"), dc = j("menu-shadow"), wA = {
|
|
[en.variable]: "#fff",
|
|
[dc.variable]: "shadows.sm",
|
|
_dark: {
|
|
[en.variable]: "colors.gray.700",
|
|
[dc.variable]: "shadows.dark-lg"
|
|
},
|
|
color: "inherit",
|
|
minW: "3xs",
|
|
py: "2",
|
|
zIndex: "dropdown",
|
|
borderRadius: "md",
|
|
borderWidth: "1px",
|
|
bg: en.reference,
|
|
boxShadow: dc.reference
|
|
}, kA = {
|
|
py: "1.5",
|
|
px: "3",
|
|
transitionProperty: "background",
|
|
transitionDuration: "ultra-fast",
|
|
transitionTimingFunction: "ease-in",
|
|
_focus: {
|
|
[en.variable]: "colors.gray.100",
|
|
_dark: {
|
|
[en.variable]: "colors.whiteAlpha.100"
|
|
}
|
|
},
|
|
_active: {
|
|
[en.variable]: "colors.gray.200",
|
|
_dark: {
|
|
[en.variable]: "colors.whiteAlpha.200"
|
|
}
|
|
},
|
|
_expanded: {
|
|
[en.variable]: "colors.gray.100",
|
|
_dark: {
|
|
[en.variable]: "colors.whiteAlpha.100"
|
|
}
|
|
},
|
|
_disabled: {
|
|
opacity: 0.4,
|
|
cursor: "not-allowed"
|
|
},
|
|
bg: en.reference
|
|
}, CA = {
|
|
mx: 4,
|
|
my: 2,
|
|
fontWeight: "semibold",
|
|
fontSize: "sm"
|
|
}, TA = {
|
|
display: "inline-flex",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
flexShrink: 0
|
|
}, EA = {
|
|
opacity: 0.6
|
|
}, PA = {
|
|
border: 0,
|
|
borderBottom: "1px solid",
|
|
borderColor: "inherit",
|
|
my: "2",
|
|
opacity: 0.6
|
|
}, AA = {
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal"
|
|
}, zA = xA({
|
|
button: AA,
|
|
list: wA,
|
|
item: kA,
|
|
groupTitle: CA,
|
|
icon: TA,
|
|
command: EA,
|
|
divider: PA
|
|
}), MA = bA({
|
|
baseStyle: zA
|
|
}), { defineMultiStyleConfig: RA, definePartsStyle: Hd } = ae(gE.keys), fc = j("modal-bg"), hc = j("modal-shadow"), DA = {
|
|
bg: "blackAlpha.600",
|
|
zIndex: "modal"
|
|
}, FA = (e) => {
|
|
const { isCentered: t, scrollBehavior: n } = e;
|
|
return {
|
|
display: "flex",
|
|
zIndex: "modal",
|
|
justifyContent: "center",
|
|
alignItems: t ? "center" : "flex-start",
|
|
overflow: n === "inside" ? "hidden" : "auto",
|
|
overscrollBehaviorY: "none"
|
|
};
|
|
}, LA = (e) => {
|
|
const { isCentered: t, scrollBehavior: n } = e;
|
|
return {
|
|
borderRadius: "md",
|
|
color: "inherit",
|
|
my: t ? "auto" : "16",
|
|
mx: t ? "auto" : void 0,
|
|
zIndex: "modal",
|
|
maxH: n === "inside" ? "calc(100% - 7.5rem)" : void 0,
|
|
[fc.variable]: "colors.white",
|
|
[hc.variable]: "shadows.lg",
|
|
_dark: {
|
|
[fc.variable]: "colors.gray.700",
|
|
[hc.variable]: "shadows.dark-lg"
|
|
},
|
|
bg: fc.reference,
|
|
boxShadow: hc.reference
|
|
};
|
|
}, BA = {
|
|
px: "6",
|
|
py: "4",
|
|
fontSize: "xl",
|
|
fontWeight: "semibold"
|
|
}, VA = {
|
|
position: "absolute",
|
|
top: "2",
|
|
insetEnd: "3"
|
|
}, IA = (e) => {
|
|
const { scrollBehavior: t } = e;
|
|
return {
|
|
px: "6",
|
|
py: "2",
|
|
flex: "1",
|
|
overflow: t === "inside" ? "auto" : void 0
|
|
};
|
|
}, OA = {
|
|
px: "6",
|
|
py: "4"
|
|
}, NA = Hd((e) => ({
|
|
overlay: DA,
|
|
dialogContainer: et(FA, e),
|
|
dialog: et(LA, e),
|
|
header: BA,
|
|
closeButton: VA,
|
|
body: et(IA, e),
|
|
footer: OA
|
|
}));
|
|
function It(e) {
|
|
return Hd(e === "full" ? {
|
|
dialog: {
|
|
maxW: "100vw",
|
|
minH: "$100vh",
|
|
my: "0",
|
|
borderRadius: "0"
|
|
}
|
|
} : {
|
|
dialog: { maxW: e }
|
|
});
|
|
}
|
|
const jA = {
|
|
xs: It("xs"),
|
|
sm: It("sm"),
|
|
md: It("md"),
|
|
lg: It("lg"),
|
|
xl: It("xl"),
|
|
"2xl": It("2xl"),
|
|
"3xl": It("3xl"),
|
|
"4xl": It("4xl"),
|
|
"5xl": It("5xl"),
|
|
"6xl": It("6xl"),
|
|
full: It("full")
|
|
}, WA = RA({
|
|
baseStyle: NA,
|
|
sizes: jA,
|
|
defaultProps: { size: "md" }
|
|
}), wS = {
|
|
letterSpacings: {
|
|
tighter: "-0.05em",
|
|
tight: "-0.025em",
|
|
normal: "0",
|
|
wide: "0.025em",
|
|
wider: "0.05em",
|
|
widest: "0.1em"
|
|
},
|
|
lineHeights: {
|
|
normal: "normal",
|
|
none: 1,
|
|
shorter: 1.25,
|
|
short: 1.375,
|
|
base: 1.5,
|
|
tall: 1.625,
|
|
taller: "2",
|
|
3: ".75rem",
|
|
4: "1rem",
|
|
5: "1.25rem",
|
|
6: "1.5rem",
|
|
7: "1.75rem",
|
|
8: "2rem",
|
|
9: "2.25rem",
|
|
10: "2.5rem"
|
|
},
|
|
fontWeights: {
|
|
hairline: 100,
|
|
thin: 200,
|
|
light: 300,
|
|
normal: 400,
|
|
medium: 500,
|
|
semibold: 600,
|
|
bold: 700,
|
|
extrabold: 800,
|
|
black: 900
|
|
},
|
|
fonts: {
|
|
heading: '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
|
|
body: '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
|
|
mono: 'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'
|
|
},
|
|
fontSizes: {
|
|
"3xs": "0.45rem",
|
|
"2xs": "0.625rem",
|
|
xs: "0.75rem",
|
|
sm: "0.875rem",
|
|
md: "1rem",
|
|
lg: "1.125rem",
|
|
xl: "1.25rem",
|
|
"2xl": "1.5rem",
|
|
"3xl": "1.875rem",
|
|
"4xl": "2.25rem",
|
|
"5xl": "3rem",
|
|
"6xl": "3.75rem",
|
|
"7xl": "4.5rem",
|
|
"8xl": "6rem",
|
|
"9xl": "8rem"
|
|
}
|
|
}, { defineMultiStyleConfig: UA, definePartsStyle: kS } = ae(yE.keys), Ch = Me("number-input-stepper-width"), CS = Me("number-input-input-padding"), HA = Sn(Ch).add("0.5rem").toString(), pc = Me("number-input-bg"), mc = Me("number-input-color"), gc = Me("number-input-border-color"), KA = {
|
|
[Ch.variable]: "sizes.6",
|
|
[CS.variable]: HA
|
|
}, XA = (e) => et(J.baseStyle, e)?.field ?? {}, qA = {
|
|
width: Ch.reference
|
|
}, YA = {
|
|
borderStart: "1px solid",
|
|
borderStartColor: gc.reference,
|
|
color: mc.reference,
|
|
bg: pc.reference,
|
|
[mc.variable]: "colors.chakra-body-text",
|
|
[gc.variable]: "colors.chakra-border-color",
|
|
_dark: {
|
|
[mc.variable]: "colors.whiteAlpha.800",
|
|
[gc.variable]: "colors.whiteAlpha.300"
|
|
},
|
|
_active: {
|
|
[pc.variable]: "colors.gray.200",
|
|
_dark: {
|
|
[pc.variable]: "colors.whiteAlpha.300"
|
|
}
|
|
},
|
|
_disabled: {
|
|
opacity: 0.4,
|
|
cursor: "not-allowed"
|
|
}
|
|
}, ZA = kS((e) => ({
|
|
root: KA,
|
|
field: et(XA, e) ?? {},
|
|
stepperGroup: qA,
|
|
stepper: YA
|
|
}));
|
|
function ta(e) {
|
|
const t = J.sizes?.[e], n = {
|
|
lg: "md",
|
|
md: "md",
|
|
sm: "sm",
|
|
xs: "sm"
|
|
}, r = t.field?.fontSize ?? "md", o = wS.fontSizes[r];
|
|
return kS({
|
|
field: {
|
|
...t.field,
|
|
paddingInlineEnd: CS.reference,
|
|
verticalAlign: "top"
|
|
},
|
|
stepper: {
|
|
fontSize: Sn(o).multiply(0.75).toString(),
|
|
_first: {
|
|
borderTopEndRadius: n[e]
|
|
},
|
|
_last: {
|
|
borderBottomEndRadius: n[e],
|
|
mt: "-1px",
|
|
borderTopWidth: 1
|
|
}
|
|
}
|
|
});
|
|
}
|
|
const GA = {
|
|
xs: ta("xs"),
|
|
sm: ta("sm"),
|
|
md: ta("md"),
|
|
lg: ta("lg")
|
|
}, QA = UA({
|
|
baseStyle: ZA,
|
|
sizes: GA,
|
|
variants: J.variants,
|
|
defaultProps: J.defaultProps
|
|
}), JA = {
|
|
...J.baseStyle?.field,
|
|
textAlign: "center"
|
|
}, _A = {
|
|
lg: {
|
|
fontSize: "lg",
|
|
w: 12,
|
|
h: 12,
|
|
borderRadius: "md"
|
|
},
|
|
md: {
|
|
fontSize: "md",
|
|
w: 10,
|
|
h: 10,
|
|
borderRadius: "md"
|
|
},
|
|
sm: {
|
|
fontSize: "sm",
|
|
w: 8,
|
|
h: 8,
|
|
borderRadius: "sm"
|
|
},
|
|
xs: {
|
|
fontSize: "xs",
|
|
w: 6,
|
|
h: 6,
|
|
borderRadius: "sm"
|
|
}
|
|
}, $A = {
|
|
outline: (e) => et(J.variants?.outline, e)?.field ?? {},
|
|
flushed: (e) => et(J.variants?.flushed, e)?.field ?? {},
|
|
filled: (e) => et(J.variants?.filled, e)?.field ?? {},
|
|
unstyled: J.variants?.unstyled.field ?? {}
|
|
}, ez = {
|
|
baseStyle: JA,
|
|
sizes: _A,
|
|
variants: $A,
|
|
defaultProps: J.defaultProps
|
|
}, { defineMultiStyleConfig: tz, definePartsStyle: nz } = ae(vE.keys), na = Me("popper-bg"), rz = Me("popper-arrow-bg"), lg = Me("popper-arrow-shadow-color"), oz = {
|
|
zIndex: "popover"
|
|
}, iz = {
|
|
[na.variable]: "colors.white",
|
|
bg: na.reference,
|
|
[rz.variable]: na.reference,
|
|
[lg.variable]: "colors.gray.200",
|
|
_dark: {
|
|
[na.variable]: "colors.gray.700",
|
|
[lg.variable]: "colors.whiteAlpha.300"
|
|
},
|
|
width: "xs",
|
|
border: "1px solid",
|
|
borderColor: "inherit",
|
|
borderRadius: "md",
|
|
boxShadow: "sm",
|
|
zIndex: "inherit",
|
|
_focusVisible: {
|
|
outline: 0,
|
|
boxShadow: "outline"
|
|
}
|
|
}, sz = {
|
|
px: 3,
|
|
py: 2,
|
|
borderBottomWidth: "1px"
|
|
}, az = {
|
|
px: 3,
|
|
py: 2
|
|
}, lz = {
|
|
px: 3,
|
|
py: 2,
|
|
borderTopWidth: "1px"
|
|
}, uz = {
|
|
position: "absolute",
|
|
borderRadius: "md",
|
|
top: 1,
|
|
insetEnd: 2,
|
|
padding: 2
|
|
}, cz = nz({
|
|
popper: oz,
|
|
content: iz,
|
|
header: sz,
|
|
body: az,
|
|
footer: lz,
|
|
closeButton: uz
|
|
}), dz = tz({
|
|
baseStyle: cz
|
|
}), { defineMultiStyleConfig: fz, definePartsStyle: mi } = ae(SE.keys), hz = (e) => {
|
|
const { colorScheme: t, theme: n, isIndeterminate: r, hasStripe: o } = e, i = N(
|
|
rg(),
|
|
rg("1rem", "rgba(0,0,0,0.1)")
|
|
)(e), s = N(`${t}.500`, `${t}.200`)(e), a = `linear-gradient(
|
|
to right,
|
|
transparent 0%,
|
|
${Ge(n, s)} 50%,
|
|
transparent 100%
|
|
)`;
|
|
return {
|
|
...!r && o && i,
|
|
...r ? { bgImage: a } : { bgColor: s }
|
|
};
|
|
}, pz = {
|
|
lineHeight: "1",
|
|
fontSize: "0.25em",
|
|
fontWeight: "bold",
|
|
color: "white"
|
|
}, mz = (e) => ({
|
|
bg: N("gray.100", "whiteAlpha.300")(e)
|
|
}), gz = (e) => ({
|
|
transitionProperty: "common",
|
|
transitionDuration: "slow",
|
|
...hz(e)
|
|
}), yz = mi((e) => ({
|
|
label: pz,
|
|
filledTrack: gz(e),
|
|
track: mz(e)
|
|
})), vz = {
|
|
xs: mi({
|
|
track: { h: "1" }
|
|
}),
|
|
sm: mi({
|
|
track: { h: "2" }
|
|
}),
|
|
md: mi({
|
|
track: { h: "3" }
|
|
}),
|
|
lg: mi({
|
|
track: { h: "4" }
|
|
})
|
|
}, Sz = fz({
|
|
sizes: vz,
|
|
baseStyle: yz,
|
|
defaultProps: {
|
|
size: "md",
|
|
colorScheme: "blue"
|
|
}
|
|
}), { defineMultiStyleConfig: bz, definePartsStyle: za } = ae(bE.keys), xz = (e) => {
|
|
const t = et(xl.baseStyle, e)?.control;
|
|
return {
|
|
...t,
|
|
borderRadius: "full",
|
|
_checked: {
|
|
...t?._checked,
|
|
_before: {
|
|
content: '""',
|
|
display: "inline-block",
|
|
pos: "relative",
|
|
w: "50%",
|
|
h: "50%",
|
|
borderRadius: "50%",
|
|
bg: "currentColor"
|
|
}
|
|
}
|
|
};
|
|
}, wz = za((e) => ({
|
|
label: xl.baseStyle?.(e).label,
|
|
container: xl.baseStyle?.(e).container,
|
|
control: xz(e)
|
|
})), kz = {
|
|
md: za({
|
|
control: { w: "4", h: "4" },
|
|
label: { fontSize: "md" }
|
|
}),
|
|
lg: za({
|
|
control: { w: "5", h: "5" },
|
|
label: { fontSize: "lg" }
|
|
}),
|
|
sm: za({
|
|
control: { width: "3", height: "3" },
|
|
label: { fontSize: "sm" }
|
|
})
|
|
}, Cz = bz({
|
|
baseStyle: wz,
|
|
sizes: kz,
|
|
defaultProps: {
|
|
size: "md",
|
|
colorScheme: "blue"
|
|
}
|
|
}), { defineMultiStyleConfig: Tz, definePartsStyle: Ez } = ae(xE.keys), ra = j("select-bg"), Pz = {
|
|
...J.baseStyle?.field,
|
|
appearance: "none",
|
|
paddingBottom: "1px",
|
|
lineHeight: "normal",
|
|
bg: ra.reference,
|
|
[ra.variable]: "colors.white",
|
|
_dark: {
|
|
[ra.variable]: "colors.gray.700"
|
|
},
|
|
"> option, > optgroup": {
|
|
bg: ra.reference
|
|
}
|
|
}, Az = {
|
|
width: "6",
|
|
height: "100%",
|
|
insetEnd: "2",
|
|
position: "relative",
|
|
color: "currentColor",
|
|
fontSize: "xl",
|
|
_disabled: {
|
|
opacity: 0.5
|
|
}
|
|
}, zz = Ez({
|
|
field: Pz,
|
|
icon: Az
|
|
}), oa = {
|
|
paddingInlineEnd: "8"
|
|
}, Mz = {
|
|
lg: {
|
|
...J.sizes?.lg,
|
|
field: {
|
|
...J.sizes?.lg.field,
|
|
...oa
|
|
}
|
|
},
|
|
md: {
|
|
...J.sizes?.md,
|
|
field: {
|
|
...J.sizes?.md.field,
|
|
...oa
|
|
}
|
|
},
|
|
sm: {
|
|
...J.sizes?.sm,
|
|
field: {
|
|
...J.sizes?.sm.field,
|
|
...oa
|
|
}
|
|
},
|
|
xs: {
|
|
...J.sizes?.xs,
|
|
field: {
|
|
...J.sizes?.xs.field,
|
|
...oa
|
|
},
|
|
icon: {
|
|
insetEnd: "1"
|
|
}
|
|
}
|
|
}, Rz = Tz({
|
|
baseStyle: zz,
|
|
sizes: Mz,
|
|
variants: J.variants,
|
|
defaultProps: J.defaultProps
|
|
}), yc = j("skeleton-start-color"), vc = j("skeleton-end-color"), Dz = {
|
|
[yc.variable]: "colors.gray.100",
|
|
[vc.variable]: "colors.gray.400",
|
|
_dark: {
|
|
[yc.variable]: "colors.gray.800",
|
|
[vc.variable]: "colors.gray.600"
|
|
},
|
|
background: yc.reference,
|
|
borderColor: vc.reference,
|
|
opacity: 0.7,
|
|
borderRadius: "sm"
|
|
}, Fz = {
|
|
baseStyle: Dz
|
|
}, Sc = j("skip-link-bg"), Lz = {
|
|
borderRadius: "md",
|
|
fontWeight: "semibold",
|
|
_focusVisible: {
|
|
boxShadow: "outline",
|
|
padding: "4",
|
|
position: "fixed",
|
|
top: "6",
|
|
insetStart: "6",
|
|
[Sc.variable]: "colors.white",
|
|
_dark: {
|
|
[Sc.variable]: "colors.gray.700"
|
|
},
|
|
bg: Sc.reference
|
|
}
|
|
}, Bz = {
|
|
baseStyle: Lz
|
|
}, { defineMultiStyleConfig: Vz, definePartsStyle: tu } = ae(wE.keys), Fr = j("slider-thumb-size"), is = j("slider-track-size"), jn = j("slider-bg"), Iz = (e) => {
|
|
const { orientation: t } = e;
|
|
return {
|
|
display: "inline-block",
|
|
position: "relative",
|
|
cursor: "pointer",
|
|
_disabled: {
|
|
opacity: 0.6,
|
|
cursor: "default",
|
|
pointerEvents: "none"
|
|
},
|
|
...xh({
|
|
orientation: t,
|
|
vertical: {
|
|
h: "100%",
|
|
px: vn(Fr.reference).divide(2).toString()
|
|
},
|
|
horizontal: {
|
|
w: "100%",
|
|
py: vn(Fr.reference).divide(2).toString()
|
|
}
|
|
})
|
|
};
|
|
}, Oz = (e) => ({
|
|
...xh({
|
|
orientation: e.orientation,
|
|
horizontal: { h: is.reference },
|
|
vertical: { w: is.reference }
|
|
}),
|
|
overflow: "hidden",
|
|
borderRadius: "sm",
|
|
[jn.variable]: "colors.gray.200",
|
|
_dark: {
|
|
[jn.variable]: "colors.whiteAlpha.200"
|
|
},
|
|
_disabled: {
|
|
[jn.variable]: "colors.gray.300",
|
|
_dark: {
|
|
[jn.variable]: "colors.whiteAlpha.300"
|
|
}
|
|
},
|
|
bg: jn.reference
|
|
}), Nz = (e) => {
|
|
const { orientation: t } = e;
|
|
return {
|
|
...xh({
|
|
orientation: t,
|
|
vertical: { left: "50%" },
|
|
horizontal: { top: "50%" }
|
|
}),
|
|
w: Fr.reference,
|
|
h: Fr.reference,
|
|
display: "flex",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
position: "absolute",
|
|
outline: 0,
|
|
zIndex: 1,
|
|
borderRadius: "full",
|
|
bg: "white",
|
|
boxShadow: "base",
|
|
border: "1px solid",
|
|
borderColor: "transparent",
|
|
transitionProperty: "transform",
|
|
transitionDuration: "normal",
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
},
|
|
_active: {
|
|
"--slider-thumb-scale": "1.15"
|
|
},
|
|
_disabled: {
|
|
bg: "gray.300"
|
|
}
|
|
};
|
|
}, jz = (e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
width: "inherit",
|
|
height: "inherit",
|
|
[jn.variable]: `colors.${t}.500`,
|
|
_dark: {
|
|
[jn.variable]: `colors.${t}.200`
|
|
},
|
|
bg: jn.reference
|
|
};
|
|
}, Wz = tu((e) => ({
|
|
container: Iz(e),
|
|
track: Oz(e),
|
|
thumb: Nz(e),
|
|
filledTrack: jz(e)
|
|
})), Uz = tu({
|
|
container: {
|
|
[Fr.variable]: "sizes.4",
|
|
[is.variable]: "sizes.1"
|
|
}
|
|
}), Hz = tu({
|
|
container: {
|
|
[Fr.variable]: "sizes.3.5",
|
|
[is.variable]: "sizes.1"
|
|
}
|
|
}), Kz = tu({
|
|
container: {
|
|
[Fr.variable]: "sizes.2.5",
|
|
[is.variable]: "sizes.0.5"
|
|
}
|
|
}), Xz = {
|
|
lg: Uz,
|
|
md: Hz,
|
|
sm: Kz
|
|
}, qz = Vz({
|
|
baseStyle: Wz,
|
|
sizes: Xz,
|
|
defaultProps: {
|
|
size: "md",
|
|
colorScheme: "blue"
|
|
}
|
|
}), pr = Me("spinner-size"), Yz = {
|
|
width: [pr.reference],
|
|
height: [pr.reference]
|
|
}, Zz = {
|
|
xs: {
|
|
[pr.variable]: "sizes.3"
|
|
},
|
|
sm: {
|
|
[pr.variable]: "sizes.4"
|
|
},
|
|
md: {
|
|
[pr.variable]: "sizes.6"
|
|
},
|
|
lg: {
|
|
[pr.variable]: "sizes.8"
|
|
},
|
|
xl: {
|
|
[pr.variable]: "sizes.12"
|
|
}
|
|
}, Gz = {
|
|
baseStyle: Yz,
|
|
sizes: Zz,
|
|
defaultProps: {
|
|
size: "md"
|
|
}
|
|
}, { defineMultiStyleConfig: Qz, definePartsStyle: TS } = ae(kE.keys), Jz = {
|
|
fontWeight: "medium"
|
|
}, _z = {
|
|
opacity: 0.8,
|
|
marginBottom: "2"
|
|
}, $z = {
|
|
verticalAlign: "baseline",
|
|
fontWeight: "semibold"
|
|
}, eM = {
|
|
marginEnd: 1,
|
|
w: "3.5",
|
|
h: "3.5",
|
|
verticalAlign: "middle"
|
|
}, tM = TS({
|
|
container: {},
|
|
label: Jz,
|
|
helpText: _z,
|
|
number: $z,
|
|
icon: eM
|
|
}), nM = {
|
|
md: TS({
|
|
label: { fontSize: "sm" },
|
|
helpText: { fontSize: "sm" },
|
|
number: { fontSize: "2xl" }
|
|
})
|
|
}, rM = Qz({
|
|
baseStyle: tM,
|
|
sizes: nM,
|
|
defaultProps: {
|
|
size: "md"
|
|
}
|
|
}), { defineMultiStyleConfig: oM, definePartsStyle: gi } = ae([
|
|
"stepper",
|
|
"step",
|
|
"title",
|
|
"description",
|
|
"indicator",
|
|
"separator",
|
|
"icon",
|
|
"number"
|
|
]), bn = j("stepper-indicator-size"), ao = j("stepper-icon-size"), lo = j("stepper-title-font-size"), yi = j("stepper-description-font-size"), ii = j("stepper-accent-color"), iM = gi(({ colorScheme: e }) => ({
|
|
stepper: {
|
|
display: "flex",
|
|
justifyContent: "space-between",
|
|
gap: "4",
|
|
"&[data-orientation=vertical]": {
|
|
flexDirection: "column",
|
|
alignItems: "flex-start"
|
|
},
|
|
"&[data-orientation=horizontal]": {
|
|
flexDirection: "row",
|
|
alignItems: "center"
|
|
},
|
|
[ii.variable]: `colors.${e}.500`,
|
|
_dark: {
|
|
[ii.variable]: `colors.${e}.200`
|
|
}
|
|
},
|
|
title: {
|
|
fontSize: lo.reference,
|
|
fontWeight: "medium"
|
|
},
|
|
description: {
|
|
fontSize: yi.reference,
|
|
color: "chakra-subtle-text"
|
|
},
|
|
number: {
|
|
fontSize: lo.reference
|
|
},
|
|
step: {
|
|
flexShrink: 0,
|
|
position: "relative",
|
|
display: "flex",
|
|
gap: "2",
|
|
"&[data-orientation=horizontal]": {
|
|
alignItems: "center"
|
|
},
|
|
flex: "1",
|
|
"&:last-of-type:not([data-stretch])": {
|
|
flex: "initial"
|
|
}
|
|
},
|
|
icon: {
|
|
flexShrink: 0,
|
|
width: ao.reference,
|
|
height: ao.reference
|
|
},
|
|
indicator: {
|
|
flexShrink: 0,
|
|
borderRadius: "full",
|
|
width: bn.reference,
|
|
height: bn.reference,
|
|
display: "flex",
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
"&[data-status=active]": {
|
|
borderWidth: "2px",
|
|
borderColor: ii.reference
|
|
},
|
|
"&[data-status=complete]": {
|
|
bg: ii.reference,
|
|
color: "chakra-inverse-text"
|
|
},
|
|
"&[data-status=incomplete]": {
|
|
borderWidth: "2px"
|
|
}
|
|
},
|
|
separator: {
|
|
bg: "chakra-border-color",
|
|
flex: "1",
|
|
"&[data-status=complete]": {
|
|
bg: ii.reference
|
|
},
|
|
"&[data-orientation=horizontal]": {
|
|
width: "100%",
|
|
height: "2px",
|
|
marginStart: "2"
|
|
},
|
|
"&[data-orientation=vertical]": {
|
|
width: "2px",
|
|
position: "absolute",
|
|
height: "100%",
|
|
maxHeight: `calc(100% - ${bn.reference} - 8px)`,
|
|
top: `calc(${bn.reference} + 4px)`,
|
|
insetStart: `calc(${bn.reference} / 2 - 1px)`
|
|
}
|
|
}
|
|
})), sM = oM({
|
|
baseStyle: iM,
|
|
sizes: {
|
|
xs: gi({
|
|
stepper: {
|
|
[bn.variable]: "sizes.4",
|
|
[ao.variable]: "sizes.3",
|
|
[lo.variable]: "fontSizes.xs",
|
|
[yi.variable]: "fontSizes.xs"
|
|
}
|
|
}),
|
|
sm: gi({
|
|
stepper: {
|
|
[bn.variable]: "sizes.6",
|
|
[ao.variable]: "sizes.4",
|
|
[lo.variable]: "fontSizes.sm",
|
|
[yi.variable]: "fontSizes.xs"
|
|
}
|
|
}),
|
|
md: gi({
|
|
stepper: {
|
|
[bn.variable]: "sizes.8",
|
|
[ao.variable]: "sizes.5",
|
|
[lo.variable]: "fontSizes.md",
|
|
[yi.variable]: "fontSizes.sm"
|
|
}
|
|
}),
|
|
lg: gi({
|
|
stepper: {
|
|
[bn.variable]: "sizes.10",
|
|
[ao.variable]: "sizes.6",
|
|
[lo.variable]: "fontSizes.lg",
|
|
[yi.variable]: "fontSizes.md"
|
|
}
|
|
})
|
|
},
|
|
defaultProps: {
|
|
size: "md",
|
|
colorScheme: "blue"
|
|
}
|
|
}), { defineMultiStyleConfig: aM, definePartsStyle: Ma } = ae(CE.keys), Li = Me("switch-track-width"), Cr = Me("switch-track-height"), bc = Me("switch-track-diff"), lM = Sn.subtract(Li, Cr), Kd = Me("switch-thumb-x"), si = Me("switch-bg"), uM = (e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
borderRadius: "full",
|
|
p: "0.5",
|
|
width: [Li.reference],
|
|
height: [Cr.reference],
|
|
transitionProperty: "common",
|
|
transitionDuration: "fast",
|
|
[si.variable]: "colors.gray.300",
|
|
_dark: {
|
|
[si.variable]: "colors.whiteAlpha.400"
|
|
},
|
|
_focusVisible: {
|
|
boxShadow: "outline"
|
|
},
|
|
_disabled: {
|
|
opacity: 0.4,
|
|
cursor: "not-allowed"
|
|
},
|
|
_checked: {
|
|
[si.variable]: `colors.${t}.500`,
|
|
_dark: {
|
|
[si.variable]: `colors.${t}.200`
|
|
}
|
|
},
|
|
bg: si.reference
|
|
};
|
|
}, cM = {
|
|
bg: "white",
|
|
transitionProperty: "transform",
|
|
transitionDuration: "normal",
|
|
borderRadius: "inherit",
|
|
width: [Cr.reference],
|
|
height: [Cr.reference],
|
|
_checked: {
|
|
transform: `translateX(${Kd.reference})`
|
|
}
|
|
}, dM = Ma((e) => ({
|
|
container: {
|
|
[bc.variable]: lM,
|
|
[Kd.variable]: bc.reference,
|
|
_rtl: {
|
|
[Kd.variable]: Sn(bc).negate().toString()
|
|
}
|
|
},
|
|
track: uM(e),
|
|
thumb: cM
|
|
})), fM = {
|
|
sm: Ma({
|
|
container: {
|
|
[Li.variable]: "1.375rem",
|
|
[Cr.variable]: "sizes.3"
|
|
}
|
|
}),
|
|
md: Ma({
|
|
container: {
|
|
[Li.variable]: "1.875rem",
|
|
[Cr.variable]: "sizes.4"
|
|
}
|
|
}),
|
|
lg: Ma({
|
|
container: {
|
|
[Li.variable]: "2.875rem",
|
|
[Cr.variable]: "sizes.6"
|
|
}
|
|
})
|
|
}, hM = aM({
|
|
baseStyle: dM,
|
|
sizes: fM,
|
|
defaultProps: {
|
|
size: "md",
|
|
colorScheme: "blue"
|
|
}
|
|
}), { defineMultiStyleConfig: pM, definePartsStyle: wo } = ae(TE.keys), mM = wo({
|
|
table: {
|
|
fontVariantNumeric: "lining-nums tabular-nums",
|
|
borderCollapse: "collapse",
|
|
width: "full"
|
|
},
|
|
th: {
|
|
fontFamily: "heading",
|
|
fontWeight: "bold",
|
|
textTransform: "uppercase",
|
|
letterSpacing: "wider",
|
|
textAlign: "start"
|
|
},
|
|
td: {
|
|
textAlign: "start"
|
|
},
|
|
caption: {
|
|
mt: 4,
|
|
fontFamily: "heading",
|
|
textAlign: "center",
|
|
fontWeight: "medium"
|
|
}
|
|
}), wl = {
|
|
"&[data-is-numeric=true]": {
|
|
textAlign: "end"
|
|
}
|
|
}, gM = wo((e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
th: {
|
|
color: N("gray.600", "gray.400")(e),
|
|
borderBottom: "1px",
|
|
borderColor: N(`${t}.100`, `${t}.700`)(e),
|
|
...wl
|
|
},
|
|
td: {
|
|
borderBottom: "1px",
|
|
borderColor: N(`${t}.100`, `${t}.700`)(e),
|
|
...wl
|
|
},
|
|
caption: {
|
|
color: N("gray.600", "gray.100")(e)
|
|
},
|
|
tfoot: {
|
|
tr: {
|
|
"&:last-of-type": {
|
|
th: { borderBottomWidth: 0 }
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}), yM = wo((e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
th: {
|
|
color: N("gray.600", "gray.400")(e),
|
|
borderBottom: "1px",
|
|
borderColor: N(`${t}.100`, `${t}.700`)(e),
|
|
...wl
|
|
},
|
|
td: {
|
|
borderBottom: "1px",
|
|
borderColor: N(`${t}.100`, `${t}.700`)(e),
|
|
...wl
|
|
},
|
|
caption: {
|
|
color: N("gray.600", "gray.100")(e)
|
|
},
|
|
tbody: {
|
|
tr: {
|
|
"&:nth-of-type(odd)": {
|
|
"th, td": {
|
|
borderBottomWidth: "1px",
|
|
borderColor: N(`${t}.100`, `${t}.700`)(e)
|
|
},
|
|
td: {
|
|
background: N(`${t}.100`, `${t}.700`)(e)
|
|
}
|
|
}
|
|
}
|
|
},
|
|
tfoot: {
|
|
tr: {
|
|
"&:last-of-type": {
|
|
th: { borderBottomWidth: 0 }
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}), vM = {
|
|
simple: gM,
|
|
striped: yM,
|
|
unstyled: {}
|
|
}, SM = {
|
|
sm: wo({
|
|
th: {
|
|
px: "4",
|
|
py: "1",
|
|
lineHeight: "4",
|
|
fontSize: "xs"
|
|
},
|
|
td: {
|
|
px: "4",
|
|
py: "2",
|
|
fontSize: "sm",
|
|
lineHeight: "4"
|
|
},
|
|
caption: {
|
|
px: "4",
|
|
py: "2",
|
|
fontSize: "xs"
|
|
}
|
|
}),
|
|
md: wo({
|
|
th: {
|
|
px: "6",
|
|
py: "3",
|
|
lineHeight: "4",
|
|
fontSize: "xs"
|
|
},
|
|
td: {
|
|
px: "6",
|
|
py: "4",
|
|
lineHeight: "5"
|
|
},
|
|
caption: {
|
|
px: "6",
|
|
py: "2",
|
|
fontSize: "sm"
|
|
}
|
|
}),
|
|
lg: wo({
|
|
th: {
|
|
px: "8",
|
|
py: "4",
|
|
lineHeight: "5",
|
|
fontSize: "sm"
|
|
},
|
|
td: {
|
|
px: "8",
|
|
py: "5",
|
|
lineHeight: "6"
|
|
},
|
|
caption: {
|
|
px: "6",
|
|
py: "2",
|
|
fontSize: "md"
|
|
}
|
|
})
|
|
}, bM = pM({
|
|
baseStyle: mM,
|
|
variants: vM,
|
|
sizes: SM,
|
|
defaultProps: {
|
|
variant: "simple",
|
|
size: "md",
|
|
colorScheme: "gray"
|
|
}
|
|
}), ot = j("tabs-color"), Ht = j("tabs-bg"), ia = j("tabs-border-color"), { defineMultiStyleConfig: xM, definePartsStyle: un } = ae(EE.keys), wM = (e) => {
|
|
const { orientation: t } = e;
|
|
return {
|
|
display: t === "vertical" ? "flex" : "block"
|
|
};
|
|
}, kM = (e) => {
|
|
const { isFitted: t } = e;
|
|
return {
|
|
flex: t ? 1 : void 0,
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
_focusVisible: {
|
|
zIndex: 1,
|
|
boxShadow: "outline"
|
|
},
|
|
_disabled: {
|
|
cursor: "not-allowed",
|
|
opacity: 0.4
|
|
}
|
|
};
|
|
}, CM = (e) => {
|
|
const { align: t = "start", orientation: n } = e;
|
|
return {
|
|
justifyContent: {
|
|
end: "flex-end",
|
|
center: "center",
|
|
start: "flex-start"
|
|
}[t],
|
|
flexDirection: n === "vertical" ? "column" : "row"
|
|
};
|
|
}, TM = {
|
|
p: 4
|
|
}, EM = un((e) => ({
|
|
root: wM(e),
|
|
tab: kM(e),
|
|
tablist: CM(e),
|
|
tabpanel: TM
|
|
})), PM = {
|
|
sm: un({
|
|
tab: {
|
|
py: 1,
|
|
px: 4,
|
|
fontSize: "sm"
|
|
}
|
|
}),
|
|
md: un({
|
|
tab: {
|
|
fontSize: "md",
|
|
py: 2,
|
|
px: 4
|
|
}
|
|
}),
|
|
lg: un({
|
|
tab: {
|
|
fontSize: "lg",
|
|
py: 3,
|
|
px: 4
|
|
}
|
|
})
|
|
}, AM = un((e) => {
|
|
const { colorScheme: t, orientation: n } = e, r = n === "vertical", o = r ? "borderStart" : "borderBottom", i = r ? "marginStart" : "marginBottom";
|
|
return {
|
|
tablist: {
|
|
[o]: "2px solid",
|
|
borderColor: "inherit"
|
|
},
|
|
tab: {
|
|
[o]: "2px solid",
|
|
borderColor: "transparent",
|
|
[i]: "-2px",
|
|
_selected: {
|
|
[ot.variable]: `colors.${t}.600`,
|
|
_dark: {
|
|
[ot.variable]: `colors.${t}.300`
|
|
},
|
|
borderColor: "currentColor"
|
|
},
|
|
_active: {
|
|
[Ht.variable]: "colors.gray.200",
|
|
_dark: {
|
|
[Ht.variable]: "colors.whiteAlpha.300"
|
|
}
|
|
},
|
|
_disabled: {
|
|
_active: { bg: "none" }
|
|
},
|
|
color: ot.reference,
|
|
bg: Ht.reference
|
|
}
|
|
};
|
|
}), zM = un((e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
tab: {
|
|
borderTopRadius: "md",
|
|
border: "1px solid",
|
|
borderColor: "transparent",
|
|
mb: "-1px",
|
|
[ia.variable]: "transparent",
|
|
_selected: {
|
|
[ot.variable]: `colors.${t}.600`,
|
|
[ia.variable]: "colors.white",
|
|
_dark: {
|
|
[ot.variable]: `colors.${t}.300`,
|
|
[ia.variable]: "colors.gray.800"
|
|
},
|
|
borderColor: "inherit",
|
|
borderBottomColor: ia.reference
|
|
},
|
|
color: ot.reference
|
|
},
|
|
tablist: {
|
|
mb: "-1px",
|
|
borderBottom: "1px solid",
|
|
borderColor: "inherit"
|
|
}
|
|
};
|
|
}), MM = un((e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
tab: {
|
|
border: "1px solid",
|
|
borderColor: "inherit",
|
|
[Ht.variable]: "colors.gray.50",
|
|
_dark: {
|
|
[Ht.variable]: "colors.whiteAlpha.50"
|
|
},
|
|
mb: "-1px",
|
|
_notLast: {
|
|
marginEnd: "-1px"
|
|
},
|
|
_selected: {
|
|
[Ht.variable]: "colors.white",
|
|
[ot.variable]: `colors.${t}.600`,
|
|
_dark: {
|
|
[Ht.variable]: "colors.gray.800",
|
|
[ot.variable]: `colors.${t}.300`
|
|
},
|
|
borderColor: "inherit",
|
|
borderTopColor: "currentColor",
|
|
borderBottomColor: "transparent"
|
|
},
|
|
color: ot.reference,
|
|
bg: Ht.reference
|
|
},
|
|
tablist: {
|
|
mb: "-1px",
|
|
borderBottom: "1px solid",
|
|
borderColor: "inherit"
|
|
}
|
|
};
|
|
}), RM = un((e) => {
|
|
const { colorScheme: t, theme: n } = e;
|
|
return {
|
|
tab: {
|
|
borderRadius: "full",
|
|
fontWeight: "semibold",
|
|
color: "gray.600",
|
|
_selected: {
|
|
color: Ge(n, `${t}.700`),
|
|
bg: Ge(n, `${t}.100`)
|
|
}
|
|
}
|
|
};
|
|
}), DM = un((e) => {
|
|
const { colorScheme: t } = e;
|
|
return {
|
|
tab: {
|
|
borderRadius: "full",
|
|
fontWeight: "semibold",
|
|
[ot.variable]: "colors.gray.600",
|
|
_dark: {
|
|
[ot.variable]: "inherit"
|
|
},
|
|
_selected: {
|
|
[ot.variable]: "colors.white",
|
|
[Ht.variable]: `colors.${t}.600`,
|
|
_dark: {
|
|
[ot.variable]: "colors.gray.800",
|
|
[Ht.variable]: `colors.${t}.300`
|
|
}
|
|
},
|
|
color: ot.reference,
|
|
bg: Ht.reference
|
|
}
|
|
};
|
|
}), FM = un({}), LM = {
|
|
line: AM,
|
|
enclosed: zM,
|
|
"enclosed-colored": MM,
|
|
"soft-rounded": RM,
|
|
"solid-rounded": DM,
|
|
unstyled: FM
|
|
}, BM = xM({
|
|
baseStyle: EM,
|
|
sizes: PM,
|
|
variants: LM,
|
|
defaultProps: {
|
|
size: "md",
|
|
variant: "line",
|
|
colorScheme: "blue"
|
|
}
|
|
}), { defineMultiStyleConfig: VM, definePartsStyle: Tr } = ae(PE.keys), ug = j("tag-bg"), cg = j("tag-color"), xc = j("tag-shadow"), Ra = j("tag-min-height"), Da = j("tag-min-width"), Fa = j("tag-font-size"), La = j("tag-padding-inline"), IM = {
|
|
fontWeight: "medium",
|
|
lineHeight: 1.2,
|
|
outline: 0,
|
|
[cg.variable]: we.color.reference,
|
|
[ug.variable]: we.bg.reference,
|
|
[xc.variable]: we.shadow.reference,
|
|
color: cg.reference,
|
|
bg: ug.reference,
|
|
boxShadow: xc.reference,
|
|
borderRadius: "md",
|
|
minH: Ra.reference,
|
|
minW: Da.reference,
|
|
fontSize: Fa.reference,
|
|
px: La.reference,
|
|
_focusVisible: {
|
|
[xc.variable]: "shadows.outline"
|
|
}
|
|
}, OM = {
|
|
lineHeight: 1.2,
|
|
overflow: "visible"
|
|
}, NM = {
|
|
fontSize: "lg",
|
|
w: "5",
|
|
h: "5",
|
|
transitionProperty: "common",
|
|
transitionDuration: "normal",
|
|
borderRadius: "full",
|
|
marginStart: "1.5",
|
|
marginEnd: "-1",
|
|
opacity: 0.5,
|
|
_disabled: {
|
|
opacity: 0.4
|
|
},
|
|
_focusVisible: {
|
|
boxShadow: "outline",
|
|
bg: "rgba(0, 0, 0, 0.14)"
|
|
},
|
|
_hover: {
|
|
opacity: 0.8
|
|
},
|
|
_active: {
|
|
opacity: 1
|
|
}
|
|
}, jM = Tr({
|
|
container: IM,
|
|
label: OM,
|
|
closeButton: NM
|
|
}), WM = {
|
|
sm: Tr({
|
|
container: {
|
|
[Ra.variable]: "sizes.5",
|
|
[Da.variable]: "sizes.5",
|
|
[Fa.variable]: "fontSizes.xs",
|
|
[La.variable]: "space.2"
|
|
},
|
|
closeButton: {
|
|
marginEnd: "-2px",
|
|
marginStart: "0.35rem"
|
|
}
|
|
}),
|
|
md: Tr({
|
|
container: {
|
|
[Ra.variable]: "sizes.6",
|
|
[Da.variable]: "sizes.6",
|
|
[Fa.variable]: "fontSizes.sm",
|
|
[La.variable]: "space.2"
|
|
}
|
|
}),
|
|
lg: Tr({
|
|
container: {
|
|
[Ra.variable]: "sizes.8",
|
|
[Da.variable]: "sizes.8",
|
|
[Fa.variable]: "fontSizes.md",
|
|
[La.variable]: "space.3"
|
|
}
|
|
})
|
|
}, UM = {
|
|
subtle: Tr((e) => ({
|
|
container: Ri.variants?.subtle(e)
|
|
})),
|
|
solid: Tr((e) => ({
|
|
container: Ri.variants?.solid(e)
|
|
})),
|
|
outline: Tr((e) => ({
|
|
container: Ri.variants?.outline(e)
|
|
}))
|
|
}, HM = VM({
|
|
variants: UM,
|
|
baseStyle: jM,
|
|
sizes: WM,
|
|
defaultProps: {
|
|
size: "md",
|
|
variant: "subtle",
|
|
colorScheme: "gray"
|
|
}
|
|
}), KM = {
|
|
...J.baseStyle?.field,
|
|
paddingY: "2",
|
|
minHeight: "20",
|
|
lineHeight: "short",
|
|
verticalAlign: "top"
|
|
}, XM = {
|
|
outline: (e) => J.variants?.outline(e).field ?? {},
|
|
flushed: (e) => J.variants?.flushed(e).field ?? {},
|
|
filled: (e) => J.variants?.filled(e).field ?? {},
|
|
unstyled: J.variants?.unstyled.field ?? {}
|
|
}, qM = {
|
|
xs: J.sizes?.xs.field ?? {},
|
|
sm: J.sizes?.sm.field ?? {},
|
|
md: J.sizes?.md.field ?? {},
|
|
lg: J.sizes?.lg.field ?? {}
|
|
}, YM = {
|
|
baseStyle: KM,
|
|
sizes: qM,
|
|
variants: XM,
|
|
defaultProps: {
|
|
size: "md",
|
|
variant: "outline"
|
|
}
|
|
}, sa = Me("tooltip-bg"), wc = Me("tooltip-fg"), ZM = Me("popper-arrow-bg"), GM = {
|
|
bg: sa.reference,
|
|
color: wc.reference,
|
|
[sa.variable]: "colors.gray.700",
|
|
[wc.variable]: "colors.whiteAlpha.900",
|
|
_dark: {
|
|
[sa.variable]: "colors.gray.300",
|
|
[wc.variable]: "colors.gray.900"
|
|
},
|
|
[ZM.variable]: sa.reference,
|
|
px: "2",
|
|
py: "0.5",
|
|
borderRadius: "sm",
|
|
fontWeight: "medium",
|
|
fontSize: "sm",
|
|
boxShadow: "md",
|
|
maxW: "xs",
|
|
zIndex: "tooltip"
|
|
}, QM = {
|
|
baseStyle: GM
|
|
}, JM = {
|
|
Accordion: VE,
|
|
Alert: S2,
|
|
Avatar: M2,
|
|
Badge: Ri,
|
|
Breadcrumb: j2,
|
|
Button: G2,
|
|
Checkbox: xl,
|
|
CloseButton: cP,
|
|
Code: pP,
|
|
Container: gP,
|
|
Divider: xP,
|
|
Drawer: DP,
|
|
Editable: NP,
|
|
Form: XP,
|
|
FormError: JP,
|
|
FormLabel: $P,
|
|
Heading: nA,
|
|
Input: J,
|
|
Kbd: fA,
|
|
Link: pA,
|
|
List: SA,
|
|
Menu: MA,
|
|
Modal: WA,
|
|
NumberInput: QA,
|
|
PinInput: ez,
|
|
Popover: dz,
|
|
Progress: Sz,
|
|
Radio: Cz,
|
|
Select: Rz,
|
|
Skeleton: Fz,
|
|
SkipLink: Bz,
|
|
Slider: qz,
|
|
Spinner: Gz,
|
|
Stat: rM,
|
|
Switch: hM,
|
|
Table: bM,
|
|
Tabs: BM,
|
|
Tag: HM,
|
|
Textarea: YM,
|
|
Tooltip: QM,
|
|
Card: eP,
|
|
Stepper: sM
|
|
}, _M = {
|
|
none: 0,
|
|
"1px": "1px solid",
|
|
"2px": "2px solid",
|
|
"4px": "4px solid",
|
|
"8px": "8px solid"
|
|
}, $M = {
|
|
base: "0em",
|
|
sm: "30em",
|
|
md: "48em",
|
|
lg: "62em",
|
|
xl: "80em",
|
|
"2xl": "96em"
|
|
}, eR = {
|
|
transparent: "transparent",
|
|
current: "currentColor",
|
|
black: "#000000",
|
|
white: "#FFFFFF",
|
|
whiteAlpha: {
|
|
50: "rgba(255, 255, 255, 0.04)",
|
|
100: "rgba(255, 255, 255, 0.06)",
|
|
200: "rgba(255, 255, 255, 0.08)",
|
|
300: "rgba(255, 255, 255, 0.16)",
|
|
400: "rgba(255, 255, 255, 0.24)",
|
|
500: "rgba(255, 255, 255, 0.36)",
|
|
600: "rgba(255, 255, 255, 0.48)",
|
|
700: "rgba(255, 255, 255, 0.64)",
|
|
800: "rgba(255, 255, 255, 0.80)",
|
|
900: "rgba(255, 255, 255, 0.92)"
|
|
},
|
|
blackAlpha: {
|
|
50: "rgba(0, 0, 0, 0.04)",
|
|
100: "rgba(0, 0, 0, 0.06)",
|
|
200: "rgba(0, 0, 0, 0.08)",
|
|
300: "rgba(0, 0, 0, 0.16)",
|
|
400: "rgba(0, 0, 0, 0.24)",
|
|
500: "rgba(0, 0, 0, 0.36)",
|
|
600: "rgba(0, 0, 0, 0.48)",
|
|
700: "rgba(0, 0, 0, 0.64)",
|
|
800: "rgba(0, 0, 0, 0.80)",
|
|
900: "rgba(0, 0, 0, 0.92)"
|
|
},
|
|
gray: {
|
|
50: "#F7FAFC",
|
|
100: "#EDF2F7",
|
|
200: "#E2E8F0",
|
|
300: "#CBD5E0",
|
|
400: "#A0AEC0",
|
|
500: "#718096",
|
|
600: "#4A5568",
|
|
700: "#2D3748",
|
|
800: "#1A202C",
|
|
900: "#171923"
|
|
},
|
|
red: {
|
|
50: "#FFF5F5",
|
|
100: "#FED7D7",
|
|
200: "#FEB2B2",
|
|
300: "#FC8181",
|
|
400: "#F56565",
|
|
500: "#E53E3E",
|
|
600: "#C53030",
|
|
700: "#9B2C2C",
|
|
800: "#822727",
|
|
900: "#63171B"
|
|
},
|
|
orange: {
|
|
50: "#FFFAF0",
|
|
100: "#FEEBC8",
|
|
200: "#FBD38D",
|
|
300: "#F6AD55",
|
|
400: "#ED8936",
|
|
500: "#DD6B20",
|
|
600: "#C05621",
|
|
700: "#9C4221",
|
|
800: "#7B341E",
|
|
900: "#652B19"
|
|
},
|
|
yellow: {
|
|
50: "#FFFFF0",
|
|
100: "#FEFCBF",
|
|
200: "#FAF089",
|
|
300: "#F6E05E",
|
|
400: "#ECC94B",
|
|
500: "#D69E2E",
|
|
600: "#B7791F",
|
|
700: "#975A16",
|
|
800: "#744210",
|
|
900: "#5F370E"
|
|
},
|
|
green: {
|
|
50: "#F0FFF4",
|
|
100: "#C6F6D5",
|
|
200: "#9AE6B4",
|
|
300: "#68D391",
|
|
400: "#48BB78",
|
|
500: "#38A169",
|
|
600: "#2F855A",
|
|
700: "#276749",
|
|
800: "#22543D",
|
|
900: "#1C4532"
|
|
},
|
|
teal: {
|
|
50: "#E6FFFA",
|
|
100: "#B2F5EA",
|
|
200: "#81E6D9",
|
|
300: "#4FD1C5",
|
|
400: "#38B2AC",
|
|
500: "#319795",
|
|
600: "#2C7A7B",
|
|
700: "#285E61",
|
|
800: "#234E52",
|
|
900: "#1D4044"
|
|
},
|
|
blue: {
|
|
50: "#ebf8ff",
|
|
100: "#bee3f8",
|
|
200: "#90cdf4",
|
|
300: "#63b3ed",
|
|
400: "#4299e1",
|
|
500: "#3182ce",
|
|
600: "#2b6cb0",
|
|
700: "#2c5282",
|
|
800: "#2a4365",
|
|
900: "#1A365D"
|
|
},
|
|
cyan: {
|
|
50: "#EDFDFD",
|
|
100: "#C4F1F9",
|
|
200: "#9DECF9",
|
|
300: "#76E4F7",
|
|
400: "#0BC5EA",
|
|
500: "#00B5D8",
|
|
600: "#00A3C4",
|
|
700: "#0987A0",
|
|
800: "#086F83",
|
|
900: "#065666"
|
|
},
|
|
purple: {
|
|
50: "#FAF5FF",
|
|
100: "#E9D8FD",
|
|
200: "#D6BCFA",
|
|
300: "#B794F4",
|
|
400: "#9F7AEA",
|
|
500: "#805AD5",
|
|
600: "#6B46C1",
|
|
700: "#553C9A",
|
|
800: "#44337A",
|
|
900: "#322659"
|
|
},
|
|
pink: {
|
|
50: "#FFF5F7",
|
|
100: "#FED7E2",
|
|
200: "#FBB6CE",
|
|
300: "#F687B3",
|
|
400: "#ED64A6",
|
|
500: "#D53F8C",
|
|
600: "#B83280",
|
|
700: "#97266D",
|
|
800: "#702459",
|
|
900: "#521B41"
|
|
}
|
|
}, tR = {
|
|
none: "0",
|
|
sm: "0.125rem",
|
|
base: "0.25rem",
|
|
md: "0.375rem",
|
|
lg: "0.5rem",
|
|
xl: "0.75rem",
|
|
"2xl": "1rem",
|
|
"3xl": "1.5rem",
|
|
full: "9999px"
|
|
}, nR = {
|
|
xs: "0 0 0 1px rgba(0, 0, 0, 0.05)",
|
|
sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
|
|
base: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",
|
|
md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
|
|
lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
|
|
xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
|
|
"2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
|
|
outline: "0 0 0 3px rgba(66, 153, 225, 0.6)",
|
|
inner: "inset 0 2px 4px 0 rgba(0,0,0,0.06)",
|
|
none: "none",
|
|
"dark-lg": "rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px"
|
|
}, rR = {
|
|
common: "background-color, border-color, color, fill, stroke, opacity, box-shadow, transform",
|
|
colors: "background-color, border-color, color, fill, stroke",
|
|
dimensions: "width, height",
|
|
position: "left, right, top, bottom",
|
|
background: "background-color, background-image, background-position"
|
|
}, oR = {
|
|
"ease-in": "cubic-bezier(0.4, 0, 1, 1)",
|
|
"ease-out": "cubic-bezier(0, 0, 0.2, 1)",
|
|
"ease-in-out": "cubic-bezier(0.4, 0, 0.2, 1)"
|
|
}, iR = {
|
|
"ultra-fast": "50ms",
|
|
faster: "100ms",
|
|
fast: "150ms",
|
|
normal: "200ms",
|
|
slow: "300ms",
|
|
slower: "400ms",
|
|
"ultra-slow": "500ms"
|
|
}, sR = {
|
|
property: rR,
|
|
easing: oR,
|
|
duration: iR
|
|
}, aR = {
|
|
hide: -1,
|
|
auto: "auto",
|
|
base: 0,
|
|
docked: 10,
|
|
dropdown: 1e3,
|
|
sticky: 1100,
|
|
banner: 1200,
|
|
overlay: 1300,
|
|
modal: 1400,
|
|
popover: 1500,
|
|
skipLink: 1600,
|
|
toast: 1700,
|
|
tooltip: 1800
|
|
}, lR = {
|
|
none: 0,
|
|
sm: "4px",
|
|
base: "8px",
|
|
md: "12px",
|
|
lg: "16px",
|
|
xl: "24px",
|
|
"2xl": "40px",
|
|
"3xl": "64px"
|
|
}, uR = {
|
|
breakpoints: $M,
|
|
zIndices: aR,
|
|
radii: tR,
|
|
blur: lR,
|
|
colors: eR,
|
|
...wS,
|
|
sizes: gS,
|
|
shadows: nR,
|
|
space: mS,
|
|
borders: _M,
|
|
transition: sR
|
|
}, cR = {
|
|
colors: {
|
|
"chakra-body-text": { _light: "gray.800", _dark: "whiteAlpha.900" },
|
|
"chakra-body-bg": { _light: "white", _dark: "gray.800" },
|
|
"chakra-border-color": { _light: "gray.200", _dark: "whiteAlpha.300" },
|
|
"chakra-inverse-text": { _light: "white", _dark: "gray.800" },
|
|
"chakra-subtle-bg": { _light: "gray.100", _dark: "gray.700" },
|
|
"chakra-subtle-text": { _light: "gray.600", _dark: "gray.400" },
|
|
"chakra-placeholder-color": { _light: "gray.500", _dark: "whiteAlpha.400" }
|
|
}
|
|
}, dR = {
|
|
global: {
|
|
body: {
|
|
fontFamily: "body",
|
|
color: "chakra-body-text",
|
|
bg: "chakra-body-bg",
|
|
transitionProperty: "background-color",
|
|
transitionDuration: "normal",
|
|
lineHeight: "base"
|
|
},
|
|
"*::placeholder": {
|
|
color: "chakra-placeholder-color"
|
|
},
|
|
"*, *::before, *::after": {
|
|
borderColor: "chakra-border-color"
|
|
}
|
|
}
|
|
}, fR = [
|
|
"borders",
|
|
"breakpoints",
|
|
"colors",
|
|
"components",
|
|
"config",
|
|
"direction",
|
|
"fonts",
|
|
"fontSizes",
|
|
"fontWeights",
|
|
"letterSpacings",
|
|
"lineHeights",
|
|
"radii",
|
|
"shadows",
|
|
"sizes",
|
|
"space",
|
|
"styles",
|
|
"transition",
|
|
"zIndices"
|
|
];
|
|
function hR(e) {
|
|
return $e(e) ? fR.every(
|
|
(t) => Object.prototype.hasOwnProperty.call(e, t)
|
|
) : !1;
|
|
}
|
|
const pR = "ltr", mR = {
|
|
useSystemColorMode: !1,
|
|
initialColorMode: "light",
|
|
cssVarPrefix: "chakra"
|
|
}, ES = {
|
|
semanticTokens: cR,
|
|
direction: pR,
|
|
...uR,
|
|
components: JM,
|
|
styles: dR,
|
|
config: mR
|
|
};
|
|
function gR(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 yR(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 vR = /* @__PURE__ */ function() {
|
|
function e(n) {
|
|
var r = this;
|
|
this._insertTag = function(o) {
|
|
var i;
|
|
r.tags.length === 0 ? r.insertionPoint ? i = r.insertionPoint.nextSibling : r.prepend ? i = r.container.firstChild : i = r.before : i = r.tags[r.tags.length - 1].nextSibling, r.container.insertBefore(o, i), r.tags.push(o);
|
|
}, 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(yR(this));
|
|
var o = this.tags[this.tags.length - 1];
|
|
if (this.isSpeedy) {
|
|
var i = gR(o);
|
|
try {
|
|
i.insertRule(r, i.cssRules.length);
|
|
} catch {
|
|
}
|
|
} else
|
|
o.appendChild(document.createTextNode(r));
|
|
this.ctr++;
|
|
}, t.flush = function() {
|
|
this.tags.forEach(function(r) {
|
|
var o;
|
|
return (o = r.parentNode) == null ? void 0 : o.removeChild(r);
|
|
}), this.tags = [], this.ctr = 0;
|
|
}, e;
|
|
}(), Ke = "-ms-", kl = "-moz-", G = "-webkit-", PS = "comm", Th = "rule", Eh = "decl", SR = "@import", AS = "@keyframes", bR = "@layer", xR = Math.abs, nu = String.fromCharCode, wR = Object.assign;
|
|
function kR(e, t) {
|
|
return Ie(e, 0) ^ 45 ? (((t << 2 ^ Ie(e, 0)) << 2 ^ Ie(e, 1)) << 2 ^ Ie(e, 2)) << 2 ^ Ie(e, 3) : 0;
|
|
}
|
|
function zS(e) {
|
|
return e.trim();
|
|
}
|
|
function CR(e, t) {
|
|
return (e = t.exec(e)) ? e[0] : e;
|
|
}
|
|
function Q(e, t, n) {
|
|
return e.replace(t, n);
|
|
}
|
|
function Xd(e, t) {
|
|
return e.indexOf(t);
|
|
}
|
|
function Ie(e, t) {
|
|
return e.charCodeAt(t) | 0;
|
|
}
|
|
function ss(e, t, n) {
|
|
return e.slice(t, n);
|
|
}
|
|
function tn(e) {
|
|
return e.length;
|
|
}
|
|
function Ph(e) {
|
|
return e.length;
|
|
}
|
|
function aa(e, t) {
|
|
return t.push(e), e;
|
|
}
|
|
function TR(e, t) {
|
|
return e.map(t).join("");
|
|
}
|
|
var ru = 1, Fo = 1, MS = 0, ct = 0, Ce = 0, Wo = "";
|
|
function ou(e, t, n, r, o, i, s) {
|
|
return { value: e, root: t, parent: n, type: r, props: o, children: i, line: ru, column: Fo, length: s, return: "" };
|
|
}
|
|
function ai(e, t) {
|
|
return wR(ou("", null, null, "", null, null, 0), e, { length: -e.length }, t);
|
|
}
|
|
function ER() {
|
|
return Ce;
|
|
}
|
|
function PR() {
|
|
return Ce = ct > 0 ? Ie(Wo, --ct) : 0, Fo--, Ce === 10 && (Fo = 1, ru--), Ce;
|
|
}
|
|
function vt() {
|
|
return Ce = ct < MS ? Ie(Wo, ct++) : 0, Fo++, Ce === 10 && (Fo = 1, ru++), Ce;
|
|
}
|
|
function cn() {
|
|
return Ie(Wo, ct);
|
|
}
|
|
function Ba() {
|
|
return ct;
|
|
}
|
|
function Ss(e, t) {
|
|
return ss(Wo, e, t);
|
|
}
|
|
function as(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 RS(e) {
|
|
return ru = Fo = 1, MS = tn(Wo = e), ct = 0, [];
|
|
}
|
|
function DS(e) {
|
|
return Wo = "", e;
|
|
}
|
|
function Va(e) {
|
|
return zS(Ss(ct - 1, qd(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
|
|
}
|
|
function AR(e) {
|
|
for (; (Ce = cn()) && Ce < 33; )
|
|
vt();
|
|
return as(e) > 2 || as(Ce) > 3 ? "" : " ";
|
|
}
|
|
function zR(e, t) {
|
|
for (; --t && vt() && !(Ce < 48 || Ce > 102 || Ce > 57 && Ce < 65 || Ce > 70 && Ce < 97); )
|
|
;
|
|
return Ss(e, Ba() + (t < 6 && cn() == 32 && vt() == 32));
|
|
}
|
|
function qd(e) {
|
|
for (; vt(); )
|
|
switch (Ce) {
|
|
case e:
|
|
return ct;
|
|
case 34:
|
|
case 39:
|
|
e !== 34 && e !== 39 && qd(Ce);
|
|
break;
|
|
case 40:
|
|
e === 41 && qd(e);
|
|
break;
|
|
case 92:
|
|
vt();
|
|
break;
|
|
}
|
|
return ct;
|
|
}
|
|
function MR(e, t) {
|
|
for (; vt() && e + Ce !== 57; )
|
|
if (e + Ce === 84 && cn() === 47)
|
|
break;
|
|
return "/*" + Ss(t, ct - 1) + "*" + nu(e === 47 ? e : vt());
|
|
}
|
|
function RR(e) {
|
|
for (; !as(cn()); )
|
|
vt();
|
|
return Ss(e, ct);
|
|
}
|
|
function DR(e) {
|
|
return DS(Ia("", null, null, null, [""], e = RS(e), 0, [0], e));
|
|
}
|
|
function Ia(e, t, n, r, o, i, s, a, l) {
|
|
for (var u = 0, c = 0, d = s, f = 0, y = 0, v = 0, S = 1, k = 1, p = 1, h = 0, g = "", w = o, P = i, A = r, E = g; k; )
|
|
switch (v = h, h = vt()) {
|
|
case 40:
|
|
if (v != 108 && Ie(E, d - 1) == 58) {
|
|
Xd(E += Q(Va(h), "&", "&\f"), "&\f") != -1 && (p = -1);
|
|
break;
|
|
}
|
|
case 34:
|
|
case 39:
|
|
case 91:
|
|
E += Va(h);
|
|
break;
|
|
case 9:
|
|
case 10:
|
|
case 13:
|
|
case 32:
|
|
E += AR(v);
|
|
break;
|
|
case 92:
|
|
E += zR(Ba() - 1, 7);
|
|
continue;
|
|
case 47:
|
|
switch (cn()) {
|
|
case 42:
|
|
case 47:
|
|
aa(FR(MR(vt(), Ba()), t, n), l);
|
|
break;
|
|
default:
|
|
E += "/";
|
|
}
|
|
break;
|
|
case 123 * S:
|
|
a[u++] = tn(E) * p;
|
|
case 125 * S:
|
|
case 59:
|
|
case 0:
|
|
switch (h) {
|
|
case 0:
|
|
case 125:
|
|
k = 0;
|
|
case 59 + c:
|
|
p == -1 && (E = Q(E, /\f/g, "")), y > 0 && tn(E) - d && aa(y > 32 ? fg(E + ";", r, n, d - 1) : fg(Q(E, " ", "") + ";", r, n, d - 2), l);
|
|
break;
|
|
case 59:
|
|
E += ";";
|
|
default:
|
|
if (aa(A = dg(E, t, n, u, c, o, a, g, w = [], P = [], d), i), h === 123)
|
|
if (c === 0)
|
|
Ia(E, t, A, A, w, i, d, a, P);
|
|
else
|
|
switch (f === 99 && Ie(E, 3) === 110 ? 100 : f) {
|
|
case 100:
|
|
case 108:
|
|
case 109:
|
|
case 115:
|
|
Ia(e, A, A, r && aa(dg(e, A, A, 0, 0, o, a, g, o, w = [], d), P), o, P, d, a, r ? w : P);
|
|
break;
|
|
default:
|
|
Ia(E, A, A, A, [""], P, 0, a, P);
|
|
}
|
|
}
|
|
u = c = y = 0, S = p = 1, g = E = "", d = s;
|
|
break;
|
|
case 58:
|
|
d = 1 + tn(E), y = v;
|
|
default:
|
|
if (S < 1) {
|
|
if (h == 123)
|
|
--S;
|
|
else if (h == 125 && S++ == 0 && PR() == 125)
|
|
continue;
|
|
}
|
|
switch (E += nu(h), h * S) {
|
|
case 38:
|
|
p = c > 0 ? 1 : (E += "\f", -1);
|
|
break;
|
|
case 44:
|
|
a[u++] = (tn(E) - 1) * p, p = 1;
|
|
break;
|
|
case 64:
|
|
cn() === 45 && (E += Va(vt())), f = cn(), c = d = tn(g = E += RR(Ba())), h++;
|
|
break;
|
|
case 45:
|
|
v === 45 && tn(E) == 2 && (S = 0);
|
|
}
|
|
}
|
|
return i;
|
|
}
|
|
function dg(e, t, n, r, o, i, s, a, l, u, c) {
|
|
for (var d = o - 1, f = o === 0 ? i : [""], y = Ph(f), v = 0, S = 0, k = 0; v < r; ++v)
|
|
for (var p = 0, h = ss(e, d + 1, d = xR(S = s[v])), g = e; p < y; ++p)
|
|
(g = zS(S > 0 ? f[p] + " " + h : Q(h, /&\f/g, f[p]))) && (l[k++] = g);
|
|
return ou(e, t, n, o === 0 ? Th : a, l, u, c);
|
|
}
|
|
function FR(e, t, n) {
|
|
return ou(e, t, n, PS, nu(ER()), ss(e, 2, -2), 0);
|
|
}
|
|
function fg(e, t, n, r) {
|
|
return ou(e, t, n, Eh, ss(e, 0, r), ss(e, r + 1, -1), r);
|
|
}
|
|
function ko(e, t) {
|
|
for (var n = "", r = Ph(e), o = 0; o < r; o++)
|
|
n += t(e[o], o, e, t) || "";
|
|
return n;
|
|
}
|
|
function LR(e, t, n, r) {
|
|
switch (e.type) {
|
|
case bR:
|
|
if (e.children.length) break;
|
|
case SR:
|
|
case Eh:
|
|
return e.return = e.return || e.value;
|
|
case PS:
|
|
return "";
|
|
case AS:
|
|
return e.return = e.value + "{" + ko(e.children, r) + "}";
|
|
case Th:
|
|
e.value = e.props.join(",");
|
|
}
|
|
return tn(n = ko(e.children, r)) ? e.return = e.value + "{" + n + "}" : "";
|
|
}
|
|
function BR(e) {
|
|
var t = Ph(e);
|
|
return function(n, r, o, i) {
|
|
for (var s = "", a = 0; a < t; a++)
|
|
s += e[a](n, r, o, i) || "";
|
|
return s;
|
|
};
|
|
}
|
|
function VR(e) {
|
|
return function(t) {
|
|
t.root || (t = t.return) && e(t);
|
|
};
|
|
}
|
|
var hg = function(t) {
|
|
var n = /* @__PURE__ */ new WeakMap();
|
|
return function(r) {
|
|
if (n.has(r))
|
|
return n.get(r);
|
|
var o = t(r);
|
|
return n.set(r, o), o;
|
|
};
|
|
};
|
|
function FS(e) {
|
|
var t = /* @__PURE__ */ Object.create(null);
|
|
return function(n) {
|
|
return t[n] === void 0 && (t[n] = e(n)), t[n];
|
|
};
|
|
}
|
|
var IR = function(t, n, r) {
|
|
for (var o = 0, i = 0; o = i, i = cn(), o === 38 && i === 12 && (n[r] = 1), !as(i); )
|
|
vt();
|
|
return Ss(t, ct);
|
|
}, OR = function(t, n) {
|
|
var r = -1, o = 44;
|
|
do
|
|
switch (as(o)) {
|
|
case 0:
|
|
o === 38 && cn() === 12 && (n[r] = 1), t[r] += IR(ct - 1, n, r);
|
|
break;
|
|
case 2:
|
|
t[r] += Va(o);
|
|
break;
|
|
case 4:
|
|
if (o === 44) {
|
|
t[++r] = cn() === 58 ? "&\f" : "", n[r] = t[r].length;
|
|
break;
|
|
}
|
|
default:
|
|
t[r] += nu(o);
|
|
}
|
|
while (o = vt());
|
|
return t;
|
|
}, NR = function(t, n) {
|
|
return DS(OR(RS(t), n));
|
|
}, pg = /* @__PURE__ */ new WeakMap(), jR = 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, o = 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 && !pg.get(r)) && !o) {
|
|
pg.set(t, !0);
|
|
for (var i = [], s = NR(n, i), a = r.props, l = 0, u = 0; l < s.length; l++)
|
|
for (var c = 0; c < a.length; c++, u++)
|
|
t.props[u] = i[l] ? s[l].replace(/&\f/g, a[c]) : a[c] + " " + s[l];
|
|
}
|
|
}
|
|
}, WR = 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 LS(e, t) {
|
|
switch (kR(e, t)) {
|
|
case 5103:
|
|
return G + "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 G + e + e;
|
|
case 5349:
|
|
case 4246:
|
|
case 4810:
|
|
case 6968:
|
|
case 2756:
|
|
return G + e + kl + e + Ke + e + e;
|
|
case 6828:
|
|
case 4268:
|
|
return G + e + Ke + e + e;
|
|
case 6165:
|
|
return G + e + Ke + "flex-" + e + e;
|
|
case 5187:
|
|
return G + e + Q(e, /(\w+).+(:[^]+)/, G + "box-$1$2" + Ke + "flex-$1$2") + e;
|
|
case 5443:
|
|
return G + e + Ke + "flex-item-" + Q(e, /flex-|-self/, "") + e;
|
|
case 4675:
|
|
return G + e + Ke + "flex-line-pack" + Q(e, /align-content|flex-|-self/, "") + e;
|
|
case 5548:
|
|
return G + e + Ke + Q(e, "shrink", "negative") + e;
|
|
case 5292:
|
|
return G + e + Ke + Q(e, "basis", "preferred-size") + e;
|
|
case 6060:
|
|
return G + "box-" + Q(e, "-grow", "") + G + e + Ke + Q(e, "grow", "positive") + e;
|
|
case 4554:
|
|
return G + Q(e, /([^-])(transform)/g, "$1" + G + "$2") + e;
|
|
case 6187:
|
|
return Q(Q(Q(e, /(zoom-|grab)/, G + "$1"), /(image-set)/, G + "$1"), e, "") + e;
|
|
case 5495:
|
|
case 3959:
|
|
return Q(e, /(image-set\([^]*)/, G + "$1$`$1");
|
|
case 4968:
|
|
return Q(Q(e, /(.+:)(flex-)?(.*)/, G + "box-pack:$3" + Ke + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + G + e + e;
|
|
case 4095:
|
|
case 3583:
|
|
case 4068:
|
|
case 2532:
|
|
return Q(e, /(.+)-inline(.+)/, G + "$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 (tn(e) - 1 - t > 6) switch (Ie(e, t + 1)) {
|
|
case 109:
|
|
if (Ie(e, t + 4) !== 45) break;
|
|
case 102:
|
|
return Q(e, /(.+:)(.+)-([^]+)/, "$1" + G + "$2-$3$1" + kl + (Ie(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
|
|
case 115:
|
|
return ~Xd(e, "stretch") ? LS(Q(e, "stretch", "fill-available"), t) + e : e;
|
|
}
|
|
break;
|
|
case 4949:
|
|
if (Ie(e, t + 1) !== 115) break;
|
|
case 6444:
|
|
switch (Ie(e, tn(e) - 3 - (~Xd(e, "!important") && 10))) {
|
|
case 107:
|
|
return Q(e, ":", ":" + G) + e;
|
|
case 101:
|
|
return Q(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + G + (Ie(e, 14) === 45 ? "inline-" : "") + "box$3$1" + G + "$2$3$1" + Ke + "$2box$3") + e;
|
|
}
|
|
break;
|
|
case 5936:
|
|
switch (Ie(e, t + 11)) {
|
|
case 114:
|
|
return G + e + Ke + Q(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
|
|
case 108:
|
|
return G + e + Ke + Q(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
|
|
case 45:
|
|
return G + e + Ke + Q(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
|
|
}
|
|
return G + e + Ke + e + e;
|
|
}
|
|
return e;
|
|
}
|
|
var UR = function(t, n, r, o) {
|
|
if (t.length > -1 && !t.return) switch (t.type) {
|
|
case Eh:
|
|
t.return = LS(t.value, t.length);
|
|
break;
|
|
case AS:
|
|
return ko([ai(t, {
|
|
value: Q(t.value, "@", "@" + G)
|
|
})], o);
|
|
case Th:
|
|
if (t.length) return TR(t.props, function(i) {
|
|
switch (CR(i, /(::plac\w+|:read-\w+)/)) {
|
|
case ":read-only":
|
|
case ":read-write":
|
|
return ko([ai(t, {
|
|
props: [Q(i, /:(read-\w+)/, ":" + kl + "$1")]
|
|
})], o);
|
|
case "::placeholder":
|
|
return ko([ai(t, {
|
|
props: [Q(i, /:(plac\w+)/, ":" + G + "input-$1")]
|
|
}), ai(t, {
|
|
props: [Q(i, /:(plac\w+)/, ":" + kl + "$1")]
|
|
}), ai(t, {
|
|
props: [Q(i, /:(plac\w+)/, Ke + "input-$1")]
|
|
})], o);
|
|
}
|
|
return "";
|
|
});
|
|
}
|
|
}, HR = [UR], KR = 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(S) {
|
|
var k = S.getAttribute("data-emotion");
|
|
k.indexOf(" ") !== -1 && (document.head.appendChild(S), S.setAttribute("data-s", ""));
|
|
});
|
|
}
|
|
var o = t.stylisPlugins || HR, i = {}, s, a = [];
|
|
s = 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(S) {
|
|
for (var k = S.getAttribute("data-emotion").split(" "), p = 1; p < k.length; p++)
|
|
i[k[p]] = !0;
|
|
a.push(S);
|
|
}
|
|
);
|
|
var l, u = [jR, WR];
|
|
{
|
|
var c, d = [LR, VR(function(S) {
|
|
c.insert(S);
|
|
})], f = BR(u.concat(o, d)), y = function(k) {
|
|
return ko(DR(k), f);
|
|
};
|
|
l = function(k, p, h, g) {
|
|
c = h, y(k ? k + "{" + p.styles + "}" : p.styles), g && (v.inserted[p.name] = !0);
|
|
};
|
|
}
|
|
var v = {
|
|
key: n,
|
|
sheet: new vR({
|
|
key: n,
|
|
container: s,
|
|
nonce: t.nonce,
|
|
speedy: t.speedy,
|
|
prepend: t.prepend,
|
|
insertionPoint: t.insertionPoint
|
|
}),
|
|
nonce: t.nonce,
|
|
inserted: i,
|
|
registered: {},
|
|
insert: l
|
|
};
|
|
return v.sheet.hydrate(a), v;
|
|
};
|
|
function Cl() {
|
|
return Cl = 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;
|
|
}, Cl.apply(null, arguments);
|
|
}
|
|
var BS = { exports: {} }, ne = {};
|
|
/** @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 Fe = typeof Symbol == "function" && Symbol.for, Ah = Fe ? Symbol.for("react.element") : 60103, zh = Fe ? Symbol.for("react.portal") : 60106, iu = Fe ? Symbol.for("react.fragment") : 60107, su = Fe ? Symbol.for("react.strict_mode") : 60108, au = Fe ? Symbol.for("react.profiler") : 60114, lu = Fe ? Symbol.for("react.provider") : 60109, uu = Fe ? Symbol.for("react.context") : 60110, Mh = Fe ? Symbol.for("react.async_mode") : 60111, cu = Fe ? Symbol.for("react.concurrent_mode") : 60111, du = Fe ? Symbol.for("react.forward_ref") : 60112, fu = Fe ? Symbol.for("react.suspense") : 60113, XR = Fe ? Symbol.for("react.suspense_list") : 60120, hu = Fe ? Symbol.for("react.memo") : 60115, pu = Fe ? Symbol.for("react.lazy") : 60116, qR = Fe ? Symbol.for("react.block") : 60121, YR = Fe ? Symbol.for("react.fundamental") : 60117, ZR = Fe ? Symbol.for("react.responder") : 60118, GR = Fe ? Symbol.for("react.scope") : 60119;
|
|
function wt(e) {
|
|
if (typeof e == "object" && e !== null) {
|
|
var t = e.$$typeof;
|
|
switch (t) {
|
|
case Ah:
|
|
switch (e = e.type, e) {
|
|
case Mh:
|
|
case cu:
|
|
case iu:
|
|
case au:
|
|
case su:
|
|
case fu:
|
|
return e;
|
|
default:
|
|
switch (e = e && e.$$typeof, e) {
|
|
case uu:
|
|
case du:
|
|
case pu:
|
|
case hu:
|
|
case lu:
|
|
return e;
|
|
default:
|
|
return t;
|
|
}
|
|
}
|
|
case zh:
|
|
return t;
|
|
}
|
|
}
|
|
}
|
|
function VS(e) {
|
|
return wt(e) === cu;
|
|
}
|
|
ne.AsyncMode = Mh;
|
|
ne.ConcurrentMode = cu;
|
|
ne.ContextConsumer = uu;
|
|
ne.ContextProvider = lu;
|
|
ne.Element = Ah;
|
|
ne.ForwardRef = du;
|
|
ne.Fragment = iu;
|
|
ne.Lazy = pu;
|
|
ne.Memo = hu;
|
|
ne.Portal = zh;
|
|
ne.Profiler = au;
|
|
ne.StrictMode = su;
|
|
ne.Suspense = fu;
|
|
ne.isAsyncMode = function(e) {
|
|
return VS(e) || wt(e) === Mh;
|
|
};
|
|
ne.isConcurrentMode = VS;
|
|
ne.isContextConsumer = function(e) {
|
|
return wt(e) === uu;
|
|
};
|
|
ne.isContextProvider = function(e) {
|
|
return wt(e) === lu;
|
|
};
|
|
ne.isElement = function(e) {
|
|
return typeof e == "object" && e !== null && e.$$typeof === Ah;
|
|
};
|
|
ne.isForwardRef = function(e) {
|
|
return wt(e) === du;
|
|
};
|
|
ne.isFragment = function(e) {
|
|
return wt(e) === iu;
|
|
};
|
|
ne.isLazy = function(e) {
|
|
return wt(e) === pu;
|
|
};
|
|
ne.isMemo = function(e) {
|
|
return wt(e) === hu;
|
|
};
|
|
ne.isPortal = function(e) {
|
|
return wt(e) === zh;
|
|
};
|
|
ne.isProfiler = function(e) {
|
|
return wt(e) === au;
|
|
};
|
|
ne.isStrictMode = function(e) {
|
|
return wt(e) === su;
|
|
};
|
|
ne.isSuspense = function(e) {
|
|
return wt(e) === fu;
|
|
};
|
|
ne.isValidElementType = function(e) {
|
|
return typeof e == "string" || typeof e == "function" || e === iu || e === cu || e === au || e === su || e === fu || e === XR || typeof e == "object" && e !== null && (e.$$typeof === pu || e.$$typeof === hu || e.$$typeof === lu || e.$$typeof === uu || e.$$typeof === du || e.$$typeof === YR || e.$$typeof === ZR || e.$$typeof === GR || e.$$typeof === qR);
|
|
};
|
|
ne.typeOf = wt;
|
|
BS.exports = ne;
|
|
var QR = BS.exports, IS = QR, JR = {
|
|
$$typeof: !0,
|
|
render: !0,
|
|
defaultProps: !0,
|
|
displayName: !0,
|
|
propTypes: !0
|
|
}, _R = {
|
|
$$typeof: !0,
|
|
compare: !0,
|
|
defaultProps: !0,
|
|
displayName: !0,
|
|
propTypes: !0,
|
|
type: !0
|
|
}, OS = {};
|
|
OS[IS.ForwardRef] = JR;
|
|
OS[IS.Memo] = _R;
|
|
var $R = !0;
|
|
function NS(e, t, n) {
|
|
var r = "";
|
|
return n.split(" ").forEach(function(o) {
|
|
e[o] !== void 0 ? t.push(e[o] + ";") : o && (r += o + " ");
|
|
}), r;
|
|
}
|
|
var Rh = function(t, n, r) {
|
|
var o = 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
|
|
$R === !1) && t.registered[o] === void 0 && (t.registered[o] = n.styles);
|
|
}, Dh = function(t, n, r) {
|
|
Rh(t, n, r);
|
|
var o = t.key + "-" + n.name;
|
|
if (t.inserted[n.name] === void 0) {
|
|
var i = n;
|
|
do
|
|
t.insert(n === i ? "." + o : "", i, t.sheet, !0), i = i.next;
|
|
while (i !== void 0);
|
|
}
|
|
};
|
|
function e5(e) {
|
|
for (var t = 0, n, r = 0, o = e.length; o >= 4; ++r, o -= 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 (o) {
|
|
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 t5 = {
|
|
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
|
|
}, n5 = /[A-Z]|^ms/g, r5 = /_EMO_([^_]+?)_([^]*?)_EMO_/g, jS = function(t) {
|
|
return t.charCodeAt(1) === 45;
|
|
}, mg = function(t) {
|
|
return t != null && typeof t != "boolean";
|
|
}, kc = /* @__PURE__ */ FS(function(e) {
|
|
return jS(e) ? e : e.replace(n5, "-$&").toLowerCase();
|
|
}), gg = function(t, n) {
|
|
switch (t) {
|
|
case "animation":
|
|
case "animationName":
|
|
if (typeof n == "string")
|
|
return n.replace(r5, function(r, o, i) {
|
|
return nn = {
|
|
name: o,
|
|
styles: i,
|
|
next: nn
|
|
}, o;
|
|
});
|
|
}
|
|
return t5[t] !== 1 && !jS(t) && typeof n == "number" && n !== 0 ? n + "px" : n;
|
|
};
|
|
function ls(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 o = n;
|
|
if (o.anim === 1)
|
|
return nn = {
|
|
name: o.name,
|
|
styles: o.styles,
|
|
next: nn
|
|
}, o.name;
|
|
var i = n;
|
|
if (i.styles !== void 0) {
|
|
var s = i.next;
|
|
if (s !== void 0)
|
|
for (; s !== void 0; )
|
|
nn = {
|
|
name: s.name,
|
|
styles: s.styles,
|
|
next: nn
|
|
}, s = s.next;
|
|
var a = i.styles + ";";
|
|
return a;
|
|
}
|
|
return o5(e, t, n);
|
|
}
|
|
case "function": {
|
|
if (e !== void 0) {
|
|
var l = nn, u = n(e);
|
|
return nn = l, ls(e, t, u);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
var c = n;
|
|
if (t == null)
|
|
return c;
|
|
var d = t[c];
|
|
return d !== void 0 ? d : c;
|
|
}
|
|
function o5(e, t, n) {
|
|
var r = "";
|
|
if (Array.isArray(n))
|
|
for (var o = 0; o < n.length; o++)
|
|
r += ls(e, t, n[o]) + ";";
|
|
else
|
|
for (var i in n) {
|
|
var s = n[i];
|
|
if (typeof s != "object") {
|
|
var a = s;
|
|
t != null && t[a] !== void 0 ? r += i + "{" + t[a] + "}" : mg(a) && (r += kc(i) + ":" + gg(i, a) + ";");
|
|
} else if (Array.isArray(s) && typeof s[0] == "string" && (t == null || t[s[0]] === void 0))
|
|
for (var l = 0; l < s.length; l++)
|
|
mg(s[l]) && (r += kc(i) + ":" + gg(i, s[l]) + ";");
|
|
else {
|
|
var u = ls(e, t, s);
|
|
switch (i) {
|
|
case "animation":
|
|
case "animationName": {
|
|
r += kc(i) + ":" + u + ";";
|
|
break;
|
|
}
|
|
default:
|
|
r += i + "{" + u + "}";
|
|
}
|
|
}
|
|
}
|
|
return r;
|
|
}
|
|
var yg = /label:\s*([^\s;{]+)\s*(;|$)/g, nn;
|
|
function mu(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, o = "";
|
|
nn = void 0;
|
|
var i = e[0];
|
|
if (i == null || i.raw === void 0)
|
|
r = !1, o += ls(n, t, i);
|
|
else {
|
|
var s = i;
|
|
o += s[0];
|
|
}
|
|
for (var a = 1; a < e.length; a++)
|
|
if (o += ls(n, t, e[a]), r) {
|
|
var l = i;
|
|
o += l[a];
|
|
}
|
|
yg.lastIndex = 0;
|
|
for (var u = "", c; (c = yg.exec(o)) !== null; )
|
|
u += "-" + c[1];
|
|
var d = e5(o) + u;
|
|
return {
|
|
name: d,
|
|
styles: o,
|
|
next: nn
|
|
};
|
|
}
|
|
var i5 = function(t) {
|
|
return t();
|
|
}, WS = Op.useInsertionEffect ? Op.useInsertionEffect : !1, US = WS || i5, vg = WS || C.useLayoutEffect, Fh = /* @__PURE__ */ C.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__ */ KR({
|
|
key: "css"
|
|
}) : null
|
|
);
|
|
Fh.Provider;
|
|
var s5 = function() {
|
|
return C.useContext(Fh);
|
|
}, Lh = function(t) {
|
|
return /* @__PURE__ */ C.forwardRef(function(n, r) {
|
|
var o = C.useContext(Fh);
|
|
return t(n, o, r);
|
|
});
|
|
}, Lo = /* @__PURE__ */ C.createContext({}), a5 = function(t, n) {
|
|
if (typeof n == "function") {
|
|
var r = n(t);
|
|
return r;
|
|
}
|
|
return Cl({}, t, n);
|
|
}, l5 = /* @__PURE__ */ hg(function(e) {
|
|
return hg(function(t) {
|
|
return a5(e, t);
|
|
});
|
|
}), u5 = function(t) {
|
|
var n = C.useContext(Lo);
|
|
return t.theme !== n && (n = l5(n)(t.theme)), /* @__PURE__ */ C.createElement(Lo.Provider, {
|
|
value: n
|
|
}, t.children);
|
|
}, Bh = {}.hasOwnProperty, Yd = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__", c5 = function(t, n) {
|
|
var r = {};
|
|
for (var o in n)
|
|
Bh.call(n, o) && (r[o] = n[o]);
|
|
return r[Yd] = t, r;
|
|
}, d5 = function(t) {
|
|
var n = t.cache, r = t.serialized, o = t.isStringTag;
|
|
return Rh(n, r, o), US(function() {
|
|
return Dh(n, r, o);
|
|
}), null;
|
|
}, f5 = /* @__PURE__ */ Lh(function(e, t, n) {
|
|
var r = e.css;
|
|
typeof r == "string" && t.registered[r] !== void 0 && (r = t.registered[r]);
|
|
var o = e[Yd], i = [r], s = "";
|
|
typeof e.className == "string" ? s = NS(t.registered, i, e.className) : e.className != null && (s = e.className + " ");
|
|
var a = mu(i, void 0, C.useContext(Lo));
|
|
s += t.key + "-" + a.name;
|
|
var l = {};
|
|
for (var u in e)
|
|
Bh.call(e, u) && u !== "css" && u !== Yd && (l[u] = e[u]);
|
|
return l.className = s, n && (l.ref = n), /* @__PURE__ */ C.createElement(C.Fragment, null, /* @__PURE__ */ C.createElement(d5, {
|
|
cache: t,
|
|
serialized: a,
|
|
isStringTag: typeof o == "string"
|
|
}), /* @__PURE__ */ C.createElement(o, l));
|
|
}), h5 = f5, Sg = function(t, n) {
|
|
var r = arguments;
|
|
if (n == null || !Bh.call(n, "css"))
|
|
return C.createElement.apply(void 0, r);
|
|
var o = r.length, i = new Array(o);
|
|
i[0] = h5, i[1] = c5(t, n);
|
|
for (var s = 2; s < o; s++)
|
|
i[s] = r[s];
|
|
return C.createElement.apply(null, i);
|
|
};
|
|
(function(e) {
|
|
var t;
|
|
t || (t = e.JSX || (e.JSX = {}));
|
|
})(Sg || (Sg = {}));
|
|
var bs = /* @__PURE__ */ Lh(function(e, t) {
|
|
var n = e.styles, r = mu([n], void 0, C.useContext(Lo)), o = C.useRef();
|
|
return vg(function() {
|
|
var i = t.key + "-global", s = new t.sheet.constructor({
|
|
key: i,
|
|
nonce: t.sheet.nonce,
|
|
container: t.sheet.container,
|
|
speedy: t.sheet.isSpeedy
|
|
}), a = !1, l = document.querySelector('style[data-emotion="' + i + " " + r.name + '"]');
|
|
return t.sheet.tags.length && (s.before = t.sheet.tags[0]), l !== null && (a = !0, l.setAttribute("data-emotion", i), s.hydrate([l])), o.current = [s, a], function() {
|
|
s.flush();
|
|
};
|
|
}, [t]), vg(function() {
|
|
var i = o.current, s = i[0], a = i[1];
|
|
if (a) {
|
|
i[1] = !1;
|
|
return;
|
|
}
|
|
if (r.next !== void 0 && Dh(t, r.next, !0), s.tags.length) {
|
|
var l = s.tags[s.tags.length - 1].nextElementSibling;
|
|
s.before = l, s.flush();
|
|
}
|
|
t.insert("", r, s, !1);
|
|
}, [t, r.name]), null;
|
|
});
|
|
function p5() {
|
|
for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
|
|
t[n] = arguments[n];
|
|
return mu(t);
|
|
}
|
|
function m5() {
|
|
var e = p5.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_";
|
|
}
|
|
};
|
|
}
|
|
const Vh = C.createContext({});
|
|
Vh.displayName = "ColorModeContext";
|
|
function Ih() {
|
|
const e = C.useContext(Vh);
|
|
if (e === void 0)
|
|
throw new Error("useColorMode must be used within a ColorModeProvider");
|
|
return e;
|
|
}
|
|
const la = {
|
|
light: "chakra-ui-light",
|
|
dark: "chakra-ui-dark"
|
|
};
|
|
function g5(e = {}) {
|
|
const { preventTransition: t = !0, nonce: n } = e, r = {
|
|
setDataset: (o) => {
|
|
const i = t ? r.preventTransition() : void 0;
|
|
document.documentElement.dataset.theme = o, document.documentElement.style.colorScheme = o, i?.();
|
|
},
|
|
setClassName(o) {
|
|
document.body.classList.add(o ? la.dark : la.light), document.body.classList.remove(o ? la.light : la.dark);
|
|
},
|
|
query() {
|
|
return window.matchMedia("(prefers-color-scheme: dark)");
|
|
},
|
|
getSystemTheme(o) {
|
|
return r.query().matches ?? o === "dark" ? "dark" : "light";
|
|
},
|
|
addListener(o) {
|
|
const i = r.query(), s = (a) => {
|
|
o(a.matches ? "dark" : "light");
|
|
};
|
|
return typeof i.addListener == "function" ? i.addListener(s) : i.addEventListener("change", s), () => {
|
|
typeof i.removeListener == "function" ? i.removeListener(s) : i.removeEventListener("change", s);
|
|
};
|
|
},
|
|
preventTransition() {
|
|
const o = document.createElement("style");
|
|
return o.appendChild(
|
|
document.createTextNode(
|
|
"*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"
|
|
)
|
|
), n !== void 0 && (o.nonce = n), document.head.appendChild(o), () => {
|
|
window.getComputedStyle(document.body), requestAnimationFrame(() => {
|
|
requestAnimationFrame(() => {
|
|
document.head.removeChild(o);
|
|
});
|
|
});
|
|
};
|
|
}
|
|
};
|
|
return r;
|
|
}
|
|
const y5 = "chakra-ui-color-mode";
|
|
function v5(e) {
|
|
return {
|
|
ssr: !1,
|
|
type: "localStorage",
|
|
get(t) {
|
|
if (!globalThis?.document)
|
|
return t;
|
|
let n;
|
|
try {
|
|
n = localStorage.getItem(e) || t;
|
|
} catch {
|
|
}
|
|
return n || t;
|
|
},
|
|
set(t) {
|
|
try {
|
|
localStorage.setItem(e, t);
|
|
} catch {
|
|
}
|
|
}
|
|
};
|
|
}
|
|
const S5 = v5(y5), bg = () => {
|
|
}, b5 = LC() ? C.useLayoutEffect : C.useEffect;
|
|
function xg(e, t) {
|
|
return e.type === "cookie" && e.ssr ? e.get(t) : t;
|
|
}
|
|
const HS = function(t) {
|
|
const {
|
|
value: n,
|
|
children: r,
|
|
options: {
|
|
useSystemColorMode: o,
|
|
initialColorMode: i,
|
|
disableTransitionOnChange: s
|
|
} = {},
|
|
colorModeManager: a = S5
|
|
} = t, l = s5(), u = i === "dark" ? "dark" : "light", [c, d] = C.useState(
|
|
() => xg(a, u)
|
|
), [f, y] = C.useState(
|
|
() => xg(a)
|
|
), { getSystemTheme: v, setClassName: S, setDataset: k, addListener: p } = C.useMemo(
|
|
() => g5({
|
|
preventTransition: s,
|
|
nonce: l?.nonce
|
|
}),
|
|
[s, l?.nonce]
|
|
), h = i === "system" && !c ? f : c, g = C.useCallback(
|
|
(A) => {
|
|
const E = A === "system" ? v() : A;
|
|
d(E), S(E === "dark"), k(E), a.set(E);
|
|
},
|
|
[a, v, S, k]
|
|
);
|
|
b5(() => {
|
|
i === "system" && y(v());
|
|
}, []), C.useEffect(() => {
|
|
const A = a.get();
|
|
if (A) {
|
|
g(A);
|
|
return;
|
|
}
|
|
if (i === "system") {
|
|
g("system");
|
|
return;
|
|
}
|
|
g(u);
|
|
}, [a, u, i, g]);
|
|
const w = C.useCallback(() => {
|
|
g(h === "dark" ? "light" : "dark");
|
|
}, [h, g]);
|
|
C.useEffect(() => {
|
|
if (o)
|
|
return p(g);
|
|
}, [o, p, g]);
|
|
const P = C.useMemo(
|
|
() => ({
|
|
colorMode: n ?? h,
|
|
toggleColorMode: n ? bg : w,
|
|
setColorMode: n ? bg : g,
|
|
forced: n !== void 0
|
|
}),
|
|
[h, w, g, n]
|
|
);
|
|
return /* @__PURE__ */ F.jsx(Vh.Provider, { value: P, children: r });
|
|
};
|
|
HS.displayName = "ColorModeProvider";
|
|
const KS = String.raw, XS = KS`
|
|
:root,
|
|
:host {
|
|
--chakra-vh: 100vh;
|
|
}
|
|
|
|
@supports (height: -webkit-fill-available) {
|
|
:root,
|
|
:host {
|
|
--chakra-vh: -webkit-fill-available;
|
|
}
|
|
}
|
|
|
|
@supports (height: -moz-fill-available) {
|
|
:root,
|
|
:host {
|
|
--chakra-vh: -moz-fill-available;
|
|
}
|
|
}
|
|
|
|
@supports (height: 100dvh) {
|
|
:root,
|
|
:host {
|
|
--chakra-vh: 100dvh;
|
|
}
|
|
}
|
|
`, x5 = () => /* @__PURE__ */ F.jsx(bs, { styles: XS }), w5 = ({ scope: e = "" }) => /* @__PURE__ */ F.jsx(
|
|
bs,
|
|
{
|
|
styles: KS`
|
|
html {
|
|
line-height: 1.5;
|
|
-webkit-text-size-adjust: 100%;
|
|
font-family: system-ui, sans-serif;
|
|
-webkit-font-smoothing: antialiased;
|
|
text-rendering: optimizeLegibility;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
touch-action: manipulation;
|
|
}
|
|
|
|
body {
|
|
position: relative;
|
|
min-height: 100%;
|
|
margin: 0;
|
|
font-feature-settings: "kern";
|
|
}
|
|
|
|
${e} :where(*, *::before, *::after) {
|
|
border-width: 0;
|
|
border-style: solid;
|
|
box-sizing: border-box;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
main {
|
|
display: block;
|
|
}
|
|
|
|
${e} hr {
|
|
border-top-width: 1px;
|
|
box-sizing: content-box;
|
|
height: 0;
|
|
overflow: visible;
|
|
}
|
|
|
|
${e} :where(pre, code, kbd,samp) {
|
|
font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
font-size: 1em;
|
|
}
|
|
|
|
${e} a {
|
|
background-color: transparent;
|
|
color: inherit;
|
|
text-decoration: inherit;
|
|
}
|
|
|
|
${e} abbr[title] {
|
|
border-bottom: none;
|
|
text-decoration: underline;
|
|
-webkit-text-decoration: underline dotted;
|
|
text-decoration: underline dotted;
|
|
}
|
|
|
|
${e} :where(b, strong) {
|
|
font-weight: bold;
|
|
}
|
|
|
|
${e} small {
|
|
font-size: 80%;
|
|
}
|
|
|
|
${e} :where(sub,sup) {
|
|
font-size: 75%;
|
|
line-height: 0;
|
|
position: relative;
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
${e} sub {
|
|
bottom: -0.25em;
|
|
}
|
|
|
|
${e} sup {
|
|
top: -0.5em;
|
|
}
|
|
|
|
${e} img {
|
|
border-style: none;
|
|
}
|
|
|
|
${e} :where(button, input, optgroup, select, textarea) {
|
|
font-family: inherit;
|
|
font-size: 100%;
|
|
line-height: 1.15;
|
|
margin: 0;
|
|
}
|
|
|
|
${e} :where(button, input) {
|
|
overflow: visible;
|
|
}
|
|
|
|
${e} :where(button, select) {
|
|
text-transform: none;
|
|
}
|
|
|
|
${e} :where(
|
|
button::-moz-focus-inner,
|
|
[type="button"]::-moz-focus-inner,
|
|
[type="reset"]::-moz-focus-inner,
|
|
[type="submit"]::-moz-focus-inner
|
|
) {
|
|
border-style: none;
|
|
padding: 0;
|
|
}
|
|
|
|
${e} fieldset {
|
|
padding: 0.35em 0.75em 0.625em;
|
|
}
|
|
|
|
${e} legend {
|
|
box-sizing: border-box;
|
|
color: inherit;
|
|
display: table;
|
|
max-width: 100%;
|
|
padding: 0;
|
|
white-space: normal;
|
|
}
|
|
|
|
${e} progress {
|
|
vertical-align: baseline;
|
|
}
|
|
|
|
${e} textarea {
|
|
overflow: auto;
|
|
}
|
|
|
|
${e} :where([type="checkbox"], [type="radio"]) {
|
|
box-sizing: border-box;
|
|
padding: 0;
|
|
}
|
|
|
|
${e} input[type="number"]::-webkit-inner-spin-button,
|
|
${e} input[type="number"]::-webkit-outer-spin-button {
|
|
-webkit-appearance: none !important;
|
|
}
|
|
|
|
${e} input[type="number"] {
|
|
-moz-appearance: textfield;
|
|
}
|
|
|
|
${e} input[type="search"] {
|
|
-webkit-appearance: textfield;
|
|
outline-offset: -2px;
|
|
}
|
|
|
|
${e} input[type="search"]::-webkit-search-decoration {
|
|
-webkit-appearance: none !important;
|
|
}
|
|
|
|
${e} ::-webkit-file-upload-button {
|
|
-webkit-appearance: button;
|
|
font: inherit;
|
|
}
|
|
|
|
${e} details {
|
|
display: block;
|
|
}
|
|
|
|
${e} summary {
|
|
display: list-item;
|
|
}
|
|
|
|
template {
|
|
display: none;
|
|
}
|
|
|
|
[hidden] {
|
|
display: none !important;
|
|
}
|
|
|
|
${e} :where(
|
|
blockquote,
|
|
dl,
|
|
dd,
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6,
|
|
hr,
|
|
figure,
|
|
p,
|
|
pre
|
|
) {
|
|
margin: 0;
|
|
}
|
|
|
|
${e} button {
|
|
background: transparent;
|
|
padding: 0;
|
|
}
|
|
|
|
${e} fieldset {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
${e} :where(ol, ul) {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
${e} textarea {
|
|
resize: vertical;
|
|
}
|
|
|
|
${e} :where(button, [role="button"]) {
|
|
cursor: pointer;
|
|
}
|
|
|
|
${e} button::-moz-focus-inner {
|
|
border: 0 !important;
|
|
}
|
|
|
|
${e} table {
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
${e} :where(h1, h2, h3, h4, h5, h6) {
|
|
font-size: inherit;
|
|
font-weight: inherit;
|
|
}
|
|
|
|
${e} :where(button, input, optgroup, select, textarea) {
|
|
padding: 0;
|
|
line-height: inherit;
|
|
color: inherit;
|
|
}
|
|
|
|
${e} :where(img, svg, video, canvas, audio, iframe, embed, object) {
|
|
display: block;
|
|
}
|
|
|
|
${e} :where(img, video) {
|
|
max-width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
[data-js-focus-visible]
|
|
:focus:not([data-focus-visible-added]):not(
|
|
[data-focus-visible-disabled]
|
|
) {
|
|
outline: none;
|
|
box-shadow: none;
|
|
}
|
|
|
|
${e} select::-ms-expand {
|
|
display: none;
|
|
}
|
|
|
|
${XS}
|
|
`
|
|
}
|
|
);
|
|
function k5(e) {
|
|
const { cssVarsRoot: t, theme: n, children: r } = e, o = C.useMemo(() => rE(n), [n]);
|
|
return /* @__PURE__ */ F.jsxs(u5, { theme: o, children: [
|
|
/* @__PURE__ */ F.jsx(C5, { root: t }),
|
|
r
|
|
] });
|
|
}
|
|
function C5({ root: e = ":host, :root" }) {
|
|
const t = [e, "[data-theme]"].join(",");
|
|
return /* @__PURE__ */ F.jsx(bs, { styles: (n) => ({ [t]: n.__cssVars }) });
|
|
}
|
|
jo({
|
|
name: "StylesContext",
|
|
errorMessage: "useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` "
|
|
});
|
|
function T5() {
|
|
const { colorMode: e } = Ih();
|
|
return /* @__PURE__ */ F.jsx(
|
|
bs,
|
|
{
|
|
styles: (t) => {
|
|
const n = sS(t, "styles.global"), r = sn(n, { theme: t, colorMode: e });
|
|
return r ? dS(r)(t) : void 0;
|
|
}
|
|
}
|
|
);
|
|
}
|
|
const [E5, P5] = jo({
|
|
strict: !1,
|
|
name: "PortalManagerContext"
|
|
});
|
|
function qS(e) {
|
|
const { children: t, zIndex: n } = e;
|
|
return /* @__PURE__ */ F.jsx(E5, { value: { zIndex: n }, children: t });
|
|
}
|
|
qS.displayName = "PortalManager";
|
|
const YS = C.createContext({
|
|
getDocument() {
|
|
return document;
|
|
},
|
|
getWindow() {
|
|
return window;
|
|
}
|
|
});
|
|
YS.displayName = "EnvironmentContext";
|
|
function ZS(e) {
|
|
const { children: t, environment: n, disabled: r } = e, o = C.useRef(null), i = C.useMemo(() => n || {
|
|
getDocument: () => o.current?.ownerDocument ?? document,
|
|
getWindow: () => o.current?.ownerDocument.defaultView ?? window
|
|
}, [n]), s = !r || !n;
|
|
return /* @__PURE__ */ F.jsxs(YS.Provider, { value: i, children: [
|
|
t,
|
|
s && /* @__PURE__ */ F.jsx("span", { id: "__chakra_env", hidden: !0, ref: o })
|
|
] });
|
|
}
|
|
ZS.displayName = "EnvironmentProvider";
|
|
const A5 = (e) => {
|
|
const {
|
|
children: t,
|
|
colorModeManager: n,
|
|
portalZIndex: r,
|
|
resetScope: o,
|
|
resetCSS: i = !0,
|
|
theme: s = {},
|
|
environment: a,
|
|
cssVarsRoot: l,
|
|
disableEnvironment: u,
|
|
disableGlobalStyle: c
|
|
} = e, d = /* @__PURE__ */ F.jsx(
|
|
ZS,
|
|
{
|
|
environment: a,
|
|
disabled: u,
|
|
children: t
|
|
}
|
|
);
|
|
return /* @__PURE__ */ F.jsx(k5, { theme: s, cssVarsRoot: l, children: /* @__PURE__ */ F.jsxs(
|
|
HS,
|
|
{
|
|
colorModeManager: n,
|
|
options: s.config,
|
|
children: [
|
|
i ? /* @__PURE__ */ F.jsx(w5, { scope: o }) : /* @__PURE__ */ F.jsx(x5, {}),
|
|
!c && /* @__PURE__ */ F.jsx(T5, {}),
|
|
r ? /* @__PURE__ */ F.jsx(qS, { zIndex: r, children: d }) : d
|
|
]
|
|
}
|
|
) });
|
|
}, Oh = C.createContext({});
|
|
function Nh(e) {
|
|
const t = C.useRef(null);
|
|
return t.current === null && (t.current = e()), t.current;
|
|
}
|
|
const z5 = typeof window < "u", GS = z5 ? C.useLayoutEffect : C.useEffect, xs = /* @__PURE__ */ C.createContext(null);
|
|
function jh(e, t) {
|
|
e.indexOf(t) === -1 && e.push(t);
|
|
}
|
|
function Tl(e, t) {
|
|
const n = e.indexOf(t);
|
|
n > -1 && e.splice(n, 1);
|
|
}
|
|
const fn = (e, t, n) => n > t ? t : n < e ? e : n;
|
|
function wg(e, t) {
|
|
return t ? `${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}` : e;
|
|
}
|
|
let ws = () => {
|
|
}, Lr = () => {
|
|
};
|
|
typeof process < "u" && process.env?.NODE_ENV !== "production" && (ws = (e, t, n) => {
|
|
!e && typeof console < "u" && console.warn(wg(t, n));
|
|
}, Lr = (e, t, n) => {
|
|
if (!e)
|
|
throw new Error(wg(t, n));
|
|
});
|
|
const er = {}, QS = (e) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e), JS = (e) => typeof e == "object" && e !== null, _S = (e) => /^0[^.\s]+$/u.test(e);
|
|
// @__NO_SIDE_EFFECTS__
|
|
function $S(e) {
|
|
let t;
|
|
return () => (t === void 0 && (t = e()), t);
|
|
}
|
|
const Rt = /* @__NO_SIDE_EFFECTS__ */ (e) => e, ks = (...e) => e.reduce((t, n) => (r) => n(t(r))), us = /* @__NO_SIDE_EFFECTS__ */ (e, t, n) => {
|
|
const r = t - e;
|
|
return r ? (n - e) / r : 1;
|
|
};
|
|
class Wh {
|
|
constructor() {
|
|
this.subscriptions = [];
|
|
}
|
|
add(t) {
|
|
return jh(this.subscriptions, t), () => Tl(this.subscriptions, t);
|
|
}
|
|
notify(t, n, r) {
|
|
const o = this.subscriptions.length;
|
|
if (o)
|
|
if (o === 1)
|
|
this.subscriptions[0](t, n, r);
|
|
else
|
|
for (let i = 0; i < o; i++) {
|
|
const s = this.subscriptions[i];
|
|
s && s(t, n, r);
|
|
}
|
|
}
|
|
getSize() {
|
|
return this.subscriptions.length;
|
|
}
|
|
clear() {
|
|
this.subscriptions.length = 0;
|
|
}
|
|
}
|
|
const ut = /* @__NO_SIDE_EFFECTS__ */ (e) => e * 1e3, zt = /* @__NO_SIDE_EFFECTS__ */ (e) => e / 1e3, e1 = /* @__NO_SIDE_EFFECTS__ */ (e, t) => t ? e * (1e3 / t) : 0, t1 = (e, t, n) => (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e, M5 = 1e-7, R5 = 12;
|
|
function D5(e, t, n, r, o) {
|
|
let i, s, a = 0;
|
|
do
|
|
s = t + (n - t) / 2, i = t1(s, r, o) - e, i > 0 ? n = s : t = s;
|
|
while (Math.abs(i) > M5 && ++a < R5);
|
|
return s;
|
|
}
|
|
// @__NO_SIDE_EFFECTS__
|
|
function Cs(e, t, n, r) {
|
|
if (e === t && n === r)
|
|
return Rt;
|
|
const o = (i) => D5(i, 0, 1, e, n);
|
|
return (i) => i === 0 || i === 1 ? i : t1(o(i), t, r);
|
|
}
|
|
const n1 = /* @__NO_SIDE_EFFECTS__ */ (e) => (t) => t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2, r1 = /* @__NO_SIDE_EFFECTS__ */ (e) => (t) => 1 - e(1 - t), o1 = /* @__PURE__ */ Cs(0.33, 1.53, 0.69, 0.99), Uh = /* @__PURE__ */ r1(o1), i1 = /* @__PURE__ */ n1(Uh), s1 = (e) => e >= 1 ? 1 : (e *= 2) < 1 ? 0.5 * Uh(e) : 0.5 * (2 - Math.pow(2, -10 * (e - 1))), Hh = (e) => 1 - Math.sin(Math.acos(e)), a1 = /* @__PURE__ */ r1(Hh), l1 = /* @__PURE__ */ n1(Hh), F5 = /* @__PURE__ */ Cs(0.42, 0, 1, 1), L5 = /* @__PURE__ */ Cs(0, 0, 0.58, 1), u1 = /* @__PURE__ */ Cs(0.42, 0, 0.58, 1), B5 = /* @__NO_SIDE_EFFECTS__ */ (e) => Array.isArray(e) && typeof e[0] != "number", c1 = /* @__NO_SIDE_EFFECTS__ */ (e) => Array.isArray(e) && typeof e[0] == "number", kg = {
|
|
linear: Rt,
|
|
easeIn: F5,
|
|
easeInOut: u1,
|
|
easeOut: L5,
|
|
circIn: Hh,
|
|
circInOut: l1,
|
|
circOut: a1,
|
|
backIn: Uh,
|
|
backInOut: i1,
|
|
backOut: o1,
|
|
anticipate: s1
|
|
}, V5 = (e) => typeof e == "string", Cg = (e) => {
|
|
if (/* @__PURE__ */ c1(e)) {
|
|
Lr(e.length === 4, "Cubic bezier arrays must contain four numerical values.", "cubic-bezier-length");
|
|
const [t, n, r, o] = e;
|
|
return /* @__PURE__ */ Cs(t, n, r, o);
|
|
} else if (V5(e))
|
|
return Lr(kg[e] !== void 0, `Invalid easing type '${e}'`, "invalid-easing-type"), kg[e];
|
|
return e;
|
|
}, ua = [
|
|
"setup",
|
|
// Compute
|
|
"read",
|
|
// Read
|
|
"resolveKeyframes",
|
|
// Write/Read/Write/Read
|
|
"preUpdate",
|
|
// Compute
|
|
"update",
|
|
// Compute
|
|
"preRender",
|
|
// Compute
|
|
"render",
|
|
// Write
|
|
"postRender"
|
|
// Compute
|
|
];
|
|
function I5(e, t) {
|
|
let n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), o = !1, i = !1;
|
|
const s = /* @__PURE__ */ new WeakSet();
|
|
let a = {
|
|
delta: 0,
|
|
timestamp: 0,
|
|
isProcessing: !1
|
|
};
|
|
function l(c) {
|
|
s.has(c) && (u.schedule(c), e()), c(a);
|
|
}
|
|
const u = {
|
|
/**
|
|
* Schedule a process to run on the next frame.
|
|
*/
|
|
schedule: (c, d = !1, f = !1) => {
|
|
const v = f && o ? n : r;
|
|
return d && s.add(c), v.add(c), c;
|
|
},
|
|
/**
|
|
* Cancel the provided callback from running on the next frame.
|
|
*/
|
|
cancel: (c) => {
|
|
r.delete(c), s.delete(c);
|
|
},
|
|
/**
|
|
* Execute all schedule callbacks.
|
|
*/
|
|
process: (c) => {
|
|
if (a = c, o) {
|
|
i = !0;
|
|
return;
|
|
}
|
|
o = !0;
|
|
const d = n;
|
|
n = r, r = d, n.forEach(l), n.clear(), o = !1, i && (i = !1, u.process(c));
|
|
}
|
|
};
|
|
return u;
|
|
}
|
|
const O5 = 40;
|
|
function d1(e, t) {
|
|
let n = !1, r = !0;
|
|
const o = {
|
|
delta: 0,
|
|
timestamp: 0,
|
|
isProcessing: !1
|
|
}, i = () => n = !0, s = ua.reduce((g, w) => (g[w] = I5(i), g), {}), { setup: a, read: l, resolveKeyframes: u, preUpdate: c, update: d, preRender: f, render: y, postRender: v } = s, S = () => {
|
|
const g = er.useManualTiming, w = g ? o.timestamp : performance.now();
|
|
n = !1, g || (o.delta = r ? 1e3 / 60 : Math.max(Math.min(w - o.timestamp, O5), 1)), o.timestamp = w, o.isProcessing = !0, a.process(o), l.process(o), u.process(o), c.process(o), d.process(o), f.process(o), y.process(o), v.process(o), o.isProcessing = !1, n && t && (r = !1, e(S));
|
|
}, k = () => {
|
|
n = !0, r = !0, o.isProcessing || e(S);
|
|
};
|
|
return { schedule: ua.reduce((g, w) => {
|
|
const P = s[w];
|
|
return g[w] = (A, E = !1, z = !1) => (n || k(), P.schedule(A, E, z)), g;
|
|
}, {}), cancel: (g) => {
|
|
for (let w = 0; w < ua.length; w++)
|
|
s[ua[w]].cancel(g);
|
|
}, state: o, steps: s };
|
|
}
|
|
const { schedule: ie, cancel: tr, state: Ve, steps: Cc } = /* @__PURE__ */ d1(typeof requestAnimationFrame < "u" ? requestAnimationFrame : Rt, !0);
|
|
let Oa;
|
|
function N5() {
|
|
Oa = void 0;
|
|
}
|
|
const Qe = {
|
|
now: () => (Oa === void 0 && Qe.set(Ve.isProcessing || er.useManualTiming ? Ve.timestamp : performance.now()), Oa),
|
|
set: (e) => {
|
|
Oa = e, queueMicrotask(N5);
|
|
}
|
|
}, f1 = (e) => (t) => typeof t == "string" && t.startsWith(e), h1 = /* @__PURE__ */ f1("--"), j5 = /* @__PURE__ */ f1("var(--"), Kh = (e) => j5(e) ? W5.test(e.split("/*")[0].trim()) : !1, W5 = /var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;
|
|
function Tg(e) {
|
|
return typeof e != "string" ? !1 : e.split("/*")[0].includes("var(--");
|
|
}
|
|
const Uo = {
|
|
test: (e) => typeof e == "number",
|
|
parse: parseFloat,
|
|
transform: (e) => e
|
|
}, cs = {
|
|
...Uo,
|
|
transform: (e) => fn(0, 1, e)
|
|
}, ca = {
|
|
...Uo,
|
|
default: 1
|
|
}, Bi = (e) => Math.round(e * 1e5) / 1e5, Xh = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
|
|
function U5(e) {
|
|
return e == null;
|
|
}
|
|
const H5 = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu, qh = (e, t) => (n) => !!(typeof n == "string" && H5.test(n) && n.startsWith(e) || t && !U5(n) && Object.prototype.hasOwnProperty.call(n, t)), p1 = (e, t, n) => (r) => {
|
|
if (typeof r != "string")
|
|
return r;
|
|
const [o, i, s, a] = r.match(Xh);
|
|
return {
|
|
[e]: parseFloat(o),
|
|
[t]: parseFloat(i),
|
|
[n]: parseFloat(s),
|
|
alpha: a !== void 0 ? parseFloat(a) : 1
|
|
};
|
|
}, K5 = (e) => fn(0, 255, e), Tc = {
|
|
...Uo,
|
|
transform: (e) => Math.round(K5(e))
|
|
}, Sr = {
|
|
test: /* @__PURE__ */ qh("rgb", "red"),
|
|
parse: /* @__PURE__ */ p1("red", "green", "blue"),
|
|
transform: ({ red: e, green: t, blue: n, alpha: r = 1 }) => "rgba(" + Tc.transform(e) + ", " + Tc.transform(t) + ", " + Tc.transform(n) + ", " + Bi(cs.transform(r)) + ")"
|
|
};
|
|
function X5(e) {
|
|
let t = "", n = "", r = "", o = "";
|
|
return e.length > 5 ? (t = e.substring(1, 3), n = e.substring(3, 5), r = e.substring(5, 7), o = e.substring(7, 9)) : (t = e.substring(1, 2), n = e.substring(2, 3), r = e.substring(3, 4), o = e.substring(4, 5), t += t, n += n, r += r, o += o), {
|
|
red: parseInt(t, 16),
|
|
green: parseInt(n, 16),
|
|
blue: parseInt(r, 16),
|
|
alpha: o ? parseInt(o, 16) / 255 : 1
|
|
};
|
|
}
|
|
const Zd = {
|
|
test: /* @__PURE__ */ qh("#"),
|
|
parse: X5,
|
|
transform: Sr.transform
|
|
}, Ts = /* @__NO_SIDE_EFFECTS__ */ (e) => ({
|
|
test: (t) => typeof t == "string" && t.endsWith(e) && t.split(" ").length === 1,
|
|
parse: parseFloat,
|
|
transform: (t) => `${t}${e}`
|
|
}), mn = /* @__PURE__ */ Ts("deg"), dn = /* @__PURE__ */ Ts("%"), B = /* @__PURE__ */ Ts("px"), q5 = /* @__PURE__ */ Ts("vh"), Y5 = /* @__PURE__ */ Ts("vw"), Eg = {
|
|
...dn,
|
|
parse: (e) => dn.parse(e) / 100,
|
|
transform: (e) => dn.transform(e * 100)
|
|
}, uo = {
|
|
test: /* @__PURE__ */ qh("hsl", "hue"),
|
|
parse: /* @__PURE__ */ p1("hue", "saturation", "lightness"),
|
|
transform: ({ hue: e, saturation: t, lightness: n, alpha: r = 1 }) => "hsla(" + Math.round(e) + ", " + dn.transform(Bi(t)) + ", " + dn.transform(Bi(n)) + ", " + Bi(cs.transform(r)) + ")"
|
|
}, ke = {
|
|
test: (e) => Sr.test(e) || Zd.test(e) || uo.test(e),
|
|
parse: (e) => Sr.test(e) ? Sr.parse(e) : uo.test(e) ? uo.parse(e) : Zd.parse(e),
|
|
transform: (e) => typeof e == "string" ? e : e.hasOwnProperty("red") ? Sr.transform(e) : uo.transform(e),
|
|
getAnimatableNone: (e) => {
|
|
const t = ke.parse(e);
|
|
return t.alpha = 0, ke.transform(t);
|
|
}
|
|
}, Z5 = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
|
|
function G5(e) {
|
|
return isNaN(e) && typeof e == "string" && (e.match(Xh)?.length || 0) + (e.match(Z5)?.length || 0) > 0;
|
|
}
|
|
const m1 = "number", g1 = "color", Q5 = "var", J5 = "var(", Pg = "${}", _5 = /var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;
|
|
function Bo(e) {
|
|
const t = e.toString(), n = [], r = {
|
|
color: [],
|
|
number: [],
|
|
var: []
|
|
}, o = [];
|
|
let i = 0;
|
|
const a = t.replace(_5, (l) => (ke.test(l) ? (r.color.push(i), o.push(g1), n.push(ke.parse(l))) : l.startsWith(J5) ? (r.var.push(i), o.push(Q5), n.push(l)) : (r.number.push(i), o.push(m1), n.push(parseFloat(l))), ++i, Pg)).split(Pg);
|
|
return { values: n, split: a, indexes: r, types: o };
|
|
}
|
|
function $5(e) {
|
|
return Bo(e).values;
|
|
}
|
|
function y1({ split: e, types: t }) {
|
|
const n = e.length;
|
|
return (r) => {
|
|
let o = "";
|
|
for (let i = 0; i < n; i++)
|
|
if (o += e[i], r[i] !== void 0) {
|
|
const s = t[i];
|
|
s === m1 ? o += Bi(r[i]) : s === g1 ? o += ke.transform(r[i]) : o += r[i];
|
|
}
|
|
return o;
|
|
};
|
|
}
|
|
function e4(e) {
|
|
return y1(Bo(e));
|
|
}
|
|
const t4 = (e) => typeof e == "number" ? 0 : ke.test(e) ? ke.getAnimatableNone(e) : e, n4 = (e, t) => typeof e == "number" ? t?.trim().endsWith("/") ? e : 0 : t4(e);
|
|
function r4(e) {
|
|
const t = Bo(e);
|
|
return y1(t)(t.values.map((r, o) => n4(r, t.split[o])));
|
|
}
|
|
const qt = {
|
|
test: G5,
|
|
parse: $5,
|
|
createTransformer: e4,
|
|
getAnimatableNone: r4
|
|
};
|
|
function Ec(e, t, n) {
|
|
return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + (t - e) * 6 * n : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e;
|
|
}
|
|
function o4({ hue: e, saturation: t, lightness: n, alpha: r }) {
|
|
e /= 360, t /= 100, n /= 100;
|
|
let o = 0, i = 0, s = 0;
|
|
if (!t)
|
|
o = i = s = n;
|
|
else {
|
|
const a = n < 0.5 ? n * (1 + t) : n + t - n * t, l = 2 * n - a;
|
|
o = Ec(l, a, e + 1 / 3), i = Ec(l, a, e), s = Ec(l, a, e - 1 / 3);
|
|
}
|
|
return {
|
|
red: Math.round(o * 255),
|
|
green: Math.round(i * 255),
|
|
blue: Math.round(s * 255),
|
|
alpha: r
|
|
};
|
|
}
|
|
function El(e, t) {
|
|
return (n) => n > 0 ? t : e;
|
|
}
|
|
const oe = (e, t, n) => e + (t - e) * n, Pc = (e, t, n) => {
|
|
const r = e * e, o = n * (t * t - r) + r;
|
|
return o < 0 ? 0 : Math.sqrt(o);
|
|
}, i4 = [Zd, Sr, uo], s4 = (e) => i4.find((t) => t.test(e));
|
|
function Ag(e) {
|
|
const t = s4(e);
|
|
if (ws(!!t, `'${e}' is not an animatable color. Use the equivalent color code instead.`, "color-not-animatable"), !t)
|
|
return !1;
|
|
let n = t.parse(e);
|
|
return t === uo && (n = o4(n)), n;
|
|
}
|
|
const zg = (e, t) => {
|
|
const n = Ag(e), r = Ag(t);
|
|
if (!n || !r)
|
|
return El(e, t);
|
|
const o = { ...n };
|
|
return (i) => (o.red = Pc(n.red, r.red, i), o.green = Pc(n.green, r.green, i), o.blue = Pc(n.blue, r.blue, i), o.alpha = oe(n.alpha, r.alpha, i), Sr.transform(o));
|
|
}, Gd = /* @__PURE__ */ new Set(["none", "hidden"]);
|
|
function a4(e, t) {
|
|
return Gd.has(e) ? (n) => n <= 0 ? e : t : (n) => n >= 1 ? t : e;
|
|
}
|
|
function l4(e, t) {
|
|
return (n) => oe(e, t, n);
|
|
}
|
|
function Yh(e) {
|
|
return typeof e == "number" ? l4 : typeof e == "string" ? Kh(e) ? El : ke.test(e) ? zg : d4 : Array.isArray(e) ? v1 : typeof e == "object" ? ke.test(e) ? zg : u4 : El;
|
|
}
|
|
function v1(e, t) {
|
|
const n = [...e], r = n.length, o = e.map((i, s) => Yh(i)(i, t[s]));
|
|
return (i) => {
|
|
for (let s = 0; s < r; s++)
|
|
n[s] = o[s](i);
|
|
return n;
|
|
};
|
|
}
|
|
function u4(e, t) {
|
|
const n = { ...e, ...t }, r = {};
|
|
for (const o in n)
|
|
e[o] !== void 0 && t[o] !== void 0 && (r[o] = Yh(e[o])(e[o], t[o]));
|
|
return (o) => {
|
|
for (const i in r)
|
|
n[i] = r[i](o);
|
|
return n;
|
|
};
|
|
}
|
|
function c4(e, t) {
|
|
const n = [], r = { color: 0, var: 0, number: 0 };
|
|
for (let o = 0; o < t.values.length; o++) {
|
|
const i = t.types[o], s = e.indexes[i][r[i]], a = e.values[s] ?? 0;
|
|
n[o] = a, r[i]++;
|
|
}
|
|
return n;
|
|
}
|
|
const d4 = (e, t) => {
|
|
const n = qt.createTransformer(t), r = Bo(e), o = Bo(t);
|
|
return r.indexes.var.length === o.indexes.var.length && r.indexes.color.length === o.indexes.color.length && r.indexes.number.length >= o.indexes.number.length ? Gd.has(e) && !o.values.length || Gd.has(t) && !r.values.length ? a4(e, t) : ks(v1(c4(r, o), o.values), n) : (ws(!0, `Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`, "complex-values-different"), El(e, t));
|
|
};
|
|
function S1(e, t, n) {
|
|
return typeof e == "number" && typeof t == "number" && typeof n == "number" ? oe(e, t, n) : Yh(e)(e, t);
|
|
}
|
|
const f4 = (e) => {
|
|
const t = ({ timestamp: n }) => e(n);
|
|
return {
|
|
start: (n = !0) => ie.update(t, n),
|
|
stop: () => tr(t),
|
|
/**
|
|
* If we're processing this frame we can use the
|
|
* framelocked timestamp to keep things in sync.
|
|
*/
|
|
now: () => Ve.isProcessing ? Ve.timestamp : Qe.now()
|
|
};
|
|
}, b1 = (e, t, n = 10) => {
|
|
let r = "";
|
|
const o = Math.max(Math.round(t / n), 2);
|
|
for (let i = 0; i < o; i++)
|
|
r += Math.round(e(i / (o - 1)) * 1e4) / 1e4 + ", ";
|
|
return `linear(${r.substring(0, r.length - 2)})`;
|
|
}, Pl = 2e4;
|
|
function Zh(e) {
|
|
let t = 0;
|
|
const n = 50;
|
|
let r = e.next(t);
|
|
for (; !r.done && t < Pl; )
|
|
t += n, r = e.next(t);
|
|
return t >= Pl ? 1 / 0 : t;
|
|
}
|
|
function h4(e, t = 100, n) {
|
|
const r = n({ ...e, keyframes: [0, t] }), o = Math.min(Zh(r), Pl);
|
|
return {
|
|
type: "keyframes",
|
|
ease: (i) => r.next(o * i).value / t,
|
|
duration: /* @__PURE__ */ zt(o)
|
|
};
|
|
}
|
|
const me = {
|
|
// Default spring physics
|
|
stiffness: 100,
|
|
damping: 10,
|
|
mass: 1,
|
|
velocity: 0,
|
|
// Default duration/bounce-based options
|
|
duration: 800,
|
|
// in ms
|
|
bounce: 0.3,
|
|
visualDuration: 0.3,
|
|
// in seconds
|
|
// Rest thresholds
|
|
restSpeed: {
|
|
granular: 0.01,
|
|
default: 2
|
|
},
|
|
restDelta: {
|
|
granular: 5e-3,
|
|
default: 0.5
|
|
},
|
|
// Limits
|
|
minDuration: 0.01,
|
|
// in seconds
|
|
maxDuration: 10,
|
|
// in seconds
|
|
minDamping: 0.05,
|
|
maxDamping: 1
|
|
};
|
|
function Qd(e, t) {
|
|
return e * Math.sqrt(1 - t * t);
|
|
}
|
|
const p4 = 12;
|
|
function m4(e, t, n) {
|
|
let r = n;
|
|
for (let o = 1; o < p4; o++)
|
|
r = r - e(r) / t(r);
|
|
return r;
|
|
}
|
|
const Ac = 1e-3;
|
|
function g4({ duration: e = me.duration, bounce: t = me.bounce, velocity: n = me.velocity, mass: r = me.mass }) {
|
|
let o, i;
|
|
ws(e <= /* @__PURE__ */ ut(me.maxDuration), "Spring duration must be 10 seconds or less", "spring-duration-limit");
|
|
let s = 1 - t;
|
|
s = fn(me.minDamping, me.maxDamping, s), e = fn(me.minDuration, me.maxDuration, /* @__PURE__ */ zt(e)), s < 1 ? (o = (u) => {
|
|
const c = u * s, d = c * e, f = c - n, y = Qd(u, s), v = Math.exp(-d);
|
|
return Ac - f / y * v;
|
|
}, i = (u) => {
|
|
const d = u * s * e, f = d * n + n, y = Math.pow(s, 2) * Math.pow(u, 2) * e, v = Math.exp(-d), S = Qd(Math.pow(u, 2), s);
|
|
return (-o(u) + Ac > 0 ? -1 : 1) * ((f - y) * v) / S;
|
|
}) : (o = (u) => {
|
|
const c = Math.exp(-u * e), d = (u - n) * e + 1;
|
|
return -Ac + c * d;
|
|
}, i = (u) => {
|
|
const c = Math.exp(-u * e), d = (n - u) * (e * e);
|
|
return c * d;
|
|
});
|
|
const a = 5 / e, l = m4(o, i, a);
|
|
if (e = /* @__PURE__ */ ut(e), isNaN(l))
|
|
return {
|
|
stiffness: me.stiffness,
|
|
damping: me.damping,
|
|
duration: e
|
|
};
|
|
{
|
|
const u = Math.pow(l, 2) * r;
|
|
return {
|
|
stiffness: u,
|
|
damping: s * 2 * Math.sqrt(r * u),
|
|
duration: e
|
|
};
|
|
}
|
|
}
|
|
const y4 = ["duration", "bounce"], v4 = ["stiffness", "damping", "mass"];
|
|
function Mg(e, t) {
|
|
return t.some((n) => e[n] !== void 0);
|
|
}
|
|
function S4(e) {
|
|
let t = {
|
|
velocity: me.velocity,
|
|
stiffness: me.stiffness,
|
|
damping: me.damping,
|
|
mass: me.mass,
|
|
isResolvedFromDuration: !1,
|
|
...e
|
|
};
|
|
if (!Mg(e, v4) && Mg(e, y4))
|
|
if (t.velocity = 0, e.visualDuration) {
|
|
const n = e.visualDuration, r = 2 * Math.PI / (n * 1.2), o = r * r, i = 2 * fn(0.05, 1, 1 - (e.bounce || 0)) * Math.sqrt(o);
|
|
t = {
|
|
...t,
|
|
mass: me.mass,
|
|
stiffness: o,
|
|
damping: i
|
|
};
|
|
} else {
|
|
const n = g4({ ...e, velocity: 0 });
|
|
t = {
|
|
...t,
|
|
...n,
|
|
mass: me.mass
|
|
}, t.isResolvedFromDuration = !0;
|
|
}
|
|
return t;
|
|
}
|
|
function Al(e = me.visualDuration, t = me.bounce) {
|
|
const n = typeof e != "object" ? {
|
|
visualDuration: e,
|
|
keyframes: [0, 1],
|
|
bounce: t
|
|
} : e;
|
|
let { restSpeed: r, restDelta: o } = n;
|
|
const i = n.keyframes[0], s = n.keyframes[n.keyframes.length - 1], a = { done: !1, value: i }, { stiffness: l, damping: u, mass: c, duration: d, velocity: f, isResolvedFromDuration: y } = S4({
|
|
...n,
|
|
velocity: -/* @__PURE__ */ zt(n.velocity || 0)
|
|
}), v = f || 0, S = u / (2 * Math.sqrt(l * c)), k = s - i, p = /* @__PURE__ */ zt(Math.sqrt(l / c)), h = Math.abs(k) < 5;
|
|
r || (r = h ? me.restSpeed.granular : me.restSpeed.default), o || (o = h ? me.restDelta.granular : me.restDelta.default);
|
|
let g, w, P, A, E, z;
|
|
if (S < 1)
|
|
P = Qd(p, S), A = (v + S * p * k) / P, g = (M) => {
|
|
const U = Math.exp(-S * p * M);
|
|
return s - U * (A * Math.sin(P * M) + k * Math.cos(P * M));
|
|
}, E = S * p * A + k * P, z = S * p * k - A * P, w = (M) => Math.exp(-S * p * M) * (E * Math.sin(P * M) + z * Math.cos(P * M));
|
|
else if (S === 1) {
|
|
g = (U) => s - Math.exp(-p * U) * (k + (v + p * k) * U);
|
|
const M = v + p * k;
|
|
w = (U) => Math.exp(-p * U) * (p * M * U - v);
|
|
} else {
|
|
const M = p * Math.sqrt(S * S - 1);
|
|
g = (Ye) => {
|
|
const dt = Math.exp(-S * p * Ye), We = Math.min(M * Ye, 300);
|
|
return s - dt * ((v + S * p * k) * Math.sinh(We) + M * k * Math.cosh(We)) / M;
|
|
};
|
|
const U = (v + S * p * k) / M, le = S * p * U - k * M, Le = S * p * k - U * M;
|
|
w = (Ye) => {
|
|
const dt = Math.exp(-S * p * Ye), We = Math.min(M * Ye, 300);
|
|
return dt * (le * Math.sinh(We) + Le * Math.cosh(We));
|
|
};
|
|
}
|
|
const I = {
|
|
calculatedDuration: y && d || null,
|
|
velocity: (M) => /* @__PURE__ */ ut(w(M)),
|
|
next: (M) => {
|
|
if (!y && S < 1) {
|
|
const le = Math.exp(-S * p * M), Le = Math.sin(P * M), Ye = Math.cos(P * M), dt = s - le * (A * Le + k * Ye), We = /* @__PURE__ */ ut(le * (E * Le + z * Ye));
|
|
return a.done = Math.abs(We) <= r && Math.abs(s - dt) <= o, a.value = a.done ? s : dt, a;
|
|
}
|
|
const U = g(M);
|
|
if (y)
|
|
a.done = M >= d;
|
|
else {
|
|
const le = /* @__PURE__ */ ut(w(M));
|
|
a.done = Math.abs(le) <= r && Math.abs(s - U) <= o;
|
|
}
|
|
return a.value = a.done ? s : U, a;
|
|
},
|
|
toString: () => {
|
|
const M = Math.min(Zh(I), Pl), U = b1((le) => I.next(M * le).value, M, 30);
|
|
return M + "ms " + U;
|
|
},
|
|
toTransition: () => {
|
|
}
|
|
};
|
|
return I;
|
|
}
|
|
Al.applyToOptions = (e) => {
|
|
const t = h4(e, 100, Al);
|
|
return e.ease = t.ease, e.duration = /* @__PURE__ */ ut(t.duration), e.type = "keyframes", e;
|
|
};
|
|
const b4 = 5;
|
|
function x1(e, t, n) {
|
|
const r = Math.max(t - b4, 0);
|
|
return /* @__PURE__ */ e1(n - e(r), t - r);
|
|
}
|
|
function Jd({ keyframes: e, velocity: t = 0, power: n = 0.8, timeConstant: r = 325, bounceDamping: o = 10, bounceStiffness: i = 500, modifyTarget: s, min: a, max: l, restDelta: u = 0.5, restSpeed: c }) {
|
|
const d = e[0], f = {
|
|
done: !1,
|
|
value: d
|
|
}, y = (z) => a !== void 0 && z < a || l !== void 0 && z > l, v = (z) => a === void 0 ? l : l === void 0 || Math.abs(a - z) < Math.abs(l - z) ? a : l;
|
|
let S = n * t;
|
|
const k = d + S, p = s === void 0 ? k : s(k);
|
|
p !== k && (S = p - d);
|
|
const h = (z) => -S * Math.exp(-z / r), g = (z) => p + h(z), w = (z) => {
|
|
const I = h(z), M = g(z);
|
|
f.done = Math.abs(I) <= u, f.value = f.done ? p : M;
|
|
};
|
|
let P, A;
|
|
const E = (z) => {
|
|
y(f.value) && (P = z, A = Al({
|
|
keyframes: [f.value, v(f.value)],
|
|
velocity: x1(g, z, f.value),
|
|
// TODO: This should be passing * 1000
|
|
damping: o,
|
|
stiffness: i,
|
|
restDelta: u,
|
|
restSpeed: c
|
|
}));
|
|
};
|
|
return E(0), {
|
|
calculatedDuration: null,
|
|
next: (z) => {
|
|
let I = !1;
|
|
return !A && P === void 0 && (I = !0, w(z), E(z)), P !== void 0 && z >= P ? A.next(z - P) : (!I && w(z), f);
|
|
}
|
|
};
|
|
}
|
|
function x4(e, t, n) {
|
|
const r = [], o = n || er.mix || S1, i = e.length - 1;
|
|
for (let s = 0; s < i; s++) {
|
|
let a = o(e[s], e[s + 1]);
|
|
if (t) {
|
|
const l = Array.isArray(t) ? t[s] || Rt : t;
|
|
a = ks(l, a);
|
|
}
|
|
r.push(a);
|
|
}
|
|
return r;
|
|
}
|
|
function w4(e, t, { clamp: n = !0, ease: r, mixer: o } = {}) {
|
|
const i = e.length;
|
|
if (Lr(i === t.length, "Both input and output ranges must be the same length", "range-length"), i === 1)
|
|
return () => t[0];
|
|
if (i === 2 && t[0] === t[1])
|
|
return () => t[1];
|
|
const s = e[0] === e[1];
|
|
e[0] > e[i - 1] && (e = [...e].reverse(), t = [...t].reverse());
|
|
const a = x4(t, r, o), l = a.length, u = (c) => {
|
|
if (s && c < e[0])
|
|
return t[0];
|
|
let d = 0;
|
|
if (l > 1)
|
|
for (; d < e.length - 2 && !(c < e[d + 1]); d++)
|
|
;
|
|
const f = /* @__PURE__ */ us(e[d], e[d + 1], c);
|
|
return a[d](f);
|
|
};
|
|
return n ? (c) => u(fn(e[0], e[i - 1], c)) : u;
|
|
}
|
|
function k4(e, t) {
|
|
const n = e[e.length - 1];
|
|
for (let r = 1; r <= t; r++) {
|
|
const o = /* @__PURE__ */ us(0, t, r);
|
|
e.push(oe(n, 1, o));
|
|
}
|
|
}
|
|
function C4(e) {
|
|
const t = [0];
|
|
return k4(t, e.length - 1), t;
|
|
}
|
|
function T4(e, t) {
|
|
return e.map((n) => n * t);
|
|
}
|
|
function E4(e, t) {
|
|
return e.map(() => t || u1).splice(0, e.length - 1);
|
|
}
|
|
function Vi({ duration: e = 300, keyframes: t, times: n, ease: r = "easeInOut" }) {
|
|
const o = /* @__PURE__ */ B5(r) ? r.map(Cg) : Cg(r), i = {
|
|
done: !1,
|
|
value: t[0]
|
|
}, s = T4(
|
|
// Only use the provided offsets if they're the correct length
|
|
// TODO Maybe we should warn here if there's a length mismatch
|
|
n && n.length === t.length ? n : C4(t),
|
|
e
|
|
), a = w4(s, t, {
|
|
ease: Array.isArray(o) ? o : E4(t, o)
|
|
});
|
|
return {
|
|
calculatedDuration: e,
|
|
next: (l) => (i.value = a(l), i.done = l >= e, i)
|
|
};
|
|
}
|
|
const P4 = (e) => e !== null;
|
|
function gu(e, { repeat: t, repeatType: n = "loop" }, r, o = 1) {
|
|
const i = e.filter(P4), a = o < 0 || t && n !== "loop" && t % 2 === 1 ? 0 : i.length - 1;
|
|
return !a || r === void 0 ? i[a] : r;
|
|
}
|
|
const A4 = {
|
|
decay: Jd,
|
|
inertia: Jd,
|
|
tween: Vi,
|
|
keyframes: Vi,
|
|
spring: Al
|
|
};
|
|
function w1(e) {
|
|
typeof e.type == "string" && (e.type = A4[e.type]);
|
|
}
|
|
class Gh {
|
|
constructor() {
|
|
this.updateFinished();
|
|
}
|
|
get finished() {
|
|
return this._finished;
|
|
}
|
|
updateFinished() {
|
|
this._finished = new Promise((t) => {
|
|
this.resolve = t;
|
|
});
|
|
}
|
|
notifyFinished() {
|
|
this.resolve();
|
|
}
|
|
/**
|
|
* Allows the animation to be awaited.
|
|
*
|
|
* @deprecated Use `finished` instead.
|
|
*/
|
|
then(t, n) {
|
|
return this.finished.then(t, n);
|
|
}
|
|
}
|
|
const z4 = (e) => e / 100;
|
|
class zl extends Gh {
|
|
constructor(t) {
|
|
super(), this.state = "idle", this.startTime = null, this.isStopped = !1, this.currentTime = 0, this.holdTime = null, this.playbackSpeed = 1, this.delayState = {
|
|
done: !1,
|
|
value: void 0
|
|
}, this.stop = () => {
|
|
const { motionValue: n } = this.options;
|
|
n && n.updatedAt !== Qe.now() && this.tick(Qe.now()), this.isStopped = !0, this.state !== "idle" && (this.teardown(), this.options.onStop?.());
|
|
}, this.options = t, this.initAnimation(), this.play(), t.autoplay === !1 && this.pause();
|
|
}
|
|
initAnimation() {
|
|
const { options: t } = this;
|
|
w1(t);
|
|
const { type: n = Vi, repeat: r = 0, repeatDelay: o = 0, repeatType: i, velocity: s = 0 } = t;
|
|
let { keyframes: a } = t;
|
|
const l = n || Vi;
|
|
l !== Vi && typeof a[0] != "number" && (this.mixKeyframes = ks(z4, S1(a[0], a[1])), a = [0, 100]);
|
|
const u = l({ ...t, keyframes: a });
|
|
i === "mirror" && (this.mirroredGenerator = l({
|
|
...t,
|
|
keyframes: [...a].reverse(),
|
|
velocity: -s
|
|
})), u.calculatedDuration === null && (u.calculatedDuration = Zh(u));
|
|
const { calculatedDuration: c } = u;
|
|
this.calculatedDuration = c, this.resolvedDuration = c + o, this.totalDuration = this.resolvedDuration * (r + 1) - o, this.generator = u;
|
|
}
|
|
updateTime(t) {
|
|
const n = Math.round(t - this.startTime) * this.playbackSpeed;
|
|
this.holdTime !== null ? this.currentTime = this.holdTime : this.currentTime = n;
|
|
}
|
|
tick(t, n = !1) {
|
|
const { generator: r, totalDuration: o, mixKeyframes: i, mirroredGenerator: s, resolvedDuration: a, calculatedDuration: l } = this;
|
|
if (this.startTime === null)
|
|
return r.next(0);
|
|
const { delay: u = 0, keyframes: c, repeat: d, repeatType: f, repeatDelay: y, type: v, onUpdate: S, finalKeyframe: k } = this.options;
|
|
this.speed > 0 ? this.startTime = Math.min(this.startTime, t) : this.speed < 0 && (this.startTime = Math.min(t - o / this.speed, this.startTime)), n ? this.currentTime = t : this.updateTime(t);
|
|
const p = this.currentTime - u * (this.playbackSpeed >= 0 ? 1 : -1), h = this.playbackSpeed >= 0 ? p < 0 : p > o;
|
|
this.currentTime = Math.max(p, 0), this.state === "finished" && this.holdTime === null && (this.currentTime = o);
|
|
let g = this.currentTime, w = r;
|
|
if (d) {
|
|
const z = Math.min(this.currentTime, o) / a;
|
|
let I = Math.floor(z), M = z % 1;
|
|
!M && z >= 1 && (M = 1), M === 1 && I--, I = Math.min(I, d + 1), !!(I % 2) && (f === "reverse" ? (M = 1 - M, y && (M -= y / a)) : f === "mirror" && (w = s)), g = fn(0, 1, M) * a;
|
|
}
|
|
let P;
|
|
h ? (this.delayState.value = c[0], P = this.delayState) : P = w.next(g), i && !h && (P.value = i(P.value));
|
|
let { done: A } = P;
|
|
!h && l !== null && (A = this.playbackSpeed >= 0 ? this.currentTime >= o : this.currentTime <= 0);
|
|
const E = this.holdTime === null && (this.state === "finished" || this.state === "running" && A);
|
|
return E && v !== Jd && (P.value = gu(c, this.options, k, this.speed)), S && S(P.value), E && this.finish(), P;
|
|
}
|
|
/**
|
|
* Allows the returned animation to be awaited or promise-chained. Currently
|
|
* resolves when the animation finishes at all but in a future update could/should
|
|
* reject if its cancels.
|
|
*/
|
|
then(t, n) {
|
|
return this.finished.then(t, n);
|
|
}
|
|
get duration() {
|
|
return /* @__PURE__ */ zt(this.calculatedDuration);
|
|
}
|
|
get iterationDuration() {
|
|
const { delay: t = 0 } = this.options || {};
|
|
return this.duration + /* @__PURE__ */ zt(t);
|
|
}
|
|
get time() {
|
|
return /* @__PURE__ */ zt(this.currentTime);
|
|
}
|
|
set time(t) {
|
|
t = /* @__PURE__ */ ut(t), this.currentTime = t, this.startTime === null || this.holdTime !== null || this.playbackSpeed === 0 ? this.holdTime = t : this.driver && (this.startTime = this.driver.now() - t / this.playbackSpeed), this.driver ? this.driver.start(!1) : (this.startTime = 0, this.state = "paused", this.holdTime = t, this.tick(t));
|
|
}
|
|
/**
|
|
* Returns the generator's velocity at the current time in units/second.
|
|
* Uses the analytical derivative when available (springs), avoiding
|
|
* the MotionValue's frame-dependent velocity estimation.
|
|
*/
|
|
getGeneratorVelocity() {
|
|
const t = this.currentTime;
|
|
if (t <= 0)
|
|
return this.options.velocity || 0;
|
|
if (this.generator.velocity)
|
|
return this.generator.velocity(t);
|
|
const n = this.generator.next(t).value;
|
|
return x1((r) => this.generator.next(r).value, t, n);
|
|
}
|
|
get speed() {
|
|
return this.playbackSpeed;
|
|
}
|
|
set speed(t) {
|
|
const n = this.playbackSpeed !== t;
|
|
n && this.driver && this.updateTime(Qe.now()), this.playbackSpeed = t, n && this.driver && (this.time = /* @__PURE__ */ zt(this.currentTime));
|
|
}
|
|
play() {
|
|
if (this.isStopped)
|
|
return;
|
|
const { driver: t = f4, startTime: n } = this.options;
|
|
this.driver || (this.driver = t((o) => this.tick(o))), this.options.onPlay?.();
|
|
const r = this.driver.now();
|
|
this.state === "finished" ? (this.updateFinished(), this.startTime = r) : this.holdTime !== null ? this.startTime = r - this.holdTime : this.startTime || (this.startTime = n ?? r), this.state === "finished" && this.speed < 0 && (this.startTime += this.calculatedDuration), this.holdTime = null, this.state = "running", this.driver.start();
|
|
}
|
|
pause() {
|
|
this.state = "paused", this.updateTime(Qe.now()), this.holdTime = this.currentTime;
|
|
}
|
|
complete() {
|
|
this.state !== "running" && this.play(), this.state = "finished", this.holdTime = null;
|
|
}
|
|
finish() {
|
|
this.notifyFinished(), this.teardown(), this.state = "finished", this.options.onComplete?.();
|
|
}
|
|
cancel() {
|
|
this.holdTime = null, this.startTime = 0, this.tick(0), this.teardown(), this.options.onCancel?.();
|
|
}
|
|
teardown() {
|
|
this.state = "idle", this.stopDriver(), this.startTime = this.holdTime = null;
|
|
}
|
|
stopDriver() {
|
|
this.driver && (this.driver.stop(), this.driver = void 0);
|
|
}
|
|
sample(t) {
|
|
return this.startTime = 0, this.tick(t, !0);
|
|
}
|
|
attachTimeline(t) {
|
|
return this.options.allowFlatten && (this.options.type = "keyframes", this.options.ease = "linear", this.initAnimation()), this.driver?.stop(), t.observe(this);
|
|
}
|
|
}
|
|
function M4(e) {
|
|
for (let t = 1; t < e.length; t++)
|
|
e[t] ?? (e[t] = e[t - 1]);
|
|
}
|
|
const br = (e) => e * 180 / Math.PI, _d = (e) => {
|
|
const t = br(Math.atan2(e[1], e[0]));
|
|
return $d(t);
|
|
}, R4 = {
|
|
x: 4,
|
|
y: 5,
|
|
translateX: 4,
|
|
translateY: 5,
|
|
scaleX: 0,
|
|
scaleY: 3,
|
|
scale: (e) => (Math.abs(e[0]) + Math.abs(e[3])) / 2,
|
|
rotate: _d,
|
|
rotateZ: _d,
|
|
skewX: (e) => br(Math.atan(e[1])),
|
|
skewY: (e) => br(Math.atan(e[2])),
|
|
skew: (e) => (Math.abs(e[1]) + Math.abs(e[2])) / 2
|
|
}, $d = (e) => (e = e % 360, e < 0 && (e += 360), e), Rg = _d, Dg = (e) => Math.sqrt(e[0] * e[0] + e[1] * e[1]), Fg = (e) => Math.sqrt(e[4] * e[4] + e[5] * e[5]), D4 = {
|
|
x: 12,
|
|
y: 13,
|
|
z: 14,
|
|
translateX: 12,
|
|
translateY: 13,
|
|
translateZ: 14,
|
|
scaleX: Dg,
|
|
scaleY: Fg,
|
|
scale: (e) => (Dg(e) + Fg(e)) / 2,
|
|
rotateX: (e) => $d(br(Math.atan2(e[6], e[5]))),
|
|
rotateY: (e) => $d(br(Math.atan2(-e[2], e[0]))),
|
|
rotateZ: Rg,
|
|
rotate: Rg,
|
|
skewX: (e) => br(Math.atan(e[4])),
|
|
skewY: (e) => br(Math.atan(e[1])),
|
|
skew: (e) => (Math.abs(e[1]) + Math.abs(e[4])) / 2
|
|
};
|
|
function ef(e) {
|
|
return e.includes("scale") ? 1 : 0;
|
|
}
|
|
function tf(e, t) {
|
|
if (!e || e === "none")
|
|
return ef(t);
|
|
const n = e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);
|
|
let r, o;
|
|
if (n)
|
|
r = D4, o = n;
|
|
else {
|
|
const a = e.match(/^matrix\(([-\d.e\s,]+)\)$/u);
|
|
r = R4, o = a;
|
|
}
|
|
if (!o)
|
|
return ef(t);
|
|
const i = r[t], s = o[1].split(",").map(L4);
|
|
return typeof i == "function" ? i(s) : s[i];
|
|
}
|
|
const F4 = (e, t) => {
|
|
const { transform: n = "none" } = getComputedStyle(e);
|
|
return tf(n, t);
|
|
};
|
|
function L4(e) {
|
|
return parseFloat(e.trim());
|
|
}
|
|
const Ho = [
|
|
"transformPerspective",
|
|
"x",
|
|
"y",
|
|
"z",
|
|
"translateX",
|
|
"translateY",
|
|
"translateZ",
|
|
"scale",
|
|
"scaleX",
|
|
"scaleY",
|
|
"rotate",
|
|
"rotateX",
|
|
"rotateY",
|
|
"rotateZ",
|
|
"skew",
|
|
"skewX",
|
|
"skewY"
|
|
], Ko = /* @__PURE__ */ new Set([...Ho, "pathRotation"]), Lg = (e) => e === Uo || e === B, B4 = /* @__PURE__ */ new Set(["x", "y", "z"]), V4 = Ho.filter((e) => !B4.has(e));
|
|
function I4(e) {
|
|
const t = [];
|
|
return V4.forEach((n) => {
|
|
const r = e.getValue(n);
|
|
r !== void 0 && (t.push([n, r.get()]), r.set(n.startsWith("scale") ? 1 : 0));
|
|
}), t;
|
|
}
|
|
const Hn = {
|
|
// Dimensions
|
|
width: ({ x: e }, { paddingLeft: t = "0", paddingRight: n = "0", boxSizing: r }) => {
|
|
const o = e.max - e.min;
|
|
return r === "border-box" ? o : o - parseFloat(t) - parseFloat(n);
|
|
},
|
|
height: ({ y: e }, { paddingTop: t = "0", paddingBottom: n = "0", boxSizing: r }) => {
|
|
const o = e.max - e.min;
|
|
return r === "border-box" ? o : o - parseFloat(t) - parseFloat(n);
|
|
},
|
|
top: (e, { top: t }) => parseFloat(t),
|
|
left: (e, { left: t }) => parseFloat(t),
|
|
bottom: ({ y: e }, { top: t }) => parseFloat(t) + (e.max - e.min),
|
|
right: ({ x: e }, { left: t }) => parseFloat(t) + (e.max - e.min),
|
|
// Transform
|
|
x: (e, { transform: t }) => tf(t, "x"),
|
|
y: (e, { transform: t }) => tf(t, "y")
|
|
};
|
|
Hn.translateX = Hn.x;
|
|
Hn.translateY = Hn.y;
|
|
const Er = /* @__PURE__ */ new Set();
|
|
let nf = !1, rf = !1, of = !1;
|
|
function k1() {
|
|
if (rf) {
|
|
const e = Array.from(Er).filter((r) => r.needsMeasurement), t = new Set(e.map((r) => r.element)), n = /* @__PURE__ */ new Map();
|
|
t.forEach((r) => {
|
|
const o = I4(r);
|
|
o.length && (n.set(r, o), r.render());
|
|
}), e.forEach((r) => r.measureInitialState()), t.forEach((r) => {
|
|
r.render();
|
|
const o = n.get(r);
|
|
o && o.forEach(([i, s]) => {
|
|
r.getValue(i)?.set(s);
|
|
});
|
|
}), e.forEach((r) => r.measureEndState()), e.forEach((r) => {
|
|
r.suspendedScrollY !== void 0 && window.scrollTo(0, r.suspendedScrollY);
|
|
});
|
|
}
|
|
rf = !1, nf = !1, Er.forEach((e) => e.complete(of)), Er.clear();
|
|
}
|
|
function C1() {
|
|
Er.forEach((e) => {
|
|
e.readKeyframes(), e.needsMeasurement && (rf = !0);
|
|
});
|
|
}
|
|
function O4() {
|
|
of = !0, C1(), k1(), of = !1;
|
|
}
|
|
class Qh {
|
|
constructor(t, n, r, o, i, s = !1) {
|
|
this.state = "pending", this.isAsync = !1, this.needsMeasurement = !1, this.unresolvedKeyframes = [...t], this.onComplete = n, this.name = r, this.motionValue = o, this.element = i, this.isAsync = s;
|
|
}
|
|
scheduleResolve() {
|
|
this.state = "scheduled", this.isAsync ? (Er.add(this), nf || (nf = !0, ie.read(C1), ie.resolveKeyframes(k1))) : (this.readKeyframes(), this.complete());
|
|
}
|
|
readKeyframes() {
|
|
const { unresolvedKeyframes: t, name: n, element: r, motionValue: o } = this;
|
|
if (t[0] === null) {
|
|
const i = o?.get(), s = t[t.length - 1];
|
|
if (i !== void 0)
|
|
t[0] = i;
|
|
else if (r && n) {
|
|
const a = r.readValue(n, s);
|
|
a != null && (t[0] = a);
|
|
}
|
|
t[0] === void 0 && (t[0] = s), o && i === void 0 && o.set(t[0]);
|
|
}
|
|
M4(t);
|
|
}
|
|
setFinalKeyframe() {
|
|
}
|
|
measureInitialState() {
|
|
}
|
|
renderEndStyles() {
|
|
}
|
|
measureEndState() {
|
|
}
|
|
complete(t = !1) {
|
|
this.state = "complete", this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, t), Er.delete(this);
|
|
}
|
|
cancel() {
|
|
this.state === "scheduled" && (Er.delete(this), this.state = "pending");
|
|
}
|
|
resume() {
|
|
this.state === "pending" && this.scheduleResolve();
|
|
}
|
|
}
|
|
const N4 = (e) => e.startsWith("--");
|
|
function T1(e, t, n) {
|
|
N4(t) ? e.style.setProperty(t, n) : e.style[t] = n;
|
|
}
|
|
const j4 = {};
|
|
function E1(e, t) {
|
|
const n = /* @__PURE__ */ $S(e);
|
|
return () => j4[t] ?? n();
|
|
}
|
|
const W4 = /* @__PURE__ */ E1(() => window.ScrollTimeline !== void 0, "scrollTimeline"), P1 = /* @__PURE__ */ E1(() => {
|
|
try {
|
|
document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
|
|
} catch {
|
|
return !1;
|
|
}
|
|
return !0;
|
|
}, "linearEasing"), vi = ([e, t, n, r]) => `cubic-bezier(${e}, ${t}, ${n}, ${r})`, Bg = {
|
|
linear: "linear",
|
|
ease: "ease",
|
|
easeIn: "ease-in",
|
|
easeOut: "ease-out",
|
|
easeInOut: "ease-in-out",
|
|
circIn: /* @__PURE__ */ vi([0, 0.65, 0.55, 1]),
|
|
circOut: /* @__PURE__ */ vi([0.55, 0, 1, 0.45]),
|
|
backIn: /* @__PURE__ */ vi([0.31, 0.01, 0.66, -0.59]),
|
|
backOut: /* @__PURE__ */ vi([0.33, 1.53, 0.69, 0.99])
|
|
};
|
|
function A1(e, t) {
|
|
if (e)
|
|
return typeof e == "function" ? P1() ? b1(e, t) : "ease-out" : /* @__PURE__ */ c1(e) ? vi(e) : Array.isArray(e) ? e.map((n) => A1(n, t) || Bg.easeOut) : Bg[e];
|
|
}
|
|
function U4(e, t, n, { delay: r = 0, duration: o = 300, repeat: i = 0, repeatType: s = "loop", ease: a = "easeOut", times: l } = {}, u = void 0) {
|
|
const c = {
|
|
[t]: n
|
|
};
|
|
l && (c.offset = l);
|
|
const d = A1(a, o);
|
|
Array.isArray(d) && (c.easing = d);
|
|
const f = {
|
|
delay: r,
|
|
duration: o,
|
|
easing: Array.isArray(d) ? "linear" : d,
|
|
fill: "both",
|
|
iterations: i + 1,
|
|
direction: s === "reverse" ? "alternate" : "normal"
|
|
};
|
|
return u && (f.pseudoElement = u), e.animate(c, f);
|
|
}
|
|
function z1(e) {
|
|
return typeof e == "function" && "applyToOptions" in e;
|
|
}
|
|
function H4({ type: e, ...t }) {
|
|
return z1(e) && P1() ? e.applyToOptions(t) : (t.duration ?? (t.duration = 300), t.ease ?? (t.ease = "easeOut"), t);
|
|
}
|
|
class M1 extends Gh {
|
|
constructor(t) {
|
|
if (super(), this.finishedTime = null, this.isStopped = !1, this.manualStartTime = null, !t)
|
|
return;
|
|
const { element: n, name: r, keyframes: o, pseudoElement: i, allowFlatten: s = !1, finalKeyframe: a, onComplete: l } = t;
|
|
this.isPseudoElement = !!i, this.allowFlatten = s, this.options = t, Lr(typeof t.type != "string", `Mini animate() doesn't support "type" as a string.`, "mini-spring");
|
|
const u = H4(t);
|
|
this.animation = U4(n, r, o, u, i), u.autoplay === !1 && this.animation.pause(), this.animation.onfinish = () => {
|
|
if (this.finishedTime = this.time, !i) {
|
|
const c = gu(o, this.options, a, this.speed);
|
|
this.updateMotionValue && this.updateMotionValue(c), T1(n, r, c), this.animation.cancel();
|
|
}
|
|
l?.(), this.notifyFinished();
|
|
};
|
|
}
|
|
play() {
|
|
this.isStopped || (this.manualStartTime = null, this.animation.play(), this.state === "finished" && this.updateFinished());
|
|
}
|
|
pause() {
|
|
this.animation.pause();
|
|
}
|
|
complete() {
|
|
this.animation.finish?.();
|
|
}
|
|
cancel() {
|
|
try {
|
|
this.animation.cancel();
|
|
} catch {
|
|
}
|
|
}
|
|
stop() {
|
|
if (this.isStopped)
|
|
return;
|
|
this.isStopped = !0;
|
|
const { state: t } = this;
|
|
t === "idle" || t === "finished" || (this.updateMotionValue ? this.updateMotionValue() : this.commitStyles(), this.isPseudoElement || this.cancel());
|
|
}
|
|
/**
|
|
* WAAPI doesn't natively have any interruption capabilities.
|
|
*
|
|
* In this method, we commit styles back to the DOM before cancelling
|
|
* the animation.
|
|
*
|
|
* This is designed to be overridden by NativeAnimationExtended, which
|
|
* will create a renderless JS animation and sample it twice to calculate
|
|
* its current value, "previous" value, and therefore allow
|
|
* Motion to also correctly calculate velocity for any subsequent animation
|
|
* while deferring the commit until the next animation frame.
|
|
*/
|
|
commitStyles() {
|
|
const t = this.options?.element;
|
|
!this.isPseudoElement && t?.isConnected && this.animation.commitStyles?.();
|
|
}
|
|
get duration() {
|
|
const t = this.animation.effect?.getComputedTiming?.().duration || 0;
|
|
return /* @__PURE__ */ zt(Number(t));
|
|
}
|
|
get iterationDuration() {
|
|
const { delay: t = 0 } = this.options || {};
|
|
return this.duration + /* @__PURE__ */ zt(t);
|
|
}
|
|
get time() {
|
|
return /* @__PURE__ */ zt(Number(this.animation.currentTime) || 0);
|
|
}
|
|
set time(t) {
|
|
const n = this.finishedTime !== null;
|
|
this.manualStartTime = null, this.finishedTime = null, this.animation.currentTime = /* @__PURE__ */ ut(t), n && this.animation.pause();
|
|
}
|
|
/**
|
|
* The playback speed of the animation.
|
|
* 1 = normal speed, 2 = double speed, 0.5 = half speed.
|
|
*/
|
|
get speed() {
|
|
return this.animation.playbackRate;
|
|
}
|
|
set speed(t) {
|
|
t < 0 && (this.finishedTime = null), this.animation.playbackRate = t;
|
|
}
|
|
get state() {
|
|
return this.finishedTime !== null ? "finished" : this.animation.playState;
|
|
}
|
|
get startTime() {
|
|
return this.manualStartTime ?? Number(this.animation.startTime);
|
|
}
|
|
set startTime(t) {
|
|
this.manualStartTime = this.animation.startTime = t;
|
|
}
|
|
/**
|
|
* Attaches a timeline to the animation, for instance the `ScrollTimeline`.
|
|
*/
|
|
attachTimeline({ timeline: t, rangeStart: n, rangeEnd: r, observe: o }) {
|
|
return this.allowFlatten && this.animation.effect?.updateTiming({ easing: "linear" }), this.animation.onfinish = null, t && W4() ? (this.animation.timeline = t, n && (this.animation.rangeStart = n), r && (this.animation.rangeEnd = r), Rt) : o(this);
|
|
}
|
|
}
|
|
const R1 = {
|
|
anticipate: s1,
|
|
backInOut: i1,
|
|
circInOut: l1
|
|
};
|
|
function K4(e) {
|
|
return e in R1;
|
|
}
|
|
function X4(e) {
|
|
typeof e.ease == "string" && K4(e.ease) && (e.ease = R1[e.ease]);
|
|
}
|
|
const zc = 10;
|
|
class q4 extends M1 {
|
|
constructor(t) {
|
|
X4(t), w1(t), super(t), t.startTime !== void 0 && t.autoplay !== !1 && (this.startTime = t.startTime), this.options = t;
|
|
}
|
|
/**
|
|
* WAAPI doesn't natively have any interruption capabilities.
|
|
*
|
|
* Rather than read committed styles back out of the DOM, we can
|
|
* create a renderless JS animation and sample it twice to calculate
|
|
* its current value, "previous" value, and therefore allow
|
|
* Motion to calculate velocity for any subsequent animation.
|
|
*/
|
|
updateMotionValue(t) {
|
|
const { motionValue: n, onUpdate: r, onComplete: o, element: i, ...s } = this.options;
|
|
if (!n)
|
|
return;
|
|
if (t !== void 0) {
|
|
n.set(t);
|
|
return;
|
|
}
|
|
const a = new zl({
|
|
...s,
|
|
autoplay: !1
|
|
}), l = Math.max(zc, Qe.now() - this.startTime), u = fn(0, zc, l - zc), c = a.sample(l).value, { name: d } = this.options;
|
|
i && d && T1(i, d, c), n.setWithVelocity(a.sample(Math.max(0, l - u)).value, c, u), a.stop();
|
|
}
|
|
}
|
|
const Vg = (e, t) => t === "zIndex" ? !1 : !!(typeof e == "number" || Array.isArray(e) || typeof e == "string" && // It's animatable if we have a string
|
|
(qt.test(e) || e === "0") && // And it contains numbers and/or colors
|
|
!e.startsWith("url("));
|
|
function Y4(e) {
|
|
const t = e[0];
|
|
if (e.length === 1)
|
|
return !0;
|
|
for (let n = 0; n < e.length; n++)
|
|
if (e[n] !== t)
|
|
return !0;
|
|
}
|
|
function Z4(e, t, n, r) {
|
|
const o = e[0];
|
|
if (o === null)
|
|
return !1;
|
|
if (t === "display" || t === "visibility")
|
|
return !0;
|
|
const i = e[e.length - 1], s = Vg(o, t), a = Vg(i, t);
|
|
return ws(s === a, `You are trying to animate ${t} from "${o}" to "${i}". "${s ? i : o}" is not an animatable value.`, "value-not-animatable"), !s || !a ? !1 : Y4(e) || (n === "spring" || z1(n)) && r;
|
|
}
|
|
function sf(e) {
|
|
e.duration = 0, e.type = "keyframes";
|
|
}
|
|
const D1 = /* @__PURE__ */ new Set([
|
|
"opacity",
|
|
"clipPath",
|
|
"filter",
|
|
"transform"
|
|
// TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
|
|
// or until we implement support for linear() easing.
|
|
// "background-color"
|
|
]), G4 = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
|
|
function Q4(e) {
|
|
for (let t = 0; t < e.length; t++)
|
|
if (typeof e[t] == "string" && G4.test(e[t]))
|
|
return !0;
|
|
return !1;
|
|
}
|
|
const J4 = /* @__PURE__ */ new Set([
|
|
"color",
|
|
"backgroundColor",
|
|
"outlineColor",
|
|
"fill",
|
|
"stroke",
|
|
"borderColor",
|
|
"borderTopColor",
|
|
"borderRightColor",
|
|
"borderBottomColor",
|
|
"borderLeftColor"
|
|
]), _4 = /* @__PURE__ */ $S(() => Object.hasOwnProperty.call(Element.prototype, "animate"));
|
|
function $4(e) {
|
|
const { motionValue: t, name: n, repeatDelay: r, repeatType: o, damping: i, type: s, keyframes: a } = e;
|
|
if (!(t?.owner?.current instanceof HTMLElement))
|
|
return !1;
|
|
const { onUpdate: u, transformTemplate: c } = t.owner.getProps();
|
|
return _4() && n && /**
|
|
* Force WAAPI for color properties with browser-only color formats
|
|
* (oklch, oklab, lab, lch, etc.) that the JS animation path can't parse.
|
|
*/
|
|
(D1.has(n) || J4.has(n) && Q4(a)) && (n !== "transform" || !c) && /**
|
|
* If we're outputting values to onUpdate then we can't use WAAPI as there's
|
|
* no way to read the value from WAAPI every frame.
|
|
*/
|
|
!u && !r && o !== "mirror" && i !== 0 && s !== "inertia";
|
|
}
|
|
const e3 = 40;
|
|
class t3 extends Gh {
|
|
constructor({ autoplay: t = !0, delay: n = 0, type: r = "keyframes", repeat: o = 0, repeatDelay: i = 0, repeatType: s = "loop", keyframes: a, name: l, motionValue: u, element: c, ...d }) {
|
|
super(), this.stop = () => {
|
|
this._animation && (this._animation.stop(), this.stopTimeline?.()), this.keyframeResolver?.cancel();
|
|
}, this.createdAt = Qe.now();
|
|
const f = {
|
|
autoplay: t,
|
|
delay: n,
|
|
type: r,
|
|
repeat: o,
|
|
repeatDelay: i,
|
|
repeatType: s,
|
|
name: l,
|
|
motionValue: u,
|
|
element: c,
|
|
...d
|
|
}, y = c?.KeyframeResolver || Qh;
|
|
this.keyframeResolver = new y(a, (v, S, k) => this.onKeyframesResolved(v, S, f, !k), l, u, c), this.keyframeResolver?.scheduleResolve();
|
|
}
|
|
onKeyframesResolved(t, n, r, o) {
|
|
this.keyframeResolver = void 0;
|
|
const { name: i, type: s, velocity: a, delay: l, isHandoff: u, onUpdate: c } = r;
|
|
this.resolvedAt = Qe.now();
|
|
let d = !0;
|
|
Z4(t, i, s, a) || (d = !1, (er.instantAnimations || !l) && c?.(gu(t, r, n)), t[0] = t[t.length - 1], sf(r), r.repeat = 0);
|
|
const y = {
|
|
startTime: o ? this.resolvedAt ? this.resolvedAt - this.createdAt > e3 ? this.resolvedAt : this.createdAt : this.createdAt : void 0,
|
|
finalKeyframe: n,
|
|
...r,
|
|
keyframes: t
|
|
}, v = d && !u && $4(y), S = y.motionValue?.owner?.current;
|
|
let k;
|
|
if (v)
|
|
try {
|
|
k = new q4({
|
|
...y,
|
|
element: S
|
|
});
|
|
} catch {
|
|
k = new zl(y);
|
|
}
|
|
else
|
|
k = new zl(y);
|
|
k.finished.then(() => {
|
|
this.notifyFinished();
|
|
}).catch(Rt), this.pendingTimeline && (this.stopTimeline = k.attachTimeline(this.pendingTimeline), this.pendingTimeline = void 0), this._animation = k;
|
|
}
|
|
get finished() {
|
|
return this._animation ? this.animation.finished : this._finished;
|
|
}
|
|
then(t, n) {
|
|
return this.finished.finally(t).then(() => {
|
|
});
|
|
}
|
|
get animation() {
|
|
return this._animation || (this.keyframeResolver?.resume(), O4()), this._animation;
|
|
}
|
|
get duration() {
|
|
return this.animation.duration;
|
|
}
|
|
get iterationDuration() {
|
|
return this.animation.iterationDuration;
|
|
}
|
|
get time() {
|
|
return this.animation.time;
|
|
}
|
|
set time(t) {
|
|
this.animation.time = t;
|
|
}
|
|
get speed() {
|
|
return this.animation.speed;
|
|
}
|
|
get state() {
|
|
return this.animation.state;
|
|
}
|
|
set speed(t) {
|
|
this.animation.speed = t;
|
|
}
|
|
get startTime() {
|
|
return this.animation.startTime;
|
|
}
|
|
attachTimeline(t) {
|
|
return this._animation ? this.stopTimeline = this.animation.attachTimeline(t) : this.pendingTimeline = t, () => this.stop();
|
|
}
|
|
play() {
|
|
this.animation.play();
|
|
}
|
|
pause() {
|
|
this.animation.pause();
|
|
}
|
|
complete() {
|
|
this.animation.complete();
|
|
}
|
|
cancel() {
|
|
this._animation && this.animation.cancel(), this.keyframeResolver?.cancel();
|
|
}
|
|
}
|
|
function F1(e, t, n, r = 0, o = 1) {
|
|
const i = Array.from(e).sort((u, c) => u.sortNodePosition(c)).indexOf(t), s = e.size, a = (s - 1) * r;
|
|
return typeof n == "function" ? n(i, s) : o === 1 ? i * r : a - i * r;
|
|
}
|
|
const Ig = 30, n3 = (e) => !isNaN(parseFloat(e));
|
|
class r3 {
|
|
/**
|
|
* @param init - The initiating value
|
|
* @param config - Optional configuration options
|
|
*
|
|
* - `transformer`: A function to transform incoming values with.
|
|
*/
|
|
constructor(t, n = {}) {
|
|
this.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (r) => {
|
|
const o = Qe.now();
|
|
if (this.updatedAt !== o && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(r), this.current !== this.prev && (this.events.change?.notify(this.current), this.dependents))
|
|
for (const i of this.dependents)
|
|
i.dirty();
|
|
}, this.hasAnimated = !1, this.setCurrent(t), this.owner = n.owner;
|
|
}
|
|
setCurrent(t) {
|
|
this.current = t, this.updatedAt = Qe.now(), this.canTrackVelocity === null && t !== void 0 && (this.canTrackVelocity = n3(this.current));
|
|
}
|
|
setPrevFrameValue(t = this.current) {
|
|
this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt;
|
|
}
|
|
/**
|
|
* Adds a function that will be notified when the `MotionValue` is updated.
|
|
*
|
|
* It returns a function that, when called, will cancel the subscription.
|
|
*
|
|
* When calling `onChange` inside a React component, it should be wrapped with the
|
|
* `useEffect` hook. As it returns an unsubscribe function, this should be returned
|
|
* from the `useEffect` function to ensure you don't add duplicate subscribers..
|
|
*
|
|
* ```jsx
|
|
* export const MyComponent = () => {
|
|
* const x = useMotionValue(0)
|
|
* const y = useMotionValue(0)
|
|
* const opacity = useMotionValue(1)
|
|
*
|
|
* useEffect(() => {
|
|
* function updateOpacity() {
|
|
* const maxXY = Math.max(x.get(), y.get())
|
|
* const newOpacity = transform(maxXY, [0, 100], [1, 0])
|
|
* opacity.set(newOpacity)
|
|
* }
|
|
*
|
|
* const unsubscribeX = x.on("change", updateOpacity)
|
|
* const unsubscribeY = y.on("change", updateOpacity)
|
|
*
|
|
* return () => {
|
|
* unsubscribeX()
|
|
* unsubscribeY()
|
|
* }
|
|
* }, [])
|
|
*
|
|
* return <motion.div style={{ x }} />
|
|
* }
|
|
* ```
|
|
*
|
|
* @param subscriber - A function that receives the latest value.
|
|
* @returns A function that, when called, will cancel this subscription.
|
|
*
|
|
* @deprecated
|
|
*/
|
|
onChange(t) {
|
|
return this.on("change", t);
|
|
}
|
|
on(t, n) {
|
|
this.events[t] || (this.events[t] = new Wh());
|
|
const r = this.events[t].add(n);
|
|
return t === "change" ? () => {
|
|
r(), ie.read(() => {
|
|
this.events.change.getSize() || this.stop();
|
|
});
|
|
} : r;
|
|
}
|
|
clearListeners() {
|
|
for (const t in this.events)
|
|
this.events[t].clear();
|
|
}
|
|
/**
|
|
* Attaches a passive effect to the `MotionValue`.
|
|
*/
|
|
attach(t, n) {
|
|
this.passiveEffect = t, this.stopPassiveEffect = n;
|
|
}
|
|
/**
|
|
* Sets the state of the `MotionValue`.
|
|
*
|
|
* @remarks
|
|
*
|
|
* ```jsx
|
|
* const x = useMotionValue(0)
|
|
* x.set(10)
|
|
* ```
|
|
*
|
|
* @param latest - Latest value to set.
|
|
* @param render - Whether to notify render subscribers. Defaults to `true`
|
|
*
|
|
* @public
|
|
*/
|
|
set(t) {
|
|
this.passiveEffect ? this.passiveEffect(t, this.updateAndNotify) : this.updateAndNotify(t);
|
|
}
|
|
setWithVelocity(t, n, r) {
|
|
this.set(n), this.prev = void 0, this.prevFrameValue = t, this.prevUpdatedAt = this.updatedAt - r;
|
|
}
|
|
/**
|
|
* Set the state of the `MotionValue`, stopping any active animations,
|
|
* effects, and resets velocity to `0`.
|
|
*/
|
|
jump(t, n = !0) {
|
|
this.updateAndNotify(t), this.prev = t, this.prevUpdatedAt = this.prevFrameValue = void 0, n && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
|
|
}
|
|
dirty() {
|
|
this.events.change?.notify(this.current);
|
|
}
|
|
addDependent(t) {
|
|
this.dependents || (this.dependents = /* @__PURE__ */ new Set()), this.dependents.add(t);
|
|
}
|
|
removeDependent(t) {
|
|
this.dependents && this.dependents.delete(t);
|
|
}
|
|
/**
|
|
* Returns the latest state of `MotionValue`
|
|
*
|
|
* @returns - The latest state of `MotionValue`
|
|
*
|
|
* @public
|
|
*/
|
|
get() {
|
|
return this.current;
|
|
}
|
|
/**
|
|
* @public
|
|
*/
|
|
getPrevious() {
|
|
return this.prev;
|
|
}
|
|
/**
|
|
* Returns the latest velocity of `MotionValue`
|
|
*
|
|
* @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.
|
|
*
|
|
* @public
|
|
*/
|
|
getVelocity() {
|
|
const t = Qe.now();
|
|
if (!this.canTrackVelocity || this.prevFrameValue === void 0 || t - this.updatedAt > Ig)
|
|
return 0;
|
|
const n = Math.min(this.updatedAt - this.prevUpdatedAt, Ig);
|
|
return /* @__PURE__ */ e1(parseFloat(this.current) - parseFloat(this.prevFrameValue), n);
|
|
}
|
|
/**
|
|
* Registers a new animation to control this `MotionValue`. Only one
|
|
* animation can drive a `MotionValue` at one time.
|
|
*
|
|
* ```jsx
|
|
* value.start()
|
|
* ```
|
|
*
|
|
* @param animation - A function that starts the provided animation
|
|
*/
|
|
start(t) {
|
|
return this.stop(), new Promise((n) => {
|
|
this.hasAnimated = !0, this.animation = t(n), this.events.animationStart && this.events.animationStart.notify();
|
|
}).then(() => {
|
|
this.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation();
|
|
});
|
|
}
|
|
/**
|
|
* Stop the currently active animation.
|
|
*
|
|
* @public
|
|
*/
|
|
stop() {
|
|
this.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation();
|
|
}
|
|
/**
|
|
* Returns `true` if this value is currently animating.
|
|
*
|
|
* @public
|
|
*/
|
|
isAnimating() {
|
|
return !!this.animation;
|
|
}
|
|
clearAnimation() {
|
|
delete this.animation;
|
|
}
|
|
/**
|
|
* Destroy and clean up subscribers to this `MotionValue`.
|
|
*
|
|
* The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
|
|
* handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
|
|
* created a `MotionValue` via the `motionValue` function.
|
|
*
|
|
* @public
|
|
*/
|
|
destroy() {
|
|
this.dependents?.clear(), this.events.destroy?.notify(), this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();
|
|
}
|
|
}
|
|
function Vo(e, t) {
|
|
return new r3(e, t);
|
|
}
|
|
function L1(e, t) {
|
|
if (e?.inherit && t) {
|
|
const { inherit: n, ...r } = e;
|
|
return { ...t, ...r };
|
|
}
|
|
return e;
|
|
}
|
|
function Jh(e, t) {
|
|
const n = e?.[t] ?? e?.default ?? e;
|
|
return n !== e ? L1(n, e) : n;
|
|
}
|
|
const o3 = {
|
|
type: "spring",
|
|
stiffness: 500,
|
|
damping: 25,
|
|
restSpeed: 10
|
|
}, i3 = (e) => ({
|
|
type: "spring",
|
|
stiffness: 550,
|
|
damping: e === 0 ? 2 * Math.sqrt(550) : 30,
|
|
restSpeed: 10
|
|
}), s3 = {
|
|
type: "keyframes",
|
|
duration: 0.8
|
|
}, a3 = {
|
|
type: "keyframes",
|
|
ease: [0.25, 0.1, 0.35, 1],
|
|
duration: 0.3
|
|
}, l3 = (e, { keyframes: t }) => t.length > 2 ? s3 : Ko.has(e) ? e.startsWith("scale") ? i3(t[1]) : o3 : a3, u3 = /* @__PURE__ */ new Set([
|
|
"when",
|
|
"delay",
|
|
"delayChildren",
|
|
"staggerChildren",
|
|
"staggerDirection",
|
|
"repeat",
|
|
"repeatType",
|
|
"repeatDelay",
|
|
"from",
|
|
"elapsed"
|
|
]);
|
|
function c3(e) {
|
|
for (const t in e)
|
|
if (!u3.has(t))
|
|
return !0;
|
|
return !1;
|
|
}
|
|
const _h = (e, t, n, r = {}, o, i) => (s) => {
|
|
const a = Jh(r, e) || {}, l = a.delay || r.delay || 0;
|
|
let { elapsed: u = 0 } = r;
|
|
u = u - /* @__PURE__ */ ut(l);
|
|
const c = {
|
|
keyframes: Array.isArray(n) ? n : [null, n],
|
|
ease: "easeOut",
|
|
velocity: t.getVelocity(),
|
|
...a,
|
|
delay: -u,
|
|
onUpdate: (f) => {
|
|
t.set(f), a.onUpdate && a.onUpdate(f);
|
|
},
|
|
onComplete: () => {
|
|
s(), a.onComplete && a.onComplete();
|
|
},
|
|
name: e,
|
|
motionValue: t,
|
|
element: i ? void 0 : o
|
|
};
|
|
c3(a) || Object.assign(c, l3(e, c)), c.duration && (c.duration = /* @__PURE__ */ ut(c.duration)), c.repeatDelay && (c.repeatDelay = /* @__PURE__ */ ut(c.repeatDelay)), c.from !== void 0 && (c.keyframes[0] = c.from);
|
|
let d = !1;
|
|
if ((c.type === !1 || c.duration === 0 && !c.repeatDelay) && (sf(c), c.delay === 0 && (d = !0)), (er.instantAnimations || er.skipAnimations || o?.shouldSkipAnimations || a.skipAnimations) && (d = !0, sf(c), c.delay = 0), c.allowFlatten = !a.type && !a.ease, d && !i && t.get() !== void 0) {
|
|
const f = gu(c.keyframes, a);
|
|
if (f !== void 0) {
|
|
ie.update(() => {
|
|
c.onUpdate(f), c.onComplete();
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
return a.isSync ? new zl(c) : new t3(c);
|
|
}, d3 = (
|
|
// eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
|
|
/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
|
|
);
|
|
function f3(e) {
|
|
const t = d3.exec(e);
|
|
if (!t)
|
|
return [,];
|
|
const [, n, r, o] = t;
|
|
return [`--${n ?? r}`, o];
|
|
}
|
|
const h3 = 4;
|
|
function B1(e, t, n = 1) {
|
|
Lr(n <= h3, `Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
|
|
const [r, o] = f3(e);
|
|
if (!r)
|
|
return;
|
|
const i = window.getComputedStyle(t).getPropertyValue(r);
|
|
if (i) {
|
|
const s = i.trim();
|
|
return QS(s) ? parseFloat(s) : s;
|
|
}
|
|
return Kh(o) ? B1(o, t, n + 1) : o;
|
|
}
|
|
function Og(e) {
|
|
const t = [{}, {}];
|
|
return e?.values.forEach((n, r) => {
|
|
t[0][r] = n.get(), t[1][r] = n.getVelocity();
|
|
}), t;
|
|
}
|
|
function $h(e, t, n, r) {
|
|
if (typeof t == "function") {
|
|
const [o, i] = Og(r);
|
|
t = t(n !== void 0 ? n : e.custom, o, i);
|
|
}
|
|
if (typeof t == "string" && (t = e.variants && e.variants[t]), typeof t == "function") {
|
|
const [o, i] = Og(r);
|
|
t = t(n !== void 0 ? n : e.custom, o, i);
|
|
}
|
|
return t;
|
|
}
|
|
function Pr(e, t, n) {
|
|
const r = e.getProps();
|
|
return $h(r, t, n !== void 0 ? n : r.custom, e);
|
|
}
|
|
const V1 = /* @__PURE__ */ new Set([
|
|
"width",
|
|
"height",
|
|
"top",
|
|
"left",
|
|
"right",
|
|
"bottom",
|
|
...Ho
|
|
]), af = (e) => Array.isArray(e);
|
|
function p3(e, t, n) {
|
|
e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, Vo(n));
|
|
}
|
|
function m3(e) {
|
|
return af(e) ? e[e.length - 1] || 0 : e;
|
|
}
|
|
function g3(e, t) {
|
|
const n = Pr(e, t);
|
|
let { transitionEnd: r = {}, transition: o = {}, ...i } = n || {};
|
|
i = { ...i, ...r };
|
|
for (const s in i) {
|
|
const a = m3(i[s]);
|
|
p3(e, s, a);
|
|
}
|
|
}
|
|
const Oe = (e) => !!(e && e.getVelocity);
|
|
function y3(e) {
|
|
return !!(Oe(e) && e.add);
|
|
}
|
|
function lf(e, t) {
|
|
const n = e.getValue("willChange");
|
|
if (y3(n))
|
|
return n.add(t);
|
|
if (!n && er.WillChange) {
|
|
const r = new er.WillChange("auto");
|
|
e.addValue("willChange", r), r.add(t);
|
|
}
|
|
}
|
|
function ep(e) {
|
|
return e.replace(/([A-Z])/g, (t) => `-${t.toLowerCase()}`);
|
|
}
|
|
const v3 = "framerAppearId", I1 = "data-" + ep(v3);
|
|
function O1(e) {
|
|
return e.props[I1];
|
|
}
|
|
function S3({ protectedKeys: e, needsAnimating: t }, n) {
|
|
const r = e.hasOwnProperty(n) && t[n] !== !0;
|
|
return t[n] = !1, r;
|
|
}
|
|
function N1(e, t, { delay: n = 0, transitionOverride: r, type: o } = {}) {
|
|
let { transition: i, transitionEnd: s, ...a } = t;
|
|
const l = e.getDefaultTransition();
|
|
i = i ? L1(i, l) : l;
|
|
const u = i?.reduceMotion, c = i?.skipAnimations;
|
|
r && (i = r);
|
|
const d = [], f = o && e.animationState && e.animationState.getState()[o], y = i?.path;
|
|
y && y.animateVisualElement(e, a, i, n, d);
|
|
for (const v in a) {
|
|
const S = e.getValue(v, e.latestValues[v] ?? null), k = a[v];
|
|
if (k === void 0 || f && S3(f, v))
|
|
continue;
|
|
const p = {
|
|
delay: n,
|
|
...Jh(i || {}, v)
|
|
};
|
|
c && (p.skipAnimations = !0);
|
|
const h = S.get();
|
|
if (h !== void 0 && !S.isAnimating() && !Array.isArray(k) && k === h && !p.velocity) {
|
|
ie.update(() => S.set(k));
|
|
continue;
|
|
}
|
|
let g = !1;
|
|
if (window.MotionHandoffAnimation) {
|
|
const A = O1(e);
|
|
if (A) {
|
|
const E = window.MotionHandoffAnimation(A, v, ie);
|
|
E !== null && (p.startTime = E, g = !0);
|
|
}
|
|
}
|
|
lf(e, v);
|
|
const w = u ?? e.shouldReduceMotion;
|
|
S.start(_h(v, S, k, w && V1.has(v) ? { type: !1 } : p, e, g));
|
|
const P = S.animation;
|
|
P && d.push(P);
|
|
}
|
|
if (s) {
|
|
const v = () => ie.update(() => {
|
|
s && g3(e, s);
|
|
});
|
|
d.length ? Promise.all(d).then(v) : v();
|
|
}
|
|
return d;
|
|
}
|
|
function uf(e, t, n = {}) {
|
|
const r = Pr(e, t, n.type === "exit" ? e.presenceContext?.custom : void 0);
|
|
let { transition: o = e.getDefaultTransition() || {} } = r || {};
|
|
n.transitionOverride && (o = n.transitionOverride);
|
|
const i = r ? () => Promise.all(N1(e, r, n)) : () => Promise.resolve(), s = e.variantChildren && e.variantChildren.size ? (l = 0) => {
|
|
const { delayChildren: u = 0, staggerChildren: c, staggerDirection: d } = o;
|
|
return b3(e, t, l, u, c, d, n);
|
|
} : () => Promise.resolve(), { when: a } = o;
|
|
if (a) {
|
|
const [l, u] = a === "beforeChildren" ? [i, s] : [s, i];
|
|
return l().then(() => u());
|
|
} else
|
|
return Promise.all([i(), s(n.delay)]);
|
|
}
|
|
function b3(e, t, n = 0, r = 0, o = 0, i = 1, s) {
|
|
const a = [];
|
|
for (const l of e.variantChildren)
|
|
l.notify("AnimationStart", t), a.push(uf(l, t, {
|
|
...s,
|
|
delay: n + (typeof r == "function" ? 0 : r) + F1(e.variantChildren, l, r, o, i)
|
|
}).then(() => l.notify("AnimationComplete", t)));
|
|
return Promise.all(a);
|
|
}
|
|
function x3(e, t, n = {}) {
|
|
e.notify("AnimationStart", t);
|
|
let r;
|
|
if (Array.isArray(t)) {
|
|
const o = t.map((i) => uf(e, i, n));
|
|
r = Promise.all(o);
|
|
} else if (typeof t == "string")
|
|
r = uf(e, t, n);
|
|
else {
|
|
const o = typeof t == "function" ? Pr(e, t, n.custom) : t;
|
|
r = Promise.all(N1(e, o, n));
|
|
}
|
|
return r.then(() => {
|
|
e.notify("AnimationComplete", t);
|
|
});
|
|
}
|
|
const w3 = {
|
|
test: (e) => e === "auto",
|
|
parse: (e) => e
|
|
}, j1 = (e) => (t) => t.test(e), W1 = [Uo, B, dn, mn, Y5, q5, w3], Ng = (e) => W1.find(j1(e));
|
|
function k3(e) {
|
|
return typeof e == "number" ? e === 0 : e !== null ? e === "none" || e === "0" || _S(e) : !0;
|
|
}
|
|
const C3 = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
|
|
function T3(e) {
|
|
const [t, n] = e.slice(0, -1).split("(");
|
|
if (t === "drop-shadow")
|
|
return e;
|
|
const [r] = n.match(Xh) || [];
|
|
if (!r)
|
|
return e;
|
|
const o = n.replace(r, "");
|
|
let i = C3.has(t) ? 1 : 0;
|
|
return r !== n && (i *= 100), t + "(" + i + o + ")";
|
|
}
|
|
const E3 = /\b([a-z-]*)\(.*?\)/gu, cf = {
|
|
...qt,
|
|
getAnimatableNone: (e) => {
|
|
const t = e.match(E3);
|
|
return t ? t.map(T3).join(" ") : e;
|
|
}
|
|
}, df = {
|
|
...qt,
|
|
getAnimatableNone: (e) => {
|
|
const t = qt.parse(e);
|
|
return qt.createTransformer(e)(t.map((r) => typeof r == "number" ? 0 : typeof r == "object" ? { ...r, alpha: 1 } : r));
|
|
}
|
|
}, jg = {
|
|
...Uo,
|
|
transform: Math.round
|
|
}, P3 = {
|
|
rotate: mn,
|
|
/**
|
|
* Internal channel for `transition.path` orientToPath. Composed onto
|
|
* `rotate` at the transform-build sites so the user's `rotate` is
|
|
* never read or overwritten. Not part of `transformPropOrder`.
|
|
*/
|
|
pathRotation: mn,
|
|
rotateX: mn,
|
|
rotateY: mn,
|
|
rotateZ: mn,
|
|
scale: ca,
|
|
scaleX: ca,
|
|
scaleY: ca,
|
|
scaleZ: ca,
|
|
skew: mn,
|
|
skewX: mn,
|
|
skewY: mn,
|
|
distance: B,
|
|
translateX: B,
|
|
translateY: B,
|
|
translateZ: B,
|
|
x: B,
|
|
y: B,
|
|
z: B,
|
|
perspective: B,
|
|
transformPerspective: B,
|
|
opacity: cs,
|
|
originX: Eg,
|
|
originY: Eg,
|
|
originZ: B
|
|
}, Ml = {
|
|
// Border props
|
|
borderWidth: B,
|
|
borderTopWidth: B,
|
|
borderRightWidth: B,
|
|
borderBottomWidth: B,
|
|
borderLeftWidth: B,
|
|
borderRadius: B,
|
|
borderTopLeftRadius: B,
|
|
borderTopRightRadius: B,
|
|
borderBottomRightRadius: B,
|
|
borderBottomLeftRadius: B,
|
|
// Positioning props
|
|
width: B,
|
|
maxWidth: B,
|
|
height: B,
|
|
maxHeight: B,
|
|
top: B,
|
|
right: B,
|
|
bottom: B,
|
|
left: B,
|
|
inset: B,
|
|
insetBlock: B,
|
|
insetBlockStart: B,
|
|
insetBlockEnd: B,
|
|
insetInline: B,
|
|
insetInlineStart: B,
|
|
insetInlineEnd: B,
|
|
// Spacing props
|
|
padding: B,
|
|
paddingTop: B,
|
|
paddingRight: B,
|
|
paddingBottom: B,
|
|
paddingLeft: B,
|
|
paddingBlock: B,
|
|
paddingBlockStart: B,
|
|
paddingBlockEnd: B,
|
|
paddingInline: B,
|
|
paddingInlineStart: B,
|
|
paddingInlineEnd: B,
|
|
margin: B,
|
|
marginTop: B,
|
|
marginRight: B,
|
|
marginBottom: B,
|
|
marginLeft: B,
|
|
marginBlock: B,
|
|
marginBlockStart: B,
|
|
marginBlockEnd: B,
|
|
marginInline: B,
|
|
marginInlineStart: B,
|
|
marginInlineEnd: B,
|
|
// Typography
|
|
fontSize: B,
|
|
// Misc
|
|
backgroundPositionX: B,
|
|
backgroundPositionY: B,
|
|
...P3,
|
|
zIndex: jg,
|
|
// SVG
|
|
fillOpacity: cs,
|
|
strokeOpacity: cs,
|
|
numOctaves: jg
|
|
}, A3 = {
|
|
...Ml,
|
|
// Color props
|
|
color: ke,
|
|
backgroundColor: ke,
|
|
outlineColor: ke,
|
|
fill: ke,
|
|
stroke: ke,
|
|
// Border props
|
|
borderColor: ke,
|
|
borderTopColor: ke,
|
|
borderRightColor: ke,
|
|
borderBottomColor: ke,
|
|
borderLeftColor: ke,
|
|
filter: cf,
|
|
WebkitFilter: cf,
|
|
mask: df,
|
|
WebkitMask: df
|
|
}, U1 = (e) => A3[e], z3 = /* @__PURE__ */ new Set([cf, df]);
|
|
function H1(e, t) {
|
|
let n = U1(e);
|
|
return z3.has(n) || (n = qt), n.getAnimatableNone ? n.getAnimatableNone(t) : void 0;
|
|
}
|
|
const M3 = /* @__PURE__ */ new Set(["auto", "none", "0"]);
|
|
function R3(e, t, n) {
|
|
let r = 0, o;
|
|
for (; r < e.length && !o; ) {
|
|
const i = e[r];
|
|
typeof i == "string" && !M3.has(i) && Bo(i).values.length && (o = e[r]), r++;
|
|
}
|
|
if (o && n)
|
|
for (const i of t)
|
|
e[i] = H1(n, o);
|
|
}
|
|
class D3 extends Qh {
|
|
constructor(t, n, r, o, i) {
|
|
super(t, n, r, o, i, !0);
|
|
}
|
|
readKeyframes() {
|
|
const { unresolvedKeyframes: t, element: n, name: r } = this;
|
|
if (!n || !n.current)
|
|
return;
|
|
super.readKeyframes();
|
|
for (let c = 0; c < t.length; c++) {
|
|
let d = t[c];
|
|
if (typeof d == "string" && (d = d.trim(), Kh(d))) {
|
|
const f = B1(d, n.current);
|
|
f !== void 0 && (t[c] = f), c === t.length - 1 && (this.finalKeyframe = d);
|
|
}
|
|
}
|
|
if (this.resolveNoneKeyframes(), !V1.has(r) || t.length !== 2)
|
|
return;
|
|
const [o, i] = t, s = Ng(o), a = Ng(i), l = Tg(o), u = Tg(i);
|
|
if (l !== u && Hn[r]) {
|
|
this.needsMeasurement = !0;
|
|
return;
|
|
}
|
|
if (s !== a)
|
|
if (Lg(s) && Lg(a))
|
|
for (let c = 0; c < t.length; c++) {
|
|
const d = t[c];
|
|
typeof d == "string" && (t[c] = parseFloat(d));
|
|
}
|
|
else Hn[r] && (this.needsMeasurement = !0);
|
|
}
|
|
resolveNoneKeyframes() {
|
|
const { unresolvedKeyframes: t, name: n } = this, r = [];
|
|
for (let o = 0; o < t.length; o++)
|
|
(t[o] === null || k3(t[o])) && r.push(o);
|
|
r.length && R3(t, r, n);
|
|
}
|
|
measureInitialState() {
|
|
const { element: t, unresolvedKeyframes: n, name: r } = this;
|
|
if (!t || !t.current)
|
|
return;
|
|
r === "height" && (this.suspendedScrollY = window.pageYOffset), this.measuredOrigin = Hn[r](t.measureViewportBox(), window.getComputedStyle(t.current)), n[0] = this.measuredOrigin;
|
|
const o = n[n.length - 1];
|
|
o !== void 0 && t.getValue(r, o).jump(o, !1);
|
|
}
|
|
measureEndState() {
|
|
const { element: t, name: n, unresolvedKeyframes: r } = this;
|
|
if (!t || !t.current)
|
|
return;
|
|
const o = t.getValue(n);
|
|
o && o.jump(this.measuredOrigin, !1);
|
|
const i = r.length - 1, s = r[i];
|
|
r[i] = Hn[n](t.measureViewportBox(), window.getComputedStyle(t.current)), s !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = s), this.removedTransforms?.length && this.removedTransforms.forEach(([a, l]) => {
|
|
t.getValue(a).set(l);
|
|
}), this.resolveNoneKeyframes();
|
|
}
|
|
}
|
|
function K1(e, t, n) {
|
|
if (e == null)
|
|
return [];
|
|
if (e instanceof EventTarget)
|
|
return [e];
|
|
if (typeof e == "string") {
|
|
let r = document;
|
|
const o = n?.[e] ?? r.querySelectorAll(e);
|
|
return o ? Array.from(o) : [];
|
|
}
|
|
return Array.from(e).filter((r) => r != null);
|
|
}
|
|
const ff = (e, t) => t && typeof e == "number" ? t.transform(e) : e;
|
|
function Na(e) {
|
|
return JS(e) && "offsetHeight" in e && !("ownerSVGElement" in e);
|
|
}
|
|
const { schedule: tp } = /* @__PURE__ */ d1(queueMicrotask, !1), Nt = {
|
|
x: !1,
|
|
y: !1
|
|
};
|
|
function X1() {
|
|
return Nt.x || Nt.y;
|
|
}
|
|
function F3(e) {
|
|
return e === "x" || e === "y" ? Nt[e] ? null : (Nt[e] = !0, () => {
|
|
Nt[e] = !1;
|
|
}) : Nt.x || Nt.y ? null : (Nt.x = Nt.y = !0, () => {
|
|
Nt.x = Nt.y = !1;
|
|
});
|
|
}
|
|
function q1(e, t) {
|
|
const n = K1(e), r = new AbortController(), o = {
|
|
passive: !0,
|
|
...t,
|
|
signal: r.signal
|
|
};
|
|
return [n, o, () => r.abort()];
|
|
}
|
|
function L3(e) {
|
|
return !(e.pointerType === "touch" || X1());
|
|
}
|
|
function B3(e, t, n = {}) {
|
|
const [r, o, i] = q1(e, n);
|
|
return r.forEach((s) => {
|
|
let a = !1, l = !1, u;
|
|
const c = () => {
|
|
s.removeEventListener("pointerleave", v);
|
|
}, d = (k) => {
|
|
u && (u(k), u = void 0), c();
|
|
}, f = (k) => {
|
|
a = !1, window.removeEventListener("pointerup", f), window.removeEventListener("pointercancel", f), l && (l = !1, d(k));
|
|
}, y = () => {
|
|
a = !0, window.addEventListener("pointerup", f, o), window.addEventListener("pointercancel", f, o);
|
|
}, v = (k) => {
|
|
if (k.pointerType !== "touch") {
|
|
if (a) {
|
|
l = !0;
|
|
return;
|
|
}
|
|
d(k);
|
|
}
|
|
}, S = (k) => {
|
|
if (!L3(k))
|
|
return;
|
|
l = !1;
|
|
const p = t(s, k);
|
|
typeof p == "function" && (u = p, s.addEventListener("pointerleave", v, o));
|
|
};
|
|
s.addEventListener("pointerenter", S, o), s.addEventListener("pointerdown", y, o);
|
|
}), i;
|
|
}
|
|
const Y1 = (e, t) => t ? e === t ? !0 : Y1(e, t.parentElement) : !1, np = (e) => e.pointerType === "mouse" ? typeof e.button != "number" || e.button <= 0 : e.isPrimary !== !1, V3 = /* @__PURE__ */ new Set([
|
|
"BUTTON",
|
|
"INPUT",
|
|
"SELECT",
|
|
"TEXTAREA",
|
|
"A"
|
|
]);
|
|
function I3(e) {
|
|
return V3.has(e.tagName) || e.isContentEditable === !0;
|
|
}
|
|
const O3 = /* @__PURE__ */ new Set(["INPUT", "SELECT", "TEXTAREA"]);
|
|
function N3(e) {
|
|
return O3.has(e.tagName) || e.isContentEditable === !0;
|
|
}
|
|
const ja = /* @__PURE__ */ new WeakSet();
|
|
function Wg(e) {
|
|
return (t) => {
|
|
t.key === "Enter" && e(t);
|
|
};
|
|
}
|
|
function Mc(e, t) {
|
|
e.dispatchEvent(new PointerEvent("pointer" + t, { isPrimary: !0, bubbles: !0 }));
|
|
}
|
|
const j3 = (e, t) => {
|
|
const n = e.currentTarget;
|
|
if (!n)
|
|
return;
|
|
const r = Wg(() => {
|
|
if (ja.has(n))
|
|
return;
|
|
Mc(n, "down");
|
|
const o = Wg(() => {
|
|
Mc(n, "up");
|
|
}), i = () => Mc(n, "cancel");
|
|
n.addEventListener("keyup", o, t), n.addEventListener("blur", i, t);
|
|
});
|
|
n.addEventListener("keydown", r, t), n.addEventListener("blur", () => n.removeEventListener("keydown", r), t);
|
|
};
|
|
function Ug(e) {
|
|
return np(e) && !X1();
|
|
}
|
|
const Hg = /* @__PURE__ */ new WeakSet();
|
|
function W3(e, t, n = {}) {
|
|
const [r, o, i] = q1(e, n), s = (a) => {
|
|
const l = a.currentTarget;
|
|
if (!Ug(a) || Hg.has(a))
|
|
return;
|
|
ja.add(l), n.stopPropagation && Hg.add(a);
|
|
const u = t(l, a), c = (y, v) => {
|
|
window.removeEventListener("pointerup", d), window.removeEventListener("pointercancel", f), ja.has(l) && ja.delete(l), Ug(y) && typeof u == "function" && u(y, { success: v });
|
|
}, d = (y) => {
|
|
c(y, l === window || l === document || n.useGlobalTarget || Y1(l, y.target));
|
|
}, f = (y) => {
|
|
c(y, !1);
|
|
};
|
|
window.addEventListener("pointerup", d, o), window.addEventListener("pointercancel", f, o);
|
|
};
|
|
return r.forEach((a) => {
|
|
(n.useGlobalTarget ? window : a).addEventListener("pointerdown", s, o), Na(a) && (a.addEventListener("focus", (u) => j3(u, o)), !I3(a) && !a.hasAttribute("tabindex") && (a.tabIndex = 0));
|
|
}), i;
|
|
}
|
|
function rp(e) {
|
|
return JS(e) && "ownerSVGElement" in e;
|
|
}
|
|
const Wa = /* @__PURE__ */ new WeakMap();
|
|
let Ua;
|
|
const Z1 = (e, t, n) => (r, o) => o && o[0] ? o[0][e + "Size"] : rp(r) && "getBBox" in r ? r.getBBox()[t] : r[n], U3 = /* @__PURE__ */ Z1("inline", "width", "offsetWidth"), H3 = /* @__PURE__ */ Z1("block", "height", "offsetHeight");
|
|
function K3({ target: e, borderBoxSize: t }) {
|
|
Wa.get(e)?.forEach((n) => {
|
|
n(e, {
|
|
get width() {
|
|
return U3(e, t);
|
|
},
|
|
get height() {
|
|
return H3(e, t);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function X3(e) {
|
|
e.forEach(K3);
|
|
}
|
|
function q3() {
|
|
typeof ResizeObserver > "u" || (Ua = new ResizeObserver(X3));
|
|
}
|
|
function Y3(e, t) {
|
|
Ua || q3();
|
|
const n = K1(e);
|
|
return n.forEach((r) => {
|
|
let o = Wa.get(r);
|
|
o || (o = /* @__PURE__ */ new Set(), Wa.set(r, o)), o.add(t), Ua?.observe(r);
|
|
}), () => {
|
|
n.forEach((r) => {
|
|
const o = Wa.get(r);
|
|
o?.delete(t), o?.size || Ua?.unobserve(r);
|
|
});
|
|
};
|
|
}
|
|
const Ha = /* @__PURE__ */ new Set();
|
|
let co;
|
|
function Z3() {
|
|
co = () => {
|
|
const e = {
|
|
get width() {
|
|
return window.innerWidth;
|
|
},
|
|
get height() {
|
|
return window.innerHeight;
|
|
}
|
|
};
|
|
Ha.forEach((t) => t(e));
|
|
}, window.addEventListener("resize", co);
|
|
}
|
|
function G3(e) {
|
|
return Ha.add(e), co || Z3(), () => {
|
|
Ha.delete(e), !Ha.size && typeof co == "function" && (window.removeEventListener("resize", co), co = void 0);
|
|
};
|
|
}
|
|
function Kg(e, t) {
|
|
return typeof e == "function" ? G3(e) : Y3(e, t);
|
|
}
|
|
function Q3(e) {
|
|
return rp(e) && e.tagName === "svg";
|
|
}
|
|
const J3 = [...W1, ke, qt], _3 = (e) => J3.find(j1(e)), Xg = () => ({
|
|
translate: 0,
|
|
scale: 1,
|
|
origin: 0,
|
|
originPoint: 0
|
|
}), fo = () => ({
|
|
x: Xg(),
|
|
y: Xg()
|
|
}), qg = () => ({ min: 0, max: 0 }), Pe = () => ({
|
|
x: qg(),
|
|
y: qg()
|
|
}), $3 = /* @__PURE__ */ new WeakMap();
|
|
function yu(e) {
|
|
return e !== null && typeof e == "object" && typeof e.start == "function";
|
|
}
|
|
function ds(e) {
|
|
return typeof e == "string" || Array.isArray(e);
|
|
}
|
|
const op = [
|
|
"animate",
|
|
"whileInView",
|
|
"whileFocus",
|
|
"whileHover",
|
|
"whileTap",
|
|
"whileDrag",
|
|
"exit"
|
|
], ip = ["initial", ...op];
|
|
function vu(e) {
|
|
return yu(e.animate) || ip.some((t) => ds(e[t]));
|
|
}
|
|
function G1(e) {
|
|
return !!(vu(e) || e.variants);
|
|
}
|
|
function eD(e, t, n) {
|
|
for (const r in t) {
|
|
const o = t[r], i = n[r];
|
|
if (Oe(o))
|
|
e.addValue(r, o);
|
|
else if (Oe(i))
|
|
e.addValue(r, Vo(o, { owner: e }));
|
|
else if (i !== o)
|
|
if (e.hasValue(r)) {
|
|
const s = e.getValue(r);
|
|
s.liveStyle === !0 ? s.jump(o) : s.hasAnimated || s.set(o);
|
|
} else {
|
|
const s = e.getStaticValue(r);
|
|
e.addValue(r, Vo(s !== void 0 ? s : o, { owner: e }));
|
|
}
|
|
}
|
|
for (const r in n)
|
|
t[r] === void 0 && e.removeValue(r);
|
|
return t;
|
|
}
|
|
const hf = { current: null }, Q1 = { current: !1 }, tD = typeof window < "u";
|
|
function nD() {
|
|
if (Q1.current = !0, !!tD)
|
|
if (window.matchMedia) {
|
|
const e = window.matchMedia("(prefers-reduced-motion)"), t = () => hf.current = e.matches;
|
|
e.addEventListener("change", t), t();
|
|
} else
|
|
hf.current = !1;
|
|
}
|
|
const Yg = [
|
|
"AnimationStart",
|
|
"AnimationComplete",
|
|
"Update",
|
|
"BeforeLayoutMeasure",
|
|
"LayoutMeasure",
|
|
"LayoutAnimationStart",
|
|
"LayoutAnimationComplete"
|
|
];
|
|
let Rl = {};
|
|
function J1(e) {
|
|
Rl = e;
|
|
}
|
|
function rD() {
|
|
return Rl;
|
|
}
|
|
class oD {
|
|
/**
|
|
* This method takes React props and returns found MotionValues. For example, HTML
|
|
* MotionValues will be found within the style prop, whereas for Three.js within attribute arrays.
|
|
*
|
|
* This isn't an abstract method as it needs calling in the constructor, but it is
|
|
* intended to be one.
|
|
*/
|
|
scrapeMotionValuesFromProps(t, n, r) {
|
|
return {};
|
|
}
|
|
constructor({ parent: t, props: n, presenceContext: r, reducedMotionConfig: o, skipAnimations: i, blockInitialAnimation: s, visualState: a }, l = {}) {
|
|
this.current = null, this.children = /* @__PURE__ */ new Set(), this.isVariantNode = !1, this.isControllingVariants = !1, this.shouldReduceMotion = null, this.shouldSkipAnimations = !1, this.values = /* @__PURE__ */ new Map(), this.KeyframeResolver = Qh, this.features = {}, this.valueSubscriptions = /* @__PURE__ */ new Map(), this.prevMotionValues = {}, this.hasBeenMounted = !1, this.events = {}, this.propEventSubscriptions = {}, this.notifyUpdate = () => this.notify("Update", this.latestValues), this.render = () => {
|
|
this.current && (this.triggerBuild(), this.renderInstance(this.current, this.renderState, this.props.style, this.projection));
|
|
}, this.renderScheduledAt = 0, this.scheduleRender = () => {
|
|
const y = Qe.now();
|
|
this.renderScheduledAt < y && (this.renderScheduledAt = y, ie.render(this.render, !1, !0));
|
|
};
|
|
const { latestValues: u, renderState: c } = a;
|
|
this.latestValues = u, this.baseTarget = { ...u }, this.initialValues = n.initial ? { ...u } : {}, this.renderState = c, this.parent = t, this.props = n, this.presenceContext = r, this.depth = t ? t.depth + 1 : 0, this.reducedMotionConfig = o, this.skipAnimationsConfig = i, this.options = l, this.blockInitialAnimation = !!s, this.isControllingVariants = vu(n), this.isVariantNode = G1(n), this.isVariantNode && (this.variantChildren = /* @__PURE__ */ new Set()), this.manuallyAnimateOnMount = !!(t && t.current);
|
|
const { willChange: d, ...f } = this.scrapeMotionValuesFromProps(n, {}, this);
|
|
for (const y in f) {
|
|
const v = f[y];
|
|
u[y] !== void 0 && Oe(v) && v.set(u[y]);
|
|
}
|
|
}
|
|
mount(t) {
|
|
if (this.hasBeenMounted)
|
|
for (const n in this.initialValues)
|
|
this.values.get(n)?.jump(this.initialValues[n]), this.latestValues[n] = this.initialValues[n];
|
|
this.current = t, $3.set(t, this), this.projection && !this.projection.instance && this.projection.mount(t), this.parent && this.isVariantNode && !this.isControllingVariants && (this.removeFromVariantTree = this.parent.addVariantChild(this)), this.values.forEach((n, r) => this.bindToMotionValue(r, n)), this.reducedMotionConfig === "never" ? this.shouldReduceMotion = !1 : this.reducedMotionConfig === "always" ? this.shouldReduceMotion = !0 : (Q1.current || nD(), this.shouldReduceMotion = hf.current), this.shouldSkipAnimations = this.skipAnimationsConfig ?? !1, this.parent?.addChild(this), this.update(this.props, this.presenceContext), this.hasBeenMounted = !0;
|
|
}
|
|
unmount() {
|
|
this.projection && this.projection.unmount(), tr(this.notifyUpdate), tr(this.render), this.valueSubscriptions.forEach((t) => t()), this.valueSubscriptions.clear(), this.removeFromVariantTree && this.removeFromVariantTree(), this.parent?.removeChild(this);
|
|
for (const t in this.events)
|
|
this.events[t].clear();
|
|
for (const t in this.features) {
|
|
const n = this.features[t];
|
|
n && (n.unmount(), n.isMounted = !1);
|
|
}
|
|
this.current = null;
|
|
}
|
|
addChild(t) {
|
|
this.children.add(t), this.enteringChildren ?? (this.enteringChildren = /* @__PURE__ */ new Set()), this.enteringChildren.add(t);
|
|
}
|
|
removeChild(t) {
|
|
this.children.delete(t), this.enteringChildren && this.enteringChildren.delete(t);
|
|
}
|
|
bindToMotionValue(t, n) {
|
|
if (this.valueSubscriptions.has(t) && this.valueSubscriptions.get(t)(), n.accelerate && D1.has(t) && this.current instanceof HTMLElement) {
|
|
const { factory: s, keyframes: a, times: l, ease: u, duration: c } = n.accelerate, d = new M1({
|
|
element: this.current,
|
|
name: t,
|
|
keyframes: a,
|
|
times: l,
|
|
ease: u,
|
|
duration: /* @__PURE__ */ ut(c)
|
|
}), f = s(d);
|
|
this.valueSubscriptions.set(t, () => {
|
|
f(), d.cancel();
|
|
});
|
|
return;
|
|
}
|
|
const r = Ko.has(t);
|
|
r && this.onBindTransform && this.onBindTransform();
|
|
const o = n.on("change", (s) => {
|
|
this.latestValues[t] = s, this.props.onUpdate && ie.preRender(this.notifyUpdate), r && this.projection && (this.projection.isTransformDirty = !0), this.scheduleRender();
|
|
});
|
|
let i;
|
|
typeof window < "u" && window.MotionCheckAppearSync && (i = window.MotionCheckAppearSync(this, t, n)), this.valueSubscriptions.set(t, () => {
|
|
o(), i && i();
|
|
});
|
|
}
|
|
sortNodePosition(t) {
|
|
return !this.current || !this.sortInstanceNodePosition || this.type !== t.type ? 0 : this.sortInstanceNodePosition(this.current, t.current);
|
|
}
|
|
updateFeatures() {
|
|
let t = "animation";
|
|
for (t in Rl) {
|
|
const n = Rl[t];
|
|
if (!n)
|
|
continue;
|
|
const { isEnabled: r, Feature: o } = n;
|
|
if (!this.features[t] && o && r(this.props) && (this.features[t] = new o(this)), this.features[t]) {
|
|
const i = this.features[t];
|
|
i.isMounted ? i.update() : (i.mount(), i.isMounted = !0);
|
|
}
|
|
}
|
|
}
|
|
triggerBuild() {
|
|
this.build(this.renderState, this.latestValues, this.props);
|
|
}
|
|
/**
|
|
* Measure the current viewport box with or without transforms.
|
|
* Only measures axis-aligned boxes, rotate and skew must be manually
|
|
* removed with a re-render to work.
|
|
*/
|
|
measureViewportBox() {
|
|
return this.current ? this.measureInstanceViewportBox(this.current, this.props) : Pe();
|
|
}
|
|
getStaticValue(t) {
|
|
return this.latestValues[t];
|
|
}
|
|
setStaticValue(t, n) {
|
|
this.latestValues[t] = n;
|
|
}
|
|
/**
|
|
* Update the provided props. Ensure any newly-added motion values are
|
|
* added to our map, old ones removed, and listeners updated.
|
|
*/
|
|
update(t, n) {
|
|
(t.transformTemplate || this.props.transformTemplate) && this.scheduleRender(), this.prevProps = this.props, this.props = t, this.prevPresenceContext = this.presenceContext, this.presenceContext = n;
|
|
for (let r = 0; r < Yg.length; r++) {
|
|
const o = Yg[r];
|
|
this.propEventSubscriptions[o] && (this.propEventSubscriptions[o](), delete this.propEventSubscriptions[o]);
|
|
const i = "on" + o, s = t[i];
|
|
s && (this.propEventSubscriptions[o] = this.on(o, s));
|
|
}
|
|
this.prevMotionValues = eD(this, this.scrapeMotionValuesFromProps(t, this.prevProps || {}, this), this.prevMotionValues), this.handleChildMotionValue && this.handleChildMotionValue();
|
|
}
|
|
getProps() {
|
|
return this.props;
|
|
}
|
|
/**
|
|
* Returns the variant definition with a given name.
|
|
*/
|
|
getVariant(t) {
|
|
return this.props.variants ? this.props.variants[t] : void 0;
|
|
}
|
|
/**
|
|
* Returns the defined default transition on this component.
|
|
*/
|
|
getDefaultTransition() {
|
|
return this.props.transition;
|
|
}
|
|
getTransformPagePoint() {
|
|
return this.props.transformPagePoint;
|
|
}
|
|
getClosestVariantNode() {
|
|
return this.isVariantNode ? this : this.parent ? this.parent.getClosestVariantNode() : void 0;
|
|
}
|
|
/**
|
|
* Add a child visual element to our set of children.
|
|
*/
|
|
addVariantChild(t) {
|
|
const n = this.getClosestVariantNode();
|
|
if (n)
|
|
return n.variantChildren && n.variantChildren.add(t), () => n.variantChildren.delete(t);
|
|
}
|
|
/**
|
|
* Add a motion value and bind it to this visual element.
|
|
*/
|
|
addValue(t, n) {
|
|
const r = this.values.get(t);
|
|
n !== r && (r && this.removeValue(t), this.bindToMotionValue(t, n), this.values.set(t, n), this.latestValues[t] = n.get());
|
|
}
|
|
/**
|
|
* Remove a motion value and unbind any active subscriptions.
|
|
*/
|
|
removeValue(t) {
|
|
this.values.delete(t);
|
|
const n = this.valueSubscriptions.get(t);
|
|
n && (n(), this.valueSubscriptions.delete(t)), delete this.latestValues[t], this.removeValueFromRenderState(t, this.renderState);
|
|
}
|
|
/**
|
|
* Check whether we have a motion value for this key
|
|
*/
|
|
hasValue(t) {
|
|
return this.values.has(t);
|
|
}
|
|
getValue(t, n) {
|
|
if (this.props.values && this.props.values[t])
|
|
return this.props.values[t];
|
|
let r = this.values.get(t);
|
|
return r === void 0 && n !== void 0 && (r = Vo(n === null ? void 0 : n, { owner: this }), this.addValue(t, r)), r;
|
|
}
|
|
/**
|
|
* If we're trying to animate to a previously unencountered value,
|
|
* we need to check for it in our state and as a last resort read it
|
|
* directly from the instance (which might have performance implications).
|
|
*/
|
|
readValue(t, n) {
|
|
let r = this.latestValues[t] !== void 0 || !this.current ? this.latestValues[t] : this.getBaseTargetFromProps(this.props, t) ?? this.readValueFromInstance(this.current, t, this.options);
|
|
return r != null && (typeof r == "string" && (QS(r) || _S(r)) ? r = parseFloat(r) : !_3(r) && qt.test(n) && (r = H1(t, n)), this.setBaseTarget(t, Oe(r) ? r.get() : r)), Oe(r) ? r.get() : r;
|
|
}
|
|
/**
|
|
* Set the base target to later animate back to. This is currently
|
|
* only hydrated on creation and when we first read a value.
|
|
*/
|
|
setBaseTarget(t, n) {
|
|
this.baseTarget[t] = n;
|
|
}
|
|
/**
|
|
* Find the base target for a value thats been removed from all animation
|
|
* props.
|
|
*/
|
|
getBaseTarget(t) {
|
|
const { initial: n } = this.props;
|
|
let r;
|
|
if (typeof n == "string" || typeof n == "object") {
|
|
const i = $h(this.props, n, this.presenceContext?.custom);
|
|
i && (r = i[t]);
|
|
}
|
|
if (n && r !== void 0)
|
|
return r;
|
|
const o = this.getBaseTargetFromProps(this.props, t);
|
|
return o !== void 0 && !Oe(o) ? o : this.initialValues[t] !== void 0 && r === void 0 ? void 0 : this.baseTarget[t];
|
|
}
|
|
on(t, n) {
|
|
return this.events[t] || (this.events[t] = new Wh()), this.events[t].add(n);
|
|
}
|
|
notify(t, ...n) {
|
|
this.events[t] && this.events[t].notify(...n);
|
|
}
|
|
scheduleRenderMicrotask() {
|
|
tp.render(this.render);
|
|
}
|
|
}
|
|
class _1 extends oD {
|
|
constructor() {
|
|
super(...arguments), this.KeyframeResolver = D3;
|
|
}
|
|
sortInstanceNodePosition(t, n) {
|
|
return t.compareDocumentPosition(n) & 2 ? 1 : -1;
|
|
}
|
|
getBaseTargetFromProps(t, n) {
|
|
const r = t.style;
|
|
return r ? r[n] : void 0;
|
|
}
|
|
removeValueFromRenderState(t, { vars: n, style: r }) {
|
|
delete n[t], delete r[t];
|
|
}
|
|
handleChildMotionValue() {
|
|
this.childSubscription && (this.childSubscription(), delete this.childSubscription);
|
|
const { children: t } = this.props;
|
|
Oe(t) && (this.childSubscription = t.on("change", (n) => {
|
|
this.current && (this.current.textContent = `${n}`);
|
|
}));
|
|
}
|
|
}
|
|
class ir {
|
|
constructor(t) {
|
|
this.isMounted = !1, this.node = t;
|
|
}
|
|
update() {
|
|
}
|
|
}
|
|
function $1({ top: e, left: t, right: n, bottom: r }) {
|
|
return {
|
|
x: { min: t, max: n },
|
|
y: { min: e, max: r }
|
|
};
|
|
}
|
|
function iD({ x: e, y: t }) {
|
|
return { top: t.min, right: e.max, bottom: t.max, left: e.min };
|
|
}
|
|
function sD(e, t) {
|
|
if (!t)
|
|
return e;
|
|
const n = t({ x: e.left, y: e.top }), r = t({ x: e.right, y: e.bottom });
|
|
return {
|
|
top: n.y,
|
|
left: n.x,
|
|
bottom: r.y,
|
|
right: r.x
|
|
};
|
|
}
|
|
function Rc(e) {
|
|
return e === void 0 || e === 1;
|
|
}
|
|
function pf({ scale: e, scaleX: t, scaleY: n }) {
|
|
return !Rc(e) || !Rc(t) || !Rc(n);
|
|
}
|
|
function hr(e) {
|
|
return pf(e) || eb(e) || e.z || e.rotate || e.rotateX || e.rotateY || e.skewX || e.skewY;
|
|
}
|
|
function eb(e) {
|
|
return Zg(e.x) || Zg(e.y);
|
|
}
|
|
function Zg(e) {
|
|
return e && e !== "0%";
|
|
}
|
|
function Dl(e, t, n) {
|
|
const r = e - n, o = t * r;
|
|
return n + o;
|
|
}
|
|
function Gg(e, t, n, r, o) {
|
|
return o !== void 0 && (e = Dl(e, o, r)), Dl(e, n, r) + t;
|
|
}
|
|
function mf(e, t = 0, n = 1, r, o) {
|
|
e.min = Gg(e.min, t, n, r, o), e.max = Gg(e.max, t, n, r, o);
|
|
}
|
|
function tb(e, { x: t, y: n }) {
|
|
mf(e.x, t.translate, t.scale, t.originPoint), mf(e.y, n.translate, n.scale, n.originPoint);
|
|
}
|
|
const Qg = 0.999999999999, Jg = 1.0000000000001;
|
|
function aD(e, t, n, r = !1) {
|
|
const o = n.length;
|
|
if (!o)
|
|
return;
|
|
t.x = t.y = 1;
|
|
let i, s;
|
|
for (let a = 0; a < o; a++) {
|
|
i = n[a], s = i.projectionDelta;
|
|
const { visualElement: l } = i.options;
|
|
l && l.props.style && l.props.style.display === "contents" || (r && i.options.layoutScroll && i.scroll && i !== i.root && (rn(e.x, -i.scroll.offset.x), rn(e.y, -i.scroll.offset.y)), s && (t.x *= s.x.scale, t.y *= s.y.scale, tb(e, s)), r && hr(i.latestValues) && Ka(e, i.latestValues, i.layout?.layoutBox));
|
|
}
|
|
t.x < Jg && t.x > Qg && (t.x = 1), t.y < Jg && t.y > Qg && (t.y = 1);
|
|
}
|
|
function rn(e, t) {
|
|
e.min += t, e.max += t;
|
|
}
|
|
function _g(e, t, n, r, o = 0.5) {
|
|
const i = oe(e.min, e.max, o);
|
|
mf(e, t, n, i, r);
|
|
}
|
|
function $g(e, t) {
|
|
return typeof e == "string" ? parseFloat(e) / 100 * (t.max - t.min) : e;
|
|
}
|
|
function Ka(e, t, n) {
|
|
const r = n ?? e;
|
|
_g(e.x, $g(t.x, r.x), t.scaleX, t.scale, t.originX), _g(e.y, $g(t.y, r.y), t.scaleY, t.scale, t.originY);
|
|
}
|
|
function nb(e, t) {
|
|
return $1(sD(e.getBoundingClientRect(), t));
|
|
}
|
|
function lD(e, t, n) {
|
|
const r = nb(e, n), { scroll: o } = t;
|
|
return o && (rn(r.x, o.offset.x), rn(r.y, o.offset.y)), r;
|
|
}
|
|
const uD = {
|
|
x: "translateX",
|
|
y: "translateY",
|
|
z: "translateZ",
|
|
transformPerspective: "perspective"
|
|
}, cD = Ho.length;
|
|
function dD(e, t, n) {
|
|
let r = "", o = !0;
|
|
for (let s = 0; s < cD; s++) {
|
|
const a = Ho[s], l = e[a];
|
|
if (l === void 0)
|
|
continue;
|
|
let u = !0;
|
|
if (typeof l == "number")
|
|
u = l === (a.startsWith("scale") ? 1 : 0);
|
|
else {
|
|
const c = parseFloat(l);
|
|
u = a.startsWith("scale") ? c === 1 : c === 0;
|
|
}
|
|
if (!u || n) {
|
|
const c = ff(l, Ml[a]);
|
|
if (!u) {
|
|
o = !1;
|
|
const d = uD[a] || a;
|
|
r += `${d}(${c}) `;
|
|
}
|
|
n && (t[a] = c);
|
|
}
|
|
}
|
|
const i = e.pathRotation;
|
|
return i && (o = !1, r += `rotate(${ff(i, Ml.pathRotation)}) `), r = r.trim(), n ? r = n(t, o ? "" : r) : o && (r = "none"), r;
|
|
}
|
|
function sp(e, t, n) {
|
|
const { style: r, vars: o, transformOrigin: i } = e;
|
|
let s = !1, a = !1;
|
|
for (const l in t) {
|
|
const u = t[l];
|
|
if (Ko.has(l)) {
|
|
s = !0;
|
|
continue;
|
|
} else if (h1(l)) {
|
|
o[l] = u;
|
|
continue;
|
|
} else {
|
|
const c = ff(u, Ml[l]);
|
|
l.startsWith("origin") ? (a = !0, i[l] = c) : r[l] = c;
|
|
}
|
|
}
|
|
if (t.transform || (s || n ? r.transform = dD(t, e.transform, n) : r.transform && (r.transform = "none")), a) {
|
|
const { originX: l = "50%", originY: u = "50%", originZ: c = 0 } = i;
|
|
r.transformOrigin = `${l} ${u} ${c}`;
|
|
}
|
|
}
|
|
function rb(e, { style: t, vars: n }, r, o) {
|
|
const i = e.style;
|
|
let s;
|
|
for (s in t)
|
|
i[s] = t[s];
|
|
o?.applyProjectionStyles(i, r);
|
|
for (s in n)
|
|
i.setProperty(s, n[s]);
|
|
}
|
|
function ey(e, t) {
|
|
return t.max === t.min ? 0 : e / (t.max - t.min) * 100;
|
|
}
|
|
const li = {
|
|
correct: (e, t) => {
|
|
if (!t.target)
|
|
return e;
|
|
if (typeof e == "string")
|
|
if (B.test(e))
|
|
e = parseFloat(e);
|
|
else
|
|
return e;
|
|
const n = ey(e, t.target.x), r = ey(e, t.target.y);
|
|
return `${n}% ${r}%`;
|
|
}
|
|
}, fD = {
|
|
correct: (e, { treeScale: t, projectionDelta: n }) => {
|
|
const r = e, o = qt.parse(e);
|
|
if (o.length > 5)
|
|
return r;
|
|
const i = qt.createTransformer(e), s = typeof o[0] != "number" ? 1 : 0, a = n.x.scale * t.x, l = n.y.scale * t.y;
|
|
o[0 + s] /= a, o[1 + s] /= l;
|
|
const u = oe(a, l, 0.5);
|
|
return typeof o[2 + s] == "number" && (o[2 + s] /= u), typeof o[3 + s] == "number" && (o[3 + s] /= u), i(o);
|
|
}
|
|
}, gf = {
|
|
borderRadius: {
|
|
...li,
|
|
applyTo: [
|
|
"borderTopLeftRadius",
|
|
"borderTopRightRadius",
|
|
"borderBottomLeftRadius",
|
|
"borderBottomRightRadius"
|
|
]
|
|
},
|
|
borderTopLeftRadius: li,
|
|
borderTopRightRadius: li,
|
|
borderBottomLeftRadius: li,
|
|
borderBottomRightRadius: li,
|
|
boxShadow: fD
|
|
};
|
|
function ob(e, { layout: t, layoutId: n }) {
|
|
return Ko.has(e) || e.startsWith("origin") || (t || n !== void 0) && (!!gf[e] || e === "opacity");
|
|
}
|
|
function ap(e, t, n) {
|
|
const r = e.style, o = t?.style, i = {};
|
|
if (!r)
|
|
return i;
|
|
for (const s in r)
|
|
(Oe(r[s]) || o && Oe(o[s]) || ob(s, e) || n?.getValue(s)?.liveStyle !== void 0) && (i[s] = r[s]);
|
|
return i;
|
|
}
|
|
function hD(e) {
|
|
return window.getComputedStyle(e);
|
|
}
|
|
class pD extends _1 {
|
|
constructor() {
|
|
super(...arguments), this.type = "html", this.renderInstance = rb;
|
|
}
|
|
readValueFromInstance(t, n) {
|
|
if (Ko.has(n))
|
|
return this.projection?.isProjecting ? ef(n) : F4(t, n);
|
|
{
|
|
const r = hD(t), o = (h1(n) ? r.getPropertyValue(n) : r[n]) || 0;
|
|
return typeof o == "string" ? o.trim() : o;
|
|
}
|
|
}
|
|
measureInstanceViewportBox(t, { transformPagePoint: n }) {
|
|
return nb(t, n);
|
|
}
|
|
build(t, n, r) {
|
|
sp(t, n, r.transformTemplate);
|
|
}
|
|
scrapeMotionValuesFromProps(t, n, r) {
|
|
return ap(t, n, r);
|
|
}
|
|
}
|
|
const mD = {
|
|
offset: "stroke-dashoffset",
|
|
array: "stroke-dasharray"
|
|
}, gD = {
|
|
offset: "strokeDashoffset",
|
|
array: "strokeDasharray"
|
|
};
|
|
function yD(e, t, n = 1, r = 0, o = !0) {
|
|
e.pathLength = 1;
|
|
const i = o ? mD : gD;
|
|
e[i.offset] = `${-r}`, e[i.array] = `${t} ${n}`;
|
|
}
|
|
const vD = [
|
|
"offsetDistance",
|
|
"offsetPath",
|
|
"offsetRotate",
|
|
"offsetAnchor"
|
|
];
|
|
function ib(e, {
|
|
attrX: t,
|
|
attrY: n,
|
|
attrScale: r,
|
|
pathLength: o,
|
|
pathSpacing: i = 1,
|
|
pathOffset: s = 0,
|
|
// This is object creation, which we try to avoid per-frame.
|
|
...a
|
|
}, l, u, c) {
|
|
if (sp(e, a, u), l) {
|
|
e.style.viewBox && (e.attrs.viewBox = e.style.viewBox);
|
|
return;
|
|
}
|
|
e.attrs = e.style, e.style = {};
|
|
const { attrs: d, style: f } = e;
|
|
d.transform && (f.transform = d.transform, delete d.transform), (f.transform || d.transformOrigin) && (f.transformOrigin = d.transformOrigin ?? "50% 50%", delete d.transformOrigin), f.transform && (f.transformBox = c?.transformBox ?? "fill-box", delete d.transformBox);
|
|
for (const y of vD)
|
|
d[y] !== void 0 && (f[y] = d[y], delete d[y]);
|
|
t !== void 0 && (d.x = t), n !== void 0 && (d.y = n), r !== void 0 && (d.scale = r), o !== void 0 && yD(d, o, i, s, !1);
|
|
}
|
|
const sb = /* @__PURE__ */ new Set([
|
|
"baseFrequency",
|
|
"diffuseConstant",
|
|
"kernelMatrix",
|
|
"kernelUnitLength",
|
|
"keySplines",
|
|
"keyTimes",
|
|
"limitingConeAngle",
|
|
"markerHeight",
|
|
"markerWidth",
|
|
"numOctaves",
|
|
"targetX",
|
|
"targetY",
|
|
"surfaceScale",
|
|
"specularConstant",
|
|
"specularExponent",
|
|
"stdDeviation",
|
|
"tableValues",
|
|
"viewBox",
|
|
"gradientTransform",
|
|
"pathLength",
|
|
"startOffset",
|
|
"textLength",
|
|
"lengthAdjust"
|
|
]), ab = (e) => typeof e == "string" && e.toLowerCase() === "svg";
|
|
function SD(e, t, n, r) {
|
|
rb(e, t, void 0, r);
|
|
for (const o in t.attrs)
|
|
e.setAttribute(sb.has(o) ? o : ep(o), t.attrs[o]);
|
|
}
|
|
function lb(e, t, n) {
|
|
const r = ap(e, t, n);
|
|
for (const o in e)
|
|
if (Oe(e[o]) || Oe(t[o])) {
|
|
const i = Ho.indexOf(o) !== -1 ? "attr" + o.charAt(0).toUpperCase() + o.substring(1) : o;
|
|
r[i] = e[o];
|
|
}
|
|
return r;
|
|
}
|
|
class bD extends _1 {
|
|
constructor() {
|
|
super(...arguments), this.type = "svg", this.isSVGTag = !1, this.measureInstanceViewportBox = Pe;
|
|
}
|
|
getBaseTargetFromProps(t, n) {
|
|
return t[n];
|
|
}
|
|
readValueFromInstance(t, n) {
|
|
if (Ko.has(n)) {
|
|
const r = U1(n);
|
|
return r && r.default || 0;
|
|
}
|
|
return n = sb.has(n) ? n : ep(n), t.getAttribute(n);
|
|
}
|
|
scrapeMotionValuesFromProps(t, n, r) {
|
|
return lb(t, n, r);
|
|
}
|
|
build(t, n, r) {
|
|
ib(t, n, this.isSVGTag, r.transformTemplate, r.style);
|
|
}
|
|
renderInstance(t, n, r, o) {
|
|
SD(t, n, r, o);
|
|
}
|
|
mount(t) {
|
|
this.isSVGTag = ab(t.tagName), super.mount(t);
|
|
}
|
|
}
|
|
const xD = ip.length;
|
|
function ub(e) {
|
|
if (!e)
|
|
return;
|
|
if (!e.isControllingVariants) {
|
|
const n = e.parent ? ub(e.parent) || {} : {};
|
|
return e.props.initial !== void 0 && (n.initial = e.props.initial), n;
|
|
}
|
|
const t = {};
|
|
for (let n = 0; n < xD; n++) {
|
|
const r = ip[n], o = e.props[r];
|
|
(ds(o) || o === !1) && (t[r] = o);
|
|
}
|
|
return t;
|
|
}
|
|
function cb(e, t) {
|
|
if (!Array.isArray(t))
|
|
return !1;
|
|
const n = t.length;
|
|
if (n !== e.length)
|
|
return !1;
|
|
for (let r = 0; r < n; r++)
|
|
if (t[r] !== e[r])
|
|
return !1;
|
|
return !0;
|
|
}
|
|
const wD = [...op].reverse(), kD = op.length;
|
|
function CD(e) {
|
|
return (t) => Promise.all(t.map(({ animation: n, options: r }) => x3(e, n, r)));
|
|
}
|
|
function TD(e) {
|
|
let t = CD(e), n = ty(), r = !0, o = !1;
|
|
const i = (u) => (c, d) => {
|
|
const f = Pr(e, d, u === "exit" ? e.presenceContext?.custom : void 0);
|
|
if (f) {
|
|
const { transition: y, transitionEnd: v, ...S } = f;
|
|
c = { ...c, ...S, ...v };
|
|
}
|
|
return c;
|
|
};
|
|
function s(u) {
|
|
t = u(e);
|
|
}
|
|
function a(u) {
|
|
const { props: c } = e, d = ub(e.parent) || {}, f = [], y = /* @__PURE__ */ new Set();
|
|
let v = {}, S = 1 / 0;
|
|
for (let p = 0; p < kD; p++) {
|
|
const h = wD[p], g = n[h], w = c[h] !== void 0 ? c[h] : d[h], P = ds(w), A = h === u ? g.isActive : null;
|
|
A === !1 && (S = p);
|
|
let E = w === d[h] && w !== c[h] && P;
|
|
if (E && (r || o) && e.manuallyAnimateOnMount && (E = !1), g.protectedKeys = { ...v }, // If it isn't active and hasn't *just* been set as inactive
|
|
!g.isActive && A === null || // If we didn't and don't have any defined prop for this animation type
|
|
!w && !g.prevProp || // Or if the prop doesn't define an animation
|
|
yu(w) || typeof w == "boolean")
|
|
continue;
|
|
if (h === "exit" && g.isActive && A !== !0) {
|
|
g.prevResolvedValues && (v = {
|
|
...v,
|
|
...g.prevResolvedValues
|
|
});
|
|
continue;
|
|
}
|
|
const z = ED(g.prevProp, w);
|
|
let I = z || // If we're making this variant active, we want to always make it active
|
|
h === u && g.isActive && !E && P || // If we removed a higher-priority variant (i is in reverse order)
|
|
p > S && P, M = !1;
|
|
const U = Array.isArray(w) ? w : [w];
|
|
let le = U.reduce(i(h), {});
|
|
A === !1 && (le = {});
|
|
const { prevResolvedValues: Le = {} } = g, Ye = {
|
|
...Le,
|
|
...le
|
|
}, dt = (D) => {
|
|
I = !0, y.has(D) && (M = !0, y.delete(D)), g.needsAnimating[D] = !0;
|
|
const O = e.getValue(D);
|
|
O && (O.liveStyle = !1);
|
|
};
|
|
for (const D in Ye) {
|
|
const O = le[D], W = Le[D];
|
|
if (v.hasOwnProperty(D))
|
|
continue;
|
|
let $ = !1;
|
|
af(O) && af(W) ? $ = !cb(O, W) || z : $ = O !== W, $ ? O != null ? dt(D) : y.add(D) : O !== void 0 && y.has(D) ? dt(D) : g.protectedKeys[D] = !0;
|
|
}
|
|
g.prevProp = w, g.prevResolvedValues = le, g.isActive && (v = { ...v, ...le }), (r || o) && e.blockInitialAnimation && (I = !1);
|
|
const We = E && z;
|
|
I && (!We || M) && f.push(...U.map((D) => {
|
|
const O = { type: h };
|
|
if (typeof D == "string" && (r || o) && !We && e.manuallyAnimateOnMount && e.parent) {
|
|
const { parent: W } = e, $ = Pr(W, D);
|
|
if (W.enteringChildren && $) {
|
|
const { delayChildren: Se } = $.transition || {};
|
|
O.delay = F1(W.enteringChildren, e, Se);
|
|
}
|
|
}
|
|
return {
|
|
animation: D,
|
|
options: O
|
|
};
|
|
}));
|
|
}
|
|
if (y.size) {
|
|
const p = {};
|
|
if (typeof c.initial != "boolean") {
|
|
const h = Pr(e, Array.isArray(c.initial) ? c.initial[0] : c.initial);
|
|
h && h.transition && (p.transition = h.transition);
|
|
}
|
|
y.forEach((h) => {
|
|
const g = e.getBaseTarget(h), w = e.getValue(h);
|
|
w && (w.liveStyle = !0), p[h] = g ?? null;
|
|
}), f.push({ animation: p });
|
|
}
|
|
let k = !!f.length;
|
|
return r && (c.initial === !1 || c.initial === c.animate) && !e.manuallyAnimateOnMount && (k = !1), r = !1, o = !1, k ? t(f) : Promise.resolve();
|
|
}
|
|
function l(u, c) {
|
|
if (n[u].isActive === c)
|
|
return Promise.resolve();
|
|
e.variantChildren?.forEach((f) => f.animationState?.setActive(u, c)), n[u].isActive = c;
|
|
const d = a(u);
|
|
for (const f in n)
|
|
n[f].protectedKeys = {};
|
|
return d;
|
|
}
|
|
return {
|
|
animateChanges: a,
|
|
setActive: l,
|
|
setAnimateFunction: s,
|
|
getState: () => n,
|
|
reset: () => {
|
|
n = ty(), o = !0;
|
|
}
|
|
};
|
|
}
|
|
function ED(e, t) {
|
|
return typeof t == "string" ? t !== e : Array.isArray(t) ? !cb(t, e) : !1;
|
|
}
|
|
function cr(e = !1) {
|
|
return {
|
|
isActive: e,
|
|
protectedKeys: {},
|
|
needsAnimating: {},
|
|
prevResolvedValues: {}
|
|
};
|
|
}
|
|
function ty() {
|
|
return {
|
|
animate: cr(!0),
|
|
whileInView: cr(),
|
|
whileHover: cr(),
|
|
whileTap: cr(),
|
|
whileDrag: cr(),
|
|
whileFocus: cr(),
|
|
exit: cr()
|
|
};
|
|
}
|
|
function yf(e, t) {
|
|
e.min = t.min, e.max = t.max;
|
|
}
|
|
function Ot(e, t) {
|
|
yf(e.x, t.x), yf(e.y, t.y);
|
|
}
|
|
function ny(e, t) {
|
|
e.translate = t.translate, e.scale = t.scale, e.originPoint = t.originPoint, e.origin = t.origin;
|
|
}
|
|
const db = 1e-4, PD = 1 - db, AD = 1 + db, fb = 0.01, zD = 0 - fb, MD = 0 + fb;
|
|
function Je(e) {
|
|
return e.max - e.min;
|
|
}
|
|
function RD(e, t, n) {
|
|
return Math.abs(e - t) <= n;
|
|
}
|
|
function ry(e, t, n, r = 0.5) {
|
|
e.origin = r, e.originPoint = oe(t.min, t.max, e.origin), e.scale = Je(n) / Je(t), e.translate = oe(n.min, n.max, e.origin) - e.originPoint, (e.scale >= PD && e.scale <= AD || isNaN(e.scale)) && (e.scale = 1), (e.translate >= zD && e.translate <= MD || isNaN(e.translate)) && (e.translate = 0);
|
|
}
|
|
function Ii(e, t, n, r) {
|
|
ry(e.x, t.x, n.x, r ? r.originX : void 0), ry(e.y, t.y, n.y, r ? r.originY : void 0);
|
|
}
|
|
function oy(e, t, n, r = 0) {
|
|
const o = r ? oe(n.min, n.max, r) : n.min;
|
|
e.min = o + t.min, e.max = e.min + Je(t);
|
|
}
|
|
function DD(e, t, n, r) {
|
|
oy(e.x, t.x, n.x, r?.x), oy(e.y, t.y, n.y, r?.y);
|
|
}
|
|
function iy(e, t, n, r = 0) {
|
|
const o = r ? oe(n.min, n.max, r) : n.min;
|
|
e.min = t.min - o, e.max = e.min + Je(t);
|
|
}
|
|
function Fl(e, t, n, r) {
|
|
iy(e.x, t.x, n.x, r?.x), iy(e.y, t.y, n.y, r?.y);
|
|
}
|
|
function sy(e, t, n, r, o) {
|
|
return e -= t, e = Dl(e, 1 / n, r), o !== void 0 && (e = Dl(e, 1 / o, r)), e;
|
|
}
|
|
function FD(e, t = 0, n = 1, r = 0.5, o, i = e, s = e) {
|
|
if (dn.test(t) && (t = parseFloat(t), t = oe(s.min, s.max, t / 100) - s.min), typeof t != "number")
|
|
return;
|
|
let a = oe(i.min, i.max, r);
|
|
e === i && (a -= t), e.min = sy(e.min, t, n, a, o), e.max = sy(e.max, t, n, a, o);
|
|
}
|
|
function ay(e, t, [n, r, o], i, s) {
|
|
FD(e, t[n], t[r], t[o], t.scale, i, s);
|
|
}
|
|
const LD = ["x", "scaleX", "originX"], BD = ["y", "scaleY", "originY"];
|
|
function ly(e, t, n, r) {
|
|
ay(e.x, t, LD, n ? n.x : void 0, r ? r.x : void 0), ay(e.y, t, BD, n ? n.y : void 0, r ? r.y : void 0);
|
|
}
|
|
function uy(e) {
|
|
return e.translate === 0 && e.scale === 1;
|
|
}
|
|
function hb(e) {
|
|
return uy(e.x) && uy(e.y);
|
|
}
|
|
function cy(e, t) {
|
|
return e.min === t.min && e.max === t.max;
|
|
}
|
|
function VD(e, t) {
|
|
return cy(e.x, t.x) && cy(e.y, t.y);
|
|
}
|
|
function dy(e, t) {
|
|
return Math.round(e.min) === Math.round(t.min) && Math.round(e.max) === Math.round(t.max);
|
|
}
|
|
function pb(e, t) {
|
|
return dy(e.x, t.x) && dy(e.y, t.y);
|
|
}
|
|
function fy(e) {
|
|
return Je(e.x) / Je(e.y);
|
|
}
|
|
function hy(e, t) {
|
|
return e.translate === t.translate && e.scale === t.scale && e.originPoint === t.originPoint;
|
|
}
|
|
function $t(e) {
|
|
return [e("x"), e("y")];
|
|
}
|
|
function ID(e, t, n) {
|
|
let r = "";
|
|
const o = e.x.translate / t.x, i = e.y.translate / t.y, s = n?.z || 0;
|
|
if ((o || i || s) && (r = `translate3d(${o}px, ${i}px, ${s}px) `), (t.x !== 1 || t.y !== 1) && (r += `scale(${1 / t.x}, ${1 / t.y}) `), n) {
|
|
const { transformPerspective: u, rotate: c, pathRotation: d, rotateX: f, rotateY: y, skewX: v, skewY: S } = n;
|
|
u && (r = `perspective(${u}px) ${r}`), c && (r += `rotate(${c}deg) `), d && (r += `rotate(${d}deg) `), f && (r += `rotateX(${f}deg) `), y && (r += `rotateY(${y}deg) `), v && (r += `skewX(${v}deg) `), S && (r += `skewY(${S}deg) `);
|
|
}
|
|
const a = e.x.scale * t.x, l = e.y.scale * t.y;
|
|
return (a !== 1 || l !== 1) && (r += `scale(${a}, ${l})`), r || "none";
|
|
}
|
|
const mb = [
|
|
"borderTopLeftRadius",
|
|
"borderTopRightRadius",
|
|
"borderBottomLeftRadius",
|
|
"borderBottomRightRadius"
|
|
], OD = mb.length, py = (e) => typeof e == "string" ? parseFloat(e) : e, my = (e) => typeof e == "number" || B.test(e);
|
|
function ND(e, t, n, r, o, i) {
|
|
o ? (e.opacity = oe(0, n.opacity ?? 1, jD(r)), e.opacityExit = oe(t.opacity ?? 1, 0, WD(r))) : i && (e.opacity = oe(t.opacity ?? 1, n.opacity ?? 1, r));
|
|
for (let s = 0; s < OD; s++) {
|
|
const a = mb[s];
|
|
let l = gy(t, a), u = gy(n, a);
|
|
if (l === void 0 && u === void 0)
|
|
continue;
|
|
l || (l = 0), u || (u = 0), l === 0 || u === 0 || my(l) === my(u) ? (e[a] = Math.max(oe(py(l), py(u), r), 0), (dn.test(u) || dn.test(l)) && (e[a] += "%")) : e[a] = u;
|
|
}
|
|
(t.rotate || n.rotate) && (e.rotate = oe(t.rotate || 0, n.rotate || 0, r));
|
|
}
|
|
function gy(e, t) {
|
|
return e[t] !== void 0 ? e[t] : e.borderRadius;
|
|
}
|
|
const jD = /* @__PURE__ */ gb(0, 0.5, a1), WD = /* @__PURE__ */ gb(0.5, 0.95, Rt);
|
|
function gb(e, t, n) {
|
|
return (r) => r < e ? 0 : r > t ? 1 : n(/* @__PURE__ */ us(e, t, r));
|
|
}
|
|
function UD(e, t, n) {
|
|
const r = Oe(e) ? e : Vo(e);
|
|
return r.start(_h("", r, t, n)), r.animation;
|
|
}
|
|
function fs(e, t, n, r = { passive: !0 }) {
|
|
return e.addEventListener(t, n, r), () => e.removeEventListener(t, n);
|
|
}
|
|
const HD = (e, t) => e.depth - t.depth;
|
|
class KD {
|
|
constructor() {
|
|
this.children = [], this.isDirty = !1;
|
|
}
|
|
add(t) {
|
|
jh(this.children, t), this.isDirty = !0;
|
|
}
|
|
remove(t) {
|
|
Tl(this.children, t), this.isDirty = !0;
|
|
}
|
|
forEach(t) {
|
|
this.isDirty && this.children.sort(HD), this.isDirty = !1, this.children.forEach(t);
|
|
}
|
|
}
|
|
function XD(e, t) {
|
|
const n = Qe.now(), r = ({ timestamp: o }) => {
|
|
const i = o - n;
|
|
i >= t && (tr(r), e(i - t));
|
|
};
|
|
return ie.setup(r, !0), () => tr(r);
|
|
}
|
|
function Xa(e) {
|
|
return Oe(e) ? e.get() : e;
|
|
}
|
|
class qD {
|
|
constructor() {
|
|
this.members = [];
|
|
}
|
|
add(t) {
|
|
jh(this.members, t);
|
|
for (let n = this.members.length - 1; n >= 0; n--) {
|
|
const r = this.members[n];
|
|
if (r === t || r === this.lead || r === this.prevLead)
|
|
continue;
|
|
const o = r.instance;
|
|
(!o || o.isConnected === !1) && !r.snapshot && (Tl(this.members, r), r.unmount());
|
|
}
|
|
t.scheduleRender();
|
|
}
|
|
remove(t) {
|
|
if (Tl(this.members, t), t === this.prevLead && (this.prevLead = void 0), t === this.lead) {
|
|
const n = this.members[this.members.length - 1];
|
|
n && this.promote(n);
|
|
}
|
|
}
|
|
relegate(t) {
|
|
for (let n = this.members.indexOf(t) - 1; n >= 0; n--) {
|
|
const r = this.members[n];
|
|
if (r.isPresent !== !1 && r.instance?.isConnected !== !1)
|
|
return this.promote(r), !0;
|
|
}
|
|
return !1;
|
|
}
|
|
promote(t, n) {
|
|
const r = this.lead;
|
|
if (t !== r && (this.prevLead = r, this.lead = t, t.show(), r)) {
|
|
r.updateSnapshot(), t.scheduleRender();
|
|
const { layoutDependency: o } = r.options, { layoutDependency: i } = t.options;
|
|
(o === void 0 || o !== i) && (t.resumeFrom = r, n && (r.preserveOpacity = !0), r.snapshot && (t.snapshot = r.snapshot, t.snapshot.latestValues = r.animationValues || r.latestValues), t.root?.isUpdating && (t.isLayoutDirty = !0)), t.options.crossfade === !1 && r.hide();
|
|
}
|
|
}
|
|
exitAnimationComplete() {
|
|
this.members.forEach((t) => {
|
|
t.options.onExitComplete?.(), t.resumingFrom?.options.onExitComplete?.();
|
|
});
|
|
}
|
|
scheduleRender() {
|
|
this.members.forEach((t) => t.instance && t.scheduleRender(!1));
|
|
}
|
|
removeLeadSnapshot() {
|
|
this.lead?.snapshot && (this.lead.snapshot = void 0);
|
|
}
|
|
}
|
|
const qa = {
|
|
/**
|
|
* Global flag as to whether the tree has animated since the last time
|
|
* we resized the window
|
|
*/
|
|
hasAnimatedSinceResize: !0,
|
|
/**
|
|
* We set this to true once, on the first update. Any nodes added to the tree beyond that
|
|
* update will be given a `data-projection-id` attribute.
|
|
*/
|
|
hasEverUpdated: !1
|
|
}, Dc = ["", "X", "Y", "Z"], YD = 1e3;
|
|
let ZD = 0;
|
|
function Fc(e, t, n, r) {
|
|
const { latestValues: o } = t;
|
|
o[e] && (n[e] = o[e], t.setStaticValue(e, 0), r && (r[e] = 0));
|
|
}
|
|
function yb(e) {
|
|
if (e.hasCheckedOptimisedAppear = !0, e.root === e)
|
|
return;
|
|
const { visualElement: t } = e.options;
|
|
if (!t)
|
|
return;
|
|
const n = O1(t);
|
|
if (window.MotionHasOptimisedAnimation(n, "transform")) {
|
|
const { layout: o, layoutId: i } = e.options;
|
|
window.MotionCancelOptimisedAnimation(n, "transform", ie, !(o || i));
|
|
}
|
|
const { parent: r } = e;
|
|
r && !r.hasCheckedOptimisedAppear && yb(r);
|
|
}
|
|
function vb({ attachResizeListener: e, defaultParent: t, measureScroll: n, checkIsScrollRoot: r, resetTransform: o }) {
|
|
return class {
|
|
constructor(s = {}, a = t?.()) {
|
|
this.id = ZD++, this.animationId = 0, this.animationCommitId = 0, this.children = /* @__PURE__ */ new Set(), this.options = {}, this.isTreeAnimating = !1, this.isAnimationBlocked = !1, this.isLayoutDirty = !1, this.isProjectionDirty = !1, this.isSharedProjectionDirty = !1, this.isTransformDirty = !1, this.updateManuallyBlocked = !1, this.updateBlockedByResize = !1, this.isUpdating = !1, this.isSVG = !1, this.needsReset = !1, this.shouldResetTransform = !1, this.hasCheckedOptimisedAppear = !1, this.treeScale = { x: 1, y: 1 }, this.eventHandlers = /* @__PURE__ */ new Map(), this.hasTreeAnimated = !1, this.layoutVersion = 0, this.updateScheduled = !1, this.scheduleUpdate = () => this.update(), this.projectionUpdateScheduled = !1, this.checkUpdateFailed = () => {
|
|
this.isUpdating && (this.isUpdating = !1, this.clearAllSnapshots());
|
|
}, this.updateProjection = () => {
|
|
this.projectionUpdateScheduled = !1, this.nodes.forEach(JD), this.nodes.forEach(rF), this.nodes.forEach(oF), this.nodes.forEach(_D);
|
|
}, this.resolvedRelativeTargetAt = 0, this.linkedParentVersion = 0, this.hasProjected = !1, this.isVisible = !0, this.animationProgress = 0, this.sharedNodes = /* @__PURE__ */ new Map(), this.latestValues = s, this.root = a ? a.root || a : this, this.path = a ? [...a.path, a] : [], this.parent = a, this.depth = a ? a.depth + 1 : 0;
|
|
for (let l = 0; l < this.path.length; l++)
|
|
this.path[l].shouldResetTransform = !0;
|
|
this.root === this && (this.nodes = new KD());
|
|
}
|
|
addEventListener(s, a) {
|
|
return this.eventHandlers.has(s) || this.eventHandlers.set(s, new Wh()), this.eventHandlers.get(s).add(a);
|
|
}
|
|
notifyListeners(s, ...a) {
|
|
const l = this.eventHandlers.get(s);
|
|
l && l.notify(...a);
|
|
}
|
|
hasListeners(s) {
|
|
return this.eventHandlers.has(s);
|
|
}
|
|
/**
|
|
* Lifecycles
|
|
*/
|
|
mount(s) {
|
|
if (this.instance)
|
|
return;
|
|
this.isSVG = rp(s) && !Q3(s), this.instance = s;
|
|
const { layoutId: a, layout: l, visualElement: u } = this.options;
|
|
if (u && !u.current && u.mount(s), this.root.nodes.add(this), this.parent && this.parent.children.add(this), this.root.hasTreeAnimated && (l || a) && (this.isLayoutDirty = !0), e) {
|
|
let c, d = 0;
|
|
const f = () => this.root.updateBlockedByResize = !1;
|
|
ie.read(() => {
|
|
d = window.innerWidth;
|
|
}), e(s, () => {
|
|
const y = window.innerWidth;
|
|
y !== d && (d = y, this.root.updateBlockedByResize = !0, c && c(), c = XD(f, 250), qa.hasAnimatedSinceResize && (qa.hasAnimatedSinceResize = !1, this.nodes.forEach(Sy)));
|
|
});
|
|
}
|
|
a && this.root.registerSharedNode(a, this), this.options.animate !== !1 && u && (a || l) && this.addEventListener("didUpdate", ({ delta: c, hasLayoutChanged: d, hasRelativeLayoutChanged: f, layout: y }) => {
|
|
if (this.isTreeAnimationBlocked()) {
|
|
this.target = void 0, this.relativeTarget = void 0;
|
|
return;
|
|
}
|
|
const v = this.options.transition || u.getDefaultTransition() || uF, { onLayoutAnimationStart: S, onLayoutAnimationComplete: k } = u.getProps(), p = !this.targetLayout || !pb(this.targetLayout, y), h = !d && f;
|
|
if (this.options.layoutRoot || this.resumeFrom || h || d && (p || !this.currentAnimation)) {
|
|
this.resumeFrom && (this.resumingFrom = this.resumeFrom, this.resumingFrom.resumingFrom = void 0);
|
|
const g = {
|
|
...Jh(v, "layout"),
|
|
onPlay: S,
|
|
onComplete: k
|
|
};
|
|
(u.shouldReduceMotion || this.options.layoutRoot) && (g.delay = 0, g.type = !1), this.startAnimation(g), this.setAnimationOrigin(c, h, g.path);
|
|
} else
|
|
d || Sy(this), this.isLead() && this.options.onExitComplete && this.options.onExitComplete();
|
|
this.targetLayout = y;
|
|
});
|
|
}
|
|
unmount() {
|
|
this.options.layoutId && this.willUpdate(), this.root.nodes.remove(this);
|
|
const s = this.getStack();
|
|
s && s.remove(this), this.parent && this.parent.children.delete(this), this.instance = void 0, this.eventHandlers.clear(), tr(this.updateProjection);
|
|
}
|
|
// only on the root
|
|
blockUpdate() {
|
|
this.updateManuallyBlocked = !0;
|
|
}
|
|
unblockUpdate() {
|
|
this.updateManuallyBlocked = !1;
|
|
}
|
|
isUpdateBlocked() {
|
|
return this.updateManuallyBlocked || this.updateBlockedByResize;
|
|
}
|
|
isTreeAnimationBlocked() {
|
|
return this.isAnimationBlocked || this.parent && this.parent.isTreeAnimationBlocked() || !1;
|
|
}
|
|
// Note: currently only running on root node
|
|
startUpdate() {
|
|
this.isUpdateBlocked() || (this.isUpdating = !0, this.nodes && this.nodes.forEach(iF), this.animationId++);
|
|
}
|
|
getTransformTemplate() {
|
|
const { visualElement: s } = this.options;
|
|
return s && s.getProps().transformTemplate;
|
|
}
|
|
willUpdate(s = !0) {
|
|
if (this.root.hasTreeAnimated = !0, this.root.isUpdateBlocked()) {
|
|
this.options.onExitComplete && this.options.onExitComplete();
|
|
return;
|
|
}
|
|
if (window.MotionCancelOptimisedAnimation && !this.hasCheckedOptimisedAppear && yb(this), !this.root.isUpdating && this.root.startUpdate(), this.isLayoutDirty)
|
|
return;
|
|
this.isLayoutDirty = !0;
|
|
for (let c = 0; c < this.path.length; c++) {
|
|
const d = this.path[c];
|
|
d.shouldResetTransform = !0, (typeof d.latestValues.x == "string" || typeof d.latestValues.y == "string") && (d.isLayoutDirty = !0), d.updateScroll("snapshot"), d.options.layoutRoot && d.willUpdate(!1);
|
|
}
|
|
const { layoutId: a, layout: l } = this.options;
|
|
if (a === void 0 && !l)
|
|
return;
|
|
const u = this.getTransformTemplate();
|
|
this.prevTransformTemplateValue = u ? u(this.latestValues, "") : void 0, this.updateSnapshot(), s && this.notifyListeners("willUpdate");
|
|
}
|
|
update() {
|
|
if (this.updateScheduled = !1, this.isUpdateBlocked()) {
|
|
const l = this.updateBlockedByResize;
|
|
this.unblockUpdate(), this.updateBlockedByResize = !1, this.clearAllSnapshots(), l && this.nodes.forEach(eF), this.nodes.forEach(yy);
|
|
return;
|
|
}
|
|
if (this.animationId <= this.animationCommitId) {
|
|
this.nodes.forEach(vy);
|
|
return;
|
|
}
|
|
this.animationCommitId = this.animationId, this.isUpdating ? (this.isUpdating = !1, this.nodes.forEach(tF), this.nodes.forEach(nF), this.nodes.forEach(GD), this.nodes.forEach(QD)) : this.nodes.forEach(vy), this.clearAllSnapshots();
|
|
const a = Qe.now();
|
|
Ve.delta = fn(0, 1e3 / 60, a - Ve.timestamp), Ve.timestamp = a, Ve.isProcessing = !0, Cc.update.process(Ve), Cc.preRender.process(Ve), Cc.render.process(Ve), Ve.isProcessing = !1;
|
|
}
|
|
didUpdate() {
|
|
this.updateScheduled || (this.updateScheduled = !0, tp.read(this.scheduleUpdate));
|
|
}
|
|
clearAllSnapshots() {
|
|
this.nodes.forEach($D), this.sharedNodes.forEach(sF);
|
|
}
|
|
scheduleUpdateProjection() {
|
|
this.projectionUpdateScheduled || (this.projectionUpdateScheduled = !0, ie.preRender(this.updateProjection, !1, !0));
|
|
}
|
|
scheduleCheckAfterUnmount() {
|
|
ie.postRender(() => {
|
|
this.isLayoutDirty ? this.root.didUpdate() : this.root.checkUpdateFailed();
|
|
});
|
|
}
|
|
/**
|
|
* Update measurements
|
|
*/
|
|
updateSnapshot() {
|
|
this.snapshot || !this.instance || (this.snapshot = this.measure(), this.snapshot && !Je(this.snapshot.measuredBox.x) && !Je(this.snapshot.measuredBox.y) && (this.snapshot = void 0));
|
|
}
|
|
updateLayout() {
|
|
if (!this.instance || (this.updateScroll(), !(this.options.alwaysMeasureLayout && this.isLead()) && !this.isLayoutDirty))
|
|
return;
|
|
if (this.resumeFrom && !this.resumeFrom.instance)
|
|
for (let l = 0; l < this.path.length; l++)
|
|
this.path[l].updateScroll();
|
|
const s = this.layout;
|
|
this.layout = this.measure(!1), this.layoutVersion++, this.layoutCorrected || (this.layoutCorrected = Pe()), this.isLayoutDirty = !1, this.projectionDelta = void 0, this.notifyListeners("measure", this.layout.layoutBox);
|
|
const { visualElement: a } = this.options;
|
|
a && a.notify("LayoutMeasure", this.layout.layoutBox, s ? s.layoutBox : void 0);
|
|
}
|
|
updateScroll(s = "measure") {
|
|
let a = !!(this.options.layoutScroll && this.instance);
|
|
if (this.scroll && this.scroll.animationId === this.root.animationId && this.scroll.phase === s && (a = !1), a && this.instance) {
|
|
const l = r(this.instance);
|
|
this.scroll = {
|
|
animationId: this.root.animationId,
|
|
phase: s,
|
|
isRoot: l,
|
|
offset: n(this.instance),
|
|
wasRoot: this.scroll ? this.scroll.isRoot : l
|
|
};
|
|
}
|
|
}
|
|
resetTransform() {
|
|
if (!o)
|
|
return;
|
|
const s = this.isLayoutDirty || this.shouldResetTransform || this.options.alwaysMeasureLayout, a = this.projectionDelta && !hb(this.projectionDelta), l = this.getTransformTemplate(), u = l ? l(this.latestValues, "") : void 0, c = u !== this.prevTransformTemplateValue;
|
|
s && this.instance && (a || hr(this.latestValues) || c) && (o(this.instance, u), this.shouldResetTransform = !1, this.scheduleRender());
|
|
}
|
|
measure(s = !0) {
|
|
const a = this.measurePageBox();
|
|
let l = this.removeElementScroll(a);
|
|
return s && (l = this.removeTransform(l)), cF(l), {
|
|
animationId: this.root.animationId,
|
|
measuredBox: a,
|
|
layoutBox: l,
|
|
latestValues: {},
|
|
source: this.id
|
|
};
|
|
}
|
|
measurePageBox() {
|
|
const { visualElement: s } = this.options;
|
|
if (!s)
|
|
return Pe();
|
|
const a = s.measureViewportBox();
|
|
if (!(this.scroll?.wasRoot || this.path.some(dF))) {
|
|
const { scroll: u } = this.root;
|
|
u && (rn(a.x, u.offset.x), rn(a.y, u.offset.y));
|
|
}
|
|
return a;
|
|
}
|
|
removeElementScroll(s) {
|
|
const a = Pe();
|
|
if (Ot(a, s), this.scroll?.wasRoot)
|
|
return a;
|
|
for (let l = 0; l < this.path.length; l++) {
|
|
const u = this.path[l], { scroll: c, options: d } = u;
|
|
u !== this.root && c && d.layoutScroll && (c.wasRoot && Ot(a, s), rn(a.x, c.offset.x), rn(a.y, c.offset.y));
|
|
}
|
|
return a;
|
|
}
|
|
applyTransform(s, a = !1, l) {
|
|
const u = l || Pe();
|
|
Ot(u, s);
|
|
for (let c = 0; c < this.path.length; c++) {
|
|
const d = this.path[c];
|
|
!a && d.options.layoutScroll && d.scroll && d !== d.root && (rn(u.x, -d.scroll.offset.x), rn(u.y, -d.scroll.offset.y)), hr(d.latestValues) && Ka(u, d.latestValues, d.layout?.layoutBox);
|
|
}
|
|
return hr(this.latestValues) && Ka(u, this.latestValues, this.layout?.layoutBox), u;
|
|
}
|
|
removeTransform(s) {
|
|
const a = Pe();
|
|
Ot(a, s);
|
|
for (let l = 0; l < this.path.length; l++) {
|
|
const u = this.path[l];
|
|
if (!hr(u.latestValues))
|
|
continue;
|
|
let c;
|
|
u.instance && (pf(u.latestValues) && u.updateSnapshot(), c = Pe(), Ot(c, u.measurePageBox())), ly(a, u.latestValues, u.snapshot?.layoutBox, c);
|
|
}
|
|
return hr(this.latestValues) && ly(a, this.latestValues), a;
|
|
}
|
|
setTargetDelta(s) {
|
|
this.targetDelta = s, this.root.scheduleUpdateProjection(), this.isProjectionDirty = !0;
|
|
}
|
|
setOptions(s) {
|
|
this.options = {
|
|
...this.options,
|
|
...s,
|
|
crossfade: s.crossfade !== void 0 ? s.crossfade : !0
|
|
};
|
|
}
|
|
clearMeasurements() {
|
|
this.scroll = void 0, this.layout = void 0, this.snapshot = void 0, this.prevTransformTemplateValue = void 0, this.targetDelta = void 0, this.target = void 0, this.isLayoutDirty = !1;
|
|
}
|
|
forceRelativeParentToResolveTarget() {
|
|
this.relativeParent && this.relativeParent.resolvedRelativeTargetAt !== Ve.timestamp && this.relativeParent.resolveTargetDelta(!0);
|
|
}
|
|
resolveTargetDelta(s = !1) {
|
|
const a = this.getLead();
|
|
this.isProjectionDirty || (this.isProjectionDirty = a.isProjectionDirty), this.isTransformDirty || (this.isTransformDirty = a.isTransformDirty), this.isSharedProjectionDirty || (this.isSharedProjectionDirty = a.isSharedProjectionDirty);
|
|
const l = !!this.resumingFrom || this !== a;
|
|
if (!(s || l && this.isSharedProjectionDirty || this.isProjectionDirty || this.parent?.isProjectionDirty || this.attemptToResolveRelativeTarget || this.root.updateBlockedByResize))
|
|
return;
|
|
const { layout: c, layoutId: d } = this.options;
|
|
if (!this.layout || !(c || d))
|
|
return;
|
|
this.resolvedRelativeTargetAt = Ve.timestamp;
|
|
const f = this.getClosestProjectingParent();
|
|
f && this.linkedParentVersion !== f.layoutVersion && !f.options.layoutRoot && this.removeRelativeTarget(), !this.targetDelta && !this.relativeTarget && (this.options.layoutAnchor !== !1 && f && f.layout ? this.createRelativeTarget(f, this.layout.layoutBox, f.layout.layoutBox) : this.removeRelativeTarget()), !(!this.relativeTarget && !this.targetDelta) && (this.target || (this.target = Pe(), this.targetWithTransforms = Pe()), this.relativeTarget && this.relativeTargetOrigin && this.relativeParent && this.relativeParent.target ? (this.forceRelativeParentToResolveTarget(), DD(this.target, this.relativeTarget, this.relativeParent.target, this.options.layoutAnchor || void 0)) : this.targetDelta ? (this.resumingFrom ? this.applyTransform(this.layout.layoutBox, !1, this.target) : Ot(this.target, this.layout.layoutBox), tb(this.target, this.targetDelta)) : Ot(this.target, this.layout.layoutBox), this.attemptToResolveRelativeTarget && (this.attemptToResolveRelativeTarget = !1, this.options.layoutAnchor !== !1 && f && !!f.resumingFrom == !!this.resumingFrom && !f.options.layoutScroll && f.target && this.animationProgress !== 1 ? this.createRelativeTarget(f, this.target, f.target) : this.relativeParent = this.relativeTarget = void 0));
|
|
}
|
|
getClosestProjectingParent() {
|
|
if (!(!this.parent || pf(this.parent.latestValues) || eb(this.parent.latestValues)))
|
|
return this.parent.isProjecting() ? this.parent : this.parent.getClosestProjectingParent();
|
|
}
|
|
isProjecting() {
|
|
return !!((this.relativeTarget || this.targetDelta || this.options.layoutRoot) && this.layout);
|
|
}
|
|
createRelativeTarget(s, a, l) {
|
|
this.relativeParent = s, this.linkedParentVersion = s.layoutVersion, this.forceRelativeParentToResolveTarget(), this.relativeTarget = Pe(), this.relativeTargetOrigin = Pe(), Fl(this.relativeTargetOrigin, a, l, this.options.layoutAnchor || void 0), Ot(this.relativeTarget, this.relativeTargetOrigin);
|
|
}
|
|
removeRelativeTarget() {
|
|
this.relativeParent = this.relativeTarget = void 0;
|
|
}
|
|
calcProjection() {
|
|
const s = this.getLead(), a = !!this.resumingFrom || this !== s;
|
|
let l = !0;
|
|
if ((this.isProjectionDirty || this.parent?.isProjectionDirty) && (l = !1), a && (this.isSharedProjectionDirty || this.isTransformDirty) && (l = !1), this.resolvedRelativeTargetAt === Ve.timestamp && (l = !1), l)
|
|
return;
|
|
const { layout: u, layoutId: c } = this.options;
|
|
if (this.isTreeAnimating = !!(this.parent && this.parent.isTreeAnimating || this.currentAnimation || this.pendingAnimation), this.isTreeAnimating || (this.targetDelta = this.relativeTarget = void 0), !this.layout || !(u || c))
|
|
return;
|
|
Ot(this.layoutCorrected, this.layout.layoutBox);
|
|
const d = this.treeScale.x, f = this.treeScale.y;
|
|
aD(this.layoutCorrected, this.treeScale, this.path, a), s.layout && !s.target && (this.treeScale.x !== 1 || this.treeScale.y !== 1) && (s.target = s.layout.layoutBox, s.targetWithTransforms = Pe());
|
|
const { target: y } = s;
|
|
if (!y) {
|
|
this.prevProjectionDelta && (this.createProjectionDeltas(), this.scheduleRender());
|
|
return;
|
|
}
|
|
!this.projectionDelta || !this.prevProjectionDelta ? this.createProjectionDeltas() : (ny(this.prevProjectionDelta.x, this.projectionDelta.x), ny(this.prevProjectionDelta.y, this.projectionDelta.y)), Ii(this.projectionDelta, this.layoutCorrected, y, this.latestValues), (this.treeScale.x !== d || this.treeScale.y !== f || !hy(this.projectionDelta.x, this.prevProjectionDelta.x) || !hy(this.projectionDelta.y, this.prevProjectionDelta.y)) && (this.hasProjected = !0, this.scheduleRender(), this.notifyListeners("projectionUpdate", y));
|
|
}
|
|
hide() {
|
|
this.isVisible = !1;
|
|
}
|
|
show() {
|
|
this.isVisible = !0;
|
|
}
|
|
scheduleRender(s = !0) {
|
|
if (this.options.visualElement?.scheduleRender(), s) {
|
|
const a = this.getStack();
|
|
a && a.scheduleRender();
|
|
}
|
|
this.resumingFrom && !this.resumingFrom.instance && (this.resumingFrom = void 0);
|
|
}
|
|
createProjectionDeltas() {
|
|
this.prevProjectionDelta = fo(), this.projectionDelta = fo(), this.projectionDeltaWithTransform = fo();
|
|
}
|
|
setAnimationOrigin(s, a = !1, l) {
|
|
const u = this.snapshot, c = u ? u.latestValues : {}, d = { ...this.latestValues }, f = fo();
|
|
(!this.relativeParent || !this.relativeParent.options.layoutRoot) && (this.relativeTarget = this.relativeTargetOrigin = void 0), this.attemptToResolveRelativeTarget = !a;
|
|
const y = Pe(), v = u ? u.source : void 0, S = this.layout ? this.layout.source : void 0, k = v !== S, p = this.getStack(), h = !p || p.members.length <= 1, g = !!(k && !h && this.options.crossfade === !0 && !this.path.some(lF));
|
|
this.animationProgress = 0;
|
|
let w;
|
|
const P = l?.interpolateProjection(s);
|
|
this.mixTargetDelta = (A) => {
|
|
const E = A / 1e3, z = P?.(E);
|
|
z ? (f.x.translate = z.x, f.x.scale = oe(s.x.scale, 1, E), f.x.origin = s.x.origin, f.x.originPoint = s.x.originPoint, f.y.translate = z.y, f.y.scale = oe(s.y.scale, 1, E), f.y.origin = s.y.origin, f.y.originPoint = s.y.originPoint) : (by(f.x, s.x, E), by(f.y, s.y, E)), this.setTargetDelta(f), this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout && (Fl(y, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0), aF(this.relativeTarget, this.relativeTargetOrigin, y, E), w && VD(this.relativeTarget, w) && (this.isProjectionDirty = !1), w || (w = Pe()), Ot(w, this.relativeTarget)), k && (this.animationValues = d, ND(d, c, this.latestValues, E, g, h)), z && z.rotate !== void 0 && (this.animationValues || (this.animationValues = d), this.animationValues.pathRotation = z.rotate), this.root.scheduleUpdateProjection(), this.scheduleRender(), this.animationProgress = E;
|
|
}, this.mixTargetDelta(this.options.layoutRoot ? 1e3 : 0);
|
|
}
|
|
startAnimation(s) {
|
|
this.notifyListeners("animationStart"), this.currentAnimation?.stop(), this.resumingFrom?.currentAnimation?.stop(), this.pendingAnimation && (tr(this.pendingAnimation), this.pendingAnimation = void 0), this.pendingAnimation = ie.update(() => {
|
|
qa.hasAnimatedSinceResize = !0, this.motionValue || (this.motionValue = Vo(0)), this.motionValue.jump(0, !1), this.currentAnimation = UD(this.motionValue, [0, 1e3], {
|
|
...s,
|
|
velocity: 0,
|
|
isSync: !0,
|
|
onUpdate: (a) => {
|
|
this.mixTargetDelta(a), s.onUpdate && s.onUpdate(a);
|
|
},
|
|
onStop: () => {
|
|
},
|
|
onComplete: () => {
|
|
s.onComplete && s.onComplete(), this.completeAnimation();
|
|
}
|
|
}), this.resumingFrom && (this.resumingFrom.currentAnimation = this.currentAnimation), this.pendingAnimation = void 0;
|
|
});
|
|
}
|
|
completeAnimation() {
|
|
this.resumingFrom && (this.resumingFrom.currentAnimation = void 0, this.resumingFrom.preserveOpacity = void 0);
|
|
const s = this.getStack();
|
|
s && s.exitAnimationComplete(), this.resumingFrom = this.currentAnimation = this.animationValues = void 0, this.notifyListeners("animationComplete");
|
|
}
|
|
finishAnimation() {
|
|
this.currentAnimation && (this.mixTargetDelta && this.mixTargetDelta(YD), this.currentAnimation.stop()), this.completeAnimation();
|
|
}
|
|
applyTransformsToTarget() {
|
|
const s = this.getLead();
|
|
let { targetWithTransforms: a, target: l, layout: u, latestValues: c } = s;
|
|
if (!(!a || !l || !u)) {
|
|
if (this !== s && this.layout && u && Sb(this.options.animationType, this.layout.layoutBox, u.layoutBox)) {
|
|
l = this.target || Pe();
|
|
const d = Je(this.layout.layoutBox.x);
|
|
l.x.min = s.target.x.min, l.x.max = l.x.min + d;
|
|
const f = Je(this.layout.layoutBox.y);
|
|
l.y.min = s.target.y.min, l.y.max = l.y.min + f;
|
|
}
|
|
Ot(a, l), Ka(a, c), Ii(this.projectionDeltaWithTransform, this.layoutCorrected, a, c);
|
|
}
|
|
}
|
|
registerSharedNode(s, a) {
|
|
this.sharedNodes.has(s) || this.sharedNodes.set(s, new qD()), this.sharedNodes.get(s).add(a);
|
|
const u = a.options.initialPromotionConfig;
|
|
a.promote({
|
|
transition: u ? u.transition : void 0,
|
|
preserveFollowOpacity: u && u.shouldPreserveFollowOpacity ? u.shouldPreserveFollowOpacity(a) : void 0
|
|
});
|
|
}
|
|
isLead() {
|
|
const s = this.getStack();
|
|
return s ? s.lead === this : !0;
|
|
}
|
|
getLead() {
|
|
const { layoutId: s } = this.options;
|
|
return s ? this.getStack()?.lead || this : this;
|
|
}
|
|
getPrevLead() {
|
|
const { layoutId: s } = this.options;
|
|
return s ? this.getStack()?.prevLead : void 0;
|
|
}
|
|
getStack() {
|
|
const { layoutId: s } = this.options;
|
|
if (s)
|
|
return this.root.sharedNodes.get(s);
|
|
}
|
|
promote({ needsReset: s, transition: a, preserveFollowOpacity: l } = {}) {
|
|
const u = this.getStack();
|
|
u && u.promote(this, l), s && (this.projectionDelta = void 0, this.needsReset = !0), a && this.setOptions({ transition: a });
|
|
}
|
|
relegate() {
|
|
const s = this.getStack();
|
|
return s ? s.relegate(this) : !1;
|
|
}
|
|
resetSkewAndRotation() {
|
|
const { visualElement: s } = this.options;
|
|
if (!s)
|
|
return;
|
|
let a = !1;
|
|
const { latestValues: l } = s;
|
|
if ((l.z || l.rotate || l.rotateX || l.rotateY || l.rotateZ || l.skewX || l.skewY) && (a = !0), !a)
|
|
return;
|
|
const u = {};
|
|
l.z && Fc("z", s, u, this.animationValues);
|
|
for (let c = 0; c < Dc.length; c++)
|
|
Fc(`rotate${Dc[c]}`, s, u, this.animationValues), Fc(`skew${Dc[c]}`, s, u, this.animationValues);
|
|
s.render();
|
|
for (const c in u)
|
|
s.setStaticValue(c, u[c]), this.animationValues && (this.animationValues[c] = u[c]);
|
|
s.scheduleRender();
|
|
}
|
|
applyProjectionStyles(s, a) {
|
|
if (!this.instance || this.isSVG)
|
|
return;
|
|
if (!this.isVisible) {
|
|
s.visibility = "hidden";
|
|
return;
|
|
}
|
|
const l = this.getTransformTemplate();
|
|
if (this.needsReset) {
|
|
this.needsReset = !1, s.visibility = "", s.opacity = "", s.pointerEvents = Xa(a?.pointerEvents) || "", s.transform = l ? l(this.latestValues, "") : "none";
|
|
return;
|
|
}
|
|
const u = this.getLead();
|
|
if (!this.projectionDelta || !this.layout || !u.target) {
|
|
this.options.layoutId && (s.opacity = this.latestValues.opacity !== void 0 ? this.latestValues.opacity : 1, s.pointerEvents = Xa(a?.pointerEvents) || ""), this.hasProjected && !hr(this.latestValues) && (s.transform = l ? l({}, "") : "none", this.hasProjected = !1);
|
|
return;
|
|
}
|
|
s.visibility = "";
|
|
const c = u.animationValues || u.latestValues;
|
|
this.applyTransformsToTarget();
|
|
let d = ID(this.projectionDeltaWithTransform, this.treeScale, c);
|
|
l && (d = l(c, d)), s.transform = d;
|
|
const { x: f, y } = this.projectionDelta;
|
|
s.transformOrigin = `${f.origin * 100}% ${y.origin * 100}% 0`, u.animationValues ? s.opacity = u === this ? c.opacity ?? this.latestValues.opacity ?? 1 : this.preserveOpacity ? this.latestValues.opacity : c.opacityExit : s.opacity = u === this ? c.opacity !== void 0 ? c.opacity : "" : c.opacityExit !== void 0 ? c.opacityExit : 0;
|
|
for (const v in gf) {
|
|
if (c[v] === void 0)
|
|
continue;
|
|
const { correct: S, applyTo: k, isCSSVariable: p } = gf[v], h = d === "none" ? c[v] : S(c[v], u);
|
|
if (k) {
|
|
const g = k.length;
|
|
for (let w = 0; w < g; w++)
|
|
s[k[w]] = h;
|
|
} else
|
|
p ? this.options.visualElement.renderState.vars[v] = h : s[v] = h;
|
|
}
|
|
this.options.layoutId && (s.pointerEvents = u === this ? Xa(a?.pointerEvents) || "" : "none");
|
|
}
|
|
clearSnapshot() {
|
|
this.resumeFrom = this.snapshot = void 0;
|
|
}
|
|
// Only run on root
|
|
resetTree() {
|
|
this.root.nodes.forEach((s) => s.currentAnimation?.stop()), this.root.nodes.forEach(yy), this.root.sharedNodes.clear();
|
|
}
|
|
};
|
|
}
|
|
function GD(e) {
|
|
e.updateLayout();
|
|
}
|
|
function QD(e) {
|
|
const t = e.resumeFrom?.snapshot || e.snapshot;
|
|
if (e.isLead() && e.layout && t && e.hasListeners("didUpdate")) {
|
|
const { layoutBox: n, measuredBox: r } = e.layout, { animationType: o } = e.options, i = t.source !== e.layout.source;
|
|
if (o === "size")
|
|
$t((c) => {
|
|
const d = i ? t.measuredBox[c] : t.layoutBox[c], f = Je(d);
|
|
d.min = n[c].min, d.max = d.min + f;
|
|
});
|
|
else if (o === "x" || o === "y") {
|
|
const c = o === "x" ? "y" : "x";
|
|
yf(i ? t.measuredBox[c] : t.layoutBox[c], n[c]);
|
|
} else Sb(o, t.layoutBox, n) && $t((c) => {
|
|
const d = i ? t.measuredBox[c] : t.layoutBox[c], f = Je(n[c]);
|
|
d.max = d.min + f, e.relativeTarget && !e.currentAnimation && (e.isProjectionDirty = !0, e.relativeTarget[c].max = e.relativeTarget[c].min + f);
|
|
});
|
|
const s = fo();
|
|
Ii(s, n, t.layoutBox);
|
|
const a = fo();
|
|
i ? Ii(a, e.applyTransform(r, !0), t.measuredBox) : Ii(a, n, t.layoutBox);
|
|
const l = !hb(s);
|
|
let u = !1;
|
|
if (!e.resumeFrom) {
|
|
const c = e.getClosestProjectingParent();
|
|
if (c && !c.resumeFrom) {
|
|
const { snapshot: d, layout: f } = c;
|
|
if (d && f) {
|
|
const y = e.options.layoutAnchor || void 0, v = Pe();
|
|
Fl(v, t.layoutBox, d.layoutBox, y);
|
|
const S = Pe();
|
|
Fl(S, n, f.layoutBox, y), pb(v, S) || (u = !0), c.options.layoutRoot && (e.relativeTarget = S, e.relativeTargetOrigin = v, e.relativeParent = c);
|
|
}
|
|
}
|
|
}
|
|
e.notifyListeners("didUpdate", {
|
|
layout: n,
|
|
snapshot: t,
|
|
delta: a,
|
|
layoutDelta: s,
|
|
hasLayoutChanged: l,
|
|
hasRelativeLayoutChanged: u
|
|
});
|
|
} else if (e.isLead()) {
|
|
const { onExitComplete: n } = e.options;
|
|
n && n();
|
|
}
|
|
e.options.transition = void 0;
|
|
}
|
|
function JD(e) {
|
|
e.parent && (e.isProjecting() || (e.isProjectionDirty = e.parent.isProjectionDirty), e.isSharedProjectionDirty || (e.isSharedProjectionDirty = !!(e.isProjectionDirty || e.parent.isProjectionDirty || e.parent.isSharedProjectionDirty)), e.isTransformDirty || (e.isTransformDirty = e.parent.isTransformDirty));
|
|
}
|
|
function _D(e) {
|
|
e.isProjectionDirty = e.isSharedProjectionDirty = e.isTransformDirty = !1;
|
|
}
|
|
function $D(e) {
|
|
e.clearSnapshot();
|
|
}
|
|
function yy(e) {
|
|
e.clearMeasurements();
|
|
}
|
|
function eF(e) {
|
|
e.isLayoutDirty = !0, e.updateLayout();
|
|
}
|
|
function vy(e) {
|
|
e.isLayoutDirty = !1;
|
|
}
|
|
function tF(e) {
|
|
e.isAnimationBlocked && e.layout && !e.isLayoutDirty && (e.snapshot = e.layout, e.isLayoutDirty = !0);
|
|
}
|
|
function nF(e) {
|
|
const { visualElement: t } = e.options;
|
|
t && t.getProps().onBeforeLayoutMeasure && t.notify("BeforeLayoutMeasure"), e.resetTransform();
|
|
}
|
|
function Sy(e) {
|
|
e.finishAnimation(), e.targetDelta = e.relativeTarget = e.target = void 0, e.isProjectionDirty = !0;
|
|
}
|
|
function rF(e) {
|
|
e.resolveTargetDelta();
|
|
}
|
|
function oF(e) {
|
|
e.calcProjection();
|
|
}
|
|
function iF(e) {
|
|
e.resetSkewAndRotation();
|
|
}
|
|
function sF(e) {
|
|
e.removeLeadSnapshot();
|
|
}
|
|
function by(e, t, n) {
|
|
e.translate = oe(t.translate, 0, n), e.scale = oe(t.scale, 1, n), e.origin = t.origin, e.originPoint = t.originPoint;
|
|
}
|
|
function xy(e, t, n, r) {
|
|
e.min = oe(t.min, n.min, r), e.max = oe(t.max, n.max, r);
|
|
}
|
|
function aF(e, t, n, r) {
|
|
xy(e.x, t.x, n.x, r), xy(e.y, t.y, n.y, r);
|
|
}
|
|
function lF(e) {
|
|
return e.animationValues && e.animationValues.opacityExit !== void 0;
|
|
}
|
|
const uF = {
|
|
duration: 0.45,
|
|
ease: [0.4, 0, 0.1, 1]
|
|
}, wy = (e) => typeof navigator < "u" && navigator.userAgent && navigator.userAgent.toLowerCase().includes(e), ky = wy("applewebkit/") && !wy("chrome/") ? Math.round : Rt;
|
|
function Cy(e) {
|
|
e.min = ky(e.min), e.max = ky(e.max);
|
|
}
|
|
function cF(e) {
|
|
Cy(e.x), Cy(e.y);
|
|
}
|
|
function Sb(e, t, n) {
|
|
return e === "position" || e === "preserve-aspect" && !RD(fy(t), fy(n), 0.2);
|
|
}
|
|
function dF(e) {
|
|
return e !== e.root && e.scroll?.wasRoot;
|
|
}
|
|
const fF = vb({
|
|
attachResizeListener: (e, t) => fs(e, "resize", t),
|
|
measureScroll: () => ({
|
|
x: document.documentElement.scrollLeft || document.body?.scrollLeft || 0,
|
|
y: document.documentElement.scrollTop || document.body?.scrollTop || 0
|
|
}),
|
|
checkIsScrollRoot: () => !0
|
|
}), Lc = {
|
|
current: void 0
|
|
}, bb = vb({
|
|
measureScroll: (e) => ({
|
|
x: e.scrollLeft,
|
|
y: e.scrollTop
|
|
}),
|
|
defaultParent: () => {
|
|
if (!Lc.current) {
|
|
const e = new fF({});
|
|
e.mount(window), e.setOptions({ layoutScroll: !0 }), Lc.current = e;
|
|
}
|
|
return Lc.current;
|
|
},
|
|
resetTransform: (e, t) => {
|
|
e.style.transform = t !== void 0 ? t : "none";
|
|
},
|
|
checkIsScrollRoot: (e) => window.getComputedStyle(e).position === "fixed"
|
|
}), lp = C.createContext({
|
|
transformPagePoint: (e) => e,
|
|
isStatic: !1,
|
|
reducedMotion: "never"
|
|
});
|
|
function Ty(e, t) {
|
|
if (typeof e == "function")
|
|
return e(t);
|
|
e != null && (e.current = t);
|
|
}
|
|
function hF(...e) {
|
|
return (t) => {
|
|
let n = !1;
|
|
const r = e.map((o) => {
|
|
const i = Ty(o, t);
|
|
return !n && typeof i == "function" && (n = !0), i;
|
|
});
|
|
if (n)
|
|
return () => {
|
|
for (let o = 0; o < r.length; o++) {
|
|
const i = r[o];
|
|
typeof i == "function" ? i() : Ty(e[o], null);
|
|
}
|
|
};
|
|
};
|
|
}
|
|
function pF(...e) {
|
|
return C.useCallback(hF(...e), e);
|
|
}
|
|
class mF extends C.Component {
|
|
getSnapshotBeforeUpdate(t) {
|
|
const n = this.props.childRef.current;
|
|
if (Na(n) && t.isPresent && !this.props.isPresent && this.props.pop !== !1) {
|
|
const r = n.offsetParent, o = Na(r) && r.offsetWidth || 0, i = Na(r) && r.offsetHeight || 0, s = getComputedStyle(n), a = this.props.sizeRef.current;
|
|
a.height = parseFloat(s.height), a.width = parseFloat(s.width), a.top = n.offsetTop, a.left = n.offsetLeft, a.right = o - a.width - a.left, a.bottom = i - a.height - a.top, a.direction = s.direction;
|
|
}
|
|
return null;
|
|
}
|
|
/**
|
|
* Required with getSnapshotBeforeUpdate to stop React complaining.
|
|
*/
|
|
componentDidUpdate() {
|
|
}
|
|
render() {
|
|
return this.props.children;
|
|
}
|
|
}
|
|
function gF({ children: e, isPresent: t, anchorX: n, anchorY: r, root: o, pop: i }) {
|
|
const s = C.useId(), a = C.useRef(null), l = C.useRef({
|
|
width: 0,
|
|
height: 0,
|
|
top: 0,
|
|
left: 0,
|
|
right: 0,
|
|
bottom: 0,
|
|
direction: "ltr"
|
|
}), { nonce: u } = C.useContext(lp), c = e.props?.ref ?? e?.ref, d = pF(a, c);
|
|
return C.useInsertionEffect(() => {
|
|
const { width: f, height: y, top: v, left: S, right: k, bottom: p, direction: h } = l.current;
|
|
if (t || i === !1 || !a.current || !f || !y)
|
|
return;
|
|
const g = h === "rtl", w = n === "left" ? g ? `right: ${k}` : `left: ${S}` : g ? `left: ${S}` : `right: ${k}`, P = r === "bottom" ? `bottom: ${p}` : `top: ${v}`;
|
|
a.current.dataset.motionPopId = s;
|
|
const A = document.createElement("style");
|
|
u && (A.nonce = u);
|
|
const E = o ?? document.head;
|
|
return E.appendChild(A), A.sheet && A.sheet.insertRule(`
|
|
[data-motion-pop-id="${s}"] {
|
|
position: absolute !important;
|
|
width: ${f}px !important;
|
|
height: ${y}px !important;
|
|
${w}px !important;
|
|
${P}px !important;
|
|
}
|
|
`), () => {
|
|
a.current?.removeAttribute("data-motion-pop-id"), E.contains(A) && E.removeChild(A);
|
|
};
|
|
}, [t]), F.jsx(mF, { isPresent: t, childRef: a, sizeRef: l, pop: i, children: i === !1 ? e : C.cloneElement(e, { ref: d }) });
|
|
}
|
|
const yF = ({ children: e, initial: t, isPresent: n, onExitComplete: r, custom: o, presenceAffectsLayout: i, mode: s, anchorX: a, anchorY: l, root: u }) => {
|
|
const c = Nh(vF), d = C.useId();
|
|
let f = !0, y = C.useMemo(() => (f = !1, {
|
|
id: d,
|
|
initial: t,
|
|
isPresent: n,
|
|
custom: o,
|
|
onExitComplete: (v) => {
|
|
c.set(v, !0);
|
|
for (const S of c.values())
|
|
if (!S)
|
|
return;
|
|
r && r();
|
|
},
|
|
register: (v) => (c.set(v, !1), () => c.delete(v))
|
|
}), [n, c, r]);
|
|
return i && f && (y = { ...y }), C.useMemo(() => {
|
|
c.forEach((v, S) => c.set(S, !1));
|
|
}, [n]), C.useEffect(() => {
|
|
!n && !c.size && r && r();
|
|
}, [n]), e = F.jsx(gF, { pop: s === "popLayout", isPresent: n, anchorX: a, anchorY: l, root: u, children: e }), F.jsx(xs.Provider, { value: y, children: e });
|
|
};
|
|
function vF() {
|
|
return /* @__PURE__ */ new Map();
|
|
}
|
|
function xb(e = !0) {
|
|
const t = C.useContext(xs);
|
|
if (t === null)
|
|
return [!0, null];
|
|
const { isPresent: n, onExitComplete: r, register: o } = t, i = C.useId();
|
|
C.useEffect(() => {
|
|
if (e)
|
|
return o(i);
|
|
}, [e]);
|
|
const s = C.useCallback(() => e && r && r(i), [i, r, e]);
|
|
return !n && r ? [!1, s] : [!0];
|
|
}
|
|
function SF() {
|
|
return bF(C.useContext(xs));
|
|
}
|
|
function bF(e) {
|
|
return e === null ? !0 : e.isPresent;
|
|
}
|
|
const da = (e) => e.key || "";
|
|
function Ey(e) {
|
|
const t = [];
|
|
return C.Children.forEach(e, (n) => {
|
|
C.isValidElement(n) && t.push(n);
|
|
}), t;
|
|
}
|
|
const xF = ({ children: e, custom: t, initial: n = !0, onExitComplete: r, presenceAffectsLayout: o = !0, mode: i = "sync", propagate: s = !1, anchorX: a = "left", anchorY: l = "top", root: u }) => {
|
|
const [c, d] = xb(s), f = C.useMemo(() => Ey(e), [e]), y = s && !c ? [] : f.map(da), v = C.useRef(!0), S = C.useRef(f), k = Nh(() => /* @__PURE__ */ new Map()), p = C.useRef(/* @__PURE__ */ new Set()), [h, g] = C.useState(f), [w, P] = C.useState(f);
|
|
GS(() => {
|
|
v.current = !1, S.current = f;
|
|
for (let z = 0; z < w.length; z++) {
|
|
const I = da(w[z]);
|
|
y.includes(I) ? (k.delete(I), p.current.delete(I)) : k.get(I) !== !0 && k.set(I, !1);
|
|
}
|
|
}, [w, y.length, y.join("-")]);
|
|
const A = [];
|
|
if (f !== h) {
|
|
let z = [...f];
|
|
for (let I = 0; I < w.length; I++) {
|
|
const M = w[I], U = da(M);
|
|
y.includes(U) || (z.splice(I, 0, M), A.push(M));
|
|
}
|
|
return i === "wait" && A.length && (z = A), P(Ey(z)), g(f), null;
|
|
}
|
|
const { forceRender: E } = C.useContext(Oh);
|
|
return F.jsx(F.Fragment, { children: w.map((z) => {
|
|
const I = da(z), M = s && !c ? !1 : f === w || y.includes(I), U = () => {
|
|
if (p.current.has(I))
|
|
return;
|
|
if (k.has(I))
|
|
p.current.add(I), k.set(I, !0);
|
|
else
|
|
return;
|
|
let le = !0;
|
|
k.forEach((Le) => {
|
|
Le || (le = !1);
|
|
}), le && (E?.(), P(S.current), s && d?.(), r && r());
|
|
};
|
|
return F.jsx(yF, { isPresent: M, initial: !v.current || n ? void 0 : !1, custom: t, presenceAffectsLayout: o, mode: i, root: u, onExitComplete: M ? void 0 : U, anchorX: a, anchorY: l, children: z }, I);
|
|
}) });
|
|
}, wb = C.createContext({ strict: !1 }), Py = {
|
|
animation: [
|
|
"animate",
|
|
"variants",
|
|
"whileHover",
|
|
"whileTap",
|
|
"exit",
|
|
"whileInView",
|
|
"whileFocus",
|
|
"whileDrag"
|
|
],
|
|
exit: ["exit"],
|
|
drag: ["drag", "dragControls"],
|
|
focus: ["whileFocus"],
|
|
hover: ["whileHover", "onHoverStart", "onHoverEnd"],
|
|
tap: ["whileTap", "onTap", "onTapStart", "onTapCancel"],
|
|
pan: ["onPan", "onPanStart", "onPanSessionStart", "onPanEnd"],
|
|
inView: ["whileInView", "onViewportEnter", "onViewportLeave"],
|
|
layout: ["layout", "layoutId"]
|
|
};
|
|
let Ay = !1;
|
|
function wF() {
|
|
if (Ay)
|
|
return;
|
|
const e = {};
|
|
for (const t in Py)
|
|
e[t] = {
|
|
isEnabled: (n) => Py[t].some((r) => !!n[r])
|
|
};
|
|
J1(e), Ay = !0;
|
|
}
|
|
function kb() {
|
|
return wF(), rD();
|
|
}
|
|
function kF(e) {
|
|
const t = kb();
|
|
for (const n in e)
|
|
t[n] = {
|
|
...t[n],
|
|
...e[n]
|
|
};
|
|
J1(t);
|
|
}
|
|
const CF = /* @__PURE__ */ new Set([
|
|
"animate",
|
|
"exit",
|
|
"variants",
|
|
"initial",
|
|
"style",
|
|
"values",
|
|
"variants",
|
|
"transition",
|
|
"transformTemplate",
|
|
"custom",
|
|
"inherit",
|
|
"onBeforeLayoutMeasure",
|
|
"onAnimationStart",
|
|
"onAnimationComplete",
|
|
"onUpdate",
|
|
"onDragStart",
|
|
"onDrag",
|
|
"onDragEnd",
|
|
"onMeasureDragConstraints",
|
|
"onDirectionLock",
|
|
"onDragTransitionEnd",
|
|
"_dragX",
|
|
"_dragY",
|
|
"onHoverStart",
|
|
"onHoverEnd",
|
|
"onViewportEnter",
|
|
"onViewportLeave",
|
|
"globalTapTarget",
|
|
"propagate",
|
|
"ignoreStrict",
|
|
"viewport"
|
|
]);
|
|
function Ll(e) {
|
|
return e.startsWith("while") || e.startsWith("drag") && e !== "draggable" || e.startsWith("layout") || e.startsWith("onTap") || e.startsWith("onPan") || e.startsWith("onLayout") || CF.has(e);
|
|
}
|
|
let Cb = (e) => !Ll(e);
|
|
function TF(e) {
|
|
typeof e == "function" && (Cb = (t) => t.startsWith("on") ? !Ll(t) : e(t));
|
|
}
|
|
try {
|
|
TF(require("@emotion/is-prop-valid").default);
|
|
} catch {
|
|
}
|
|
function EF(e, t, n) {
|
|
const r = {};
|
|
for (const o in e)
|
|
o === "values" && typeof e.values == "object" || Oe(e[o]) || (Cb(o) || n === !0 && Ll(o) || !t && !Ll(o) || // If trying to use native HTML drag events, forward drag listeners
|
|
e.draggable && o.startsWith("onDrag")) && (r[o] = e[o]);
|
|
return r;
|
|
}
|
|
const Su = /* @__PURE__ */ C.createContext({});
|
|
function PF(e, t) {
|
|
if (vu(e)) {
|
|
const { initial: n, animate: r } = e;
|
|
return {
|
|
initial: n === !1 || ds(n) ? n : void 0,
|
|
animate: ds(r) ? r : void 0
|
|
};
|
|
}
|
|
return e.inherit !== !1 ? t : {};
|
|
}
|
|
function AF(e) {
|
|
const { initial: t, animate: n } = PF(e, C.useContext(Su));
|
|
return C.useMemo(() => ({ initial: t, animate: n }), [zy(t), zy(n)]);
|
|
}
|
|
function zy(e) {
|
|
return Array.isArray(e) ? e.join(" ") : e;
|
|
}
|
|
const up = () => ({
|
|
style: {},
|
|
transform: {},
|
|
transformOrigin: {},
|
|
vars: {}
|
|
});
|
|
function Tb(e, t, n) {
|
|
for (const r in t)
|
|
!Oe(t[r]) && !ob(r, n) && (e[r] = t[r]);
|
|
}
|
|
function zF({ transformTemplate: e }, t) {
|
|
return C.useMemo(() => {
|
|
const n = up();
|
|
return sp(n, t, e), Object.assign({}, n.vars, n.style);
|
|
}, [t]);
|
|
}
|
|
function MF(e, t) {
|
|
const n = e.style || {}, r = {};
|
|
return Tb(r, n, e), Object.assign(r, zF(e, t)), r;
|
|
}
|
|
function RF(e, t) {
|
|
const n = {}, r = MF(e, t);
|
|
return e.drag && e.dragListener !== !1 && (n.draggable = !1, r.userSelect = r.WebkitUserSelect = r.WebkitTouchCallout = "none", r.touchAction = e.drag === !0 ? "none" : `pan-${e.drag === "x" ? "y" : "x"}`), e.tabIndex === void 0 && (e.onTap || e.onTapStart || e.whileTap) && (n.tabIndex = 0), n.style = r, n;
|
|
}
|
|
const Eb = () => ({
|
|
...up(),
|
|
attrs: {}
|
|
});
|
|
function DF(e, t, n, r) {
|
|
const o = C.useMemo(() => {
|
|
const i = Eb();
|
|
return ib(i, t, ab(r), e.transformTemplate, e.style), {
|
|
...i.attrs,
|
|
style: { ...i.style }
|
|
};
|
|
}, [t]);
|
|
if (e.style) {
|
|
const i = {};
|
|
Tb(i, e.style, e), o.style = { ...i, ...o.style };
|
|
}
|
|
return o;
|
|
}
|
|
const FF = [
|
|
"animate",
|
|
"circle",
|
|
"defs",
|
|
"desc",
|
|
"ellipse",
|
|
"g",
|
|
"image",
|
|
"line",
|
|
"filter",
|
|
"marker",
|
|
"mask",
|
|
"metadata",
|
|
"path",
|
|
"pattern",
|
|
"polygon",
|
|
"polyline",
|
|
"rect",
|
|
"stop",
|
|
"switch",
|
|
"symbol",
|
|
"svg",
|
|
"text",
|
|
"tspan",
|
|
"use",
|
|
"view"
|
|
];
|
|
function cp(e) {
|
|
return (
|
|
/**
|
|
* If it's not a string, it's a custom React component. Currently we only support
|
|
* HTML custom React components.
|
|
*/
|
|
typeof e != "string" || /**
|
|
* If it contains a dash, the element is a custom HTML webcomponent.
|
|
*/
|
|
e.includes("-") ? !1 : (
|
|
/**
|
|
* If it's in our list of lowercase SVG tags, it's an SVG component
|
|
*/
|
|
!!(FF.indexOf(e) > -1 || /**
|
|
* If it contains a capital letter, it's an SVG component
|
|
*/
|
|
/[A-Z]/u.test(e))
|
|
)
|
|
);
|
|
}
|
|
function LF(e, t, n, { latestValues: r }, o, i = !1, s) {
|
|
const l = (s ?? cp(e) ? DF : RF)(t, r, o, e), u = EF(t, typeof e == "string", i), c = e !== C.Fragment ? { ...u, ...l, ref: n } : {}, { children: d } = t, f = C.useMemo(() => Oe(d) ? d.get() : d, [d]);
|
|
return C.createElement(e, {
|
|
...c,
|
|
children: f
|
|
});
|
|
}
|
|
function BF({ scrapeMotionValuesFromProps: e, createRenderState: t }, n, r, o) {
|
|
return {
|
|
latestValues: VF(n, r, o, e),
|
|
renderState: t()
|
|
};
|
|
}
|
|
function VF(e, t, n, r) {
|
|
const o = {}, i = r(e, {});
|
|
for (const f in i)
|
|
o[f] = Xa(i[f]);
|
|
let { initial: s, animate: a } = e;
|
|
const l = vu(e), u = G1(e);
|
|
t && u && !l && e.inherit !== !1 && (s === void 0 && (s = t.initial), a === void 0 && (a = t.animate));
|
|
let c = n ? n.initial === !1 : !1;
|
|
c = c || s === !1;
|
|
const d = c ? a : s;
|
|
if (d && typeof d != "boolean" && !yu(d)) {
|
|
const f = Array.isArray(d) ? d : [d];
|
|
for (let y = 0; y < f.length; y++) {
|
|
const v = $h(e, f[y]);
|
|
if (v) {
|
|
const { transitionEnd: S, transition: k, ...p } = v;
|
|
for (const h in p) {
|
|
let g = p[h];
|
|
if (Array.isArray(g)) {
|
|
const w = c ? g.length - 1 : 0;
|
|
g = g[w];
|
|
}
|
|
g !== null && (o[h] = g);
|
|
}
|
|
for (const h in S)
|
|
o[h] = S[h];
|
|
}
|
|
}
|
|
}
|
|
return o;
|
|
}
|
|
const Pb = (e) => (t, n) => {
|
|
const r = C.useContext(Su), o = C.useContext(xs), i = () => BF(e, t, r, o);
|
|
return n ? i() : Nh(i);
|
|
}, IF = /* @__PURE__ */ Pb({
|
|
scrapeMotionValuesFromProps: ap,
|
|
createRenderState: up
|
|
}), OF = /* @__PURE__ */ Pb({
|
|
scrapeMotionValuesFromProps: lb,
|
|
createRenderState: Eb
|
|
}), NF = Symbol.for("motionComponentSymbol");
|
|
function jF(e, t, n) {
|
|
const r = C.useRef(n);
|
|
C.useInsertionEffect(() => {
|
|
r.current = n;
|
|
});
|
|
const o = C.useRef(null);
|
|
return C.useCallback((i) => {
|
|
i && e.onMount?.(i), t && (i ? t.mount(i) : t.unmount());
|
|
const s = r.current;
|
|
if (typeof s == "function")
|
|
if (i) {
|
|
const a = s(i);
|
|
typeof a == "function" && (o.current = a);
|
|
} else o.current ? (o.current(), o.current = null) : s(i);
|
|
else s && (s.current = i);
|
|
}, [t]);
|
|
}
|
|
const Ab = C.createContext({});
|
|
function Kr(e) {
|
|
return e && typeof e == "object" && Object.prototype.hasOwnProperty.call(e, "current");
|
|
}
|
|
function WF(e, t, n, r, o, i) {
|
|
const { visualElement: s } = C.useContext(Su), a = C.useContext(wb), l = C.useContext(xs), u = C.useContext(lp), c = u.reducedMotion, d = u.skipAnimations, f = C.useRef(null), y = C.useRef(!1);
|
|
r = r || a.renderer, !f.current && r && (f.current = r(e, {
|
|
visualState: t,
|
|
parent: s,
|
|
props: n,
|
|
presenceContext: l,
|
|
blockInitialAnimation: l ? l.initial === !1 : !1,
|
|
reducedMotionConfig: c,
|
|
skipAnimations: d,
|
|
isSVG: i
|
|
}), y.current && f.current && (f.current.manuallyAnimateOnMount = !0));
|
|
const v = f.current, S = C.useContext(Ab);
|
|
v && !v.projection && o && (v.type === "html" || v.type === "svg") && UF(f.current, n, o, S);
|
|
const k = C.useRef(!1);
|
|
C.useInsertionEffect(() => {
|
|
v && k.current && v.update(n, l);
|
|
});
|
|
const p = n[I1], h = C.useRef(!!p && typeof window < "u" && !window.MotionHandoffIsComplete?.(p) && window.MotionHasOptimisedAnimation?.(p));
|
|
return GS(() => {
|
|
y.current = !0, v && (k.current = !0, window.MotionIsMounted = !0, v.updateFeatures(), v.scheduleRenderMicrotask(), h.current && v.animationState && v.animationState.animateChanges());
|
|
}), C.useEffect(() => {
|
|
v && (!h.current && v.animationState && v.animationState.animateChanges(), h.current && (queueMicrotask(() => {
|
|
window.MotionHandoffMarkAsComplete?.(p);
|
|
}), h.current = !1), v.enteringChildren = void 0);
|
|
}), v;
|
|
}
|
|
function UF(e, t, n, r) {
|
|
const { layoutId: o, layout: i, drag: s, dragConstraints: a, layoutScroll: l, layoutRoot: u, layoutAnchor: c, layoutCrossfade: d } = t;
|
|
e.projection = new n(e.latestValues, t["data-framer-portal-id"] ? void 0 : zb(e.parent)), e.projection.setOptions({
|
|
layoutId: o,
|
|
layout: i,
|
|
alwaysMeasureLayout: !!s || a && Kr(a),
|
|
visualElement: e,
|
|
/**
|
|
* TODO: Update options in an effect. This could be tricky as it'll be too late
|
|
* to update by the time layout animations run.
|
|
* We also need to fix this safeToRemove by linking it up to the one returned by usePresence,
|
|
* ensuring it gets called if there's no potential layout animations.
|
|
*
|
|
*/
|
|
animationType: typeof i == "string" ? i : "both",
|
|
initialPromotionConfig: r,
|
|
crossfade: d,
|
|
layoutScroll: l,
|
|
layoutRoot: u,
|
|
layoutAnchor: c
|
|
});
|
|
}
|
|
function zb(e) {
|
|
if (e)
|
|
return e.options.allowProjection !== !1 ? e.projection : zb(e.parent);
|
|
}
|
|
function Bc(e, { forwardMotionProps: t = !1, type: n } = {}, r, o) {
|
|
r && kF(r);
|
|
const i = n ? n === "svg" : cp(e), s = i ? OF : IF;
|
|
function a(u, c) {
|
|
let d;
|
|
const f = {
|
|
...C.useContext(lp),
|
|
...u,
|
|
layoutId: HF(u)
|
|
}, { isStatic: y } = f, v = AF(u), S = s(u, y);
|
|
if (!y && typeof window < "u") {
|
|
KF();
|
|
const k = XF(f);
|
|
d = k.MeasureLayout, v.visualElement = WF(e, S, f, o, k.ProjectionNode, i);
|
|
}
|
|
return F.jsxs(Su.Provider, { value: v, children: [d && v.visualElement ? F.jsx(d, { visualElement: v.visualElement, ...f }) : null, LF(e, u, jF(S, v.visualElement, c), S, y, t, i)] });
|
|
}
|
|
a.displayName = `motion.${typeof e == "string" ? e : `create(${e.displayName ?? e.name ?? ""})`}`;
|
|
const l = C.forwardRef(a);
|
|
return l[NF] = e, l;
|
|
}
|
|
function HF({ layoutId: e }) {
|
|
const t = C.useContext(Oh).id;
|
|
return t && e !== void 0 ? t + "-" + e : e;
|
|
}
|
|
function KF(e, t) {
|
|
C.useContext(wb).strict;
|
|
}
|
|
function XF(e) {
|
|
const t = kb(), { drag: n, layout: r } = t;
|
|
if (!n && !r)
|
|
return {};
|
|
const o = { ...n, ...r };
|
|
return {
|
|
MeasureLayout: n?.isEnabled(e) || r?.isEnabled(e) ? o.MeasureLayout : void 0,
|
|
ProjectionNode: o.ProjectionNode
|
|
};
|
|
}
|
|
function qF(e, t) {
|
|
if (typeof Proxy > "u")
|
|
return Bc;
|
|
const n = /* @__PURE__ */ new Map(), r = (i, s) => Bc(i, s, e, t), o = (i, s) => r(i, s);
|
|
return new Proxy(o, {
|
|
/**
|
|
* Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.
|
|
* The prop name is passed through as `key` and we can use that to generate a `motion`
|
|
* DOM component with that name.
|
|
*/
|
|
get: (i, s) => s === "create" ? r : (n.has(s) || n.set(s, Bc(s, void 0, e, t)), n.get(s))
|
|
});
|
|
}
|
|
const YF = (e, t) => t.isSVG ?? cp(e) ? new bD(t) : new pD(t, {
|
|
allowProjection: e !== C.Fragment
|
|
});
|
|
class ZF extends ir {
|
|
/**
|
|
* We dynamically generate the AnimationState manager as it contains a reference
|
|
* to the underlying animation library. We only want to load that if we load this,
|
|
* so people can optionally code split it out using the `m` component.
|
|
*/
|
|
constructor(t) {
|
|
super(t), t.animationState || (t.animationState = TD(t));
|
|
}
|
|
updateAnimationControlsSubscription() {
|
|
const { animate: t } = this.node.getProps();
|
|
yu(t) && (this.unmountControls = t.subscribe(this.node));
|
|
}
|
|
/**
|
|
* Subscribe any provided AnimationControls to the component's VisualElement
|
|
*/
|
|
mount() {
|
|
this.updateAnimationControlsSubscription();
|
|
}
|
|
update() {
|
|
const { animate: t } = this.node.getProps(), { animate: n } = this.node.prevProps || {};
|
|
t !== n && this.updateAnimationControlsSubscription();
|
|
}
|
|
unmount() {
|
|
this.node.animationState.reset(), this.unmountControls?.();
|
|
}
|
|
}
|
|
let GF = 0;
|
|
class QF extends ir {
|
|
constructor() {
|
|
super(...arguments), this.id = GF++, this.isExitComplete = !1;
|
|
}
|
|
update() {
|
|
if (!this.node.presenceContext)
|
|
return;
|
|
const { isPresent: t, onExitComplete: n } = this.node.presenceContext, { isPresent: r } = this.node.prevPresenceContext || {};
|
|
if (!this.node.animationState || t === r)
|
|
return;
|
|
if (t && r === !1) {
|
|
if (this.isExitComplete) {
|
|
const { initial: i, custom: s } = this.node.getProps();
|
|
if (typeof i == "string" || typeof i == "object" && i !== null && !Array.isArray(i)) {
|
|
const a = Pr(this.node, i, s);
|
|
if (a) {
|
|
const { transition: l, transitionEnd: u, ...c } = a;
|
|
for (const d in c)
|
|
this.node.getValue(d)?.jump(c[d]);
|
|
}
|
|
}
|
|
this.node.animationState.reset(), this.node.animationState.animateChanges();
|
|
} else
|
|
this.node.animationState.setActive("exit", !1);
|
|
this.isExitComplete = !1;
|
|
return;
|
|
}
|
|
const o = this.node.animationState.setActive("exit", !t);
|
|
n && !t && o.then(() => {
|
|
this.isExitComplete = !0, n(this.id);
|
|
});
|
|
}
|
|
mount() {
|
|
const { register: t, onExitComplete: n } = this.node.presenceContext || {};
|
|
n && n(this.id), t && (this.unmount = t(this.id));
|
|
}
|
|
unmount() {
|
|
}
|
|
}
|
|
const JF = {
|
|
animation: {
|
|
Feature: ZF
|
|
},
|
|
exit: {
|
|
Feature: QF
|
|
}
|
|
};
|
|
function Es(e) {
|
|
return {
|
|
point: {
|
|
x: e.pageX,
|
|
y: e.pageY
|
|
}
|
|
};
|
|
}
|
|
const _F = (e) => (t) => np(t) && e(t, Es(t));
|
|
function Oi(e, t, n, r) {
|
|
return fs(e, t, _F(n), r);
|
|
}
|
|
const Mb = ({ current: e }) => e ? e.ownerDocument.defaultView : null, My = (e, t) => Math.abs(e - t);
|
|
function $F(e, t) {
|
|
const n = My(e.x, t.x), r = My(e.y, t.y);
|
|
return Math.sqrt(n ** 2 + r ** 2);
|
|
}
|
|
const Ry = /* @__PURE__ */ new Set(["auto", "scroll"]);
|
|
class Rb {
|
|
constructor(t, n, { transformPagePoint: r, contextWindow: o = window, dragSnapToOrigin: i = !1, distanceThreshold: s = 3, element: a } = {}) {
|
|
if (this.startEvent = null, this.lastMoveEvent = null, this.lastMoveEventInfo = null, this.lastRawMoveEventInfo = null, this.handlers = {}, this.contextWindow = window, this.scrollPositions = /* @__PURE__ */ new Map(), this.removeScrollListeners = null, this.onElementScroll = (y) => {
|
|
this.handleScroll(y.target);
|
|
}, this.onWindowScroll = () => {
|
|
this.handleScroll(window);
|
|
}, this.updatePoint = () => {
|
|
if (!(this.lastMoveEvent && this.lastMoveEventInfo))
|
|
return;
|
|
this.lastRawMoveEventInfo && (this.lastMoveEventInfo = fa(this.lastRawMoveEventInfo, this.transformPagePoint));
|
|
const y = Vc(this.lastMoveEventInfo, this.history), v = this.startEvent !== null, S = $F(y.offset, { x: 0, y: 0 }) >= this.distanceThreshold;
|
|
if (!v && !S)
|
|
return;
|
|
const { point: k } = y, { timestamp: p } = Ve;
|
|
this.history.push({ ...k, timestamp: p });
|
|
const { onStart: h, onMove: g } = this.handlers;
|
|
v || (h && h(this.lastMoveEvent, y), this.startEvent = this.lastMoveEvent), g && g(this.lastMoveEvent, y);
|
|
}, this.handlePointerMove = (y, v) => {
|
|
this.lastMoveEvent = y, this.lastRawMoveEventInfo = v, this.lastMoveEventInfo = fa(v, this.transformPagePoint), ie.update(this.updatePoint, !0);
|
|
}, this.handlePointerUp = (y, v) => {
|
|
this.end();
|
|
const { onEnd: S, onSessionEnd: k, resumeAnimation: p } = this.handlers;
|
|
if ((this.dragSnapToOrigin || !this.startEvent) && p && p(), !(this.lastMoveEvent && this.lastMoveEventInfo))
|
|
return;
|
|
const h = Vc(y.type === "pointercancel" ? this.lastMoveEventInfo : fa(v, this.transformPagePoint), this.history);
|
|
this.startEvent && S && S(y, h), k && k(y, h);
|
|
}, !np(t))
|
|
return;
|
|
this.dragSnapToOrigin = i, this.handlers = n, this.transformPagePoint = r, this.distanceThreshold = s, this.contextWindow = o || window;
|
|
const l = Es(t), u = fa(l, this.transformPagePoint), { point: c } = u, { timestamp: d } = Ve;
|
|
this.history = [{ ...c, timestamp: d }];
|
|
const { onSessionStart: f } = n;
|
|
f && f(t, Vc(u, this.history)), this.removeListeners = ks(Oi(this.contextWindow, "pointermove", this.handlePointerMove), Oi(this.contextWindow, "pointerup", this.handlePointerUp), Oi(this.contextWindow, "pointercancel", this.handlePointerUp)), a && this.startScrollTracking(a);
|
|
}
|
|
/**
|
|
* Start tracking scroll on ancestors and window.
|
|
*/
|
|
startScrollTracking(t) {
|
|
let n = t.parentElement;
|
|
for (; n; ) {
|
|
const r = getComputedStyle(n);
|
|
(Ry.has(r.overflowX) || Ry.has(r.overflowY)) && this.scrollPositions.set(n, {
|
|
x: n.scrollLeft,
|
|
y: n.scrollTop
|
|
}), n = n.parentElement;
|
|
}
|
|
this.scrollPositions.set(window, {
|
|
x: window.scrollX,
|
|
y: window.scrollY
|
|
}), window.addEventListener("scroll", this.onElementScroll, {
|
|
capture: !0
|
|
}), window.addEventListener("scroll", this.onWindowScroll), this.removeScrollListeners = () => {
|
|
window.removeEventListener("scroll", this.onElementScroll, {
|
|
capture: !0
|
|
}), window.removeEventListener("scroll", this.onWindowScroll);
|
|
};
|
|
}
|
|
/**
|
|
* Handle scroll compensation during drag.
|
|
*
|
|
* For element scroll: adjusts history origin since pageX/pageY doesn't change.
|
|
* For window scroll: adjusts lastMoveEventInfo since pageX/pageY would change.
|
|
*/
|
|
handleScroll(t) {
|
|
const n = this.scrollPositions.get(t);
|
|
if (!n)
|
|
return;
|
|
const r = t === window, o = r ? { x: window.scrollX, y: window.scrollY } : {
|
|
x: t.scrollLeft,
|
|
y: t.scrollTop
|
|
}, i = { x: o.x - n.x, y: o.y - n.y };
|
|
i.x === 0 && i.y === 0 || (r ? this.lastMoveEventInfo && (this.lastMoveEventInfo.point.x += i.x, this.lastMoveEventInfo.point.y += i.y) : this.history.length > 0 && (this.history[0].x -= i.x, this.history[0].y -= i.y), this.scrollPositions.set(t, o), ie.update(this.updatePoint, !0));
|
|
}
|
|
updateHandlers(t) {
|
|
this.handlers = t;
|
|
}
|
|
end() {
|
|
this.removeListeners && this.removeListeners(), this.removeScrollListeners && this.removeScrollListeners(), this.scrollPositions.clear(), tr(this.updatePoint);
|
|
}
|
|
}
|
|
function fa(e, t) {
|
|
return t ? { point: t(e.point) } : e;
|
|
}
|
|
function Dy(e, t) {
|
|
return { x: e.x - t.x, y: e.y - t.y };
|
|
}
|
|
function Vc({ point: e }, t) {
|
|
return {
|
|
point: e,
|
|
delta: Dy(e, Db(t)),
|
|
offset: Dy(e, eL(t)),
|
|
velocity: tL(t, 0.1)
|
|
};
|
|
}
|
|
function eL(e) {
|
|
return e[0];
|
|
}
|
|
function Db(e) {
|
|
return e[e.length - 1];
|
|
}
|
|
function tL(e, t) {
|
|
if (e.length < 2)
|
|
return { x: 0, y: 0 };
|
|
let n = e.length - 1, r = null;
|
|
const o = Db(e);
|
|
for (; n >= 0 && (r = e[n], !(o.timestamp - r.timestamp > /* @__PURE__ */ ut(t))); )
|
|
n--;
|
|
if (!r)
|
|
return { x: 0, y: 0 };
|
|
r === e[0] && e.length > 2 && o.timestamp - r.timestamp > /* @__PURE__ */ ut(t) * 2 && (r = e[1]);
|
|
const i = /* @__PURE__ */ zt(o.timestamp - r.timestamp);
|
|
if (i === 0)
|
|
return { x: 0, y: 0 };
|
|
const s = {
|
|
x: (o.x - r.x) / i,
|
|
y: (o.y - r.y) / i
|
|
};
|
|
return s.x === 1 / 0 && (s.x = 0), s.y === 1 / 0 && (s.y = 0), s;
|
|
}
|
|
function nL(e, { min: t, max: n }, r) {
|
|
return t !== void 0 && e < t ? e = r ? oe(t, e, r.min) : Math.max(e, t) : n !== void 0 && e > n && (e = r ? oe(n, e, r.max) : Math.min(e, n)), e;
|
|
}
|
|
function Fy(e, t, n) {
|
|
return {
|
|
min: t !== void 0 ? e.min + t : void 0,
|
|
max: n !== void 0 ? e.max + n - (e.max - e.min) : void 0
|
|
};
|
|
}
|
|
function rL(e, { top: t, left: n, bottom: r, right: o }) {
|
|
return {
|
|
x: Fy(e.x, n, o),
|
|
y: Fy(e.y, t, r)
|
|
};
|
|
}
|
|
function Ly(e, t) {
|
|
let n = t.min - e.min, r = t.max - e.max;
|
|
return t.max - t.min < e.max - e.min && ([n, r] = [r, n]), { min: n, max: r };
|
|
}
|
|
function oL(e, t) {
|
|
return {
|
|
x: Ly(e.x, t.x),
|
|
y: Ly(e.y, t.y)
|
|
};
|
|
}
|
|
function iL(e, t) {
|
|
let n = 0.5;
|
|
const r = Je(e), o = Je(t);
|
|
return o > r ? n = /* @__PURE__ */ us(t.min, t.max - r, e.min) : r > o && (n = /* @__PURE__ */ us(e.min, e.max - o, t.min)), fn(0, 1, n);
|
|
}
|
|
function sL(e, t) {
|
|
const n = {};
|
|
return t.min !== void 0 && (n.min = t.min - e.min), t.max !== void 0 && (n.max = t.max - e.min), n;
|
|
}
|
|
const vf = 0.35;
|
|
function aL(e = vf) {
|
|
return e === !1 ? e = 0 : e === !0 && (e = vf), {
|
|
x: By(e, "left", "right"),
|
|
y: By(e, "top", "bottom")
|
|
};
|
|
}
|
|
function By(e, t, n) {
|
|
return {
|
|
min: Vy(e, t),
|
|
max: Vy(e, n)
|
|
};
|
|
}
|
|
function Vy(e, t) {
|
|
return typeof e == "number" ? e : e[t] || 0;
|
|
}
|
|
const lL = /* @__PURE__ */ new WeakMap();
|
|
class uL {
|
|
constructor(t) {
|
|
this.openDragLock = null, this.isDragging = !1, this.currentDirection = null, this.originPoint = { x: 0, y: 0 }, this.constraints = !1, this.hasMutatedConstraints = !1, this.elastic = Pe(), this.latestPointerEvent = null, this.latestPanInfo = null, this.visualElement = t;
|
|
}
|
|
start(t, { snapToCursor: n = !1, distanceThreshold: r } = {}) {
|
|
const { presenceContext: o } = this.visualElement;
|
|
if (o && o.isPresent === !1)
|
|
return;
|
|
const i = (d) => {
|
|
n && this.snapToCursor(Es(d).point), this.stopAnimation();
|
|
}, s = (d, f) => {
|
|
const { drag: y, dragPropagation: v, onDragStart: S } = this.getProps();
|
|
if (y && !v && (this.openDragLock && this.openDragLock(), this.openDragLock = F3(y), !this.openDragLock))
|
|
return;
|
|
this.latestPointerEvent = d, this.latestPanInfo = f, this.isDragging = !0, this.currentDirection = null, this.resolveConstraints(), this.visualElement.projection && (this.visualElement.projection.isAnimationBlocked = !0, this.visualElement.projection.target = void 0), $t((p) => {
|
|
let h = this.getAxisMotionValue(p).get() || 0;
|
|
if (dn.test(h)) {
|
|
const { projection: g } = this.visualElement;
|
|
if (g && g.layout) {
|
|
const w = g.layout.layoutBox[p];
|
|
w && (h = Je(w) * (parseFloat(h) / 100));
|
|
}
|
|
}
|
|
this.originPoint[p] = h;
|
|
}), S && ie.update(() => S(d, f), !1, !0), lf(this.visualElement, "transform");
|
|
const { animationState: k } = this.visualElement;
|
|
k && k.setActive("whileDrag", !0);
|
|
}, a = (d, f) => {
|
|
this.latestPointerEvent = d, this.latestPanInfo = f;
|
|
const { dragPropagation: y, dragDirectionLock: v, onDirectionLock: S, onDrag: k } = this.getProps();
|
|
if (!y && !this.openDragLock)
|
|
return;
|
|
const { offset: p } = f;
|
|
if (v && this.currentDirection === null) {
|
|
this.currentDirection = dL(p), this.currentDirection !== null && S && S(this.currentDirection);
|
|
return;
|
|
}
|
|
this.updateAxis("x", f.point, p), this.updateAxis("y", f.point, p), this.visualElement.render(), k && ie.update(() => k(d, f), !1, !0);
|
|
}, l = (d, f) => {
|
|
this.latestPointerEvent = d, this.latestPanInfo = f, this.stop(d, f), this.latestPointerEvent = null, this.latestPanInfo = null;
|
|
}, u = () => {
|
|
const { dragSnapToOrigin: d } = this.getProps();
|
|
(d || this.constraints) && this.startAnimation({ x: 0, y: 0 });
|
|
}, { dragSnapToOrigin: c } = this.getProps();
|
|
this.panSession = new Rb(t, {
|
|
onSessionStart: i,
|
|
onStart: s,
|
|
onMove: a,
|
|
onSessionEnd: l,
|
|
resumeAnimation: u
|
|
}, {
|
|
transformPagePoint: this.visualElement.getTransformPagePoint(),
|
|
dragSnapToOrigin: c,
|
|
distanceThreshold: r,
|
|
contextWindow: Mb(this.visualElement),
|
|
element: this.visualElement.current
|
|
});
|
|
}
|
|
/**
|
|
* @internal
|
|
*/
|
|
stop(t, n) {
|
|
const r = t || this.latestPointerEvent, o = n || this.latestPanInfo, i = this.isDragging;
|
|
if (this.cancel(), !i || !o || !r)
|
|
return;
|
|
const { velocity: s } = o;
|
|
this.startAnimation(s);
|
|
const { onDragEnd: a } = this.getProps();
|
|
a && ie.postRender(() => a(r, o));
|
|
}
|
|
/**
|
|
* @internal
|
|
*/
|
|
cancel() {
|
|
this.isDragging = !1;
|
|
const { projection: t, animationState: n } = this.visualElement;
|
|
t && (t.isAnimationBlocked = !1), this.endPanSession();
|
|
const { dragPropagation: r } = this.getProps();
|
|
!r && this.openDragLock && (this.openDragLock(), this.openDragLock = null), n && n.setActive("whileDrag", !1);
|
|
}
|
|
/**
|
|
* Clean up the pan session without modifying other drag state.
|
|
* This is used during unmount to ensure event listeners are removed
|
|
* without affecting projection animations or drag locks.
|
|
* @internal
|
|
*/
|
|
endPanSession() {
|
|
this.panSession && this.panSession.end(), this.panSession = void 0;
|
|
}
|
|
updateAxis(t, n, r) {
|
|
const { drag: o } = this.getProps();
|
|
if (!r || !ha(t, o, this.currentDirection))
|
|
return;
|
|
const i = this.getAxisMotionValue(t);
|
|
let s = this.originPoint[t] + r[t];
|
|
this.constraints && this.constraints[t] && (s = nL(s, this.constraints[t], this.elastic[t])), i.set(s);
|
|
}
|
|
resolveConstraints() {
|
|
const { dragConstraints: t, dragElastic: n } = this.getProps(), r = this.visualElement.projection && !this.visualElement.projection.layout ? this.visualElement.projection.measure(!1) : this.visualElement.projection?.layout, o = this.constraints;
|
|
t && Kr(t) ? this.constraints || (this.constraints = this.resolveRefConstraints()) : t && r ? this.constraints = rL(r.layoutBox, t) : this.constraints = !1, this.elastic = aL(n), o !== this.constraints && !Kr(t) && r && this.constraints && !this.hasMutatedConstraints && $t((i) => {
|
|
this.constraints !== !1 && this.getAxisMotionValue(i) && (this.constraints[i] = sL(r.layoutBox[i], this.constraints[i]));
|
|
});
|
|
}
|
|
resolveRefConstraints() {
|
|
const { dragConstraints: t, onMeasureDragConstraints: n } = this.getProps();
|
|
if (!t || !Kr(t))
|
|
return !1;
|
|
const r = t.current;
|
|
Lr(r !== null, "If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.", "drag-constraints-ref");
|
|
const { projection: o } = this.visualElement;
|
|
if (!o || !o.layout)
|
|
return !1;
|
|
o.root && (o.root.scroll = void 0, o.root.updateScroll());
|
|
const i = lD(r, o.root, this.visualElement.getTransformPagePoint());
|
|
let s = oL(o.layout.layoutBox, i);
|
|
if (n) {
|
|
const a = n(iD(s));
|
|
this.hasMutatedConstraints = !!a, a && (s = $1(a));
|
|
}
|
|
return s;
|
|
}
|
|
startAnimation(t) {
|
|
const { drag: n, dragMomentum: r, dragElastic: o, dragTransition: i, dragSnapToOrigin: s, onDragTransitionEnd: a } = this.getProps(), l = this.constraints || {}, u = $t((c) => {
|
|
if (!ha(c, n, this.currentDirection))
|
|
return;
|
|
let d = l && l[c] || {};
|
|
(s === !0 || s === c) && (d = { min: 0, max: 0 });
|
|
const f = o ? 200 : 1e6, y = o ? 40 : 1e7, v = {
|
|
type: "inertia",
|
|
velocity: r ? t[c] : 0,
|
|
bounceStiffness: f,
|
|
bounceDamping: y,
|
|
timeConstant: 750,
|
|
restDelta: 1,
|
|
restSpeed: 10,
|
|
...i,
|
|
...d
|
|
};
|
|
return this.startAxisValueAnimation(c, v);
|
|
});
|
|
return Promise.all(u).then(a);
|
|
}
|
|
startAxisValueAnimation(t, n) {
|
|
const r = this.getAxisMotionValue(t);
|
|
return lf(this.visualElement, t), r.start(_h(t, r, 0, n, this.visualElement, !1));
|
|
}
|
|
stopAnimation() {
|
|
$t((t) => this.getAxisMotionValue(t).stop());
|
|
}
|
|
/**
|
|
* Drag works differently depending on which props are provided.
|
|
*
|
|
* - If _dragX and _dragY are provided, we output the gesture delta directly to those motion values.
|
|
* - Otherwise, we apply the delta to the x/y motion values.
|
|
*/
|
|
getAxisMotionValue(t) {
|
|
const n = `_drag${t.toUpperCase()}`, o = this.visualElement.getProps()[n];
|
|
return o || this.visualElement.getValue(t, this.visualElement.latestValues[t] ?? 0);
|
|
}
|
|
snapToCursor(t) {
|
|
$t((n) => {
|
|
const { drag: r } = this.getProps();
|
|
if (!ha(n, r, this.currentDirection))
|
|
return;
|
|
const { projection: o } = this.visualElement, i = this.getAxisMotionValue(n);
|
|
if (o && o.layout) {
|
|
const { min: s, max: a } = o.layout.layoutBox[n], l = i.get() || 0;
|
|
i.set(t[n] - oe(s, a, 0.5) + l);
|
|
}
|
|
});
|
|
}
|
|
/**
|
|
* When the viewport resizes we want to check if the measured constraints
|
|
* have changed and, if so, reposition the element within those new constraints
|
|
* relative to where it was before the resize.
|
|
*/
|
|
scalePositionWithinConstraints() {
|
|
if (!this.visualElement.current)
|
|
return;
|
|
const { drag: t, dragConstraints: n } = this.getProps(), { projection: r } = this.visualElement;
|
|
if (!Kr(n) || !r || !this.constraints)
|
|
return;
|
|
this.stopAnimation();
|
|
const o = { x: 0, y: 0 };
|
|
$t((s) => {
|
|
const a = this.getAxisMotionValue(s);
|
|
if (a && this.constraints !== !1) {
|
|
const l = a.get();
|
|
o[s] = iL({ min: l, max: l }, this.constraints[s]);
|
|
}
|
|
});
|
|
const { transformTemplate: i } = this.visualElement.getProps();
|
|
this.visualElement.current.style.transform = i ? i({}, "") : "none", r.root && r.root.updateScroll(), r.updateLayout(), this.constraints = !1, this.resolveConstraints(), $t((s) => {
|
|
if (!ha(s, t, null))
|
|
return;
|
|
const a = this.getAxisMotionValue(s), { min: l, max: u } = this.constraints[s];
|
|
a.set(oe(l, u, o[s]));
|
|
}), this.visualElement.render();
|
|
}
|
|
addListeners() {
|
|
if (!this.visualElement.current)
|
|
return;
|
|
lL.set(this.visualElement, this);
|
|
const t = this.visualElement.current, n = Oi(t, "pointerdown", (u) => {
|
|
const { drag: c, dragListener: d = !0 } = this.getProps(), f = u.target, y = f !== t && N3(f);
|
|
c && d && !y && this.start(u);
|
|
});
|
|
let r;
|
|
const o = () => {
|
|
const { dragConstraints: u } = this.getProps();
|
|
Kr(u) && u.current && (this.constraints = this.resolveRefConstraints(), r || (r = cL(t, u.current, () => this.scalePositionWithinConstraints())));
|
|
}, { projection: i } = this.visualElement, s = i.addEventListener("measure", o);
|
|
i && !i.layout && (i.root && i.root.updateScroll(), i.updateLayout()), ie.read(o);
|
|
const a = fs(window, "resize", () => this.scalePositionWithinConstraints()), l = i.addEventListener("didUpdate", ({ delta: u, hasLayoutChanged: c }) => {
|
|
this.isDragging && c && ($t((d) => {
|
|
const f = this.getAxisMotionValue(d);
|
|
f && (this.originPoint[d] += u[d].translate, f.set(f.get() + u[d].translate));
|
|
}), this.visualElement.render());
|
|
});
|
|
return () => {
|
|
a(), n(), s(), l && l(), r && r();
|
|
};
|
|
}
|
|
getProps() {
|
|
const t = this.visualElement.getProps(), { drag: n = !1, dragDirectionLock: r = !1, dragPropagation: o = !1, dragConstraints: i = !1, dragElastic: s = vf, dragMomentum: a = !0 } = t;
|
|
return {
|
|
...t,
|
|
drag: n,
|
|
dragDirectionLock: r,
|
|
dragPropagation: o,
|
|
dragConstraints: i,
|
|
dragElastic: s,
|
|
dragMomentum: a
|
|
};
|
|
}
|
|
}
|
|
function Iy(e) {
|
|
let t = !0;
|
|
return () => {
|
|
if (t) {
|
|
t = !1;
|
|
return;
|
|
}
|
|
e();
|
|
};
|
|
}
|
|
function cL(e, t, n) {
|
|
const r = Kg(e, Iy(n)), o = Kg(t, Iy(n));
|
|
return () => {
|
|
r(), o();
|
|
};
|
|
}
|
|
function ha(e, t, n) {
|
|
return (t === !0 || t === e) && (n === null || n === e);
|
|
}
|
|
function dL(e, t = 10) {
|
|
let n = null;
|
|
return Math.abs(e.y) > t ? n = "y" : Math.abs(e.x) > t && (n = "x"), n;
|
|
}
|
|
class fL extends ir {
|
|
constructor(t) {
|
|
super(t), this.removeGroupControls = Rt, this.removeListeners = Rt, this.controls = new uL(t);
|
|
}
|
|
mount() {
|
|
const { dragControls: t } = this.node.getProps();
|
|
t && (this.removeGroupControls = t.subscribe(this.controls)), this.removeListeners = this.controls.addListeners() || Rt;
|
|
}
|
|
update() {
|
|
const { dragControls: t } = this.node.getProps(), { dragControls: n } = this.node.prevProps || {};
|
|
t !== n && (this.removeGroupControls(), t && (this.removeGroupControls = t.subscribe(this.controls)));
|
|
}
|
|
unmount() {
|
|
this.removeGroupControls(), this.removeListeners(), this.controls.isDragging || this.controls.endPanSession();
|
|
}
|
|
}
|
|
const Ic = (e) => (t, n) => {
|
|
e && ie.update(() => e(t, n), !1, !0);
|
|
};
|
|
class hL extends ir {
|
|
constructor() {
|
|
super(...arguments), this.removePointerDownListener = Rt;
|
|
}
|
|
onPointerDown(t) {
|
|
this.session = new Rb(t, this.createPanHandlers(), {
|
|
transformPagePoint: this.node.getTransformPagePoint(),
|
|
contextWindow: Mb(this.node)
|
|
});
|
|
}
|
|
createPanHandlers() {
|
|
const { onPanSessionStart: t, onPanStart: n, onPan: r, onPanEnd: o } = this.node.getProps();
|
|
return {
|
|
onSessionStart: Ic(t),
|
|
onStart: Ic(n),
|
|
onMove: Ic(r),
|
|
onEnd: (i, s) => {
|
|
delete this.session, o && ie.postRender(() => o(i, s));
|
|
}
|
|
};
|
|
}
|
|
mount() {
|
|
this.removePointerDownListener = Oi(this.node.current, "pointerdown", (t) => this.onPointerDown(t));
|
|
}
|
|
update() {
|
|
this.session && this.session.updateHandlers(this.createPanHandlers());
|
|
}
|
|
unmount() {
|
|
this.removePointerDownListener(), this.session && this.session.end();
|
|
}
|
|
}
|
|
let Oc = !1;
|
|
class pL extends C.Component {
|
|
/**
|
|
* This only mounts projection nodes for components that
|
|
* need measuring, we might want to do it for all components
|
|
* in order to incorporate transforms
|
|
*/
|
|
componentDidMount() {
|
|
const { visualElement: t, layoutGroup: n, switchLayoutGroup: r, layoutId: o } = this.props, { projection: i } = t;
|
|
i && (n.group && n.group.add(i), r && r.register && o && r.register(i), Oc && i.root.didUpdate(), i.addEventListener("animationComplete", () => {
|
|
this.safeToRemove();
|
|
}), i.setOptions({
|
|
...i.options,
|
|
layoutDependency: this.props.layoutDependency,
|
|
onExitComplete: () => this.safeToRemove()
|
|
})), qa.hasEverUpdated = !0;
|
|
}
|
|
getSnapshotBeforeUpdate(t) {
|
|
const { layoutDependency: n, visualElement: r, drag: o, isPresent: i } = this.props, { projection: s } = r;
|
|
return s && (s.isPresent = i, t.layoutDependency !== n && s.setOptions({
|
|
...s.options,
|
|
layoutDependency: n
|
|
}), Oc = !0, o || t.layoutDependency !== n || n === void 0 || t.isPresent !== i ? s.willUpdate() : this.safeToRemove(), t.isPresent !== i && (i ? s.promote() : s.relegate() || ie.postRender(() => {
|
|
const a = s.getStack();
|
|
(!a || !a.members.length) && this.safeToRemove();
|
|
}))), null;
|
|
}
|
|
componentDidUpdate() {
|
|
const { visualElement: t, layoutAnchor: n } = this.props, { projection: r } = t;
|
|
r && (r.options.layoutAnchor = n, r.root.didUpdate(), tp.postRender(() => {
|
|
!r.currentAnimation && r.isLead() && this.safeToRemove();
|
|
}));
|
|
}
|
|
componentWillUnmount() {
|
|
const { visualElement: t, layoutGroup: n, switchLayoutGroup: r } = this.props, { projection: o } = t;
|
|
Oc = !0, o && (o.scheduleCheckAfterUnmount(), n && n.group && n.group.remove(o), r && r.deregister && r.deregister(o));
|
|
}
|
|
safeToRemove() {
|
|
const { safeToRemove: t } = this.props;
|
|
t && t();
|
|
}
|
|
render() {
|
|
return null;
|
|
}
|
|
}
|
|
function Fb(e) {
|
|
const [t, n] = xb(), r = C.useContext(Oh);
|
|
return F.jsx(pL, { ...e, layoutGroup: r, switchLayoutGroup: C.useContext(Ab), isPresent: t, safeToRemove: n });
|
|
}
|
|
const mL = {
|
|
pan: {
|
|
Feature: hL
|
|
},
|
|
drag: {
|
|
Feature: fL,
|
|
ProjectionNode: bb,
|
|
MeasureLayout: Fb
|
|
}
|
|
};
|
|
function Oy(e, t, n) {
|
|
const { props: r } = e;
|
|
e.animationState && r.whileHover && e.animationState.setActive("whileHover", n === "Start");
|
|
const o = "onHover" + n, i = r[o];
|
|
i && ie.postRender(() => i(t, Es(t)));
|
|
}
|
|
class gL extends ir {
|
|
mount() {
|
|
const { current: t } = this.node;
|
|
t && (this.unmount = B3(t, (n, r) => (Oy(this.node, r, "Start"), (o) => Oy(this.node, o, "End"))));
|
|
}
|
|
unmount() {
|
|
}
|
|
}
|
|
class yL extends ir {
|
|
constructor() {
|
|
super(...arguments), this.isActive = !1;
|
|
}
|
|
onFocus() {
|
|
let t = !1;
|
|
try {
|
|
t = this.node.current.matches(":focus-visible");
|
|
} catch {
|
|
t = !0;
|
|
}
|
|
!t || !this.node.animationState || (this.node.animationState.setActive("whileFocus", !0), this.isActive = !0);
|
|
}
|
|
onBlur() {
|
|
!this.isActive || !this.node.animationState || (this.node.animationState.setActive("whileFocus", !1), this.isActive = !1);
|
|
}
|
|
mount() {
|
|
this.unmount = ks(fs(this.node.current, "focus", () => this.onFocus()), fs(this.node.current, "blur", () => this.onBlur()));
|
|
}
|
|
unmount() {
|
|
}
|
|
}
|
|
function Ny(e, t, n) {
|
|
const { props: r } = e;
|
|
if (e.current instanceof HTMLButtonElement && e.current.disabled)
|
|
return;
|
|
e.animationState && r.whileTap && e.animationState.setActive("whileTap", n === "Start");
|
|
const o = "onTap" + (n === "End" ? "" : n), i = r[o];
|
|
i && ie.postRender(() => i(t, Es(t)));
|
|
}
|
|
class vL extends ir {
|
|
mount() {
|
|
const { current: t } = this.node;
|
|
if (!t)
|
|
return;
|
|
const { globalTapTarget: n, propagate: r } = this.node.props;
|
|
this.unmount = W3(t, (o, i) => (Ny(this.node, i, "Start"), (s, { success: a }) => Ny(this.node, s, a ? "End" : "Cancel")), {
|
|
useGlobalTarget: n,
|
|
stopPropagation: r?.tap === !1
|
|
});
|
|
}
|
|
unmount() {
|
|
}
|
|
}
|
|
const Sf = /* @__PURE__ */ new WeakMap(), Nc = /* @__PURE__ */ new WeakMap(), SL = (e) => {
|
|
const t = Sf.get(e.target);
|
|
t && t(e);
|
|
}, bL = (e) => {
|
|
e.forEach(SL);
|
|
};
|
|
function xL({ root: e, ...t }) {
|
|
const n = e || document;
|
|
Nc.has(n) || Nc.set(n, {});
|
|
const r = Nc.get(n), o = JSON.stringify(t);
|
|
return r[o] || (r[o] = new IntersectionObserver(bL, { root: e, ...t })), r[o];
|
|
}
|
|
function wL(e, t, n) {
|
|
const r = xL(t);
|
|
return Sf.set(e, n), r.observe(e), () => {
|
|
Sf.delete(e), r.unobserve(e);
|
|
};
|
|
}
|
|
const kL = {
|
|
some: 0,
|
|
all: 1
|
|
};
|
|
class CL extends ir {
|
|
constructor() {
|
|
super(...arguments), this.hasEnteredView = !1, this.isInView = !1;
|
|
}
|
|
startObserver() {
|
|
this.stopObserver?.();
|
|
const { viewport: t = {} } = this.node.getProps(), { root: n, margin: r, amount: o = "some", once: i } = t, s = {
|
|
root: n ? n.current : void 0,
|
|
rootMargin: r,
|
|
threshold: typeof o == "number" ? o : kL[o]
|
|
}, a = (l) => {
|
|
const { isIntersecting: u } = l;
|
|
if (this.isInView === u || (this.isInView = u, i && !u && this.hasEnteredView))
|
|
return;
|
|
u && (this.hasEnteredView = !0), this.node.animationState && this.node.animationState.setActive("whileInView", u);
|
|
const { onViewportEnter: c, onViewportLeave: d } = this.node.getProps(), f = u ? c : d;
|
|
f && f(l);
|
|
};
|
|
this.stopObserver = wL(this.node.current, s, a);
|
|
}
|
|
mount() {
|
|
this.startObserver();
|
|
}
|
|
update() {
|
|
if (typeof IntersectionObserver > "u")
|
|
return;
|
|
const { props: t, prevProps: n } = this.node;
|
|
["amount", "margin", "root"].some(TL(t, n)) && this.startObserver();
|
|
}
|
|
unmount() {
|
|
this.stopObserver?.(), this.hasEnteredView = !1, this.isInView = !1;
|
|
}
|
|
}
|
|
function TL({ viewport: e = {} }, { viewport: t = {} } = {}) {
|
|
return (n) => e[n] !== t[n];
|
|
}
|
|
const EL = {
|
|
inView: {
|
|
Feature: CL
|
|
},
|
|
tap: {
|
|
Feature: vL
|
|
},
|
|
focus: {
|
|
Feature: yL
|
|
},
|
|
hover: {
|
|
Feature: gL
|
|
}
|
|
}, PL = {
|
|
layout: {
|
|
ProjectionNode: bb,
|
|
MeasureLayout: Fb
|
|
}
|
|
}, AL = {
|
|
...JF,
|
|
...EL,
|
|
...mL,
|
|
...PL
|
|
}, zL = /* @__PURE__ */ qF(AL, YF), ML = (e, t) => e.find((n) => n.id === t);
|
|
function jy(e, t) {
|
|
const n = Lb(e, t), r = n ? e[n].findIndex((o) => o.id === t) : -1;
|
|
return {
|
|
position: n,
|
|
index: r
|
|
};
|
|
}
|
|
function Lb(e, t) {
|
|
for (const [n, r] of Object.entries(e))
|
|
if (ML(r, t))
|
|
return n;
|
|
}
|
|
function RL(e) {
|
|
const t = e.includes("right"), n = e.includes("left");
|
|
let r = "center";
|
|
return t && (r = "flex-end"), n && (r = "flex-start"), {
|
|
display: "flex",
|
|
flexDirection: "column",
|
|
alignItems: r
|
|
};
|
|
}
|
|
function DL(e) {
|
|
const n = e === "top" || e === "bottom" ? "0 auto" : void 0, r = e.includes("top") ? "env(safe-area-inset-top, 0px)" : void 0, o = e.includes("bottom") ? "env(safe-area-inset-bottom, 0px)" : void 0, i = e.includes("left") ? void 0 : "env(safe-area-inset-right, 0px)", s = e.includes("right") ? void 0 : "env(safe-area-inset-left, 0px)";
|
|
return {
|
|
position: "fixed",
|
|
zIndex: "var(--toast-z-index, 5500)",
|
|
pointerEvents: "none",
|
|
display: "flex",
|
|
flexDirection: "column",
|
|
margin: n,
|
|
top: r,
|
|
bottom: o,
|
|
right: i,
|
|
left: s
|
|
};
|
|
}
|
|
var FL = /^((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)-.*))$/, LL = /* @__PURE__ */ FS(
|
|
function(e) {
|
|
return FL.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91;
|
|
}
|
|
/* Z+1 */
|
|
), BL = LL, VL = function(t) {
|
|
return t !== "theme";
|
|
}, Wy = 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 ? BL : VL;
|
|
}, Uy = function(t, n, r) {
|
|
var o;
|
|
if (n) {
|
|
var i = n.shouldForwardProp;
|
|
o = t.__emotion_forwardProp && i ? function(s) {
|
|
return t.__emotion_forwardProp(s) && i(s);
|
|
} : i;
|
|
}
|
|
return typeof o != "function" && r && (o = t.__emotion_forwardProp), o;
|
|
}, IL = function(t) {
|
|
var n = t.cache, r = t.serialized, o = t.isStringTag;
|
|
return Rh(n, r, o), US(function() {
|
|
return Dh(n, r, o);
|
|
}), null;
|
|
}, OL = function e(t, n) {
|
|
var r = t.__emotion_real === t, o = r && t.__emotion_base || t, i, s;
|
|
n !== void 0 && (i = n.label, s = n.target);
|
|
var a = Uy(t, n, r), l = a || Wy(o), u = !l("as");
|
|
return function() {
|
|
var c = arguments, d = r && t.__emotion_styles !== void 0 ? t.__emotion_styles.slice(0) : [];
|
|
if (i !== void 0 && d.push("label:" + i + ";"), c[0] == null || c[0].raw === void 0)
|
|
d.push.apply(d, c);
|
|
else {
|
|
var f = c[0];
|
|
d.push(f[0]);
|
|
for (var y = c.length, v = 1; v < y; v++)
|
|
d.push(c[v], f[v]);
|
|
}
|
|
var S = Lh(function(k, p, h) {
|
|
var g = u && k.as || o, w = "", P = [], A = k;
|
|
if (k.theme == null) {
|
|
A = {};
|
|
for (var E in k)
|
|
A[E] = k[E];
|
|
A.theme = C.useContext(Lo);
|
|
}
|
|
typeof k.className == "string" ? w = NS(p.registered, P, k.className) : k.className != null && (w = k.className + " ");
|
|
var z = mu(d.concat(P), p.registered, A);
|
|
w += p.key + "-" + z.name, s !== void 0 && (w += " " + s);
|
|
var I = u && a === void 0 ? Wy(g) : l, M = {};
|
|
for (var U in k)
|
|
u && U === "as" || I(U) && (M[U] = k[U]);
|
|
return M.className = w, h && (M.ref = h), /* @__PURE__ */ C.createElement(C.Fragment, null, /* @__PURE__ */ C.createElement(IL, {
|
|
cache: p,
|
|
serialized: z,
|
|
isStringTag: typeof g == "string"
|
|
}), /* @__PURE__ */ C.createElement(g, M));
|
|
});
|
|
return S.displayName = i !== void 0 ? i : "Styled(" + (typeof o == "string" ? o : o.displayName || o.name || "Component") + ")", S.defaultProps = t.defaultProps, S.__emotion_real = S, S.__emotion_base = o, S.__emotion_styles = d, S.__emotion_forwardProp = a, Object.defineProperty(S, "toString", {
|
|
value: function() {
|
|
return "." + s;
|
|
}
|
|
}), S.withComponent = function(k, p) {
|
|
var h = e(k, Cl({}, n, p, {
|
|
shouldForwardProp: Uy(S, p, !0)
|
|
}));
|
|
return h.apply(void 0, d);
|
|
}, S;
|
|
};
|
|
}, NL = [
|
|
"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"
|
|
], bf = OL.bind(null);
|
|
NL.forEach(function(e) {
|
|
bf[e] = bf(e);
|
|
});
|
|
const jL = /* @__PURE__ */ new Set([
|
|
...MT,
|
|
"textStyle",
|
|
"layerStyle",
|
|
"apply",
|
|
"noOfLines",
|
|
"focusBorderColor",
|
|
"errorBorderColor",
|
|
"as",
|
|
"__css",
|
|
"css",
|
|
"sx"
|
|
]), WL = /* @__PURE__ */ new Set([
|
|
"htmlWidth",
|
|
"htmlHeight",
|
|
"htmlSize",
|
|
"htmlTranslate"
|
|
]);
|
|
function UL(e) {
|
|
return (WL.has(e) || !jL.has(e)) && e[0] !== "_";
|
|
}
|
|
const HL = KC(bf), KL = ({ baseStyle: e }) => (t) => {
|
|
const { theme: n, css: r, __css: o, sx: i, ...s } = t, [a] = ZC(s, DT), l = sn(e, t), u = BC(
|
|
{},
|
|
o,
|
|
l,
|
|
jC(a),
|
|
i
|
|
), c = dS(u)(t.theme);
|
|
return r ? [c, r] : c;
|
|
};
|
|
function jc(e, t) {
|
|
const { baseStyle: n, ...r } = t ?? {};
|
|
r.shouldForwardProp || (r.shouldForwardProp = UL);
|
|
const o = KL({ baseStyle: n }), i = HL(
|
|
e,
|
|
r
|
|
)(o);
|
|
return C.forwardRef(
|
|
function(l, u) {
|
|
const { children: c, ...d } = l, { colorMode: f, forced: y } = Ih(), v = y ? f : void 0;
|
|
return C.createElement(
|
|
i,
|
|
{ ref: u, "data-theme": v, ...d },
|
|
c
|
|
);
|
|
}
|
|
);
|
|
}
|
|
function XL() {
|
|
const e = /* @__PURE__ */ new Map();
|
|
return new Proxy(jc, {
|
|
/**
|
|
* @example
|
|
* const Div = chakra("div")
|
|
* const WithChakra = chakra(AnotherComponent)
|
|
*/
|
|
apply(t, n, r) {
|
|
return jc(...r);
|
|
},
|
|
/**
|
|
* @example
|
|
* <chakra.div />
|
|
*/
|
|
get(t, n) {
|
|
return e.has(n) || e.set(n, jc(n)), e.get(n);
|
|
}
|
|
});
|
|
}
|
|
const Lt = XL(), qL = {
|
|
initial: (e) => {
|
|
const { position: t } = e, n = ["top", "bottom"].includes(t) ? "y" : "x";
|
|
let r = ["top-right", "bottom-right"].includes(t) ? 1 : -1;
|
|
return t === "bottom" && (r = 1), {
|
|
opacity: 0,
|
|
[n]: r * 24
|
|
};
|
|
},
|
|
animate: {
|
|
opacity: 1,
|
|
y: 0,
|
|
x: 0,
|
|
scale: 1,
|
|
transition: {
|
|
duration: 0.4,
|
|
ease: [0.4, 0, 0.2, 1]
|
|
}
|
|
},
|
|
exit: {
|
|
opacity: 0,
|
|
scale: 0.85,
|
|
transition: {
|
|
duration: 0.2,
|
|
ease: [0.4, 0, 1, 1]
|
|
}
|
|
}
|
|
}, Bb = C.memo((e) => {
|
|
const {
|
|
id: t,
|
|
message: n,
|
|
onCloseComplete: r,
|
|
onRequestRemove: o,
|
|
requestClose: i = !1,
|
|
position: s = "bottom",
|
|
duration: a = 5e3,
|
|
containerStyle: l,
|
|
motionVariants: u = qL,
|
|
toastSpacing: c = "0.5rem"
|
|
} = e, [d, f] = C.useState(a), y = SF();
|
|
Zm(() => {
|
|
y || r?.();
|
|
}, [y]), Zm(() => {
|
|
f(a);
|
|
}, [a]);
|
|
const v = () => f(null), S = () => f(a), k = () => {
|
|
y && o();
|
|
};
|
|
C.useEffect(() => {
|
|
y && i && o();
|
|
}, [y, i, o]), JC(k, d);
|
|
const p = C.useMemo(
|
|
() => ({
|
|
pointerEvents: "auto",
|
|
maxWidth: 560,
|
|
minWidth: 300,
|
|
margin: c,
|
|
...l
|
|
}),
|
|
[l, c]
|
|
), h = C.useMemo(() => RL(s), [s]);
|
|
return /* @__PURE__ */ F.jsx(
|
|
zL.div,
|
|
{
|
|
layout: !0,
|
|
className: "chakra-toast",
|
|
variants: u,
|
|
initial: "initial",
|
|
animate: "animate",
|
|
exit: "exit",
|
|
onHoverStart: v,
|
|
onHoverEnd: S,
|
|
custom: { position: s },
|
|
style: h,
|
|
children: /* @__PURE__ */ F.jsx(
|
|
Lt.div,
|
|
{
|
|
role: "status",
|
|
"aria-atomic": "true",
|
|
className: "chakra-toast__inner",
|
|
__css: p,
|
|
children: sn(n, { id: t, onClose: k })
|
|
}
|
|
)
|
|
}
|
|
);
|
|
});
|
|
Bb.displayName = "ToastComponent";
|
|
function Or(e) {
|
|
return C.forwardRef(e);
|
|
}
|
|
var YL = typeof Element < "u", ZL = typeof Map == "function", GL = typeof Set == "function", QL = typeof ArrayBuffer == "function" && !!ArrayBuffer.isView;
|
|
function Ya(e, t) {
|
|
if (e === t) return !0;
|
|
if (e && t && typeof e == "object" && typeof t == "object") {
|
|
if (e.constructor !== t.constructor) return !1;
|
|
var n, r, o;
|
|
if (Array.isArray(e)) {
|
|
if (n = e.length, n != t.length) return !1;
|
|
for (r = n; r-- !== 0; )
|
|
if (!Ya(e[r], t[r])) return !1;
|
|
return !0;
|
|
}
|
|
var i;
|
|
if (ZL && e instanceof Map && t instanceof Map) {
|
|
if (e.size !== t.size) return !1;
|
|
for (i = e.entries(); !(r = i.next()).done; )
|
|
if (!t.has(r.value[0])) return !1;
|
|
for (i = e.entries(); !(r = i.next()).done; )
|
|
if (!Ya(r.value[1], t.get(r.value[0]))) return !1;
|
|
return !0;
|
|
}
|
|
if (GL && e instanceof Set && t instanceof Set) {
|
|
if (e.size !== t.size) return !1;
|
|
for (i = e.entries(); !(r = i.next()).done; )
|
|
if (!t.has(r.value[0])) return !1;
|
|
return !0;
|
|
}
|
|
if (QL && ArrayBuffer.isView(e) && ArrayBuffer.isView(t)) {
|
|
if (n = e.length, n != t.length) return !1;
|
|
for (r = n; r-- !== 0; )
|
|
if (e[r] !== t[r]) return !1;
|
|
return !0;
|
|
}
|
|
if (e.constructor === RegExp) return e.source === t.source && e.flags === t.flags;
|
|
if (e.valueOf !== Object.prototype.valueOf && typeof e.valueOf == "function" && typeof t.valueOf == "function") return e.valueOf() === t.valueOf();
|
|
if (e.toString !== Object.prototype.toString && typeof e.toString == "function" && typeof t.toString == "function") return e.toString() === t.toString();
|
|
if (o = Object.keys(e), n = o.length, n !== Object.keys(t).length) return !1;
|
|
for (r = n; r-- !== 0; )
|
|
if (!Object.prototype.hasOwnProperty.call(t, o[r])) return !1;
|
|
if (YL && e instanceof Element) return !1;
|
|
for (r = n; r-- !== 0; )
|
|
if (!((o[r] === "_owner" || o[r] === "__v" || o[r] === "__o") && e.$$typeof) && !Ya(e[o[r]], t[o[r]]))
|
|
return !1;
|
|
return !0;
|
|
}
|
|
return e !== e && t !== t;
|
|
}
|
|
var JL = function(t, n) {
|
|
try {
|
|
return Ya(t, n);
|
|
} catch (r) {
|
|
if ((r.message || "").match(/stack|recursion/i))
|
|
return console.warn("react-fast-compare cannot handle circular refs"), !1;
|
|
throw r;
|
|
}
|
|
};
|
|
const _L = /* @__PURE__ */ xf(JL);
|
|
function $L() {
|
|
const e = C.useContext(
|
|
Lo
|
|
);
|
|
if (!e)
|
|
throw Error(
|
|
"useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />` or `<ThemeProvider />`"
|
|
);
|
|
return e;
|
|
}
|
|
function eB() {
|
|
const e = Ih(), t = $L();
|
|
return { ...e, theme: t };
|
|
}
|
|
function tB(e) {
|
|
return Object.fromEntries(
|
|
Object.entries(e).filter(([t, n]) => n !== void 0 && t !== "children" && !C.isValidElement(n))
|
|
);
|
|
}
|
|
function Vb(e, t = {}) {
|
|
const { styleConfig: n, ...r } = t, { theme: o, colorMode: i } = eB(), s = e ? sS(o, `components.${e}`) : void 0, a = n || s, l = At(
|
|
{ theme: o, colorMode: i },
|
|
a?.defaultProps ?? {},
|
|
tB(r),
|
|
(c, d) => c ? void 0 : d
|
|
), u = C.useRef({});
|
|
if (a) {
|
|
const d = UT(a)(l);
|
|
_L(u.current, d) || (u.current = d);
|
|
}
|
|
return u.current;
|
|
}
|
|
function bu(e, t = {}) {
|
|
return Vb(e, t);
|
|
}
|
|
function nB(e, t = {}) {
|
|
return Vb(e, t);
|
|
}
|
|
const Hy = {
|
|
path: /* @__PURE__ */ F.jsxs("g", { stroke: "currentColor", strokeWidth: "1.5", children: [
|
|
/* @__PURE__ */ F.jsx(
|
|
"path",
|
|
{
|
|
strokeLinecap: "round",
|
|
fill: "none",
|
|
d: "M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"
|
|
}
|
|
),
|
|
/* @__PURE__ */ F.jsx(
|
|
"path",
|
|
{
|
|
fill: "currentColor",
|
|
strokeLinecap: "round",
|
|
d: "M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"
|
|
}
|
|
),
|
|
/* @__PURE__ */ F.jsx("circle", { fill: "none", strokeMiterlimit: "10", cx: "12", cy: "12", r: "11.25" })
|
|
] }),
|
|
viewBox: "0 0 24 24"
|
|
}, Ps = Or((e, t) => {
|
|
const {
|
|
as: n,
|
|
viewBox: r,
|
|
color: o = "currentColor",
|
|
focusable: i = !1,
|
|
children: s,
|
|
className: a,
|
|
__css: l,
|
|
...u
|
|
} = e, c = Ir("chakra-icon", a), d = bu("Icon", e), f = {
|
|
w: "1em",
|
|
h: "1em",
|
|
display: "inline-block",
|
|
lineHeight: "1em",
|
|
flexShrink: 0,
|
|
color: o,
|
|
...l,
|
|
...d
|
|
}, y = {
|
|
ref: t,
|
|
focusable: i,
|
|
className: c,
|
|
__css: f
|
|
}, v = r ?? Hy.viewBox;
|
|
if (n && typeof n != "string")
|
|
return /* @__PURE__ */ F.jsx(Lt.svg, { as: n, ...y, ...u });
|
|
const S = s ?? Hy.path;
|
|
return /* @__PURE__ */ F.jsx(Lt.svg, { verticalAlign: "middle", viewBox: v, ...y, ...u, children: S });
|
|
});
|
|
Ps.displayName = "Icon";
|
|
function rB(e) {
|
|
return /* @__PURE__ */ F.jsx(Ps, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ F.jsx(
|
|
"path",
|
|
{
|
|
fill: "currentColor",
|
|
d: "M12,0A12,12,0,1,0,24,12,12.014,12.014,0,0,0,12,0Zm6.927,8.2-6.845,9.289a1.011,1.011,0,0,1-1.43.188L5.764,13.769a1,1,0,1,1,1.25-1.562l4.076,3.261,6.227-8.451A1,1,0,1,1,18.927,8.2Z"
|
|
}
|
|
) });
|
|
}
|
|
function oB(e) {
|
|
return /* @__PURE__ */ F.jsx(Ps, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ F.jsx(
|
|
"path",
|
|
{
|
|
fill: "currentColor",
|
|
d: "M12,0A12,12,0,1,0,24,12,12.013,12.013,0,0,0,12,0Zm.25,5a1.5,1.5,0,1,1-1.5,1.5A1.5,1.5,0,0,1,12.25,5ZM14.5,18.5h-4a1,1,0,0,1,0-2h.75a.25.25,0,0,0,.25-.25v-4.5a.25.25,0,0,0-.25-.25H10.5a1,1,0,0,1,0-2h1a2,2,0,0,1,2,2v4.75a.25.25,0,0,0,.25.25h.75a1,1,0,1,1,0,2Z"
|
|
}
|
|
) });
|
|
}
|
|
function Ky(e) {
|
|
return /* @__PURE__ */ F.jsx(Ps, { viewBox: "0 0 24 24", ...e, children: /* @__PURE__ */ F.jsx(
|
|
"path",
|
|
{
|
|
fill: "currentColor",
|
|
d: "M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z"
|
|
}
|
|
) });
|
|
}
|
|
const iB = m5({
|
|
"0%": {
|
|
transform: "rotate(0deg)"
|
|
},
|
|
"100%": {
|
|
transform: "rotate(360deg)"
|
|
}
|
|
}), Ib = Or((e, t) => {
|
|
const n = bu("Spinner", e), {
|
|
label: r = "Loading...",
|
|
thickness: o = "2px",
|
|
speed: i = "0.45s",
|
|
emptyColor: s = "transparent",
|
|
className: a,
|
|
...l
|
|
} = _l(e), u = Ir("chakra-spinner", a), c = {
|
|
display: "inline-block",
|
|
borderColor: "currentColor",
|
|
borderStyle: "solid",
|
|
borderRadius: "99999px",
|
|
borderWidth: o,
|
|
borderBottomColor: s,
|
|
borderLeftColor: s,
|
|
animation: `${iB} ${i} linear infinite`,
|
|
...n
|
|
};
|
|
return /* @__PURE__ */ F.jsx(
|
|
Lt.div,
|
|
{
|
|
ref: t,
|
|
__css: c,
|
|
className: u,
|
|
...l,
|
|
children: r && /* @__PURE__ */ F.jsx(Lt.span, { srOnly: !0, children: r })
|
|
}
|
|
);
|
|
});
|
|
Ib.displayName = "Spinner";
|
|
const [sB, dp] = jo({
|
|
name: "AlertContext",
|
|
hookName: "useAlertContext",
|
|
providerName: "<Alert />"
|
|
}), [aB, fp] = jo({
|
|
name: "AlertStylesContext",
|
|
hookName: "useAlertStyles",
|
|
providerName: "<Alert />"
|
|
}), Ob = {
|
|
info: { icon: oB, colorScheme: "blue" },
|
|
warning: { icon: Ky, colorScheme: "orange" },
|
|
success: { icon: rB, colorScheme: "green" },
|
|
error: { icon: Ky, colorScheme: "red" },
|
|
loading: { icon: Ib, colorScheme: "blue" }
|
|
};
|
|
function lB(e) {
|
|
return Ob[e].colorScheme;
|
|
}
|
|
function uB(e) {
|
|
return Ob[e].icon;
|
|
}
|
|
const Nb = Or(function(t, n) {
|
|
const { status: r = "info", addRole: o = !0, ...i } = _l(t), s = t.colorScheme ?? lB(r), a = nB("Alert", { ...t, colorScheme: s }), l = {
|
|
width: "100%",
|
|
display: "flex",
|
|
alignItems: "center",
|
|
position: "relative",
|
|
overflow: "hidden",
|
|
...a.container
|
|
};
|
|
return /* @__PURE__ */ F.jsx(sB, { value: { status: r }, children: /* @__PURE__ */ F.jsx(aB, { value: a, children: /* @__PURE__ */ F.jsx(
|
|
Lt.div,
|
|
{
|
|
"data-status": r,
|
|
role: o ? "alert" : void 0,
|
|
ref: n,
|
|
...i,
|
|
className: Ir("chakra-alert", t.className),
|
|
__css: l
|
|
}
|
|
) }) });
|
|
});
|
|
Nb.displayName = "Alert";
|
|
function jb(e) {
|
|
const { status: t } = dp(), n = uB(t), r = fp(), o = t === "loading" ? r.spinner : r.icon;
|
|
return /* @__PURE__ */ F.jsx(
|
|
Lt.span,
|
|
{
|
|
display: "inherit",
|
|
"data-status": t,
|
|
...e,
|
|
className: Ir("chakra-alert__icon", e.className),
|
|
__css: o,
|
|
children: e.children || /* @__PURE__ */ F.jsx(n, { h: "100%", w: "100%" })
|
|
}
|
|
);
|
|
}
|
|
jb.displayName = "AlertIcon";
|
|
const Wb = Or(
|
|
function(t, n) {
|
|
const r = fp(), { status: o } = dp();
|
|
return /* @__PURE__ */ F.jsx(
|
|
Lt.div,
|
|
{
|
|
ref: n,
|
|
"data-status": o,
|
|
...t,
|
|
className: Ir("chakra-alert__title", t.className),
|
|
__css: r.title
|
|
}
|
|
);
|
|
}
|
|
);
|
|
Wb.displayName = "AlertTitle";
|
|
const Ub = Or(
|
|
function(t, n) {
|
|
const { status: r } = dp(), o = fp(), i = {
|
|
display: "inline",
|
|
...o.description
|
|
};
|
|
return /* @__PURE__ */ F.jsx(
|
|
Lt.div,
|
|
{
|
|
ref: n,
|
|
"data-status": r,
|
|
...t,
|
|
className: Ir("chakra-alert__desc", t.className),
|
|
__css: i
|
|
}
|
|
);
|
|
}
|
|
);
|
|
Ub.displayName = "AlertDescription";
|
|
function cB(e) {
|
|
return /* @__PURE__ */ F.jsx(Ps, { focusable: "false", "aria-hidden": !0, ...e, children: /* @__PURE__ */ F.jsx(
|
|
"path",
|
|
{
|
|
fill: "currentColor",
|
|
d: "M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"
|
|
}
|
|
) });
|
|
}
|
|
const Hb = Or(
|
|
function(t, n) {
|
|
const r = bu("CloseButton", t), { children: o, isDisabled: i, __css: s, ...a } = _l(t), l = {
|
|
outline: 0,
|
|
display: "flex",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
flexShrink: 0
|
|
};
|
|
return /* @__PURE__ */ F.jsx(
|
|
Lt.button,
|
|
{
|
|
type: "button",
|
|
"aria-label": "Close",
|
|
ref: n,
|
|
disabled: i,
|
|
__css: {
|
|
...l,
|
|
...r,
|
|
...s
|
|
},
|
|
...a,
|
|
children: o || /* @__PURE__ */ F.jsx(cB, { width: "1em", height: "1em" })
|
|
}
|
|
);
|
|
}
|
|
);
|
|
Hb.displayName = "CloseButton";
|
|
const dB = (e) => {
|
|
const {
|
|
status: t,
|
|
variant: n = "solid",
|
|
id: r,
|
|
title: o,
|
|
isClosable: i,
|
|
onClose: s,
|
|
description: a,
|
|
colorScheme: l,
|
|
icon: u
|
|
} = e, c = r ? {
|
|
root: `toast-${r}`,
|
|
title: `toast-${r}-title`,
|
|
description: `toast-${r}-description`
|
|
} : void 0;
|
|
return /* @__PURE__ */ F.jsxs(
|
|
Nb,
|
|
{
|
|
addRole: !1,
|
|
status: t,
|
|
variant: n,
|
|
id: c?.root,
|
|
alignItems: "start",
|
|
borderRadius: "md",
|
|
boxShadow: "lg",
|
|
paddingEnd: 8,
|
|
textAlign: "start",
|
|
width: "auto",
|
|
colorScheme: l,
|
|
children: [
|
|
/* @__PURE__ */ F.jsx(jb, { children: u }),
|
|
/* @__PURE__ */ F.jsxs(Lt.div, { flex: "1", maxWidth: "100%", children: [
|
|
o && /* @__PURE__ */ F.jsx(Wb, { id: c?.title, children: o }),
|
|
a && /* @__PURE__ */ F.jsx(Ub, { id: c?.description, display: "block", children: a })
|
|
] }),
|
|
i && /* @__PURE__ */ F.jsx(
|
|
Hb,
|
|
{
|
|
size: "sm",
|
|
onClick: s,
|
|
position: "absolute",
|
|
insetEnd: 1,
|
|
top: 1
|
|
}
|
|
)
|
|
]
|
|
}
|
|
);
|
|
};
|
|
function fB(e = {}) {
|
|
const { render: t, toastComponent: n = dB } = e;
|
|
return (o) => typeof t == "function" ? t({ ...o, ...e }) : /* @__PURE__ */ F.jsx(n, { ...o, ...e });
|
|
}
|
|
const hB = {
|
|
top: [],
|
|
"top-left": [],
|
|
"top-right": [],
|
|
"bottom-left": [],
|
|
bottom: [],
|
|
"bottom-right": []
|
|
}, Ni = pB(hB);
|
|
function pB(e) {
|
|
let t = e;
|
|
const n = /* @__PURE__ */ new Set(), r = (o) => {
|
|
t = o(t), n.forEach((i) => i());
|
|
};
|
|
return {
|
|
getState: () => t,
|
|
subscribe: (o) => (n.add(o), () => {
|
|
r(() => e), n.delete(o);
|
|
}),
|
|
/**
|
|
* Delete a toast record at its position
|
|
*/
|
|
removeToast: (o, i) => {
|
|
r((s) => ({
|
|
...s,
|
|
// id may be string or number
|
|
// eslint-disable-next-line eqeqeq
|
|
[i]: s[i].filter((a) => a.id != o)
|
|
}));
|
|
},
|
|
notify: (o, i) => {
|
|
const s = mB(o, i), { position: a, id: l } = s;
|
|
return r((u) => {
|
|
const d = a.includes("top") ? [s, ...u[a] ?? []] : [...u[a] ?? [], s];
|
|
return {
|
|
...u,
|
|
[a]: d
|
|
};
|
|
}), l;
|
|
},
|
|
update: (o, i) => {
|
|
o && r((s) => {
|
|
const a = { ...s }, { position: l, index: u } = jy(a, o);
|
|
return l && u !== -1 && (a[l][u] = {
|
|
...a[l][u],
|
|
...i,
|
|
message: fB(i)
|
|
}), a;
|
|
});
|
|
},
|
|
closeAll: ({ positions: o } = {}) => {
|
|
r((i) => (o ?? [
|
|
"bottom",
|
|
"bottom-right",
|
|
"bottom-left",
|
|
"top",
|
|
"top-left",
|
|
"top-right"
|
|
]).reduce(
|
|
(l, u) => (l[u] = i[u].map((c) => ({
|
|
...c,
|
|
requestClose: !0
|
|
})), l),
|
|
{ ...i }
|
|
));
|
|
},
|
|
close: (o) => {
|
|
r((i) => {
|
|
const s = Lb(i, o);
|
|
return s ? {
|
|
...i,
|
|
[s]: i[s].map((a) => a.id == o ? {
|
|
...a,
|
|
requestClose: !0
|
|
} : a)
|
|
} : i;
|
|
});
|
|
},
|
|
isActive: (o) => !!jy(Ni.getState(), o).position
|
|
};
|
|
}
|
|
let Xy = 0;
|
|
function mB(e, t = {}) {
|
|
Xy += 1;
|
|
const n = t.id ?? Xy, r = t.position ?? "bottom";
|
|
return {
|
|
id: n,
|
|
message: e,
|
|
position: r,
|
|
duration: t.duration,
|
|
onCloseComplete: t.onCloseComplete,
|
|
onRequestRemove: () => Ni.removeToast(String(n), r),
|
|
status: t.status,
|
|
requestClose: !1,
|
|
containerStyle: t.containerStyle
|
|
};
|
|
}
|
|
const [Kb, gB] = jo({
|
|
strict: !1,
|
|
name: "PortalContext"
|
|
}), hp = "chakra-portal", yB = ".chakra-portal", vB = (e) => /* @__PURE__ */ F.jsx(
|
|
"div",
|
|
{
|
|
className: "chakra-portal-zIndex",
|
|
style: {
|
|
position: "absolute",
|
|
zIndex: e.zIndex,
|
|
top: 0,
|
|
left: 0,
|
|
right: 0
|
|
// NB: Don't add `bottom: 0`, it makes the entire app unusable
|
|
// @see https://github.com/chakra-ui/chakra-ui/issues/3201
|
|
},
|
|
children: e.children
|
|
}
|
|
), SB = (e) => {
|
|
const { appendToParentPortal: t, children: n } = e, [r, o] = C.useState(null), i = C.useRef(null), [, s] = C.useState({});
|
|
C.useEffect(() => s({}), []);
|
|
const a = gB(), l = P5();
|
|
Bd(() => {
|
|
if (!r)
|
|
return;
|
|
const c = r.ownerDocument, d = t ? a ?? c.body : c.body;
|
|
if (!d)
|
|
return;
|
|
i.current = c.createElement("div"), i.current.className = hp, d.appendChild(i.current), s({});
|
|
const f = i.current;
|
|
return () => {
|
|
d.contains(f) && d.removeChild(f);
|
|
};
|
|
}, [r]);
|
|
const u = l?.zIndex ? /* @__PURE__ */ F.jsx(vB, { zIndex: l?.zIndex, children: n }) : n;
|
|
return i.current ? gh.createPortal(
|
|
/* @__PURE__ */ F.jsx(Kb, { value: i.current, children: u }),
|
|
i.current
|
|
) : /* @__PURE__ */ F.jsx(
|
|
"span",
|
|
{
|
|
ref: (c) => {
|
|
c && o(c);
|
|
}
|
|
}
|
|
);
|
|
}, bB = (e) => {
|
|
const { children: t, containerRef: n, appendToParentPortal: r } = e, o = n.current, i = o ?? (typeof window < "u" ? document.body : void 0), s = C.useMemo(() => {
|
|
const l = o?.ownerDocument.createElement("div");
|
|
return l && (l.className = hp), l;
|
|
}, [o]), [, a] = C.useState({});
|
|
return Bd(() => a({}), []), Bd(() => {
|
|
if (!(!s || !i))
|
|
return i.appendChild(s), () => {
|
|
i.removeChild(s);
|
|
};
|
|
}, [s, i]), i && s ? gh.createPortal(
|
|
/* @__PURE__ */ F.jsx(Kb, { value: r ? s : null, children: t }),
|
|
s
|
|
) : null;
|
|
};
|
|
function xu(e) {
|
|
const t = {
|
|
appendToParentPortal: !0,
|
|
...e
|
|
}, { containerRef: n, ...r } = t;
|
|
return n ? /* @__PURE__ */ F.jsx(bB, { containerRef: n, ...r }) : /* @__PURE__ */ F.jsx(SB, { ...r });
|
|
}
|
|
xu.className = hp;
|
|
xu.selector = yB;
|
|
xu.displayName = "Portal";
|
|
const [xB] = jo({
|
|
name: "ToastOptionsContext",
|
|
strict: !1
|
|
}), wB = (e) => {
|
|
const t = C.useSyncExternalStore(
|
|
Ni.subscribe,
|
|
Ni.getState,
|
|
Ni.getState
|
|
), {
|
|
motionVariants: n,
|
|
component: r = Bb,
|
|
portalProps: o,
|
|
animatePresenceProps: i
|
|
} = e, a = Object.keys(t).map((l) => {
|
|
const u = t[l];
|
|
return /* @__PURE__ */ F.jsx(
|
|
"div",
|
|
{
|
|
role: "region",
|
|
"aria-live": "polite",
|
|
"aria-label": `Notifications-${l}`,
|
|
"aria-hidden": !u.length,
|
|
id: `chakra-toast-manager-${l}`,
|
|
style: DL(l),
|
|
children: /* @__PURE__ */ F.jsx(xF, { ...i, initial: !1, children: u.map((c) => /* @__PURE__ */ F.jsx(
|
|
r,
|
|
{
|
|
motionVariants: n,
|
|
...c
|
|
},
|
|
c.id
|
|
)) })
|
|
},
|
|
l
|
|
);
|
|
});
|
|
return /* @__PURE__ */ F.jsx(xu, { ...o, children: a });
|
|
}, kB = (e) => function({
|
|
children: n,
|
|
theme: r = e,
|
|
toastOptions: o,
|
|
...i
|
|
}) {
|
|
return /* @__PURE__ */ F.jsxs(A5, { theme: r, ...i, children: [
|
|
/* @__PURE__ */ F.jsx(xB, { value: o?.defaultOptions, children: n }),
|
|
/* @__PURE__ */ F.jsx(wB, { ...o })
|
|
] });
|
|
}, CB = kB(ES), Xb = Or(function(t, n) {
|
|
const r = bu("Badge", t), { className: o, ...i } = _l(t);
|
|
return /* @__PURE__ */ F.jsx(
|
|
Lt.span,
|
|
{
|
|
ref: n,
|
|
className: Ir("chakra-badge", t.className),
|
|
...i,
|
|
__css: {
|
|
display: "inline-block",
|
|
whiteSpace: "nowrap",
|
|
verticalAlign: "middle",
|
|
...r
|
|
}
|
|
}
|
|
);
|
|
});
|
|
Xb.displayName = "Badge";
|
|
function Si(e) {
|
|
return typeof e == "function";
|
|
}
|
|
function TB(...e) {
|
|
return (t) => e.reduce((n, r) => r(n), t);
|
|
}
|
|
const EB = (e) => function(...n) {
|
|
let r = [...n], o = n[n.length - 1];
|
|
return hR(o) && // this ensures backward compatibility
|
|
// previously only `extendTheme(override, activeTheme?)` was allowed
|
|
r.length > 1 ? r = r.slice(0, r.length - 1) : o = e, TB(
|
|
...r.map(
|
|
(i) => (s) => Si(i) ? i(s) : qb(s, i)
|
|
)
|
|
)(o);
|
|
}, PB = EB(ES);
|
|
function qb(...e) {
|
|
return At({}, ...e, Yb);
|
|
}
|
|
function Yb(e, t, n, r) {
|
|
if ((Si(e) || Si(t)) && Object.prototype.hasOwnProperty.call(r, n))
|
|
return (...o) => {
|
|
const i = Si(e) ? e(...o) : e, s = Si(t) ? t(...o) : t;
|
|
return At({}, i, s, Yb);
|
|
};
|
|
if ($e(e) && Fd(t) || Fd(e) && $e(t))
|
|
return t;
|
|
}
|
|
function AB({
|
|
colorScheme: e,
|
|
components: t
|
|
}) {
|
|
return (n) => {
|
|
let r = Object.keys(n.components || {});
|
|
return Array.isArray(t) ? r = t : $e(t) && (r = Object.keys(t)), qb(n, {
|
|
components: Object.fromEntries(
|
|
r.map((o) => [o, {
|
|
defaultProps: {
|
|
colorScheme: e
|
|
}
|
|
}])
|
|
)
|
|
});
|
|
};
|
|
}
|
|
const zB = "data:font/woff2;base64,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", MB = PB(
|
|
{
|
|
direction: "rtl",
|
|
styles: {
|
|
global: {
|
|
html: {
|
|
fontSize: "14px",
|
|
direction: "rtl"
|
|
},
|
|
body: {
|
|
bg: "white",
|
|
direction: "rtl"
|
|
},
|
|
"*": {
|
|
boxSizing: "border-box"
|
|
}
|
|
}
|
|
},
|
|
fonts: {
|
|
heading: "Estedad",
|
|
body: "Estedad"
|
|
}
|
|
},
|
|
AB({ colorScheme: "facebook" })
|
|
), RB = () => /* @__PURE__ */ F.jsx(
|
|
bs,
|
|
{
|
|
styles: `
|
|
@font-face {
|
|
font-family: Estedad;
|
|
src: url("${zB}") format("woff2");
|
|
font-weight: 400;
|
|
font-style: normal;
|
|
font-display: swap;
|
|
}
|
|
`
|
|
}
|
|
), DB = ({ children: e, ...t }) => /* @__PURE__ */ F.jsx(
|
|
Xb,
|
|
{
|
|
fontSize: "sm",
|
|
colorScheme: "teal",
|
|
variant: "subtle",
|
|
px: 3,
|
|
py: 2,
|
|
borderRadius: "lg",
|
|
whiteSpace: "nowrap",
|
|
textOverflow: "ellipsis",
|
|
textTransform: "none",
|
|
...t,
|
|
children: e
|
|
}
|
|
);
|
|
class FB extends HTMLElement {
|
|
constructor() {
|
|
super(), this._props = {}, this._root = null;
|
|
}
|
|
connectedCallback() {
|
|
this._root || (this._root = oS(this)), this.renderComponent();
|
|
}
|
|
disconnectedCallback() {
|
|
this._root && (this._root.unmount(), this._root = null);
|
|
}
|
|
set componentProps(t) {
|
|
this._props = t ?? {}, this.isConnected && this.renderComponent();
|
|
}
|
|
get componentProps() {
|
|
return this._props;
|
|
}
|
|
renderComponent() {
|
|
this._root && this._root.render(
|
|
/* @__PURE__ */ F.jsxs(CB, { theme: MB, children: [
|
|
/* @__PURE__ */ F.jsx(RB, {}),
|
|
/* @__PURE__ */ F.jsx(DB, { ...this._props })
|
|
] })
|
|
);
|
|
}
|
|
}
|
|
customElements.get("uikit-g-badge") || customElements.define("uikit-g-badge", FB);
|